Как я могу использовать DD для миграции данных со старого диска на новый диск?

function calc() { echo $* p | dc }

dc является калькулятором RPN; эта функция позволяет мне ввести выражение как аргументы команды:

$ calc 5 3 +
8
30
24.07.2011, 22:42
7 ответов

Ваша первая задача состояла бы в том, чтобы подключить оба диска к существующей системе Linux или подключить новый диск к исходной системе.

Необходимо быть очень осторожными, так как очень просто скопировать чистый диск сверху хорошего диска!

Для окончания с загрузочными секторами и всеми Вы сделали бы что-то как:

dd if=/dev/hdx of=/dev/hdy

Где hdx Ваш 40G диск и hdy Ваш 160G диск. Вы заметите, что нет никаких чисел раздела как /dev/hdx1. Это копирует весь диск, информацию о разделе и так далее.

Ваш новый диск будет точно так же, как старый диск, 40G выделенный. Это должно загрузить право, когда помещено назад в Вашем ноутбуке. Надеетесь, что Вы использовали LVM? Иначе надежда Вы не использовали все разделы? Заканчивание этой точки требует намного большего количества информации.

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

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

6
27.01.2020, 19:38

Обычно я предложил бы решение те, которые "поднимают трубку 2-й жесткий диск с помощью внешнего корпуса, начальной загрузки с CD Linux, затем используйте команду такой как dd if=/dev/sda of=/dev/sdb bs=1G, но так как Вы хотите использовать ту же технику для работы, я имею то, что может быть лучшим решением.

Все мои серверы и ноутбуки отображаются при использовании работы Clonezilla. Существует два способа использовать его..., один из которых использует выделенный сервер и является, вероятно, излишеством для Вас и другого, который использует CD-привод начальной загрузки и внешний жесткий диск.

Идея состоит в том, что Вы загружаетесь в с CD Clonezilla и имеете великоватое (больше, чем исходный диск) внешняя Карта памяти. Clonezilla обходит Вас посредством создания изображения существующего диска, после которого Вы выключаете машину, заменяете диск, затем загружаетесь назад в Clonezilla, и он обходит Вас посредством восстановления данных.

Это дает Вам возможность A) поместить изображение на более крупный диск и B) сохранить резервное копирование данных.

17
27.01.2020, 19:38

В то время как можно использовать dd для копирования диска как этот, делание так имеет много недостатков:

  1. Место назначения должно быть точно тем же размером или больше, чем источник
  2. После копирования необходимо будет изменить размер разделов для использования любого дополнительного пространства
  3. Вы будете напрасно тратить время, копируя свободное пространство
  4. Любая фрагментация, существующая в старом диске, сохраняется

Используя программу обработки изображений как Ghost4Linux, partclone, или clonezilla, по крайней мере, заботится о номерах 2 и 3. Можно также просто отформатировать новый диск, смонтировать его и скопировать все файлы с cp -ax (как корень), и затем переустанавливают загрузчик на новом диске. Этот метод не страдает ни от одного из вышеупомянутых недостатков.

5
27.01.2020, 19:38

Для простого копирования раздела можно использовать dd if=/dev/srcDrive of=/dev/dstDrive или что-то вроде этого. Я рекомендовал бы Вам прочитать его страницу справочника. Извините я не могу дать намного больше информации, так как я в, работают правильно теперь..

3
27.01.2020, 19:38

Вы спросили, как сделать это с dd, но я имел лучший успех, передающий вывод по каналу дампа в восстановление. Учитывая источник ad1s1a и цель ad2s1a:

$ mount /dev/ad2s1a /target
$ cd /target
$ dump -0Lauf - /dev/ad1s1a  | restore -rf -

Я попробовал это на FreeBSD, на самом деле я нашел его на Форуме FreeBSD

2
27.01.2020, 19:38

Один простой пример - это:

dd if=/dev/sda of=/dev/sdb

Но если у Вас есть некоторые особые потребности, действительно необходимо прочитать страницу справочника (человек dd) или поиск на Google.

Другая идея могла быть использованием rsync (не забывайте устанавливать правильные опции, как - азимут [упаковывает файлы вместо копии один файл за другим] или - числовые идентификаторы [используют uid/gid вместо имен как "корень"] и возможно некоторые другие). Ссылка содержит много примеров.

Если новый жесткий диск не имеет разделов, можно использовать gparted или palimpset.

Когда Вы не уверены, я отформатировал бы жесткий диск и затем синхронизировал бы данные с rsync.

1
27.01.2020, 19:38

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

  1. Вы воссоздаете информацию о разделе первого диска во втором, возможно делая некоторые разделы больше для использования дополнительного пространства, и таким образом.
  2. Затем предположите, что Вы имеете/dev/sda {1,2,3,4} и хотите скопировать их в/dev/sdb {1,2,3,4}, Вы mkdir/mnt/sd {a, b} {1,2,3,4} и смонтировать каждый раздел в каждом dir (или если Вы хотите сделать это один за другим, можно сделать/mnt/origin/mnt/destination и mount/umount каждая пара),
  3. Затем Вы делаете CP-avr/mnt/origin/./mnt/destination/(или cp-avr/mnt/sda1/./mnt/sdb1/
  4. Ожидайте, в то время как Вы просматриваете веб-сайты :)
  5. Помните себя для переустановки личинки, lilo, или безотносительно bootmanager Вы используют.

Выполнение его тот способ, которым Вы будете дефрагментировать файлы, поскольку они копируются, можно также измениться, файловые системы в разделах (мигрируйте от reiserfs или ext3 к ext4, и т.д.), но, не забудьте редактировать/etc/fstab после копирования для удовлетворения новой ситуации.

1
27.01.2020, 19:38

Теги

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