LINUX.ORG.RU

clone disk partition

 , , ,


0

1

Сможет ли dd скопировать системный диск с офтопиком mbr или gpt с загрузчиком?

Может ли dd скопировать информацию из меньшего раздела источника в больший, без изменения размера большего раздела приемника? Тоесть как склонировать больший раздел и меньший и наоборот с пропорциональным изменением свободного пространства?


Ответ на: комментарий от andytux

А что лучше dd или ddrescue?

Как например налету склонировать только раздел 150гб в раздел 200гб, чтобы информация осталась, а свободное место автоматически увеличилось на размер раздела приемника тоесть до 200гб?

MiST ()
Ответ на: комментарий от MiST

А что лучше dd или ddrescue?

Для чего лучше? Они оба не будут менять содержимое копируемых данных, а внутри ФС прописан её размер. То есть свободное место в ФС из 150Гб в 200Гб не превратится. Либо копировать пофайлово (tar), либо после dd запускать команду изменения размера ФС (если существует).

И я точно не помню, но офтопик, вроде, привязывается к идентификаторам GPT-разделов... А если копировать с помощью dd диск полностью на диск большего размера, то вторая таблица gpt (копия в конце диска) будет не на месте. Как на это отреагирует система не знаю.

mky ★★★★★ ()
Ответ на: комментарий от mky

Эхх, ясно, спасибо, тоесть единственного решения на все случаи на манер акрониса тут нет? Под каждую задачу нужно колхозить костыли.

Либо копировать пофайлово (tar)

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

MiST ()
Последнее исправление: MiST (всего исправлений: 1)
Ответ на: комментарий от WitcherGeralt

Это какие? В gparted всмысле? И насколько это времязатратная процедура расширить свободное пространство раздела?

MiST ()
Ответ на: комментарий от MiST

Грохаешь раздел и пересоздаёшь (тут очень аккуратно) с нужным размером, я это делаю с помощью fdisk, затем partprobe и уже непосредственно утилита для расширения конкретной фс, например resize2fs для ext4 и xfs_growfs.

WitcherGeralt ★★ ()
Ответ на: комментарий от WitcherGeralt

уже непосредственно утилита для расширения конкретной фс, например resize2fs для ext4 и xfs_growfs.

Информация с раздела не теряется при этом?

MiST ()
Ответ на: комментарий от MiST

Утилита может отказаться изменять размер ФС и потребовать запустить проверку.

Если в процессе reset не нажмёшь, то всё пройдёт штатно. resize2fs вообще может online работать без размонтирования раздела.

Radjah ★★★★★ ()
Ответ на: комментарий от MiST

Не теряется. Главное не намудрить при пересоздании разделе. Читай внимательно что говорит в интерактивном режиме fdisk, и всё будет хорошо. Я бы подсказал что делать в точности, но я не помню. Там хороший хелп, так что запоминать причин не было.

WitcherGeralt ★★ ()
Ответ на: комментарий от WitcherGeralt

Главное не намудрить при пересоздании разделе

Малейшая неточность и данные тю-тю

А какой алгоритм действий тут?

  1. Делаем dd разделу. На устройство или на раздел? Раздел приемника после dd будет таким же как у источника?

  2. Делаем ресайз.

  3. Повторяем для следующего раздела.

MiST ()
Ответ на: комментарий от MiST

Я бы сначала на целевом носителе создал все желаемые разделы, чтобы с размерами с дальнейшей не гадать, а потом уже перезаписывал их (раздел в раздел) с помощью dd из источника и просто ресайзил по максимальной длине.

WitcherGeralt ★★ ()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от MiST

Сделал инструкцию в картинках на примере двух файлов, которые будут играть роль накопителей.

Сначала я разметил и создал в них по два раздела в каждом:

https://x1site.ru/1131

На втором «диске» они примерно вдвое больше чем на первом.

Затем я подсунул их системе, создав устройства, разметил разделы под ext4 и примонтировал их:

https://x1site.ru/1132

А также, я создал там файлики с помощью которых мы проверим, что разделы удачно скопированы.

Далее кусочек с непосредственным копированием разделов я забыл заскринить, вот он:

sudo umount /mnt/lp1
sudo umount /mnt/lp2 
sudo dd if=/dev/loop0p1 of=/dev/loop1p1
sudo dd if=/dev/loop0p2 of=/dev/loop1p2
sudo fdisk /dev/loop1


Далее удаление и пересоздание раздела:

https://x1site.ru/1133

- Cигнатуру ФС не удаляем!


Затем расширение:

https://x1site.ru/1134

Проверка того, что мы действително всё растянули, новые разделы больше старых, а файлы на месте:

https://x1site.ru/1135

Полный лог команд, исключая действия внутри fdisk: https://paste.ubuntu.com/p/JWJkFY8TF6/

WitcherGeralt ★★ ()
Последнее исправление: WitcherGeralt (всего исправлений: 3)
Ответ на: комментарий от WitcherGeralt

Ого! Спасибо за подробную инструкцию! Большая работа проделана.

Мне надо время чтобы вникнуть, сейчас не за компом. Отпишусь.

MiST ()
Ответ на: комментарий от WitcherGeralt

Блин, как всегда появились вопросы.

А что так можно «играться» виртуально с файлами как с устройствами или дисками? Все есть файл? Магия какая то)

MiST ()
Ответ на: комментарий от WitcherGeralt

Я бы сначала на целевом носителе создал все желаемые разделы, чтобы с размерами с дальнейшей не гадать, а потом уже перезаписывал их (раздел в раздел) с помощью dd из источника и просто ресайзил по максимальной длине.

А как копирует dd? Только информацию или еще и структуру диска? Как будет выглядет приемник после dd из меньшего раздела в больший?

MiST ()
Ответ на: комментарий от MiST

Все есть файл?

И диск — файл, и раздел — тоже файл. Копирует побайтово. Копируешь диск, копируются разделы, копируешь раздел, копируется ФС, то есть, копируется всё доступное содержимое, включая любые структуры.

WitcherGeralt ★★ ()
Ответ на: комментарий от MiST

Как будет выглядет приемник после dd из меньшего раздела в больший?

Вместо большего раздела появится меньший + неразмеченное пространство.

WitcherGeralt ★★ ()
Ответ на: комментарий от WitcherGeralt

Спасибо это я и хотел выяснить. Надо будет потренироваться чтобы понять. На файлах как ты показал это высший пилотаж.

То есть если есть несколько больших разделов на приемнике, то после dd меньших на месте больших появятся разделы и за каждым будет неразмеченное пространство которое достаточно ресайз? Может это проще и нагляднее делать в gparted? Не конечно через консоль круче но это для про.

Зы а dd сможет перенести uefi gpt загрузчик и диск с вендой чтобы потом завелось? Или это надо пробовать на практике?

MiST ()
Последнее исправление: MiST (всего исправлений: 1)
Ответ на: комментарий от MiST

и за каждым будет неразмеченное пространство которое достаточно ресайз?

Да.

Может это проще и нагляднее делать в gparted?

Скопировать разделы всё равно вручную придётся. Ресайз мб можно и через gparted, но я бы тоже сначала на файлах проверил, что он это без потерь делает, или в документации уточнил хотя бы.

а dd сможет перенести uefi gpt загрузчик и диск с вендой чтобы потом завелось? Или это надо пробовать на практике?

С загрузчиком вообще проблем быть не должно, в крайней случае, его всегда можно восстановить. Особенно, если сделаешь бекап efi-раздела в файл так же с помощью dd. А свою игровую винду я сам несколько раз преносил туда-сюда, она на удивление живучая стала и легко заводится после копирования, даже скопированные ntfs-разделы по лейблам без проблем подхватывает, сохраняя заданную букву.

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

WitcherGeralt ★★ ()
Ответ на: комментарий от WitcherGeralt

Спасибо! Вроде алгоритм понятный как будет на деле надо проверить. А как можно проверить на виртуальных файлах сохранность данных после ресайза? В файл записать файл?? Загрузчик uefi это отдельный раздел?

MiST ()
Последнее исправление: MiST (всего исправлений: 1)
Ответ на: комментарий от andytux

Скорее всего человек не вполне понимает, чего добивается.

Сможет ли dd скопировать системный диск с офтопиком mbr или gpt с загрузчиком?

для этого придется копировать весь диск. И потом чинить и при желании расширять, поскольку в gpt вторая таблица находится в конце диска, а при таком копировании, если иски разные, она попадет куда то в середину диска.

Может ли dd скопировать информацию из меньшего раздела источника в больший, без изменения размера большего раздела приемника? Тоесть как склонировать больший раздел и меньший и наоборот с пропорциональным изменением свободного пространства?

меньший в больший легко. И затем его расширить при необходимости. А вот больший в меньший никак без предварительного уменьшения файловой системы спец утилитами.

Кроме того, это очень медленно, поскольку копироваться будет весь диск или партиция, тогда как обычно они полупустые.

clonezilla копирует только данные, ну и руками, через parted и rsync тоже зачастую быстрее.

AVL2 ★★★★★ ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей