|
本帖最后由 blank007 于 2021-9-17 13:41 编辑
经过多次测试,发现用 mkimage 嵌入菜单时,出现问题的原因不是 %@uefi% 大小写、内置菜单字数不够或不规范等的问题,而是 mkimage 对 kernel.img 文件操作时的问题,或者是 kernel.img 文件本身的问题。
如果内置菜单的内容为:
clear
root ()
clear
if %@uefi%==64 configfile /efi/grub/uefi/menux64.txt
if %@uefi%==32 configfile /efi/grub/uefi/menux86.txt
则菜单嵌入后,bootx64 工作正常,bootia32 直接进入命令行。但手动输入 configfile /efi/grub/uefi/menux86.txt 后,可以进入菜单,工作正常了。
当内置菜单的内容仅为:configfile /efi/grub/uefi/menux64.txt 或者 configfile /efi/grub/uefi/menux86.txt 时,两者均直接进入命令行。
同时发现一个问题:
我明明是通过优盘启动的(使用嵌入内置菜单的 .efi),但执行 root 命令,显示当前 root 是 hd(1,0) ,即本地硬盘分区。
当使用发行包中的原始 .efi 文件时,root 是 (hd0,3) ,即优盘的分区。工作都正常。 |
|