Использовать DD для клонирования только раздела Linux на внешний USB-накопитель?

У меня есть внутренний диск емкостью 1 ТБ с двумя разделами по 1/2 ТБ, один для Windows, а другой для Ubuntu 14.04 LTS. Станция стала в основном станцией Linux, и я больше никогда не загружаюсь в Windows.

Я хотел создать резервную копию образа, поэтому я использовал DD для клонирования внутреннего диска на внешний USB-накопитель емкостью 1 ТБ. К сожалению, кажется, что USB-накопитель находится всего в нескольких гигабайтах от внутреннего накопителя, а DD заканчивается сообщением об ошибке «Недостаточно места на диске». Теперь я вижу что-то странное. Когда я извлек USB-накопитель и снова подключил его, я вижу два раздела по 1/2 ГБ, которые кажутся дублирующимися. У них одинаковые идентификаторы GUID, а Nautilus показывает одинаковую структуру каталогов и контент. Я предполагаю, что что-то из-за неполной копии одного из разделов оставило внешний диск в неисправном состоянии.

Как использовать DD для , просто клонировать раздел Linux на внешний диск? Это все, чего я действительно хочу.

1
задан 10 May 2016 в 22:00

3 ответа

В то время как Вы спрашиваете о dd, Позвольте мне рекомендовать partclone? Это сделано клонировать и восстановить раздел. Это должно знать о базовой файловой системе, преимущество dd это, это копирует только используемые блоки и экономит много времени или пространства, так как редко, чтобы неиспользованная часть раздела была сжимаема (старый мусор данных вместо обнуляет).

sudo partclone.ext4 -c -b -s /dev/sdaX -o /dev/sdbY 

сделает то, что Вы хотите. -c обозначает клон, -b для от устройства к устройству, -s источник, -o цель. Кроме того, так как Вы сделали клон, UUID источника и цели идентичны. Проверьте это с blkid, использовать uuidgen генерировать новый UUID и затем sudo tune2fs /dev/sdbY -U <uuidgen-generated new UUID> изменить его.

Наличие двух идентичных UUID на той же машине могло даже быть первопричиной проблем, которые Вы имели с 'поврежденным' состоянием внешнего устройства.

Прежде чем Вы сделаете это, целевое устройство должно быть настроено с fdisk так, чтобы новый раздел не был меньшим, чем старый раздел. Если это больше, можно вырастить клонированный раздел впоследствии с gparted к новому максимальному размеру.

1
ответ дан 11 May 2016 в 08:00

Более легкий путь:

  1. sudo fdisk -l, как сказано Videonath. Найдите раздел, который Вы хотите клонировать
  2. dd bs=512 if=/dev/<partition-name> of=/<external-media-path>

, например, dd bs=512 if=/dev/sda2 of=/dev/sdb1

Примечание:

  • dd требует, чтобы размер цели был теркой или равный размеру источника
  • , резервное копирование создало этот путь (уровень раздела) не будет загрузочный
1
ответ дан 11 May 2016 в 08:00

Поскольку сначала необходимо узнать данные о жестком диске, можно сделать это путем ввода в терминале:

sudo fdisk -l

необходимо получить вывод как это:

Disk /dev/sda: 149,1 GiB, 160041885696 bytes, 312581808 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
Disklabel type: dos
Disk identifier: 0x06bd4abe

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048 230055935 230053888 109,7G 83 Linux
/dev/sda2       292970494 312580095  19609602   9,4G  5 Extended
/dev/sda3       230055936 292968447  62912512    30G 83 Linux
/dev/sda5       292970496 312580095  19609600   9,4G 82 Linux swap / Solaris

Partition table entries are not in disk order.

Так позволяет, говорят, что/dev/sda3 является диском, который Вы хотите клонировать, затем можно сделать:

dd bs=512 if=/dev/sda of=/dev/sdb1/partition.ddfile seek=230055936 count=$(expr 292968447 - 230055936)

Напоминают, что это вот - только примеры, необходимо было бы соответствовать этому к ситуации.

2
ответ дан 11 May 2016 в 08:00

Другие вопросы по тегам:

Похожие вопросы: