GRUB2 Chainload
Я хочу добавить в GRUB
пункты меню файла конфигурации (.cfg) для MokManager
и различные обычай GRUB
генерируется с grub-mkstandalone
,
Я пробовал процесс цепной загрузки перед редактированием файла, но мне это не удалось.
Secure Boot
включен.
Код:
insmod chain
chainloader ([EFI PARTITION])/EFI/ubuntu/MokManager.efi
boot
Выход:
/EndEntire
file path: /ACPI(*)/PCI(*)/Sata(*)/HD(*)/
File(\EFI\ubuntu)/File(MokManager.efi)/EndEntire
error: Cannot load image
То же самое происходит для любых других загрузчиков.
ОБНОВИТЬ:
Я читал, что это поведение вызвано GRUB2
ошибка, которая не может запустить другие загрузчики, когда Secure Boot
включен, потому что GRUB
на самом деле не имеет крипто, чтобы проверить признаки в отличие shim
,
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1091464
Для OpenSUSE GRUB
Майкл Чанг выпустил патч на 2012, который делает GRUB
положитесь на проверку подкладки, чтобы загрузить другие двоичные файлы:
https://build.opensuse.org/package/view_file/openSUSE:Factory/grub2/grub2-secureboot-chainloader.patch
1 ответ
Метод 40_custom
Некоторые pendrive загружаются из grub, даже если они не загружаются из собственного меню загрузки USB BIOS компьютера. Смотрите следующую ссылку для фона о Grub
Редактировать файл
sudo nano /etc/grub.d/40_custom
Добавьте следующий текст в файл 40_custom (обратите внимание, что важно сохранить первые строки, поставляемые с файлом)
menuentry "External drive (on hd1) if no eSATA drive connected. edit if necessary" {
insmod part_msdos
insmod part_gpt
insmod fat
set root='(hd1)'
drivemap -s (hd0) ${root}
chainloader +1
}
и запустить команду
sudo update-grub
Затем вы получите опцию меню grub для загрузки со второго диска (hd1), который может быть USB-портом. Если другой диск - hd1, вы можете отредактировать строку в (hd2) и т. Д.
Если меню grub нет, нажмите левую клавишу Shift во время загрузки, и оно должно появиться.
Я использую этот метод цепной загрузки в режиме BIOS. Я не проверял это в режиме UEFI.