Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 и РУСБ.10015-10 (очередное обновление 1.7)
- Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
Astra Linux Special Edition РУСБ.10015-16 исп. 1
Astra Linux Common Edition 2.12
В общем случае, после внесения изменений в конфигурационные файлы загрузчика (файл /etc/default/grub или файлы в каталоге /etc/grub.d/) для вступления изменений в силу следует выполнить команду обновления загрузчика:
При этом будет переписан файл /boot/grub/grub.cfg, и все внесенные в него изменения будут утеряны.
Для внесения изменений в конфигурационные файлы требуются права суперпользователя (при включенном МКЦ - права суперпользователя с высоким уровнем целостности).
Включение/выключение 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"
Установка и изменение пароля для меню загрузчика
Системный загрузчик GRUB2 поддерживает возможность задания паролей в открытом виде, и многие инструкции предлагают именно такой способ. В настоящей инструкции предлагается более безопасный способ задания пароля в виде хеша. Независимо от выбранного способа рекомендуется максимально ограничить доступ к файлу с паролем .
Для смены пароля системного загрузчика необходимо создать хеш нового пароля и заменить им старый хеш:
Для генерации хеша выполнить команду и дважды ввести новый пароль:
grub-mkpasswd-pbkdf2Полученный хеш (начиная со слова grub) скопировать в буфер (например, выделив его с помощью мыши, и нажав правую кнопку мыши выбрать "копировать");
С помощью текстового редактора внести изменения в файл /etc/grub.d/07_password (создать такой файл, если его нет). Например, для редактирования с помощью редактора nano можно воспользоваться командой:
sudo nano /etc/grub.d/07_passwordВ результате редактирования должен получиться текст вида:
#!/bin/bash
cat << EOF
set superusers="username"
password_pbkdf2 username grub.pbkdf2.sha512.10000.9C319610666...........
EOFЦветами условно обозначены имя пользователя (красный) и созданный кеш (зеленый), в реальном редакторе цветовых обозначений нет.
Сохранить файл и выйти из редактора;
Установить права доступа к созданному новому файлу, разрешив его выполнение и максимально ограничив чтение:
sudo chmod 700 /etc/grub.d/07_passwordДля того, чтобы сделанные изменения вступили в силу, обновить загрузчик командой:
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:
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Сохранить изменения, выйти из редактора;
Для того, чтобы эти изменения вступили в силу, обновить загрузчик командой:
sudo update-grub
Пункты меню, позволяющие выбрать для загрузки режим восстановления, можно убрать из меню и путем редактирования файла /boot/grub/grub.cfg (см. ниже, но эти изменения не будут сохраняться после выполнения команды обновления загрузчика update-grub.
Запрет выбора загрузки ядра GENERIC
Для того, чтобы запретить все варианты загрузки, кроме варианта HARDENED:
С правами суперпользователя открыть в редакторе файл /boot/grub/grub/grub.cfg:
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
#}
Настройка выбора ядра для загрузки
Для указания ядра, загружаемого по умолчанию используется параметр 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"
Получить список элементов меню выбора ядра можно командой:
Идентификаторы элементов меню, которые можно использовать для задания умолчания, находятся после параметра $menuentry_id_option
.
Получить список элементов меню с их номерами можно командой:
После внесения изменений в файл /etc/default/grub обновить параметры загрузчика: