Как восстановить загрузку efi после замены материнской платы?

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
lone_wolf
Сообщения: 211

Как восстановить загрузку efi после замены материнской платы?

Сообщение lone_wolf »

Добрый день.
На днях предстоит замена материнки на сервере в дата центре. На сервере стоит Proxmox, на raid1 mdadm.
В связи с этим решил потренироваться на VirtualBox, создал VM с Debian 12, затем взял диск и перекинул на другую VM, разумеется у меня не загрузилось с ошибкой:
BdsDxe: failed to load Boot0001 “UEFI VBOX HARDDISK VBfcd59b25-2dfd79e1 ” from PciRoot (0x0) /Pci (0xD, 0x0) /Sata (0x0, 0xFFFF, 0x0) : Not Found
BdsDxe: No bootable option or device was found.
BdsDxe: Press any key to enter the Boot Manager Menu.
Ну грузимся с диска debian в режиме "Rescue Mode" монтирую этот диск + раздел efi.
Даю команду:

Код: Выделить всё

grub-install /dev/sda
Выполняется установка для платформы х86_64-efi
grub-install: предупреждение : EFI variables are not supported on this system..
Установка завершена. Ошибок нет.
update-grub
перезагружаюсь и вижу туже ошибку.
Подскажите пожалуйста кто знает в каком направлении смотреть еще?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21231
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как восстановить загрузку efi после замены материнской платы?

Сообщение Bizdelnick »

Нужно указать в настройках UEFI, с какого устройства грузиться. Не уверен, что в VBox это в принципе возможно.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
lone_wolf
Сообщения: 211

Re: Как восстановить загрузку efi после замены материнской платы?

Сообщение lone_wolf »

Эт да надо.
В общем если с диска Debian, в режиме восстановления запустить восстановление grub то всё становится отлично и запускается, а вот в ручную если писать команду установки grub то получаем то что описано в первом посте. Но теперь интересно что же такое делает установщик что оно чинится, в терминале не видно, просто говорится что типа установка grub успешна :cray:
Добавлено (22:36):
при исправлении через режим восстановления в логах вот так выглядят сообщения:
Изображение
Спасибо сказали:
Аватара пользователя
UnixNoob
Сообщения: 1479
ОС: Slackware

Re: Как восстановить загрузку efi после замены материнской платы?

Сообщение UnixNoob »

lone_wolf писал:
28.05.2025 21:55
в режиме восстановления запустить восстановление grub то всё становится отлично и запускается, а вот в ручную если писать команду установки grub то получаем то что описано в первом посте.
Зачем вам восстановление Grub? Если у вас загрузка выполняется по UUID дисков, то все что вам потребуется, это зайти в BIOS/UEFI и указать диск. Диски то вы не меняете.
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Спасибо сказали:
Aliech
Сообщения: 1121
Статус: дилетант широкого профиля
ОС: debian/openbsd

Re: Как восстановить загрузку efi после замены материнской платы?

Сообщение Aliech »

UnixNoob писал:
28.05.2025 23:23
Зачем вам восстановление Grub? Если у вас загрузка выполняется по UUID дисков, то все что вам потребуется, это зайти в BIOS/UEFI и указать диск. Диски то вы не меняете.
У него NVRAM пустой на матери будет. Надо будет загрузочную опцию либо через efibootmgr прописать, либо в setup прошивки (ежели умеет), либо попросить GRUB сделать это через переустановку.
С уважением,
Павел Алиев
Спасибо сказали:
Аватара пользователя
lone_wolf
Сообщения: 211

Re: Как восстановить загрузку efi после замены материнской платы?

Сообщение lone_wolf »

Aliech писал:
29.05.2025 01:31
либо попросить GRUB сделать это через переустановку
а случайно не подскажите как это сделать? ибо команда в ручную не срабатывает должным образом, предполагаю что какого то ключика не хватает
Спасибо сказали:
Aliech
Сообщения: 1121
Статус: дилетант широкого профиля
ОС: debian/openbsd

Re: Как восстановить загрузку efi после замены материнской платы?

Сообщение Aliech »

Так вы сделали всё верно, кроме того, что загрузили изначально live-cd в не UEFI режиме. Отчего у вас не смонтировались каталоги, специфичные для uefi, в /sys. Отчего и ругань.
lone_wolf писал:
28.05.2025 21:55
Но теперь интересно что же такое делает установщик что оно чинится, в терминале не видно, просто говорится что типа установка grub успешна


Ничего. Кроме того, что сам образ установочный, судя по всему, слеплен так, что программа инициализации ВМ изначально грузит его в EFI режиме. Просто проконтролируйте этот аспект руками, ну и будет вам счастье!


Так. Вот вы с Rescue CD загрузились. И возможно даже в UEFI режиме. А вы просто выполнили потом grub-install? Или таки в чруте? А ежели в чруте, то вы каталоги не забыли забнидить в /sys те, которые связаны в EFI?

И да, никто не мешает загрузить установщик Debian и нажать ctrl-alt-номер_tty, получив консоль, ну и порезвится уже там для тренировки, заодно посмотреть на то, что там происходит с этими командами. Вам, для переустановки, надо то:
1. хоть какое-то загруженное ядро и консоль (установочного диска за глаза для этого);
2. собрать тома mdadm (если не подцепятся сами);
3. смонтрировать их в правильной иерархии;
4. забиндить туда /dev и /sys со всеми дочерними точками монтирования, замонтировать /proc;
5. чрутнутся и сделать grub-install, можно ещё update-grub.

Потом выйти из чрута и размонтироваться. И всё! Посмотрите, как гентушники это делают, например:
https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Base (" Mounting the necessary filesystems "и "Entering the new environment").
С уважением,
Павел Алиев
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1146
Статус: Slacker!
ОС: Slackware64-current

Re: Как восстановить загрузку efi после замены материнской платы?

Сообщение yars »

Aliech писал:
29.05.2025 18:41
И всё!
Скорее всего, это не совсем так. Я Debian не знаю, но знаю, что для того, чтобы grub-efi работал, нужно соблюсти следующие условия:
1) Система должна быть загружена в EFI-режиме;
2) /sys/firmware/efi должен быть доступен, должны быть доступны /dev и /proc;
3) /boot/EFI должен существовать и быть доступным для записи.
4) После установки Grub должен выполниться послеустановочный сценарий, который как раз и вызывает efibootmgr.
Если efibootmgr не вызывается, можно попробовать вызвать его вручную:

Код: Выделить всё

# efibootmgr -c -L 'Debian' -l \EFI\debian\grubx64.efi
# efibootmgr -a -b НОМЕР
Первая команда создаёт запись в NVRAM, вторая делает эту запись активной. Проверить результат можно, выполнив efibootmgr без аргументов и сверив пути к файлам.
Про ESP рассказывать не буду, вроде бы все и так про него знают, что должен быть отформатирован в FAT32 и смонтирован в /boot/EFI.
Установка grub-efi выполняется следующим образом:

Код: Выделить всё

# grub-install --target=x86_64-efi --efi-directory=/boot
Slackware64-current/Xfce/Xiaomi Mi Notebook Pro 15.6 | Arch Linux/Xfce/Lenovo G580
-------------
Registered Linux User #557010
Спасибо сказали:
Aliech
Сообщения: 1121
Статус: дилетант широкого профиля
ОС: debian/openbsd

Re: Как восстановить загрузку efi после замены материнской платы?

Сообщение Aliech »

yars, дорогой товарищ, а как вы меня читали?)
Aliech писал:
29.05.2025 18:41
4. забиндить туда /dev и /sys со всеми дочерними точками монтирования, замонтировать /proc;
Не находите ли вы, уважаемый yars, что необходимый для корректной работы grub-install каталог /sys/firmware/efi таки является дочерним к /sys? А '--make-rslave' как бы его подцепит неотвратимо, если он был смонтирован в загруженной системе?

Не находите ли вы, что /boot/efi тоже том, и подпадает под совет
Aliech писал:
29.05.2025 18:41
3. смонтрировать их в правильной иерархии;
Нет?

Так что там мой совет не содержит такого, что требуется для установки grub'а и его записи в NVRAM?
С уважением,
Павел Алиев
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1146
Статус: Slacker!
ОС: Slackware64-current

Re: Как восстановить загрузку efi после замены материнской платы?

Сообщение yars »

Ну, я дополнил про efibootmgr, а так да, сказал то же самое, но немного по-другому. :)
Slackware64-current/Xfce/Xiaomi Mi Notebook Pro 15.6 | Arch Linux/Xfce/Lenovo G580
-------------
Registered Linux User #557010
Спасибо сказали: