[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