Closed DynamicLoader closed 7 months ago
G4E的菜单应当放在 /efi/grub/menu.lst
另外,我是使用“TinyPXEServer-win服务端”网起的。
感谢回复。这里还暴露出另外一个问题,就是这样网启似乎G4E不兼容,不仅内存大小获取不到,连本地硬盘都找不到,只有rd和pd。这是哪里出了问题呢?
BTW,使用“TinyPXEServer-win服务端”也不行,现象一致。
我只是在VM虚拟机测试过。 我这里可以获得内存尺寸,也可以探测到虚拟硬盘,而且可以启动上面的镜像。 要使用11.29版本。
11.29和10.16都测过,都一样捏。。
也许对ipxe支持不好,或许就不支持ipex。
试一试这个。 TinyPXEServer-win服务端.part1.rar.txt TinyPXEServer-win服务端.part2.rar.txt
还是一样。即便不通过iPXE加载,而是直接由固件的PXE启动,g4e也没法获取正确的磁盘和内存信息。这大概要开一个新的issue讨论了。我挺怀疑是不是VMware的EFI固件不太符合官方规定导致的。
附图是使用您提供的端和文件,采用我这里的虚拟机环境测试的结果。
搜了一圈,也没有找到任何代码会输出 "Couldn't get file size",包括g4e和ipxe,感觉就是固件内部的API没兼容。
VMware报告的版本如下:
不知道g4e要求的最低EFI版本是多少。
补充:使用ISO启动 G4E 可以正确获得内存信息,但是磁盘还是找不到,包括光盘。 如图:
注意到内存起始地址是0x1000。
这个警告"Couldn't get file size"是由G4E的PXE模块发出来的。使用uefi内部MFTPT协议获得文件尺寸返回的错误提示。 难道是你的VM虚拟机的uefi固件版本太低,不支持?我的版本是2.28。
2.40应该比2.28高呀。按说应该有向后兼容性的。请问一下,您使用的是哪个vm?什么版本?
我的VM是: 产品:VMware® Workstation 16 Pro 版本:16.2.5 build-20904516 内存:8096 MB 主机操作系统:Windows 10 Pro, 64-bit (Build 19045.3693) 10.0.19045
虚拟机内存:2Gb 网络适配器:NAT
更新了版本,仍然是不行。难道和物理环境有关系?不管了,就那样吧。
问题描述
如题。尝试使用 iPXE 引导 EFI 版本的 G4D, 在ipxe下正常获取网关IP并且拿到 BOOTX64.EFI 并启动。 但是,启动后没有进菜单,而是直接进了命令行,头一句提示还是
Couldn't get file size
且在命令执行的过程中频繁报这个错误,如下图所示:不仅不能正常拿到 Gateway,pxe设备也无法正常运行,如上图。
而使用非 EFI 版本的 G4D 就没有问题,如图:![屏幕截图 2023-12-03 112457](https://github.com/chenall/grub4dos/assets/53362310/f3917ffe-35cf-4798-9a42-103d4917af9a)
目录结构:
这里的 Z:\TFTP 是通过SMB挂载到Win下的目录,也是tftp服务器的根目录。
环境信息
主OS: Win11 22H2 虚拟机: VMware Pro 16.2.4 build-20089737 , 4C8G 测试虚机 TFTP服务:Openwrt下采用 dnsmasq 部署,附带 DHCP 服务 HTTP服务:不涉及 版本信息:
G4D
: 0.4.6a-2023-11-27,G4D EFI
: 2023-11-29,iPXE
:1.21.1+(g98dd)