Клонирование SD карты

Вот функция из raspi-config которая увеличивает раздел:

do_expand_rootfs() { if ! ; then whiptail —msgbox «/dev/root does not exist or is not a symlink. Don’t know how to expand» 20 60 2 return 0 fi ROOT_PART=$(readlink /dev/root) PART_NUM=${ROOT_PART#mmcblk0p} if ; then whiptail —msgbox «/dev/root is not an SD card. Don’t know how to expand» 20 60 2 return 0 fi # NOTE: the NOOBS partition layout confuses parted. For now, let’s only # agree to work with a sufficiently simple partition layout if ; then whiptail —msgbox «Your partition layout is not currently supported by this tool. You are probably using NOOBS, in which case your root filesystem is already expanded anyway.» 20 60 2 return 0 fi LAST_PART_NUM=$(parted /dev/mmcblk0 -ms unit s p | tail -n 1 | cut -f 1 -d:) if ; then whiptail —msgbox «/dev/root is not the last partition. Don’t know how to expand» 20 60 2 return 0 fi # Get the starting offset of the root partition PART_START=$(parted /dev/mmcblk0 -ms unit s p | grep «^${PART_NUM}» | cut -f 2 -d:) || return 1 # Return value will likely be error for fdisk as it fails to reload the # partition table because the root fs is mounted fdisk /dev/mmcblk0 <<EOF p d $PART_NUM n p $PART_NUM $PART_START p w EOF ASK_TO_REBOOT=1 # now set up an init.d script cat <<\EOF > /etc/init.d/resize2fs_once && #!/bin/sh ### BEGIN INIT INFO # Provides: resize2fs_once # Required-Start: # Required-Stop: # Default-Start: 2 3 4 5 S # Default-Stop: # Short-Description: Resize the root filesystem to fill partition # Description: ### END INIT INFO . /lib/lsb/init-functions case «$1» in start) log_daemon_msg «Starting resize2fs_once» && resize2fs /dev/root && rm /etc/init.d/resize2fs_once && update-rc.d resize2fs_once remove && log_end_msg $? ;; *) echo «Usage: $0 start» >&2 exit 3 ;; esac EOF chmod +x /etc/init.d/resize2fs_once && update-rc.d resize2fs_once defaults && if ; then whiptail —msgbox «Root partition has been resized.\nThe filesystem will be enlarged upon the next reboot» 20 60 2 fi }
Осталось придумать, как получить минимальный но достаточный образ системы…
Может быть создать на флешке небольшой раздел, на который поместится система, установить туда систему, затем снять дамп раздела с помощью dd, залить дамп на целевую флешку и, после первого запуска системы (если есть возможность), расширять раздел на всю флешку?

Если вам приходиться периодически делать образы с данными USB накопителей, а потом их восстанавливать или клонировать на другие носители, то точно не обойдетесь без специальной утилиты, которая поможет все сделать в пару кликов мыши. Как не удивительно в интернете можно найти довольно много бесплатных программ подобного плана. Утилита ImageUSB именно к ним и относиться, правда со свой спецификой, разработчики реализовали поддержку записи на несколько флешек одновременно.

ImageUSB не нужно устанавливать, а достаточно будет распаковать скачанный архив в отдельную папку, откуда запустить единственный исполнимый файл imageUSB.exe. Удаляется программа, простым удалением этой самой папки.

ImageUSB в первую очередь подойдет людям которым время от времени приходится заниматься массовым клонированием USB флешек. Достаточно буде во все доступные USB компьютера вставить флешки, поставить на них галочки и указать нужный образ для клонирования, дальше все будет сделано автоматическом режиме. Правда есть несколько нюансов. Не зависимо от объема флешки, будет создан логические диски размером как у флешки донора. Так же на флешку меньшего объема вы не сможете записать образ флешки большего объема, даже если большая часть образа это пустое место.

Интерфейс программы разбит на четыре логически части. В самом верху, в разделе «Step 1», находиться список подключенных к компьютеру съемных USB носителей. Здесь пользователь может выбрать нужные диски, с которыми собирается работать. В разделе подписанном «Step 2» доступные операции со съемными дисками, где собранны все настройки доступные пользователи ImageUSB. В строке «Step 3» выбираем образ диска, который собираемся восстанавливать или куда хотите сохранить «слепок» флешки. Наконец в пункте «Step 4» нужно нажать кнопку «Create», чтоб запустился процесс сохранения или восстановления. В самом низу можно посмотреть лог работы ImageUSB и расположены кнопки, которые ссылаются на официальный сайт, раздел помощи, информацию об утилите и закрытие программы.

Если коротка пробежаться по самым важным пунктам в разделе «Step 2», то :

  • «Write image to USB drive» отвечает за запись, выбранных образов на выбранные съемные USB носители информации.
  • «Create image from USB drive» позволяет сохранить образ выбранной USB флешки.
  • «Zero USB drive» отвечает за удаление данных на выбранных съемных USB дисках.
  • «Reformat USB drive (Windows Vista or later)» позволяет отформатировать USB флешку в другую файловую систему, сохранив данные.

Так же есть возможность включить проверку записанных данных, подачу звукового сигнала по окончанию процесса копирования/записи и полностью использовать место на флешки, если размер образа меньшого размера, но только используется файловая система NTFS и есть только один раздел.

Программа постоянно будет предупреждать, что пользователь может стереть данные с флешки или удалить файлы с компьютера. После каждой завершенной операции будет выскакивать большое окно, раскрашенное яркими цветами. Наконец, ImageUSB требует обновлять список накопителей подключенных к USB портам после каждой завершенной операции, иначе будет отказываться, что-то делать дальше.

ImageUSB в принципе исправно справляется со своей работой по созданию и восстановлению образов USB флешек. Однако есть более удобные и дружелюбные бесплатные утилиты с похожими возможностями. Данную программу можно посоветовать людям, которым нужно размножать один образ на много флешек.

Программа работает на 32 и 64-битных версиях операционной системы. Интерфейс программы переведен только на английский язык, если вы им не владеете, продеться вооружиться словарем, чтоб разобраться, на что нужно жать и какие пункты выбирать.