[devel] Fwd: Политика установки и обновления grub-efi

Leonid Krivoshein klark.devel на gmail.com
Вт Фев 20 02:58:14 MSK 2024


Для обсуждения. С небольшими добавками...

п.1 -- только intel.

п.6 -- при обновлении grub-efi NVRAM вообще не надо трогать, за 
исключением ситуации отсутсвия в ней записи $EFI_DISTRIBUTOR, если мы её 
создавали при установке. В этом случае её надо создать заново.


-------- Forwarded Message --------
Subject: 	[Bug 41959] grub-efi-autoupdate для removable
Date: 	Mon, 19 Feb 2024 22:56:54 +0000
From: 	Leonid Krivoshein (ALT Linux Bugzilla) <bugzilla-daemon на altlinux.ru>
To: 	klark на altlinux.org



https://bugzilla.altlinux.org/41959
Component: Sisyphus/grub-efi

--- #21 from Leonid Krivoshein <klark на altlinux.org> ---
grub-efi-autoupdate для removable -- лишь часть политики установки и 
обновления grub-efi, которую имеет смысл поменять накануне 11.0. Детали 
("зачем, почему?") можно обсудить в devel@, тут коротко предлагаю такой 
план:

1. На шагах разметки и установки загрузчика имеющийся ESP проверяется на 
предмет не только FAT, но и NTFS. Последнее нарушает стандарт и требует 
обязательного конвертирования в FAT.

2. Нужно проверять, есть ли раздел ESP. Если нет, только тогда его 
создаём. А если есть, я бы очищал его полностью. Но можно спросить 
пользователя, нужно ли его сохранить? По мне, так лучше его молча бэкапить.

3. Ориентироваться на EFI/<efi_distributor> по умолчанию не следует, 
если только пользователь об этом явно не попросит. Очень сильно этого 
могут захотеть лишь те, кто, во-первых, понимает, зачем им это надо, 
во-вторых, используют несколько ОС на машине, в-третьих, знает, что их 
UEFI Firmware очень хорошо справляется с задачей управляения записями 
NVRAM, включая вывод более удобных меню, нежели это делает grub-efi.

4. Исходя из вышесказанного, вариант установки grub-efi по умолчанию 
только в EFI/BOOT, т.е. как в сабже c --removable, как у всех 
Linux-дистрибутивов и главное, как у Windows. С полной перезаписью того, 
что там есть. Не важно, наше оно, чьё-то ещё или ядро EFI STUB, ставится 
с нуля или обновляется, grub-efi сам найдёт всё, что было на диске, и 
сделает своё меню, обычно более юзабельное, чем во встроенной firmware.

5. Значимые переменные конфигурации grub-efi хранятся в 
/etc/sysconfig/grub2 (grub-common), наши grub'овские скрипты патчены под 
него всё равно, так что не надо придумывать никаких контрольных сумм. 
Всё, что мы установили, с какими параметрами, сохраняется тут, и если 
включено автообновление (по умолчанию д.б. включено), то берётся снова 
отсюда. grub-efi не всегда реально удалить из-за цепочки зависимостей, 
так что любителям под себя перезаточить содержимое /EFI/BOOT -- велкам 
на ВиКи и руками лопатить данный конфиг.


-- 
WBR, Leonid Krivoshein.



Подробная информация о списке рассылки Devel