Время от времени после того, как я обновляю свою систему, efi порядок загрузки изменяется, и система не загрузится. Я должен перейти к BIOS и повторному выбору человечность efi запись. Я предполагаю, что это - один из тех пакетов (по крайней мере, это всегда происходит, когда я вижу одного из тех, которые обновляют):
grub-common grub-efi grub-efi-amd64 grub-efi-amd64-bin grub-efi-amd64-
signed grub2-common shim shim-signed
Когда я выполняю efibootmgr, я получаю это:
efibootmgr
No BootOrder is set; firmware will attempt recovery
Я работал:
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
UEFI
Я не могу найти любые ответы на efibootgmr, не работающий. Помогите.Спасибо!
Обновление:
Я пытался добавить, что EFI загружает переменную с:
efibootmgr --create --disk /dev/sda --part 1 --label "Ubuntu" --loader
\\EFI\\ubuntu\\grubx64.efi
Который возвращается:
BootOrder: 0000
Boot0000* Ubuntu
На перезапуске не загрузится система.
Теперь рабочая запись маркирована Ubuntu. Когда я выбираю его начальные загрузки Ubuntu. После выполнения efibootmgr снова я получаю тот же результат как прежде:
efibootmgr
No BootOrder is set; firmware will attempt recover
В случае, если это - соответствующий контейнер, и подписанный контейнером были также обновлены, когда порядок загрузки был изменен обновлением.
Обновление:
Компьютер является Гигабайтом Brix GB-BXBT-1900 с новейшим пересмотром BIOS.
Я думаю, что мой начальный вопрос состоял в том, почему efigootmgr не работает, и этому ответили. Спасибо за Ваш вход.
Вы сталкиваетесь с тем, что я называю "переворотом начальной загрузки". Я записал страницу на этом предмете; посмотрите здесь для деталей. Тем не менее Ваша проблема звучит немного необычной, но она, вероятно, связана с этим:
efibootmgr
No BootOrder is set; firmware will attempt recovery
Обычно, основанный на EFI компьютер действительно имеет a BootOrder
переменный набор. Случаи, которые я лично видел, где это не установлено, были из-за дефектного встроенного микропрограммного обеспечения, которое просто отказывается принимать эту переменную. На таких компьютерах единственный шанс начальной загрузки через имя файла нейтрализации (обычно EFI/BOOT/bootx64.efi
на ESP, хотя EFI/Microsoft/Boot/bootmgfw.efi
будет иногда работать, также). Тем не менее я услышал о случаях где BootOrder
переменная пуста, но может быть установлена. В этом случае добавление переменной начальной загрузки EFI, как описано здесь, может решить проблему.
Если Ваш компьютер является просто плохо дефектным и должен загрузиться через имя файла нейтрализации, необходимо скопировать или переместиться/переименовать загрузчик в соответствующее имя и возможно файлы поддержки как конфигурационные файлы.
Учитывая, что Вы упомянули "человечность efi, запись" заставляет меня думать, что у Вас есть переменные начальной загрузки, но BootOrder
переменная теряется. Это - вероятно, микропрограммная ошибка, хотя она могла указать на дефектные аппаратные средства NVRAM. Обновление встроенного микропрограммного обеспечения могло бы решить проблему, если это - ошибка. Согласуйте с производителем, чтобы видеть, существует ли такое обновление. Если это не помогает, Вы могли бы скопировать GRUB в имя файла нейтрализации, где это нужно назвать если/когда BootOrder
переменная потеряна снова. ESP обычно монтируется в /boot/efi
, и нормальная файловая система Linux управляет работой над ним, таким образом, можно сделать это:
sudo cp -r /boot/efi/EFI/ubuntu /boot/efi/EFI/BOOT
sudo mv /boot/efi/EFI/BOOT/shimx64.efi /boot/efi/EFI/BOOT/bootx64.efi
Это копирует Контейнер в имя файла нейтрализации. Если Вы уверены, что Ваш компьютер не использует Защищенную загрузку, Вы могли переименовать grubx64.efi
, вместо shimx64.efi
, к bootx64.efi
.