Я думаю, что в случае двойной загрузки удобнее будет установить для
каждой системы свой собственный загрузчик в её корневой раздел. Тогда
не будет иметь большого значения, какой загрузчик у вас стоит в mbr:
lilo, grub или загрузчик Windows, - он просто будет вызывать загрузчик
той системы, которую вы хотите загрузить, через chainloader. Для
этого, естественно, потребуется сделать соответствующую настройку.

Если этого не делать, то grub, по-моему, удобнее, чем lilo. Объясню,
почему.

lilo записывает информацию о параметрах загрузки, о расположении ядра
и initrd во время установки в mbr. Причём информацию о расположении
ядра и initrd он хранит в виде списка блоков, на которых записаны эти
файлы. То есть, lilo надо переустанавливать всякий раз, как вы
установите новое ядро или обновите initrd. В случае системы с
несколькими linux'ами это означает, что все ядра и их образы initrd,
которые у вас загружаются через lilo, должны быть доступны в системе,
в которой вы вызываете переустановку lilo. Если эта система - ALT
Linux, то, значит, Ubuntu нужно к нему примонтировать. А если вы
обновите ядро или initrd в Ubuntu, то вам скорее всего придётся
перезагрузиться в ALT Linux, чтобы переустановить в нём lilo.

Grub умеет сам обращаться к файловой системе, и если даже вы что-то
поменяли в его меню, обновили ядро или образ initrd, grub можно не
переустанавливать в mbr, так как он всю необходимую информацию
прочитает во время загрузки из файловой системы. Конечно, если вы
установили новое ядро, которое хранится теперь в файле с новым именем,
то следует позаботиться о том, чтобы grub смог это новое ядро найти.
То есть, либо вписать новое ядро в меню grub, либо обновить симлинк,
который прописан в меню, так чтобы он указывал на новое ядро. В Debian
реализована схема с симлинками. При установке нового ядра симлинк на
него и на его initrd обновляется автоматически.

Если даже grub не найдёт ядро во время загрузки, то можно вызвать его
командную строку и вписать там ядро и initrd вручную. Причём если вы
не помните точно, где у вас ядро, в командной строке grub можно
вызвать поиск по имени файла:

find /vmlinuz

Grub покажет список разделов, на которых он нашёл файл /vmlinuz.
Правда, командная строка grub не озвучивается.

-- 
Дмитрий Падучих
-- 
Blinux-rus mailing list
[email protected]
http://www.a11ywiki.org/cgi-bin/mailman/listinfo/blinux-rus

Ответить