Богатство и свобода выбора в сообществе Линукс постоянно являются причиной споров и размышлений о том, что же использовать в конкретном случае. Вот и загрузчик не обошла чаша сия.
Загрузчик - миниатюрная программа, которая позволяет выбирать при загрузке, какую операционную систему грузить. Не стоит думать, что речь идет только о комбинации Linux и Windows. Имеют место вполне естественные желания пользователя Linux - иметь различные варианты ядер (хотя бы на период установки и тестирования новой версии), несколько дистрибутивов. В этом и состоит задача загрузчика - предложить выбор и передать управление нужной системе с требуемыми параметрами.
Наиболее популярными по результатам опросов считаю LILO (LInux LOader) и GRUB (GRand Unified Bootloader). Очень, очень долгое время я использовал LILO. Но все таки меня в нем не все устраивало:
- необходимость каждый раз при изменении параметров или списка загрузок обновлять MBR
- слабая функциональность в случае какого-то сбоя или ошибки
Вот я и решил сменить загрузчик на другой, не менее (а может даже и более) популярный - GRUB, в котором этих недостатков не наблюдается.
Инсталляция оказалась на удивление простой:
# grub-install /dev/hda
Что автоматически создает папку /boot/grub и записывает в MBR код загрузчика. В файле /boot/grub/menu.lst нужно положить конфигурацию меню загрузки, но я специально его не создавал, чтобы оценить, как можно справиться с такой проблемой. Все оказалось на удивление просто! Сразу после загрузки я получил приглашение коммандной строки "grub>". Интерфейс оказался дружественным, с подсказками и советами. Введя три комманды...
grub> root (hd0,4)
grub> kernel /vmlinuz ro root=/dev/hda5
grub> initrd /initrd.img
grub> boot
...я загрузил свою систему. Положительные впечатления. Теперь напишу конфигурацию и установлю его на обычный PC (до этого игрался на ноутбуке).
Вот пример конфигурации:
timeout 5 #время ожидания до начала автоматической загрузки
default 1 #какой пункт будет грузится по умолчанию. счет идет от 0
splashimage /boot/grub/splashimages/deb.xpm.gz #можно положить фоновую картинку 640x480 14 цветов
title Linux-2.6.19.1
root (hd0,5)
kernel /boot/vmlinuz-2.6.19.1 ro root=/dev/hda6 vga=795 notail noatime
initrd /boot/initrd.img-2.6.19.1
title Linux-2.6.19-my #название пункта в меню
root (hd0,5) #раздел жесткого диска для root
kernel /boot/vmlinuz-2.6.19-my ro root=/dev/hda6 video=mtrr, vesa:1024x768 vga=791 splash=verbose notail noatime #путь на ядро и его параметры
initrd /boot/initrd.splash #путь на init ram drive
title Linux-2.6.18-3-k7
root (hd0,5)
kernel /boot/vmlinuz-2.6.18-3-k7 ro root=/dev/hda6 vga=795 notail noatime
initrd /boot/initrd.img-2.6.18-3-k7
Чтобы загрузить Windows я в интернете видел такие строки:
title winxp
rootnoverify (hd0,0)
makeactive
chainloader +1
Если у вас еще не GRUB - самое время переходить. Действительно удобно менять конфигурацию без необходимости постоянно менять загрузчик. Хотя бы ради этого стоило переходить.