Как переместить (скопировать) всю систему Ubuntu на другой жесткий диск?

57

Жесткий диск, на котором установлена ​​моя Ubuntu, вот-вот выйдет из строя. Я бы предпочел не терять 3 года данных, настроек и приложений. Я ищу способ перенести всю систему (включая SWAP, потому что я не уверен, смогу ли я перенастроить систему на новый раздел SWAP) на другой жесткий диск. Но не полный жесткий диск <только раздел, содержащий Ubuntu, для раздела на другом жестком диске. По сути, я хотел бы сделать то, что я смог сделать с Norton Ghost для моей установки Windows. Я думал об использовании Clonezilla, но думаю, что у меня будут проблемы с GRUB (особенно при попытке загрузки с другого UUID, чем тот, который находится в файле conf). Вы знаете, каким образом это можно сделать?

PS, мой домашний каталог зашифрован, но это не проблема, потому что я могу обойти это.

РЕДАКТИРОВАТЬ: изменил объяснение, чтобы сделать его более понятным

boywithaxe
источник

Ответы:

30

Я фактически использовал Gparted с Live CD. Я скопировал раздел и вставил его в нераспределенное пространство на другом жестком диске. Затем я использовал blkid для проверки UUID и отредактировал файл fstab. Работал как шарм!

boywithaxe
источник
5
Если вы перемещаете свой раздел в той же системе по какой-либо причине (например, вам нужно больше места), вам придется изменить UUID нового раздела перед изменением fstab, поскольку он будет иметь тот же UUID, что и исходный (см. Askubuntu. ru / questions / 109938 / change-hdds-uuid )
Грег Крамида
Это причина, потому что я люблю Linux
deFreitas
Если вы заменяете старый загрузочный диск на новый, вам также необходимо установить на него grub. Если вы добавляете новый диск или заменяете диск с данными, вам не нужно этого делать.
Дэвид С.
9

Ну, я просто использовал USB-флешку + Ubuntu Live.

Я переносил Ubuntu 13.10 с большего жесткого диска на меньший ssd, и clonezilla «сказала», что это невозможно сделать, поскольку целевой раздел меньше исходного раздела.

Итак, я запустил Ubuntu Live, смонтировал как hdd (новый диск, разумеется, был ранее разбит на разделы, не забудьте про swap;)), и просто:

cd /media/ubuntu/old-hdd-uuid/

тогда:

sudo cp -R --preserve=all bin/ boot/ cdrom/ dev/ etc/ home/ lib/ lib32/ lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/ srv/ sys/ tmp/ usr/ var/ /media/ubuntu/new-hdd-uuid/

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

cd /media/ubuntu/new-hdd-uuid/

тогда мне пришлось сделать две символические ссылки в корневой директории нового диска:

sudo ln -s boot/vmlinuz-x.xx.x-xx-generic vmlinuz
sudo ln -s boot/initrd.img-x.xx.x-xx-generic initrd.img

и следующим шагом была установка grub, так:

sudo grub-install --boot-directory=boot/ /dev/sdxy

где x - устройство, y - номер раздела (если вы не уверены, используйте cfdisk или fdisk для печати таблицы разделов ...)

и последним шагом было изменение uuid нового жесткого диска на uuid со старого жесткого диска (это самый простой способ обмануть конфигурацию grub, fstab или что-то еще без поиска и исправления конфигураций)

sudo tune2fs /dev/sdxy -U OLD-UUID

новый UUID будет отображаться после перемонтирования устройства. Так что теперь перезагрузите компьютер, и если все в порядке, ваша Ubuntu должна запуститься ...

matryc
источник
4

Вы можете сделать это с помощью дд. Для полной информации проверьте сайт.

Клонировать жесткий диск с помощью Ubuntu Live CD

Предупреждение dd - очень мощный низкоуровневый инструмент, и даже одной маленькой опечатки достаточно, чтобы уничтожить весь диск. Пожалуйста, будьте очень осторожны с его использованием и попытайтесь использовать инструмент более высокого уровня, если это возможно.
Также обратите внимание, что этот метод работает, только если ваш целевой диск имеет тот же размер или больше


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

Мало того, что вы можете сделать это с вашим Ubuntu Live CD, вы можете сделать это прямо из коробки - никакого дополнительного программного обеспечения не требуется! Программа, которую мы будем использовать, называется dd и включена практически во все дистрибутивы Linux. dd - это утилита, используемая для низкоуровневого копирования - вместо того, чтобы работать с файлами, она работает непосредственно с необработанными данными на устройстве хранения.

Вы также можете использовать:

Clonezilla, бесплатное программное обеспечение для клонирования жесткого диска. Clonezilla запускается с live CD и имеет простой пользовательский интерфейс. Конечно, вам все равно нужно знать, что вы делаете, но этот инструмент может значительно упростить вашу работу благодаря пошаговой разбивке.

Вы можете скачать Clonezilla здесь

Внимание ! Перед началом работы обязательно ознакомьтесь с ограничением Clonzilla.

Вы также упомянули, что вы использовали Ghost для Windows, также вы можете использовать Ghost для Linux .

Источник: http://www.howtogeek.com/howto/19141/clone-a-hard-drive-using-an-ubuntu-live-cd/

Источник: http://www.makeuseof.com/tag/2-methods-to-clone-your-linux-hard-drive/

Митч
источник
Позволяет ли dd также копировать только разделы? Как и в sudo dd = = dev / sdb3 of = / dev / sda2
boywithaxe
При условии, что оба диска имеют одинаковый точный размер. И команда в вашем случае dd if = / dev / sd3 of = / dev / sd2
Митч
Спасибо, однако, разделы находятся на двух разных физических дисках, / dev / sda и / dev / sdb. Не будет ли использование sd3 и sd2 в качестве дескрипторов копироваться на одном физическом диске?
Boywithaxe
диски не обязательно должны быть одинакового размера, единственное требование - диск, на который копируется информация, больше, чем диск, на который выполняется копирование.
Бруно Перейра
1
ddrescueбыло бы лучшим вариантом здесь, так как жесткий диск неисправен.
Сиро Сантилли 新疆 改造 中心 法轮功 六四 事件
4

Несколько лет назад я успешно использовал этот инструмент для «клонирования» своих разделов: G4L . Все работало с некоторыми исправлениями после установки, такими как изменение размера разделов (я клонировал разделы на HD разных размеров) и переустановка grub (это довольно просто, вам нужен только живой CD для переустановки его в MBR).

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

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

РЕДАКТИРОВАТЬ:

Я нашел старую почту, где описал первый процесс клонирования. Я действовал следующим образом:

  • Разделил мой новый HD, подключенный через USB точно так же, как старый
  • Клонировал разделы в режиме raw с G4L
  • Загрузился с Live CD и произвел изменение размера разделов с помощью resize2fs
  • Отключил HD от USB и установил на SATA / PATA.
  • Снова загрузился с Live CD и установил новый диск:

    mkdir disk
    mount /dev/sda1 disk        (where sda1 contains boot and root partitions)
    mount /dev/sda2 disk/boot   (if you have a different boot partition) 
    mount --bind /dev/ disk/dev/
    mount -t proc none disk/proc
    chroot disk /bin/bash
    grub-install /dev/sda       (to install GRUB on sda MBR)
    
  • Перезагрузите, проверьте своп

  • наслаждаться
жасмин
источник
3

@boywithaxe - Что касается ваших комментариев к ответу Митча, вы действительно можете просто скопировать соответствующие разделы, выполнив . Это на самом деле самая легкая часть. Самым сложным является то, что вам также нужно будет смонтировать только что скопированный раздел, а также пару других разделов и установить grub ( ) ( и добавить раздел подкачки перед перезагрузкой (если вы клонируете загрузочный раздел)). При использовании этого метода нет необходимости .dd if=/dev/sdb3 of=/dev/sda3grub-install /dev/sdaresize2fs

Я только что должен был сделать это сам, и я использовал комбинацию восстановления загрузки после обновления Windows на Ubuntu 14.04 (не-RAID) и ответа jasmines .

Итак, после загрузки с liveCD:

dd if=/dev/sdb3 of=/dev/sda3

Когда это закончится, тогда

sudo mount /dev/sda3 /mnt 

где sda3 содержит недавно скопированные загрузочный и корневой разделы)

sudo mount --bind /dev/ /mnt/dev/

sudo mount -t /proc none /mnt/proc

sudo chroot /mnt

sudo grub-install /dev/sda 

обратите внимание, это sda не sda3

update-grub

exit
Greenonline
источник