Прежде, чем приступать к установке второй (третьей и т. д.) ОС, надо выбрать способ организации выбора ОС на этапе загрузки компьютера. Эту задачу решают программы-загрузчики. Существует несколько программ такого рода. Раз уж речь у нас идет о Linux, то первым делом надо упомянуть программу LILO, которая входит в состав любого дистрибутива Linux.
2.4.1. ЗАГРУЗЧИК LILO ИЗ ДИСТРИБУТИВА ОС LINUX
Загрузчик LILO создан Вернером Альмесбергером (Werner Almesberger). LILO может загружать ядро Linux как с дискеты, так и с жесткого диска, а также может загружать другие операционные системы: PC/MS-DOS, DR DOS, OS/2, Windows 95/98, Windows NT, 386BSD, SCO UNIX, Unixware и т. д. Может быть задан выбор до 16 разных операционных систем на этапе загрузки.
LILO представляет собой комплект из нескольких программ: собственно загрузчика, программ, используемых для установки и настройки загрузчика, и служебных файлов:
• программа /sbin/lilo, которая запускается из-под Linux, служит для того, чтобы записать всю информацию, необходимую на этапе загрузки, в соответствующие места. Ее необходимо перезапускать каждый раз после внесения изменений в ядро или в конфигурационный файл LILO;
• различные служебные файлы, которые нужны LILO во время загрузки. Эти файлы обычно располагаются в каталоге /boot. Самые важные из них – это собственно загрузчик (смотри ниже) и map- файл (/boot/map), в котором указывается местоположение ядра. Еще один важный файл – это файл конфигурации LILO, который обычно имеет имя /etc/lilo.conf;
• собственно загрузчик – это та часть LILO, которая первой загружается в память через прерывание BIOS, и которая загружает ядро Linux или загрузочный сектор другой операционной системы. Загрузчик тоже состоит из двух частей. Первая часть записывается в загрузочный сектор и служит для загрузки второй части, которая значительно больше по размеру. Обе части обычно хранятся на диске в файле /boot/boot.b.
Надо иметь в виду, что формат загрузочного сектора, создаваемого LILO, отличается от формата DOS MBR, так что если записать загрузочный сектор LILO в MBR, то ранее установленные системы от Microsoft перестанут загружаться (если не принять дополнительных мер).
Загрузочный сектор LILO спроектирован так, чтобы его можно было использовать как загрузочный сектор раздела, в частности, в нем есть место для таблицы разделов.
Загрузочный сектор LILO при инсталляции системы можно разместить в следующих местах:
• загрузочный сектор дискеты в формате Linux (/dev/fd0,…);
• MBR первого жесткого диска (/dev/hda, /dev/sda,…);
• загрузочный сектор первичного раздела файловой системы Linux на первом жестком диске (/dev/hda1, /dev/hda2,…);
• загрузочный сектор логического раздела в расширенном разделе первого жесткого диска (/dev/hda5,…). Правда большинство программ типа fdisk не предполагают, что можно загружаться из расширенного раздела и отказываются объявлять его активным. Поэтому в состав LILO включена специальная программа (activate), которая позволяет обойти это ограничение. Но программа fdisk из дистрибутива Linux поддерживает возможность активизации расширенного раздела. Для этого надо использовать либо опцию -b, либо переменную BOOT.
Загрузочный сектор LILO не может быть размещен в следующих местах:
• загрузочный сектор дискеты или первичного раздела, отформатированных в других файловых системах;
• в swap-разделе Linux;