GRUB - GRand мира загрузчиков
4cab9ef0

Что умеет


Умеет GRUB много. С точки зрения некоторых пользователей - даже слишком. Количество используемых команд существенно превышает пол сотни. В документации они разделены на меню-специфичные, используемые только в глобальной секции конфигурационного файла, общие, используемые как в описании меню, так и в командном режиме, и команды интерактивного режима, которые если и могут быть включены в конфигурационный файл, то только в секциях, описывающих отдельные позиции меню. Повторение описания - занятие неблагодарное. GRUB прекрасно документирован: распространяемый пакет включает в себя небольшой man и исчерпывающее info. С соответствующей странички сайта GNU можно скачать документацию в html-формате. Но, возможно, ничего этого делать и не придётся: GRUB имеет встроенную систему помощи, которая в ответ на <help> всегда выведет список доступных к выполнению команд, а в ответ на <help command> выдаст дополнительную информацию. Автозаполнение строки подскажет не только синтаксис команды, но и, в некоторых случаях, варианты её продолжения (доступные устройства, разделы). Одним словом, эпитет bash-подобной командная оболочка GRUB имеет вполне заслуженно. При всём этом как-то даже неловко повторяться... Последовав примеру Daniel Robbins, просто приведём конфигурационный файл, включающий в себя наиболее часто используемые команды:

default 0 timeout 30 color light-gray/blue black/light-gray title=Boot Linux root (hd0,4) kernel /boot/bzImage ro root=/dev/hda5 vga=792 hdd=ide-scsi title=Boot Linux using initrd root (hd0,5) kernel /boot/bzImage root=/dev/loop0 vga=791 init=/initdisk.gz initrd /initdisk.gz title=Windows NT root (hd0,3) chainloader +1

Параметры ядру передаются, очевидно, обычным образом. Разумеется, значение параметра root описывает корневой раздел в нотации Linux, а не GRUB, а, в остальном, мне кажется, ошибиться довольно трудно.

Все "горячие" клавиши, действующие при появлении меню на экране, описаны в нижней части самого же меню. В командном режиме <help> к вашим услугам: авторы, кажется, сделали всё, что бы избавить склонных к графомании от стремления описывать их детище, за что им особое спасибо.


Приведём только функции, предназначенные для создания различных вариантов загрузки. Найти соответствующие команды труда не составит.



  • создание новых первичных разделов;
  • изменение типов разделов;
  • изменение флагов активности (загружаемости) первичных разделов;
  • "скрытие" разделов прибавлением 0x80 к их идентификатору;
  • map-ирование устройств: подмена одного блочного устройства другим, как это делает BIOS, для того, что бы осуществить загрузку не с первого винчестера, например.
А вот файловые операции, облегчающие работу в командном режиме:

  • получение списка блоков файла, как раз для того случая, когда stage1_5 для используемой файловой системы не существует;
  • просмотр содержимого файла. Очень полезно. Например: grub> cat /etc/fstab
  • сравнение файлов;
  • поиск файла;
  • загрузка ядра и модулей.


Содержание раздела