Оглавление |
---|
Информация | ||
---|---|---|
| ||
|
Предупреждение |
---|
В общем случае, после внесения изменений в конфигурационные файлы загрузчика (файл /etc/default/grub или файлы в каталоге /etc/grub.d/ |
) |
для вступления изменений в силу следует выполнить команду обновления загрузчика:
|
При этом будет переписан файл /boot/grub/grub.cfg, |
и все |
внесенные в него изменения будут утеряны. Для внесения изменений в конфигурационные файлы требуются права суперпользователя (при включенном МКЦ - права суперпользователя с высоким уровнем целостности). |
Параметры PARSEC
См.
Параметры модуля ядра Parsec, задаваемые в загрузчике
Включение/выключение plymouth
Включение/выключение plymouth при загрузке управляется наличием/отсутствием опции splash в строке значений параметра GRUB_CMDLINE_LINUX (для всех режимов загрузки) или в параметрах GRUB_CMDLINE_LINUX_DEFAULT, GRUB_CMDLINE_LINUX_HARDENED для соответствующих режимов.
Например:
Использовать plymouth в обычном режиме загрузки:
Блок кода GRUB_CMDLINE_LINUX_DEFAULT="quiet splash parsec.max_ilev=63"
Установка и изменение пароля для меню загрузчика
Установка и изменение пароля командой grub-set-password
Начиная с очередного обновления Astra Linux Special Edition 1.8 установка и изменение пароля системного загрузчика может быть выполнена командой:
Command |
---|
sudo grub-set-password |
Созданный таким образом пароль сохраняется в файле /boot/grub/user.cfg. Пароль заданный в файле /etc/grub.d/07_password при этом игнорируется.
Установка и изменение пароля в файле /etc/grub.d/07_password
Информация | ||
---|---|---|
| ||
|
Информация |
---|
Системный загрузчик GRUB2 поддерживает возможность задания паролей в открытом виде. |
Для смены пароля системного загрузчика необходимо сгенерировать создать хеш нового пароля и заменить им старый хеш:
Для генерации хеша выполнить команду и дважды ввести новый пароль:
Command grub-mkpasswd-pbkdf2 Полученный хеш (начиная со слова grub) скопировать в буфер (например, выделив его с помощью мыши, и нажав правую кнопку мыши выбрать "копировать").
- С помощью любого текстового редактора, например редактора nano, внести изменения в файл /etc/grub.d/07_password (
Например, для редактирования с помощью встроенного редактора с графическим интерфейсом kate можно воспользоваться командой:
Command |
---|
sudo kate /etc/grub.d/07_password |
- создать такой файл, если его нет). В результате редактирования должен получиться текст вида:
Информация #!/bin/bash
cat << EOF
set superusers="username"
password_pbkdf2 username grub.pbkdf2.sha512.10000.9C319610666...........
EOF
Цветами условно обозначены имя пользователя (красный) и
созданный кеш (
зеленый), в реальном редакторе
цветовых обозначений нет.
Сохранить файл, и выйти из редактора.
Если был создан новый файл, то установить права доступа к
этому файлу, разрешив его выполнение и максимально ограничив чтение:
Command sudo chmod 700 /etc/grub.d/07_password Для того, чтобы
сделанные изменения вступили в силу, обновить загрузчик командой:
Command sudo update-grub Информация
Можно отключить запрос пароля grub, например для записи Windows. Для этого в файла /boot/grub/grub.cfg
в параметрах загрузочного меню (строка, начинающаяся с "menuentry") указать (добавить) параметр --unrestricted, например:
Блок кода ... --class gnu-linux --class gnu --class os --unrestricted ...
Предупреждение Изменения, сделанные в файле /etc/grub/grub.cfg не будут сохраняться после выполнения команды обновления загрузчика update-grub. Для того, чтобы изменения сделать постоянными нужный элемент меню можно добавить в файл /etc/grub.d/40_custom, указав в нем все необходимые параметры. Например, для создания элемента меню "Windows 10 без пароля" для загрузки Windows 10 без запроса пароля (опция --unrestricted) добавить следующие строки:
Блок кода menuentry "Windows 10 без пароля" --class windows --class os --unrestricted { insmod ntfs search --no-floppy --set=root --fs-uuid <UUID_загрузочного_раздела_Windows> ntldr /bootmgr }
Для получения значения UUID загрузочного раздела Windows можно использовать команду:
Блок кода sudo blkid
В качестве образца для создания своего элемента меню можно использовать записи menuentry из файла /boot/grub/grub.cfg.
Запрет загрузки в режиме восстановления.
ТаймаутВремя ожидания выбора при загрузке
.Для того, чтобы запретить варианты загрузки в режиме восстановления, нужно с правами суперпользователя открыть :
Открыть в редакторе файл /etc/default/grub:
Command sudo
nano /etc/default/grub
Раскомментировать строку:
Информация GRUB_DISABLE_RECOVERY="true" Дополнительно
в этом же файле можно уменьшить время ожидания при выборе варианта загрузки (по умолчанию - 5 секунд), например, совсем скрыв меню (в таком случае в меню НЕЛЬЗЯ будет попасть, зажав при загрузке клавишу Shift, и возможности выбора ОС/ядра не будет):
Информация GRUB_TIMEOUT=0 Для скрытия загрузчика с сохранением возможности переключения клавишей Shift на этап выбора ОС/ядра к параметру GRUB_TIMEOUT=0 добавить GRUB_HIDDEN_TIMEOUT=5:
Информация GRUB_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT=5Сохранить изменения, выйти из редактора
;
Для того, чтобы эти изменения вступили в силу, обновить загрузчик командой:
Command sudo update-grub
Пункты меню, позволяющие выбрать для загрузки режим восстановления, можно убрать из меню и путём путем редактирования файла /boot/grub/grub.cfg (см. ниже, но эти изменения не будут сохраняться после выполнения команды обновления загрузчика update-grub.
Запрет выбора загрузки ядра GENERIC
Для того, чтобы запретить все варианты загрузки, кроме варианта HARDENED , нужно с :
С правами суперпользователя открыть в редакторе файл /boot/
grub/grub/grub.cfg:
Command sudo
nano /boot/grub/grub.cfg
Закомментировать ненужные блоки кода, начинающиеся с menuentry, например:
Информация #menuentry 'AstraLinuxCE GNU/Linux, с Linux 4.15.3-1-generic' --class astralinuxce --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-4.15.3-1-generic-advanced-f923f219-185e-4747-9066-6b09fd0103ae' {
# load_video
# insmod gzio
# if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
# insmod part_msdos
# insmod ext2
# set root='hd0,msdos1'
# if [ x$feature_platform_search_hint = xy ]; then
# search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 f923f219-185e-4747-9066-6b09fd0103ae
# else
# search --no-floppy --fs-uuid --set=root f923f219-185e-4747-9066-6b09fd0103ae
# fi
# echo 'Загружается Linux 4.15.3-1-generic …'
# linux /boot/vmlinuz-4.15.3-1-generic root=UUID=f923f219-185e-4747-9066-6b09fd0103ae ro quiet net.ifnames=0
# echo 'Загружается начальный виртуальный диск …'
# initrd /boot/initrd.img-4.15.3-1-generic
#}
Предупреждение |
---|
Эти изменения Изменения, сделанные в файле /etc/grub/grub.cfg не будут сохраняться после выполнения команды обновления загрузчика update-grub, но лучше способа пока нет.. |
Настройка выбора ядра для загрузки
Для указания ядра, загружаемого по умолчанию используется параметр GRUB_DEFAULT в файле /etc/default/grub. Значением этого параметра может быть:
- число — порядковый номер элемента выбора ядра меню загрузчика. Нумерация начинается с нуля;
идентификатор элемента меню загрузчика. Например:
Блок кода GRUB_DEFAULT=gnulinux-5.15.0-70-hardened-advanced-4d59e93e-ab3e-4f05-be84-1774cd76ab8d
специальное значение saved - использовать последнее загруженное ядро (для сохранения информации о последнем загруженном ядре необходимо добавить параметр
GRUB_SAVEDEFAULT="true"
):Блок кода GRUB_DEFAULT="saved"
Получить список элементов меню выбора ядра можно командой:
Command |
---|
sudo grep ^menuentry /boot/grub/grub.cfg |
Пример вывода команды:
Блок кода | ||
---|---|---|
| ||
menuentry 'AstraLinux GNU/Linux, with Linux 5.15.0-70-lowlatency' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.15.0-70-lowlatency-advanced-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
menuentry 'AstraLinux GNU/Linux, with Linux 5.15.0-70-lowlatency (recovery mode)' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.15.0-70-lowlatency-recovery-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
menuentry 'AstraLinux GNU/Linux, with Linux 5.15.0-70-hardened' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.15.0-70-hardened-advanced-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
menuentry 'AstraLinux GNU/Linux, with Linux 5.15.0-70-hardened (recovery mode)' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.15.0-70-hardened-recovery-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
menuentry 'AstraLinux GNU/Linux, with Linux 5.15.0-70-generic' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.15.0-70-generic-advanced-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
menuentry 'AstraLinux GNU/Linux, with Linux 5.15.0-70-generic (recovery mode)' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.15.0-70-generic-recovery-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
menuentry 'AstraLinux GNU/Linux, with Linux 5.10.176-1-hardened' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.10.176-1-hardened-advanced-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
menuentry 'AstraLinux GNU/Linux, with Linux 5.10.176-1-hardened (recovery mode)' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.10.176-1-hardened-recovery-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
menuentry 'AstraLinux GNU/Linux, with Linux 5.10.176-1-generic' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.10.176-1-generic-advanced-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
menuentry 'AstraLinux GNU/Linux, with Linux 5.10.176-1-generic (recovery mode)' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.10.176-1-generic-recovery-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
menuentry 'AstraLinux GNU/Linux, with Linux 5.4.0-110-generic' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.4.0-110-generic-advanced-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
menuentry 'AstraLinux GNU/Linux, with Linux 5.4.0-110-generic (recovery mode)' --class astralinux --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.4.0-110-generic-recovery-4d59e93e-ab3e-4f05-be84-1774cd76ab8d' {
|
Идентификаторы элементов меню, которые можно использовать для задания умолчания, находятся после параметра $menuentry_id_option
.
Получить список элементов меню с их номерами можно командой:
Command |
---|
sudo grep 'menuentry ' /boot/grub/grub.cfg | cut -f 2 -d "'" | nl -v 0 |
Пример вывода команды:
Блок кода | ||
---|---|---|
| ||
0 AstraLinux GNU/Linux, with Linux 5.15.0-70-lowlatency
1 AstraLinux GNU/Linux, with Linux 5.15.0-70-lowlatency (recovery mode)
2 AstraLinux GNU/Linux, with Linux 5.15.0-70-hardened
3 AstraLinux GNU/Linux, with Linux 5.15.0-70-hardened (recovery mode)
4 AstraLinux GNU/Linux, with Linux 5.15.0-70-generic
5 AstraLinux GNU/Linux, with Linux 5.15.0-70-generic (recovery mode)
6 AstraLinux GNU/Linux, with Linux 5.10.176-1-hardened
7 AstraLinux GNU/Linux, with Linux 5.10.176-1-hardened (recovery mode)
8 AstraLinux GNU/Linux, with Linux 5.10.176-1-generic
9 AstraLinux GNU/Linux, with Linux 5.10.176-1-generic (recovery mode)
10 AstraLinux GNU/Linux, with Linux 5.4.0-110-generic
11 AstraLinux GNU/Linux, with Linux 5.4.0-110-generic (recovery mode)
|
После внесения изменений в файл /etc/default/grub обновить параметры загрузчика:
Command |
---|
sudo update-grub |