воскресенье, 16 октября 2005 г.

Перенос Linux на другой винт

Т.к. ставить gentoo поновой на новый винт мне не хотелось, да и настраивать заново тоже, да и времени на это все небыло, да и способ это маздайский, то я решил как-то все данные перенести на новый винт. Банальное копирование не помогло бы, т.к. нарушилась бы связь с симлинками и я пошел в гугл. Погуглив буквально 5 минут, я нашел то, что искал. :)
Самый простой способ (может даже самый быстрый) использовать tar. Принцип таков:
1. Подготавливаем диск. Тобишь разбиваем на разделы, создаем файловые системы и прочее :)
2. Монтируем будущий корневой раздел нового диска, например, в /mnt/hdb/. Затем пишем следующее:

cd /
tar -cf - bin boot dev etc home lib root sbin tmp usr var | (cd /mnt/hdb; tar -xvpf -)

Замечание: если у вас какой-то раздел идет отдельно, например /boot, то из этого перечня следует boot исключить. После завершения выполнения команды следует создать пустые папки с именами пропущеных рахделов, чтобы потом их можно было туда примонтировать.
Если есть отдельные разделы, принцип дальнейшего дейстия таков(например для /boot):
1. Монтируем будующий бут в /mnt/hdb/boot.
2. Выполняем следующие команды:
cd /boot
tar -cf - * | (cd /mnt/hdb/boot; tar -xvpf -)

Потом только надо будет записать загрузчик в mbr, подправить fstab и перенос на этом завершен.
Замечание: /proc и /sys переносить не нужно :)