Efibootmgr windows: Как я научился напрямую перезагружаться в нужную ОС через UEFI / Хабр
Содержание
Как я научился напрямую перезагружаться в нужную ОС через UEFI / Хабр
Добрый вечер, Habrahabr!
Сегодня мы научимся перезагружаться из Linux прямиком в Windows и обратно всего за один (двойной) клик.
Дано:
- Два диска с GPT с разными ОС
- Материнская плата с UEFI и отключеным Legacy Mode
- Windows, которую бережно поставили с полной поддержкой UEFI
- Linux (у меня Manjaro), который бережно поставили, выпилив любое упоминание GRUB и прочих старомодных вещей
- rEFInd — красивый менеджер загрузки (нет, не загрузчик)
Надо:
- Написать два скрипта на *sh и cmd (bat), которые позволят перезагрузиться в нужную ОС
Примечания:
- Рабочие варианты обозначены, как Решение, остальное — мои рассуждения и описание пути к цели.
- Я сознательно опускаю описание тех деталей, которые не относятся к сути настройки, либо легко варьируются. Упоминаются же эти детали потому, что для меня они не были очевидны на момент настройки, поэтому статья становится более понятной для неискушенных читателей, которые не будут видеть в ней инструкцию по рисованию совы.
- Почему стоит быть осторожным при модификации NVRAM
Linux:
Linux — прекрасная база для работы с компьютером, поэтому всё, что нам нужно, уже есть в репозиториях, а коллективный разум сообщества знает всё и всегда готов помочь. Поэтому, после недолгого изучения интернета, ставим efibootmgr:
У меня это было так
sudo pacman -S efibootmgr
Отлично, теперь запускаем:
sudo efibootmgr
Видим что-то вроде этого
Timeout: 1 seconds BootOrder: 0001,0000 Boot0000* Windows Boot Manager Boot0001* rEFInd Boot Manager
Внимательные читатели уже наверняка заметили, что в выводе что-то не так, но тогда я был окрылён мыслью о том, что через 15 минут буду летать между операционками без проблем, и не обратил на это должного внимания.
Ок, 3 минуты на документацию, и мы находим нужный параметр «-n«, который выставляет кастомый порядок загрузки ровно на один раз. Пробуем выполнить эту команду:
Решение
sudo efibootmgr -n 0000 && sync && reboot
И оказываемся в Windows, как того и желали. Теперь эту команду записываем в скрипт/alias/*.desktop-файл и радуемся тому, как всё здорово получилось.
Windows:
Началось всё с поиска аналога efibootmgr для Windows, которого в чистом виде, конечно же, нет. Для успокоения совести я даже попытался использовать Linux Subsystem, но это, конечно же, не сработало.
Беглый поиск по интернетам показал, что схожим функционалом по модификации NVRAM обладает утилита bcdedit. Отлично, думаю я, запускаю PowerShell из-под Администратора и пишу
bcdedit /enum firmware
Вот что я увидел
Firmware Boot Manager --------------------- identifier {fwbootmgr} displayorder {6893bb38-946b-11e7-b175-9301bd8a88f4} {bootmgr} timeout 1 Windows Boot Manager -------------------- identifier {bootmgr} device partition=\Device\HarddiskVolume2 path \EFI\Microsoft\Boot\bootmgfw. efi description Windows Boot Manager locale ru-RU inherit {globalsettings} default {current} resumeobject {6893bb40-946b-11e7-b175-9301bd8a88f4} toolsdisplayorder {memdiag} timeout 30 Firmware Application (101fffff) ------------------------------- identifier {6893bb38-946b-11e7-b175-9301bd8a88f4} device partition=\Device\HarddiskVolume2 path \EFI\REFIND\REFIND_X64.EFI description rEFInd Boot Manager
Где Linux? Куда грузиться? Ненавижу винду
На самом деле оказалось, что виновата не Windows, а я (да-да, тот самый момент для внимательных пользователей), и вот почему: rEFInd — прекрасная утилита, которая обычно, для корректной работы, требует только установить себя. Она умеет подхватывать все .efi файлы, разные дистрибутивы с разными ядрами, сама подставляет иконки. Прелесть, а не инструмент. Но это сыграло со мной злую шутку, так как оказалось, что UEFI ничего не знает про Linux, так как отсутствует соответствующий ему . efi-файл.
Поэтому презагружаемся обратно в Linux, конфигурируем systemd-boot (bootctl). Теперь всё выглядит вот так:
Timeout: 1 seconds BootOrder: 0001,0003,0000,0002 Boot0000* Windows Boot Manager Boot0001* rEFInd Boot Manager Boot0002* Linux Boot Manager Boot0003* Manjaro
Возвращаемся обратно и снова запускаем.
bcdedit /enum firmware
Вот что я увидел теперь
Firmware Boot Manager --------------------- identifier {fwbootmgr} displayorder {6893bb38-946b-11e7-b175-9301bd8a88f4} {bootmgr} {ff0bc716-c088-11e7-bf74-000acd2dac7d} {ff0bc716-c088-11e7-bf74-000acd2dac7d} timeout 1 Windows Boot Manager -------------------- identifier {bootmgr} device partition=\Device\HarddiskVolume2 path \EFI\Microsoft\Boot\bootmgfw.efi description Windows Boot Manager locale ru-RU inherit {globalsettings} default {current} resumeobject {6893bb40-946b-11e7-b175-9301bd8a88f4} toolsdisplayorder {memdiag} timeout 30 Firmware Application (101fffff) ------------------------------- identifier {6893bb38-946b-11e7-b175-9301bd8a88f4} device partition=\Device\HarddiskVolume2 path \EFI\REFIND\REFIND_X64. EFI description rEFInd Boot Manager Firmware Application (101fffff) ------------------------------- identifier {ff0bc716-c088-11e7-bf74-000acd2dac7d} device partition=\Device\HarddiskVolume2 path \EFI\SYSTEMD\SYSTEMD-BOOTX64.EFI description Linux Boot Manager Firmware Application (101fffff) ------------------------------- identifier {ff0bc717-c088-11e7-bf74-000acd2dac7d} device partition=\Device\HarddiskVolume1 path \EFI\manjaro\vmlinuz-4.13-x86_64 description Manjaro
Тут стоит упомянуть, что проблему мне помогали решать пользователи reddit. Именно благодаря им мы имеем следующий шаг:
bcdedit /bootsequence {ff0bc716-c088-11e7-bf74-000acd2dac7d}
Где аргументом является identifier необходимого варианта — Linux Boot Manager.
Troubleshooting
Powershell не даёт нормально выполнить эту команду, ругаясь на
The entry list data is not valid as specified.
Всё из-за того, что Microsoft периодически любит что-нибудь сломать. Решение просто и элегантно — вызываем классический CMD и работаем в нём. Это можно сделать командой
cmd
Перезагружаемся и видим, что порядок загрузки не изменился, а мы оказались в первом элементе в BootOrder (у меня это был rEFInd), выбираем Windows и видим страшный привет из времен DOS, который говорит нам, что \EFI\SYSTEMD\SYSTEMD-BOOTX64.EFI не найден. Да, мы изменили параметры загрузчика Windows, но не UEFI.
Борьба с этой ошибкой заняла у меня все праздники, но ничего путного не получалось. Я уже подумывал написать на C++ небольшую программку для этого (то, что это возможно, следует из существования такого софта, как EasyUEFI).
Но тут на очередном сайте я обнаружил вот такую конструкцию
bcdedit /set {bootmgr} path ....
И тут меня осенило, что можно прямо сказать bcdedit что и куда писать. Дальше стоило только проверить догадку:
Решение
bcdedit. exe /set {fwbootmgr} bootsequence {ff0bc716-c088-11e7-bf74-000acd2dac7d} /addfirst
Тут важно, что мы явно сказали писать не в {bootmgr} (как он, видимо, делает по-умолчанию), а в {fwbootmgr}, что и является нашими настройками UEFI.
Перезагружаемся, и всё работает так, как мы этого хотели. Сохраняем это дело в bat/lnk, дописываем
shutdown /r /t 0
Выставляем запуск из-под администратора и готово!
Спасибо за внимание! Буду крайне рад замечаниям по технической части в комментариях, замечаниям по оформлению — в ЛС.
Параметры системного хранилища BCD для UEFI
-
Статья -
- Чтение занимает 5 мин
-
Для типичного сценария развертывания не нужно изменять хранилище BCD. В этом разделе рассматриваются различные параметры BCD в хранилище BCD, которые можно изменить. В системах UEFI сюда входят параметры для следующих загрузочных приложений:
- диспетчер загрузки Windows;
- загрузчик Windows
- средство тестирования памяти Windows
В следующих разделах подробно описаны доступные параметры для каждого из этих загрузочных приложений и способы изменения каждого приложения для систем UEFI.
Для простоты примеры BCDEdit в этом разделе изменяют системное хранилище BCD. Чтобы изменить другое хранилище, например копию шаблона BCD, добавьте имя хранилища в командную строку.
Windows Параметры диспетчера загрузки для UEFI
Windows Диспетчер загрузки ({bootmgr}
) управляет процессом загрузки. Системы на основе UEFI содержат диспетчер загрузки встроенного ПО Bootmgfw.efi, который загружает приложение EFI, основанное на переменных, хранящихся в NVRAM.
Параметры BCD для элементов и path
элементов в диспетчере device
загрузки Windows указывают диспетчер загрузки встроенного ПО. Шаблон с именем BCD-template для Windows включает следующие параметры для диспетчера загрузки Windows.
## Windows Boot Manager identifier {bootmgr} device partition=\Device\HarddiskVolume1 path \EFI\Microsoft\Boot\bootmgfw.efi description Windows Boot Manager
Параметр устройства
Элемент device
указывает том, содержащий Windows Boot Manager. Для систем device
UEFI элемент для диспетчера загрузки Windows задается буквой тома системного раздела. Чтобы определить правильную букву тома, используйте средство Diskpart для просмотра разделов диска. В следующем примере предполагается, что в системе есть один жесткий диск с несколькими секциями, включая системный раздел, которому назначена буква диска S.
Следующие команды Diskpart выбирают диск 0, а затем перечисляют сведения о томах на этом диске, включая буквы диска. В нем отображается том 2 в качестве системного раздела.
DISKPART> select disk 0 DISKPART> list volume Volume ### Ltr Label Fs Type Size Status Info ---------- --- ------ ----- ---------- ------- --------- ------ Volume 0 D NTFS Partition 103 GB Healthy Volume 1 C NTFS Partition 49 GB Healthy Boot Volume 2 S FAT32 Partition 200 MB Healthy System
Если системный раздел не содержит назначенную букву диска, назначьте ее с помощью Diskpart assign
команды. В следующем примере предполагается, что системный раздел является томом 2 и назначает его S в качестве буквы диска.
Diskpart select disk 0 list volume select volume 2 // assuming volume 2 is the system partition assign letter=s
После определения тома системного раздела задайте device
элемент для Windows Boot Manager соответствующим буквам диска. В следующем примере задается диск device
S.
Bcdedit /set {bootmgr} device partition=s:// system partition
Совет
Если вы ранее использовали Diskpart для получения букв диска, а затем перезагрузили компьютер, перед выполнением этой команды используйте Diskpart, чтобы снова проверить буквы диска. В зависимости от среды буквы дисков могут изменяться, поэтому убедитесь, что вы устанавливаете правильную секцию.
Параметр пути
Элемент path
указывает расположение приложения Windows Boot Manager на этом томе. Для систем path
UEFI указывает диспетчер загрузки встроенного ПО, путь к которому имеет значение \EFI\Microsoft\Boot\Bootmgfw. efi
.
Чтобы убедиться, что шаблон BCD-template имеет правильный путь, перечислив значения в хранилище следующим образом:
bcdedit /store bcd-template /enum all
Чтобы явно задать значение path
\EFI\Microsoft\Boot\Bootmgfw.efi
, используйте следующую команду.
Bcdedit /set {bootmgr} path \efi\microsoft\boot\bootmgfw.efi
Другие параметры
Следует задать для Windows Диспетчер загрузки первый элемент в порядке отображения встроенного ПО UEFI, как показано в следующем примере.
Bcdedit /set {fwbootmgr} displayorder {bootmgr} /addfirst
Кроме того, следует указать самый верхний Windows загрузчик приложения в порядке отображения диспетчера загрузки Windows. В следующем примере показано, как поместить указанный загрузчик Windows в начало порядка отображения.
Bcdedit /set {bootmgr} displayorder {<GUID>} /addfirst
В предыдущем примере <GUID>
— это идентификатор указанного объекта загрузчика Windows. В следующем разделе подробно рассматривается этот идентификатор.
Примечание
Система с несколькими установленными операционными системами имеет несколько экземпляров загрузчика Windows. Каждый экземпляр загрузчика Windows имеет собственный идентификатор. Вы можете задать для загрузчика по умолчанию Windows ({default}
) любой из этих идентификаторов.
Параметры загрузчика Windows
Хранилище BCD имеет по крайней мере один экземпляр и при необходимости несколько экземпляров загрузчика Windows. Отдельный объект BCD представляет каждый экземпляр. Каждый экземпляр загружает одну из установленных версий Windows с указанной конфигурацией элементов объекта. Каждый Windows загрузчик имеет собственный идентификатор, а параметры объекта device
path
указывают на правильную секцию и загрузочное приложение.
BCD-template
для Windows имеет один объект загрузчика Windows со следующими параметрами.
## Windows Boot Loader identifier {9f25ee7a-e7b7-11db-94b5-f7e662935912} device partition=C: path \Windows\system32\winload. efi description Microsoft Windows Server locale en-US inherit {bootloadersettings} osdevice partition=C: systemroot \Windows
Идентификатором этого загрузчика Windows является{9f25ee7a-e7b7-11db-94b5-f7e662935912}
. Этот GUID можно использовать в системе или позволить средству BCDEdit создать новый GUID.
Чтобы упростить команды BCDEdit, можно указать один из загрузчиков Windows в системном хранилище BCD в качестве загрузчика по умолчанию. Затем вместо полного GUID можно использовать стандартный идентификатор ({default}
). В следующем примере загрузчик Windows для EFI в качестве загрузчика по умолчанию предполагается, что он использует GUID идентификатора из шаблона BCD-template.
Bcdedit /default {9f25ee7a-e7b7-11db-94b5-f7e662935912}
Параметры устройств и OSDevice
Следующие элементы указывают ключевые расположения:
- Элемент
device
указывает секцию, содержащую загрузочное приложение. - Элемент
osdevice
указывает секцию, содержащую системный корневой каталог.
Для загрузчика Windows для EFI оба элемента обычно задаются буквой диска системного раздела Windows. Однако если BitLocker включен или компьютер имеет несколько установленных версий Windows и osdevice
device
может иметь разные секции. Шаблон BCD устанавливает оба элемента на диск C, что является типичным значением. Можно также явно задать osdevice
значения и device
значения, как показано в следующем примере. В примере также предполагается, что вы указали загрузчик Windows для EFI в качестве объекта загрузчика по умолчанию.
Bcdedit /set {default} device partition=c: Bcdedit /set {default} osdevice partition=c:
Параметр пути
Элемент path
загрузчика Windows указывает расположение загрузчика на этом томе. Для систем path
UEFI указывает загрузчик Windows для EFI, путь к которому равен\Windows\System32\Winload. efi
.
Вы можете убедиться, что шаблон BCD имеет правильное path
значение, перечислив значения в хранилище. Можно также явно задать path
значение, как показано в следующем примере.
Bcdedit /set {default} path \windows\system32\winload.efi
Windows Параметры средства тестирования памяти
Средство тестирования памяти Windows{memdiag}
() выполняет диагностику памяти во время загрузки. Параметры BCD для приложения device
и path
элементов указывают правильное приложение.
Примечание
Компьютеры Intel Itanium не включают средство тестирования памяти Windows и не требуют {memdiag}
параметров.
Шаблон BCD для Windows имеет следующие параметры.
## Windows Memory Tester identifier {memdiag} device partition=\Device\HarddiskVolume1 path \boot\memtest.exe description Windows Memory Diagnostic
Параметр устройства
Для систем device
UEFI элемент для средства тестирования памяти Windows задается буквой диска системного раздела. В следующем примере предполагается, что системный раздел является диском S, как показано в предыдущих примерах.
Bcdedit /set {bootmgr} device partition=s: // system partition
Параметр пути
Элемент path
указывает расположение диспетчера Windows Test Manager на томе, указанном элементомdevice
. Для систем path
UEFI указывает версию EFI приложения (\EFI\Microsoft\Boot\Memtest.efi
).
Вы можете убедиться, что шаблон BCD имеет правильное path
значение, перечислив значения в хранилище. Средство BCDEdit также можно использовать для явного path
задания значения, как показано в следующем примере.
Bcdedit /set {memdiag} path \efi\microsoft\boot\memtest.efi
powershell — эквивалент Windows для efibootmgr?
В своем ответе я буду ссылаться на (U)EFI — (унифицированный) расширяемый интерфейс прошивки — просто как EFI.
Также для всех команд следует использовать командную строку с повышенными привилегиями, т. е. запускать cmd.exe
(не PowerShell!) с правами администратора!
Я как раз искал то же самое. У меня была (временная) проблема, связанная с тем, что Linux не мог получить доступ к EFI NVRAM или изменить ее, включая последовательность загрузки. (Что я в конце концов решил.) За это время я изучил способ сделать это в Windows и обнаружил, что bcdedit
на самом деле имеет тот же набор функций, включая а) создание новой записи меню загрузки EFI и б) изменение последовательности загрузки EFI.
Если загрузчик Linux уже настроен, последовательность может быть изменена с помощью bcdedit /enum firmware
. Важен только GUID объекта загрузчика, указанный вместе с загрузчиком Linux, т.е. строка вида {01234567-89AB-CDEF-0123-456789ABCDEF}
, и заменить {
в следующих примерах с вашим фактическим идентификатором GUID.
Любой загрузчик встроенного ПО может быть установлен в качестве параметра загрузки EFI по умолчанию с помощью bcdedit /set {fwbootmgr} default {
.
Чтобы установить запись загрузчика EFI в качестве первого элемента загрузки в списке, можно использовать bcdedit /set {fwbootmgr} displayorder {
.
Проблема заключается в том, что у вас нет записи загрузчика EFI для загрузчика Linux (возможно, она была каким-то образом удалена или не была установлена во время установки). Важно только то, что загрузчик Linux уже настроен, потому что это то, что нужно сделать в Linux. В настоящее время стандартом является GRUB ( GR и U унифицированный загрузчик B , версия 2). В системах EFI он должен быть установлен на ESP (системный раздел EFI) в \EFI\
или аналогичный. Например. для Ubuntu это будет \EFI\Ubuntu\grubx64.efi
. Для Arch Linux это может быть \EFI\arch\grubx64.efi
или \EFI\GRUB\grubx64.efi
для систем x86-64 (и \EFI\arch\grub.efi
или \EFI\GRUB). \grub. efi
для x86-32).
Чтобы узнать, какие существуют загрузчики EFI, сначала необходимо смонтировать ESP в Windows, что можно сделать с помощью diskpart
.
DISKPART> выберите диск 0 DISKPART> список томов Volume ### Ltr Этикетка Fs Тип Размер Статус Информация ---------- --- ------ ----- ---------- ------- --------- ------ ... Том 2 Раздел FAT32 200 МБ Здоровая система DISKPART> выберите том 2 DISKPART> назначить букву = S ДИСК> выход
Вышеприведенное предполагает, что a) ESP, показанный как System
в столбце Info, является томом 2 (замените его фактическим номером тома) и что b) буква диска S все еще доступна (не используется ) до этого момента, в противном случае используйте любую другую свободную букву диска (от A до Z).
ESP теперь доступен как назначенный диск, в примере S:
. Посмотрите на этот диск, чтобы увидеть, есть ли какие-либо загрузчики EFI под \ EFI
. .. Это можно сделать, например. с помощью проводника Windows или в командной строке с повышенными привилегиями:
с: дир /с /кв
Обратите внимание, , что это присвоение буквы диска не является постоянным, т.е. после перезагрузки Windows ESP больше не будет монтироваться, как и должно быть.
Теперь bcdedit
можно использовать для добавления загрузчика EFI в загрузочное меню EFI и установки его в качестве нового значения по умолчанию следующим образом (соответственно изменить пути и идентификаторы GUID):
bcdedit /set {bootmgr} path \efi \grub\grubx64.efi bcdedit/перечисление {bootmgr} bcdedit /set {fwbootmgr} displayorder {} /addfirst bcdedit /set {fwbootmgr} по умолчанию { }
Обратите внимание , что изменение порядка отображения
совершенно необязательно!
Все эти команды работают только с cmd.exe
, как и с PowerShell (который также должен быть оболочкой с повышенными привилегиями, то есть «запускать от имени администратора»), требуются дополнительные кавычки:
bcdedit /set '{bootmgr}' путь \efi\grub\grubx64. efi bcdedit/enum '{bootmgr}' bcdedit /set '{fwbootmgr}' displayorder '{}' /addfirst bcdedit /set '{fwbootmgr}' по умолчанию '{ }'
Это сработало для меня, поскольку загрузчик Linux EFI был установлен по умолчанию в Windows 10 навсегда. IMHO bcdedit
эквивалентен efibootmgr
в Windows, только с дополнительным уровнем (в данном случае абсолютно ненужным) случайных идентификаторов GUID для ссылки на отдельные загрузчики EFI…
linux — установить Windows как запись по умолчанию с помощью efibootmgr, но показывает меню
У меня это меню запускает мой ноутбук.
Как видите, у меня есть несколько записей для CentOS 8.
Но я хочу установить по умолчанию, мои Диспетчер загрузки Windows (в /dev/nvme01p1)
запись…
Я думал в efibootmgr
.
Чтение этой статьи https://www.lifewire.com/change-the-efi-boot-order-efibootmgr-4028027 и этой статьи https://www.linuxbabe.com/command-line/how-to-use -linux-efibootmgr-examples и https://www. runscripts.com/support/guides/tools/multiboot-usb/dual-booting-repair
ESP (системный раздел EFI)
Можно ли сохранить пункты меню , перейдя на Windows с efibootmgr
?
Вот мой efibootmgr -v
:
[root@centos /]# efibootmgr -v BootCurrent: 0000 Время ожидания: 0 секунд BootOrder: 0000,0017,0001,0012,0014,0015,0016,0018,0019,001A Boot0000* CentOS Linux HD(6,GPT,5291c15b-2f5c-42a0-b3e3-2c69f27b801b,0x1b7ec800,0x200000)/Файл(\EFI\centos\shimx64.efi) Boot0001* Диспетчер загрузки Windows HD(1,GPT,31ebd6ef-ec98-42c7-a57b-7855c2c9a1f3,0x800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x ...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...7. ............... Boot0010 Setup FvFile (721c8b66-426c-4e86-8e99-3457c46ab0b9) Boot0011 Меню загрузки FvFile (86488440-41bb-42c7-93ac-450fbf7766bf) Boot0012* NVMe: SKHynix_HFM512GDHTNI-87A0B PciRoot(0x0)/Pci(0x1d,0x0)/Pci(0x0,0x0)/NVMe(0x1,AC-E4-2E-00-0A-25-B5-D3). ... 2.ЛН........ Boot0013 UEFI Diagnostics FvFile (f8397897-e203-4a62-b977-9e7e5d94d91b) Boot0014* Жесткий диск ATA: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f604) Boot0015 * Жесткий диск ATA: VenMsg (bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f605) Boot0016* ATAPI CD: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a354) Boot0017* USB HDD: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,33e821aaaf33bc4789bd419f88c50803) Boot0018* PCI LAN: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,78a84aaf2b2afc4ea79cf5cc8f3d3803) Boot0019* USB FDD: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,6ff015a28830b543a8b8641009461e49) Boot001A* USB CD: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,86701296aa5a7848b66cd49dd3ba6a55) [root@centos /]#
И содержимое моего файла /etc/default/grub
[root@centos /]# cat /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed's, выпуск .*$,g' /etc/system-release)" GRUB_DEFAULT=сохранено GRUB_DISABLE_SUBMENU=истина GRUB_TERMINAL_OUTPUT="консоль" GRUB_CMDLINE_LINUX="crashkernel=автоматическое возобновление=UUID=42640b78-ce32-403c-8705-8c12e2d02855 rhgb тихо" GRUB_DISABLE_RECOVERY="истина" GRUB_ENABLE_BLSCFG=истина [root@centos /]#
[root@centos /]# grep /efi /proc/mounts
efivarfs /sys/firmware/efi/efivars efivarfs rw,nosuid,nodev,noexec,relatime 0 0
/dev/nvme0n1p6 /boot/efi vfat rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=winnt,errors=remount-ro 0 0
[root@centos /]#
[root@centos /]# ссылка для чтения /etc/grub2-efi.