LiYi1987 发表于 2022-10-4 14:47:39

GRUB4DOS for UEFI 在真机上引导硬盘镜像失败的疑惑

本帖最后由 LiYi1987 于 2022-10-5 00:24 编辑

问题已解决:
G4D_UEFI配置没有问题,是硬件厂商OEM功能的问题。
原因是本人使用的Acer电脑,Acer的BIOS内置了一个Alt+F10启动OEM恢复系统的功能。其原理是拦截默认的EFI加载操作,全部重定向到/EFI/OEM/Boot/bootmgfw.efi文件,以巨硬BCD的方式引导厂商的备份恢复系统。
而本人用G4D_UEFI替换了上述的/EFI/OEM/Boot/bootmgfw.efi,试图DIY一下厂商的OEM功能去引导Ventoy,进而引导更多ISO。
问题就出在这里,本人推断,当使用G4D_UEFI去chainloader Ventoy的efi的时候,被BIOS拦截,重定向到/EFI/OEM/Boot/bootmgfw.efi,也就是引导了G4D_UEFI自身,这个解释与帖子中的图片显示的结果一致。
综上,理论上该问题无解。(如果大神有解的话,可以跟帖回复赐教,谢谢)
static/image/hrline/1.gif

版本:grub4dos-for_UEFI-2022-09-15
镜像:/ventoy.vhd(通过磁盘管理创建,固定64M大小的VHD虚拟磁盘,然后把Ventoy-1.0.80安装在上面,分区类型为GPT)static/image/hrline/1.gif


过程:
在虚拟机/真机中,先通过UEFI引导G4D_for_UEFI,然后通过命令行的方式,依次输入以下命令
find --set-root /ventoy.vhd
map --mem /ventoy.vhd (hd)
ls (hd-1,1)/ # 查看是否能正确读取
chainloader (hd-1)
boot
static/image/hrline/1.gif


结果:
(1)在VirtualBox(UEFI)中可以正常引导


(2)在真机中测试失败(运行到chainloader命令时)


static/image/hrline/1.gif


问题:
不知真机运行失败的原因是什么,如何去解决?
备注:
1. 真机上是固态硬盘,/ventoy.vhd镜像存放在硬盘最开头100M的FAT32分区中,并格式化该分区,重新复制文件进去,因此可排除大扇区和文件碎片问题。

2. 真机是11代CPU+NVMe

szwp 发表于 2022-10-4 15:14:00

图片是G4E不是G4D

LiYi1987 发表于 2022-10-4 15:16:21

szwp 发表于 2022-10-4 15:14
图片是G4E不是G4D

用的都是G4D_for_UEFI

2011yaya2007777 发表于 2022-10-4 15:19:16

1. 在菜单首行增加debug 3 ,然后执行,看看返回什么信息。       2.   最后一行修改为chainloader(hd-1,1)/efi/boot/bootx64.efi然后执行,看看。

LiYi1987 发表于 2022-10-4 16:02:26

2011yaya2007777 发表于 2022-10-4 15:19
1. 在菜单首行增加debug 3 ,然后执行,看看返回什么信息。       2.   最后一行修改为chainloader(h ...

http://bbs.wuyou.net/forum.php?mod=attachment&aid=NTA4NjA4fDE0Y2Y1OWUxfDE2NjQ4NzAzNzR8MzI3NDA3fDQzMjA2MA%3D%3D&noupdate=yes
debug 3 之后如图。似乎也没报错。
chainloader (hd-1,1)/EFI/Boot/BOOTX64.efi 和 chainloader (hd-1) 的结果是一样的。

ZMLoveLH 发表于 2022-10-4 18:43:44

我也想知道,看看牛人的回复啊

2011yaya2007777 发表于 2022-10-4 19:07:35

chainloader (hd-1,0)/EFI/Boot/BOOTX64.efi   试一试

LiYi1987 发表于 2022-10-4 19:22:54

2011yaya2007777 发表于 2022-10-4 19:07
chainloader (hd-1,0)/EFI/Boot/BOOTX64.efi   试一试

试过了,测试结果和上面的图片是一样的

9527sss 发表于 2022-10-4 20:37:58

多谢分享!

2010XwX 发表于 2022-10-4 21:41:30

本帖最后由 2010XwX 于 2022-10-4 21:57 编辑

我的测试是可以启动的。ventoy.vhd 放在任何可见分区的 PE 文件夹里。
启动 U盘是 无忧论坛 chiannet 的《 USBOS 计算机集成维护工具》 的三分区模式,本人在其基础上进行了修改融合处理。
图1:grub4dos-for_UEFI-2022-09-15 UEFI 启动界面
图2:选择菜单【04】启动 Ventoy_vhd 虚拟硬盘映像 /PE/,ventoy 1.0.80 启动界面。【05】可以直接启动标准 ventoy U盘。

2011whp 发表于 2022-10-5 09:39:01

vbox可以启动?

以前做的 vhd 大小,0x20001 ,楼主 0x20008


2011whp 发表于 2022-10-5 09:46:31

boot不成功 拦截住了?

boot不成功,显示 commandline 的信息

2011whp 发表于 2022-10-5 09:47:51

建议楼主   偿试固定vhd,mbr式安装ventoy

nowayer 发表于 2023-11-28 22:18:56

页: [1]
查看完整版本: GRUB4DOS for UEFI 在真机上引导硬盘镜像失败的疑惑