среда, 19 ноября 2008 г.

Перенос ubuntu с wubi-установки на реальный раздел диска

Убунтовский инсталлятор wubi честно предупреждает о (немногочисленных) недостатках такой установки: чуть замедленные дисковые операции и, главное, невозможность использования спящего режима. Добавлю к этому отказ грузиться если хост-система (windows) завершилась некорректно и на NTFS-диске ошибки. Что ж, очень разумно со стороны убунты не лезть на раздел с ошибками.

Как только эти недостатки станут значительными - пора задуматься о переносе убунты на настоящий раздел диска.

Линукс-гуру могут заявить, что нормальной установке нужно по меньшей мере пять разделов - /, /home, /var, /boot и swap, но, во-первых, им не нужно это руководство, а во вторых - у меня тут не сервер, а простой ноутбук, и я предлагаю обойтись двумя разделами - / и swap.

Создать их предлагаю из винды каким-нибудь инструментом (я использовал partition expert). Линуксовый gparted вроде бы не умеет ресайзить NTFS-диски, а именно от такого и хочется "отгрызть кусочек".

0. Дано: windows vista на primary загрузочном разделе диска, ubuntu 8.10 на файле-образе c:\ubuntu\disks\root.disk. Вероятно, инструкция сработает и для других систем.

1. Итак, создаем primary-раздел под файлы, отформатированный в ext3 (или другую вашу любимую ФС) размером не меньше чем файл-образ C:\ubuntu\disks\root.disk (я помещался в 4.5 гиг) и раздел под своп (тип linux swap, размер исходя из объема оперативки найдите в гугле, я использовал 512мб). Насчёт обязательности primary я не уверен.

2. Перезагружаемся в убунту (старую) и устанавливаем пару необходимых для переезда пакетов (lvpm надо найти на http://lubi.sourceforge.net/lvpm.html и скачать, берите версию поновее):
sudo apt-get install gparted
wget http://puzzle.dl.sourceforge.net/sourceforge/lubi/lvpm_96_all.deb
sudo dpkg -i lvpm_96_all.deb

3. Запускаем gparted
sudo gparted




Смотрим, под каким именем появился новый линуксовый раздел, у меня это было /dev/sda4 (1 - recovery раздел ноутбучного диска, 2 - windows, 3 - extended, где лежит linux swap и раздел с данными, 4 - пятигиговый раздел под линукс, 5 - swap, 6 - данные, второй нтфс раздел). Цифру 4 хорошенько запоминаем, пригодится. Больше низачем нам gparted не нужен, если, конечно, вы не решили использовать его вместо виндовых программ для нарезки диска. Закрываем.

4. Запускаем наш грузовик для переезда
sudo lvpm



Интерфейс весьма минималистский, зато делает (почти) всё что от него нужно. Выбираем что делать (transfer) и куда (sda4 или какую там цифру вы запомнили).



Дальше он честно пишет, что переезд - дело долгое, и можно наконец-то откинуться на спинку стула (tm).





5. По идее, как только вы увидели сообщение о завершении копирования, можно перезагрузиться и радоваться жизни. Однако, в моем случае новый линукс сразу не загрузился (старый "виртуальный" с образа c:\ubuntu\disks, конечно, не пострадал). Так что исправлять ошибку загрузчика GRUB "Error 17: Cannot mount selected partition" придется со старой системы.

Монтируем новую ФС (все следующие команды под su или sudo):
mkdir /newlinux
mount /dev/sda4 /newlinux
vi /newlinux/boot/grub/menu.lst

находим там строки с (/host/ubuntu/disks/) и меняем на (hd0,3). Здесь 3 - это запомненная четверка sda4 минус один (тут разделы диска считают с нуля). Менять надо все строки, в том числе закомментированную
# groot=(hd0,3)

потому что этот файл потом будет обрабатывать робот update-grub и смотреть именно на комменты.

Ну и не удаляйте строки с загрузкой виндов - скорее всего, это что-то вроде
# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda2
title Windows Vista
root (hd0,1)
savedefault
chainloader +1



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

Старая установка по-прежнему доступна из виндового загрузчика, теперь можно её удалить (панель управления - установка и удаление программ - ubuntu), а можно не трогать - две системы теперь независимы.

Комментариев нет: