Перенос системы на другой жёсткий диск

Решил я продать свой винчестер, на котором стояла система. И, соответственно, перенести систему на другой. Покопал инфы на эту тему. Нашёл несколько инструкций, но все они оказались либо неполными, либо с ошибками. Поэтому решил написать свою.

Условия

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

Софтовая часть состоит из операционной системы Ubuntu 9.10, загрузочного диска Ubuntu 9.04, файловой системы ext3, загрузчика GRUB 0.97 и программы для управления разделами дисков GParted 0.4.5.

Задача

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

Решение

Для начала необходимо загрузить компьютер с загрузочного диска. С помощью программы GParted можно скопировать раздел с вашей системой на другой жёсткий диск. Копируется раздел в неразмеченную область. Процесс занимает довольно много времени, всё зависит от объёма переносимых данных и скорости винчестеров.

Скопировать раздел не достаточно для нормальной работы копии системы. Необходимо настроить загрузчик. Для этого открываем консоль и запускаем командную строку загрузчика:

  1. sudo grub

Далее, из командной строки загрузчика, получаем наименование жёсткого диска, на который он установлен, командой:

  1. find /boot/grub/stage1

Результатом будет номер жёсткого диска и номер раздела, например (hd0,4). К какому жёсткому диску относится эта запись можно тут же проверить командой:

  1. geometry (hd0)

Эта команда покажет вам информацию о жёстком диске hd0: количество цилиндров, головок, секторов; название устройства, например /dev/sdc; и информация о разделах. Эту команду нужно выполнить для каждого своего винчестера чтобы узнать, как их называет загрузчик. Помните, что нумерация дисков начинается с нуля.

После того как вы узнали номер жёсткого диска и раздела, на который перенесли систему, допустим (hd2,4), можно перейти к настройке загрузчика в этом разделе:

  1. root (hd2,4)

После выполнения этой команды, устанавливаем загрузчик в MBR нужного винта:

  1. setup (hd2)

После чего нужно выйти из командной строки GRUB:

  1. quit

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

Далее необходимо отредактировать таблицу монтирования файловых систем — fstab. Для этого нужно смонтировать раздел с новой системой и заменить UUID старго swap–раздела, на UUID нового swap–раздела. UUID можно узнать, например в программе GParted в информации о соответствующем разделе.

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

У меня на все манипуляции, включая поиск правильного решения, ушло ровно четыре часа.

Подводные камни

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

При описанной выше конфигурации, если не отключить старый жёсткий диск, загрузка будет произведена с него, потому что у него номер (hd0), а у нового — (hd2).

Если вдруг вам повезло и UUID нового раздела получился другим, тогда, как и в случае со swap–разделом, необходимо в fstab заменить  UUID старго раздела, на UUID нового раздела.

Комментарии

5 лет назад
а dd чем не понравился? Потом ресайз.
А про dd в те времена я ничего не знал. Наверное этим и не понравился. :)

Комментарий №1

5 лет назад
:)
Комментировать