Загрузчик операционных систем, вторая реализация, первой был - Grub Legacy.
GRUB умеет по цепочке передавать управление другому загрузчику, что позволяет ему загружать Windows, MS-DOS и др.
Позволяет при загрузке задавать произвольные параметры и передавать их в ядро, для дальнейшей обработки (для Multiboot систем).
Основным файлом конфигурации является /boot/grub/grub.cfg, но он генерируется автоматически, скриптами, расположенными в /etc/grub.d/
Так же, есть ещё файл один конфигурации - /etc/default/grub, он так же содержит в себе ряд полезных опций.
Такие как например:
Имея доступ к загрузчику, можно легко сбросить пароль любого пользователя в системе, поэтому рекомендуется установить пароль на загрузчик (но имея возможность загрузки с LiveCD, можно обойти и эту защиту).
Сначала создаем и шифруем пароль с помощью утилиты grub-mkpasswd-pbkdf2
Затем открываем файл /etc/grub.d/40_custom и дописываем в конце две строки:
set superusers="root" password_pbkdf2 root *сгенерированный хэш пароля (grub.pbkdf2.sha512.10000...)*
После изменений, нужно обновить конфигурацию grub
# grub-mkconfig -o /boot/grub/grub.cfg
или
# update-grub
ПАРОЛЬ БУДЕТ УСТАНОВЛЕН НА ВСЕ ПУНКТЫ ЗАГРУЗКИ в т.ч. и на обычную загрузку т.е. его нужно будет вводить при каждом запуске.
Для того что бы разрешить обычную загрузку без пароля, нужно отредактировать файл /etc/grub.d/10_linux, находим пункт и добавляем параметр –unrestricted, как на скриншоте:
PS: Имея возможность загрузится с LiveCD, можно обойти защиту паролем, отредактировав файл /boot/grub/grub.cfg.
Что бы попасть в консоль, нужно нажать клавишу C во время отображения меню загрузки.
Кроме стандартного назначения, можно получить список жестких дисков и разделов
Содержимое указанного файла.
Загружает указанное ядро.
linux файл_ядра опция1=значение опция2 опция3
Загружает указанный initrt-образ (должен соответствовать версии ядра).
initrd /boot/initrd.img-2.6.32-020632-generic
Передает управление другому загрузчику (ищется в root разделе). Обычно требуется указание файла загрузки.
chainloader /путь/имя_файла
Для Windows можно использовать:
chainloader +1
boot
Загружает / Сохраняет переменные окружения из своего файла (/boot/grub/grubenv)
GRUB environment block можно использовать для хранения небольшого количества информации (1024 байт).
Утилита grub_editenv позволяет редактировать из работающей системы.
Позволяет загрузить другой файл конфигурации, вместо /boot/grub/grub.cfg
Перечисляет или выбирает выходной терминал. Без аргументов перечисляет активные и доступные терминалы.
–append добавляет терминал в список активных.
–remove удаляет из списка активных.
Дает возможность протестировать скорость чтения файла с диска.
-s, –size=ЧИСЛО - объём данных каждой операции чтения.
testspeed [-s РАЗМЕР] [путь до файла]
Время выполнения любой команды.
time [команда] [аргументы]
Заморозка.
-v, –verbose - показывает отсчет.
-i, –interruptible - разрешает прерывание кнопкой ESC.
sleep [КЛЮЧИ] [СЕКУНДЫ]
Сообщает какой раздел используется в качестве корневого.
Используется для задания различных параметров.
set root=(hd0,5)
Поиск раздела по UUID, метке или файлу, имеет ключи:
Список поддерживаемых видеорежимов.
Выключение / перезагрузка