У меня полностью настроенная система Linux, установленная на USB-накопителе объемом 16 ГБ. У меня 10 раз была одна и та же марка/тип USB-накопителя и 10 раз была одна и та же материнская плата.
Теперь я хочу скопировать USB-накопитель на другие устройства, чтобы 10 систем могли использовать один и тот же образ.
Я создал образ USB-накопителя с помощью WinDiskImager32, а затем попытался записать его обратно на исходный USB-накопитель. Это сработало, потому что это тот же самый диск, но как только я попытался записать его на другие USB-накопители, это не удалось, потому что образ был слишком большим для этих дисков. Несмотря на то, что все они по 16 ГБ, в реальности, конечно, всегда есть небольшие различия.
Очевидно, что это неправильный способ, поэтому мне интересно, как мне правильно «клонировать» мой оригинальный USB-накопитель, чтобы я мог использовать его на других?
(Обратите внимание, что система настроена на работу с тем фактом, что она установлена на новом компьютере, так что в данном случае это не проблема, просто нужно получить точную копию)
Обновлять
Основываясь на ответе WesleyDavid, я проверил диск с помощью gparted и вспомнил, что изначально я скопировал образ с устройства объемом 8 ГБ с помощью WinDiskImager32, поэтому раздел уже достаточно мал.
Проблема в том, что WindDiskImager копирует весь диск, а не только разделы.
Решение «dd» исправляет эту проблему, просто копируя раздел, но как мне получить и ext2, и файловую систему подкачки на целевом USB-накопителе?
Использование dd для копирования всего устройства снова приводит к получению полных 16 ГБ, которые не всегда помещаются на других устройствах.
Обновление 2
Использование dd, как предложил WesleyDavid, работает,
просто нужно было использовать параметр count dd, как описаноздесь
По сути это означает запуск «fdisk -u -l /dev/sdb» (замените sdb на ваше устройство)
> Disk /dev/sdb: 16.3 GB, 16257318912 bytes 64 heads, 32 sectors/track,
> 15504 cylinders, total 31752576 sectors Units = sectors of 1 * 512 =
> 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O
> size (minimum/optimal): 512 bytes / 512 bytes Disk identifier:
> 0x000392d4
>
> Device Boot Start End Blocks Id System
> /dev/sdb1 * 2048 13672447 6835200 83 Linux
> /dev/sdb2 13674494 15818751 1072129 5 Extended
> /dev/sdb5 13674496 15818751 1072128 82 Linux swap
В моем случае конец последнего раздела находится на «15818751», поэтому я использовал:
dd if=/dev/sdb of=/home/myusername/usbimage.img count=15818752
добавив еще один, просто для надежности. Это дало мне образ, который я могу установить.
решение1
Самый простой вариант, который проверен и верен: используйте gparted, чтобы сделать исходные разделы размером 15 ГБ, просто чтобы быть уверенным. Затем клонируйте на другие USB-накопители.
По сути, это не проблема клонирования, это проблема размера раздела. Как только размер раздела/диска станет меньше максимального размера на комфортную величину, просто dd if=source of=destination
(предполагая Windows) и продолжайте жить со своим плохим «я».