• поддержка загрузки других операционных систем.
Загрузчики системы стали более сложными по сравнению с начальными вариантами ядра Linux. Появились такие функции, как история и меню, однако главной потребностью всегда остается гибкость образа ядра и выбор его параметров. Интересным фактом является то, что некоторые возможности были ослаблены. Поскольку теперь вы можете, например, выполнять аварийную или восстановительную загрузку частично или полностью с USB-накопителя, вам, вероятно, не придется беспокоиться о том, чтобы вручную вводить параметры ядра или переходить в режим одиночного пользователя. К тому же современные загрузчики предлагают больше возможностей, чем когда-либо ранее. Это может быть чрезвычайно удобно, если вы разрабатываете пользовательское ядро или желаете настроить параметры.
5.4.2. Общий обзор загрузчиков системы
Приведем перечень основных загрузчиков системы, которые могут вам встретиться, в порядке их популярности:
• GRUB — почти универсальный стандарт для систем Linux;
• LILO — один из первых загрузчиков системы Linux. Версия ELILO предназначена для интерфейса UEFI;
• SYSLINUX — может быть настроен для запуска в множестве различных типов файловых систем;
• LOADLIN — загружает ядро из оболочки MS-DOS;
• efilinux — загрузчик с интерфейсом UEFI, призванный быть моделью и эталоном для других загрузчиков с интерфейсом UEFI;
• coreboot (ранее назывался LinuxBIOS) — высокопроизводительная замена системы BIOS в персональных компьютерах. Может содержать ядро;
• Linux Kernel EFISTUB — плагин ядра для загрузки напрямую из системного раздела ESP (EFI/UEFI System Partition), имеющегося в современных системах.
В этой книге речь пойдет исключительно о загрузчике GRUB. Основная причина для использования других загрузчиков системы заключается либо в более простом их конфигурировании, по сравнению с GRUB, либо в быстроте работы.
Чтобы ввести имя ядра и параметры, вам сначала необходимо узнать, как попасть в строку приглашения загрузчика. К сожалению, иногда это бывает сложно выяснить, поскольку различные версии Linux по-разному настраивают поведение загрузчика и его отображение.
В следующих разделах вы узнаете о том, как оказаться в строке приглашения загрузчика, чтобы ввести имя ядра и параметры. Когда вы освоитесь с этим, вы изучите настройку и установку загрузчика системы.
5.5. Первое знакомство с загрузчиком GRUB
Аббревиатура
Одной из наиболее важных возможностей загрузчика GRUB является навигация по файловой системе, которая позволяет намного проще выбирать ядро и настраивать параметры. Лучший способ увидеть это в действии и узнать в общих чертах о загрузчике GRUB — заглянуть в его меню. Интерфейс снабжен простой навигацией, однако есть большая вероятность того, что вы никогда его раньше не видели. Системы Linux изо всех сил стараются скрыть от вас свой загрузчик.
Чтобы получить доступ к меню загрузчика GRUB, нажмите клавишу Shift и удерживайте ее, когда появится начальный экран системы BIOS или прошивки. В противном случае процесс настройки загрузчика может не сделать паузы перед загрузкой ядра. На рис. 5.1 показано меню загрузчика GRUB. Нажмите клавишу Esc, чтобы временно отключить автоматическое истечение времени ожидания загрузки после появления меню.
Рис. 5.1. Меню загрузчика GRUB
Попробуйте следующим образом исследовать загрузчик системы.
1. Перезагрузите или включите компьютер с Linux.
2. Удерживайте нажатой клавишу Shift при появлении начального экрана системы BIOS или самопроверки прошивки и/или экрана загрузки, чтобы попасть в меню загрузчика GRUB.
3. Нажмите клавишу E, чтобы увидеть команды конфигурирования загрузчика для принятого по умолчанию варианта загрузки. Должно появиться что-то вроде показанного на рис. 5.2.
Этот экран говорит нам о том, что для данной конфигурации корневой каталог установлен с помощью идентификатора UUID, образ ядра называется /boot/vmlinuz-3.2.0-31-generic-pae, а параметры ядра содержат ro, quiet и splash. Начальной файловой системой оперативной памяти является /boot/initrd.img-3.2.0-31-generic-pae. Если вы раньше никогда не встречали подобного рода конфигурацию, она может показаться немного запутанной. Почему несколько раз встречается параметр root, причем в разных вариантах? Почему здесь указан параметр insmod? Разве эта функция ядра не запускается обычно менеджером udevd?
Двойные записи оправданны, поскольку загрузчик GRUB в действительности не