
Я обновляю внутренний жесткий диск SATA на моем ноутбуке с 40G на 160G. У меня есть настольный компьютер Linux/Ubuntu с картой SATA. На самом деле я хотел бы сделать то же самое для пары коробок CentOS и FreeBSD на работе, и, похоже, это будет иметь то же самое решение.
Я слышал, что могу использоватьДДдля зеркалирования раздела 40G на диск 160G или для сохранения раздела 40G как образа на локальной системе, а затем копирования этого образа 40G на диск 160G.
Может ли кто-нибудь описать, как это сделать? Мне нужны какие-либо другие утилиты, такие какgparted
решение1
Обычно я предлагаю такое решение, как «подключить второй жесткий диск с помощью внешнего корпуса, загрузиться с компакт-диска Linux, а затем использовать команду, например, » dd if=/dev/sda of=/dev/sdb bs=1G
, но поскольку вы хотите использовать ту же технику для работы, у меня есть решение, которое может оказаться лучшим.
Все мои серверы и ноутбуки на работе сканируются с помощьюКлонезилла. Есть два способа его использования... один из которых использует выделенный сервер и, вероятно, будет для вас излишним, а другой использует загрузочный CD и внешний жесткий диск.
Идея в том, что вы загружаетесь с CD Clonezilla и имеете довольно большой (больше, чем исходный диск) внешний USB-накопитель. Clonezilla проведет вас через создание образа существующего диска, после чего вы выключаете машину, заменяете диск, затем снова загружаетесь в Clonezilla, и она проведет вас через восстановление данных.
Это дает вам возможность А) поместить образ на больший диск и Б) сохранить резервную копию данных.
решение2
Вашей первой задачей будет подключение обоих дисков к существующей системе Linux или подключение нового диска к исходной системе.
Ты должен бытьоченьбудьте осторожны, так как очень просто скопировать чистый диск поверх хорошего!
Чтобы закончить с загрузочными секторами и всем остальным, вам нужно сделать что-то вроде:
dd if=/dev/hdx of=/dev/hdy
Где hdx
ваш диск 40G и hdy
где ваш диск 160G. Вы заметите, что нет номеров разделов, таких как /dev/hdx1
. Это копирует весь диск, информацию о разделах и все.
Ваш новый диск будет таким же, как и старый, выделено 40 ГБ. Он должен загрузиться сразу после установки обратно в ваш ноутбук. Надеюсь, вы использовали LVM? В противном случае надеюсь, что вы не использовали все разделы? Чтобы пройти этот момент, требуется гораздо больше информации.
Другое решение — сделать дамп каждого отдельного раздела. Это требует гораздо большей осведомленности о ситуации, поскольку вам придется заново создавать загрузочную информацию.
Все это лучше всего использовать для клонирования компьютеров, а не для обновления жестких дисков. Гораздо лучше восстановиться на новую установку, используя ваши резервные копии.
решение3
Пока тыможетДля копирования такого диска используйте dd, но у этого способа есть ряд недостатков:
- Место назначения должно быть точно такого же размера или больше, чем исходное.
- После копирования вам нужно будет изменить размер разделов, чтобы использовать дополнительное пространство.
- Вы будете тратить время на копирование свободного места
- Любая фрагментация, имеющаяся на старом диске, сохраняется.
Использование программы создания образов, такой как Ghost4Linux, partclone или clonezilla, по крайней мере решает проблемы 2 и 3. Вы также можете просто отформатировать новый диск, смонтировать его и скопировать все файлы cp -ax
(как root), а затем переустановить загрузчик на новом диске. Этот метод не страдает ни от одного из вышеперечисленных недостатков.
решение4
Вы спрашивали, как это сделать с помощью dd, но у меня лучше получилось передать выводсвалкаввосстановить. Учитывая источникad1s1aи цельad2s1a:
$ mount /dev/ad2s1a /target
$ cd /target
$ dump -0Lauf - /dev/ad1s1a | restore -rf -
Я пробовал это на FreeBSD, на самом деле я нашел это наФорум FreeBSD