|
В общем случае, после внесения изменений в конфигурационные файлы загрузчика (файл /etc/default/grub или файлы в каталоге /etc/grub.d/) для вступления изменений в силу следует выполнить команду обновления загрузчика:
При этом будет переписан файл /boot/grub/grub.cfg, и все внесенные в него изменения будут утеряны. Для внесения изменений в конфигурационные файлы требуются права суперпользователя (при включенном МКЦ - права суперпользователя с высоким уровнем целостности). |
См. Параметры модуля ядра Parsec, задаваемые в загрузчике
Включение/выключение plymouth при загрузке управляется наличием/отсутствием опции splash в строке значений параметра GRUB_CMDLINE_LINUX (для всех режимов загрузки) или в параметрах GRUB_CMDLINE_LINUX_DEFAULT, GRUB_CMDLINE_LINUX_HARDENED для соответствующих режимов.
Например:
Использовать plymouth в обычном режиме загрузки:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash parsec.max_ilev=63" |
Начиная с очередного обновления Astra Linux Special Edition 1.8 установка и изменение пароля системного загрузчика может быть выполнена командой:
| sudo grub-set-password |
Созданный таким образом пароль сохраняется в файле /boot/grub/user.cfg. Пароль заданный в файле /etc/grub.d/07_password при этом игнорируется.
Системный загрузчик GRUB2 поддерживает возможность задания паролей в открытом виде, и многие инструкции предлагают именно такой способ. В настоящей инструкции предлагается более безопасный способ задания пароля в виде хеша. Независимо от выбранного способа рекомендуется максимально ограничить доступ к файлу с паролем . |
Для смены пароля системного загрузчика необходимо создать хеш нового пароля и заменить им старый хеш:
Для генерации хеша выполнить команду и дважды ввести новый пароль:
| grub-mkpasswd-pbkdf2 |
Полученный хеш (начиная со слова grub) скопировать в буфер (например, выделив его с помощью мыши, и нажав правую кнопку мыши выбрать "копировать").
#!/bin/bash |
Цветами условно обозначены имя пользователя (красный) и созданный кеш (зеленый), в реальном редакторе цветовых обозначений нет.
Если был создан новый файл, то установить права доступа к этому файлу, разрешив его выполнение и максимально ограничив чтение:
| sudo chmod 700 /etc/grub.d/07_password |
Для того, чтобы сделанные изменения вступили в силу, обновить загрузчик командой:
| sudo update-grub |
Можно отключить запрос пароля grub, например для записи Windows. Для этого в файла /boot/grub/grub.cfg в параметрах загрузочного меню (строка, начинающаяся с "menuentry") указать (добавить) параметр --unrestricted, например:
Для того, чтобы изменения сделать постоянными нужный элемент меню можно добавить в файл /etc/grub.d/40_custom, указав в нем все необходимые параметры. Например, для создания элемента меню "Windows 10 без пароля" для загрузки Windows 10 без запроса пароля (опция --unrestricted) добавить следующие строки:
Для получения значения UUID загрузочного раздела Windows можно использовать команду:
|
Для того, чтобы запретить варианты загрузки в режиме восстановления:
Открыть в редакторе файл /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.
Для того, чтобы запретить все варианты загрузки, кроме варианта 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' { |
| Изменения, сделанные в файле /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" |
Получить список элементов меню выбора ядра можно командой:
| 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.
Получить список элементов меню с их номерами можно командой:
| 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 обновить параметры загрузчика:
| sudo update-grub |