Моя документация для efibootmgr
показывает, что -p
предназначен для указания номера раздела, но в вашем вопросе похоже, что вы используете Y
для значения. Если это не опечатка, это может объяснить, почему в меню появляются странные символы и возникают проблемы с загрузкой.
Что касается передачи параметров, есть переключатель -@
который ускользнул от моего внимания первые пару раз, когда я читал документы. Если вы укажете имя файла, он будет читать строку параметров из этого файла.
Документы также говорят, что вы можете использовать -
как имя файла, но когда я попробовал это, я не смог заставить его продолжить после ввода текста; казалось, что нажатие клавиши enter
или ^D
дает никакого эффекта, в то время как ^C
завершает работу программы без внесения изменений.
Если вы хотите поэкспериментировать на виртуальной машине, прежде чем связываться с вашим оборудованием, может быть полезно следующее - хотя вам необходимо настроить пути OVMF для вашего дистрибутива:
- Установите qemu и пакет прошивки ovmf.
- Скопируйте
/usr/share/edk2-ovmf/OVMF_VARS.fd
в текущий каталог - qemu запишет изменения конфигурации EFI в этот файл.
- Создайте каталог для qemu для использования в качестве виртуального VFAT (
vvfat
). Я буду называть это как hda
с этого момента .
- Скопируйте ядро с заглушкой EFI в
hda
.
- Если в этом ядре нет встроенного initrd с оболочкой и
efibootmgr
, найдите или соберите initrd, который есть, и поместите его в hda
. (Общий initrd может работать, так как те, как правило, позволяют вам войти в аварийный режим, если они не могут найти корневой том.)
начать QEMU; Я использую следующую команду:
qemu-system-x86_64 -drive if=pflash,format=raw,unit=0,readonly=on,file=/usr/share/edk2-ovmf/OVMF_CODE.fd -drive if=pflash,format=raw,unit=1,readonly=off,file=OVMF_VARS.fd -enable-kvm -cpu host -m 1024 -usb -device usb-tablet -netdev user,id=mynet -device virtio-net-pci,netdev=mynet -hda fat:rw:hda -boot menu=on
- После загрузки не изменяйте
hda
извне ВМ - см. Предупреждение здесь .
- Обратите внимание на
-boot menu=on
части. При необходимости вы можете нажать ESC
во время загрузки, и вы попадете в конфигурацию uefi. Оттуда вы можете загружать определенные записи или создавать / удалять / редактировать.
Вы попадете в EFI Shell, если он не найдет файл для загрузки.