找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: 2011yaya2007777

[原创] GRUB4DOS for UEFI

   火... [复制链接]
发表于 2025-3-2 08:17:43 | 显示全部楼层
本帖最后由 mygamexxx 于 2025-3-2 09:51 编辑
2011yaya2007777 发表于 2025-2-28 19:12
最近反复测试,视乎没有问题。不知在其他机器上如何。
请您测试一下。

新的测试版出现问题:
iftitle [if "%@boot%"=="(pd)"] 从PXE服务器端启动10pe(boot.wim)
这句失去作用,这条菜单不显示。改为title 从PXE服务器端启动10pe(boot.wim) ,正常显示菜单。
if %@uefi%==64 && set gbk2uni=/efi/ext/gbk2uni && /efi/ext/ntboot (http)/boot/boot.wim,启动成功。

if %@uefi%==64 && set gbk2uni=/efi/ext/gbk2uni && /efi/ext/ntboot /boot/boot.wim,启动不成功,蓝屏(排除了TinyPXE汉化可能的原因,使用英文原版TinyPXE也是蓝屏)。日志如下:
9:12:34 HTTPd:客户端: 192.168.117.2 [GET] /efi/ext/ntboot
9:12:34 HTTPd:服务器:返回 /efi/ext/ntboot
9:12:34 HTTPd:断开连接 TID=3708
9:12:34 TFTPd:读取文件:/boot/boot.wim B:0 T:314890969
9:12:34 TFTPd:执行 TFTP_错误 (接收)


使用if %@uefi%==64 && set gbk2uni=/efi/ext/gbk2uni && /efi/ext/ntboot (http)/boot/boot.wim,启动成功。日志如下:
9:24:46 HTTPd:Client: 192.168.117.2 [GET] /efi/ext/ntboot
9:24:46 HTTPd:Server : Returning /efi/ext/ntboot
9:24:46 HTTPd:DisConnect: TID=14016
9:24:46 TFTPd:DoReadFile:/boot/boot.wim B:0 T:314890969
9:24:49 HTTPd:Connect: 192.168.117.2, TID=2856

9:24:49 HTTPd:Client: 192.168.117.2 [GET] /boot/boot.wim
9:24:49 HTTPd:Server : Returning /boot/boot.wim

9:25:10 HTTPd:DisConnect: TID=2856

微信截图_20250302080704.png
微信截图_20250302082018.png
PixPin_2025-03-02_09-15-27.jpg

点评

title WEPE64.WIM set gbk2uni=/efi/grub/ext/gbk2uni /efi/grub/ext/ntboot (http)/imgs/WePE64_V2.2/WEPE/WEPE64.WIM boot 用这样子的菜单,启动也蓝屏了。感觉还是哪里有问题。  详情 回复 发表于 2025-3-2 13:42
回复

使用道具 举报

发表于 2025-3-2 09:08:43 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2025-3-2 11:01 编辑
2011yaya2007777 发表于 2025-2-28 19:12
最近反复测试,视乎没有问题。不知在其他机器上如何。
请您测试一下。

这个版本还是有问题,似乎不能完全ls列出(pd)下面的目录。
昨天我用这个版本的g4e启动PE.ISO还可以,今天就不行了。实在奇怪。出错提示截图:
pxe17-2025-03-02-08-55-40.png
然后我在菜单按c键进入命令行,ls了下,(pd)目录枚举不全啊,/g4e,/pxe,/imgs目录,还有些文件就没有被枚举出来,启动的时候也找不到/imgs/WePE64_V2.2.iso这个目录下的文件,奇怪得很。
pxe17-2025-03-02-08-57-02.png

好像ls枚举出来的文件和目录是dir.txt中的内容?
EFI
WIMS
bcd
bootmgfw.efi
g4e.efi
ipxe.pxe
menu.txt
undionly.kpxe
我把dir.txt删除后,ls就不能枚举文件和目录,不应该这样子啊:
pxe17-2025-03-02-09-28-11.png
哦,我又试了g4d,bios下面的,pxe启动的时候,ls (pd)/也是不能列出pd下面的文件,但是不影响启动。

实际目录有这么多:
QQ20250302-090516.png

回复

使用道具 举报

 楼主| 发表于 2025-3-2 12:49:37 来自手机 | 显示全部楼层
网起,根目录及其子目录没有dir.txt,无论g4d/g4e,执行find/ls等等查询行为都是无效的。

点评

我换了几个PE.ISO测试,目前就发现wepe无法启动。感觉跟pe中boot.wim命名有关,如果是boot.wim好像就可以启动。1.SXWIN10PEX64_17763_NET20201109.iso√ title 启动客户端SXWIN10PEX64_17763_NET20201109.iso map  详情 回复 发表于 2025-3-2 15:51
感觉问题很奇怪,为啥昨天我成功了,今天测试了N次都不能启动pe.iso。出错截图:  详情 回复 发表于 2025-3-2 13:44
回复

使用道具 举报

发表于 2025-3-2 13:42:40 | 显示全部楼层
mygamexxx 发表于 2025-3-2 08:17
新的测试版出现问题:
iftitle  从PXE服务器端启动10pe(boot.wim)
这句失去作用,这条菜单不显示。改 ...

title WEPE64.WIM
set gbk2uni=/efi/grub/ext/gbk2uni
/efi/grub/ext/ntboot (http)/imgs/WePE64_V2.2/WEPE/WEPE64.WIM
boot

用这样子的菜单,启动也蓝屏了。感觉还是哪里有问题。
回复

使用道具 举报

发表于 2025-3-2 13:44:45 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2025-3-2 15:08 编辑
2011yaya2007777 发表于 2025-3-2 12:49
网起,根目录及其子目录没有dir.txt,无论g4d/g4e,执行find/ls等等查询行为都是无效的。

感觉问题很奇怪,为啥昨天我成功了,今天测试了N次都不能启动pe.iso。出错截图: QQ20250302-134328.png

g4d pxe启动pe.iso,不需要dir.txt的辅助就可以启动。find命令为的是可以在pxe和本地启动菜单都适配。
title WINPE (WePE64_V2.2.iso)
find --ignore-floppies --ignore-cd --set-root /boot/imgs/WePE64_V2.2.iso
map --mem --top /boot/imgs/WePE64_V2.2.iso (0xff)
map --e820cycles=-1
map --hook
chainloader (0xff)
比如上面的菜单,pxe启动和本地硬盘启动都可以,find命令不会出错,find命令用于pxe启动的时候结果是(pd).





点评

我这边测试: title 从PXE服务器端启动8pe(Win8PE64.iso) if %@uefi%==64 && map --mem /iso/Win8PE64.iso && chinloader (cd-1) && boot 或 if %@uefi%==64 && map --mem (http)/iso/Win8PE64.iso && chinloade  详情 回复 发表于 2025-3-2 15:21
回复

使用道具 举报

发表于 2025-3-2 15:21:08 | 显示全部楼层
本帖最后由 mygamexxx 于 2025-3-2 15:54 编辑
liuzhaoyzz 发表于 2025-3-2 13:44
感觉问题很奇怪,为啥昨天我成功了,今天测试了N次都不能启动pe.iso。出错截图:

g4d pxe启动pe.iso, ...

我这边测试:
title 从PXE服务器端启动8pe(Win8PE64.iso)
if %@uefi%==64 && map --mem /iso/Win8PE64.iso (0xff) && chainloader (0xff) && boot

if %@uefi%==64 && map --mem (http)/iso/Win8PE64.iso  (0xff) && chainloader  (0xff) && boot

2-15版与2-25版重新测试,均返回到菜单。
提示一下,g4e map后不需要map --hook.  --top参数在我的机器上会出错。


再次测试,2-25版成功启动。第3次、第4次测试又返回到菜单。
微信截图_20250302154530.png
微信截图_20250302154643.png

点评

我上面的菜单,说的是BIOS下面的g4d,当然需要map --hook。并非g4e。  详情 回复 发表于 2025-3-2 15:46
回复

使用道具 举报

发表于 2025-3-2 15:46:45 | 显示全部楼层
mygamexxx 发表于 2025-3-2 15:21
我这边测试:
title 从PXE服务器端启动8pe(Win8PE64.iso)
if %@uefi%==64 && map --mem /iso/Win8PE64. ...

我上面的菜单,说的是BIOS下面的g4d,当然需要map --hook。并非g4e。
回复

使用道具 举报

发表于 2025-3-2 15:51:56 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2025-3-2 17:15 编辑
2011yaya2007777 发表于 2025-3-2 12:49
网起,根目录及其子目录没有dir.txt,无论g4d/g4e,执行find/ls等等查询行为都是无效的。

我换了几个PE.ISO测试,目前就发现wepe无法启动。感觉跟pe中boot.wim命名有关,如果是boot.wim好像就可以启动。
另外感觉启动时不时会失败,感觉很随机。

1.SXWIN10PEX64_17763_NET20201109.iso√
title 启动客户端SXWIN10PEX64_17763_NET20201109.iso
map /imgs/SXWIN10PEX64_17763_NET20201109.iso (cd)
chainloader (cd-1)

2.Win11PE64_22000.917JXB.iso√
title 启动客户端Win11PE64_22000.917JXB.iso
map /imgs/Win11PE64_22000.917JXB.iso (cd)
chainloader (cd-1)

3.boot.wim√
title boot.wim
set gbk2uni=/efi/grub/ext/gbk2uni
/efi/grub/ext/ntboot (http)/imgs/boot.wim

4.我发个WePE64_V2.2.iso,yaya有空的时候可能测试下?他不能启动×,里面的wim名字是WEPE.WIM,我翻了你发的几个帖子,好像必须强制boot.wim的名字才可以patch bcd是吧?可能改进?
https://www.123865.com/s/lE5A-nb1yv


回复

使用道具 举报

发表于 2025-3-2 16:07:46 | 显示全部楼层
G4E  PXE使用map启动ISO就一次成功,其他都失败,返回到菜单。

另外,TinyPXE每次重新测试总要去删除虚拟机目录下多余的文件,有点烦人啊。

点评

G4E PXE启动: echo %@boot% pause 0215版显示(pd),0225版显示(0xffffffff)  详情 回复 发表于 2025-3-2 16:26
回复

使用道具 举报

发表于 2025-3-2 16:26:59 | 显示全部楼层
mygamexxx 发表于 2025-3-2 16:07
G4E  PXE使用map启动ISO就一次成功,其他都失败,返回到菜单。

另外,TinyPXE每次重新测试总要去删除虚 ...

G4E PXE启动:
echo %@boot%
pause

0215版显示(pd),0225版显示(0xffffffff)

0225版.png
0215版.png
回复

使用道具 举报

 楼主| 发表于 2025-3-2 18:24:27 | 显示全部楼层
4.我发个WePE64_V2.2.iso

我这里测试,网起成功。
启动iso镜象,不需要关心里面wim的文件名。他自己的启动代码会适应的。

看来http网起出错很随机。通过抓包看出,是TCP传输时服务器发出 “[PSH, ACK] ... [TCP PDU reassembled in 610]"信息,而客户端没有相应跟进,从而失败。

点评

title /imgs/210219WinPE19043.844boot.wim set gbk2uni=/efi/grub/ext/gbk2uni /efi/grub/ext/ntboot (http)/imgs/210219WinPE19043.844boot.wim boot 09:50:46 ROOT=F:\boot\ 09:50:46 DHCPd 192.168.1.15:  详情 回复 发表于 2025-3-3 09:57
回复

使用道具 举报

 楼主| 发表于 2025-3-2 18:32:06 | 显示全部楼层
0215版显示(pd),0225版显示(0xffffffff)

谢谢反馈,我排查一下。
回复

使用道具 举报

发表于 2025-3-2 20:25:04 | 显示全部楼层
不错呢,看看没影试一下
回复

使用道具 举报

发表于 2025-3-3 09:57:08 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2025-3-3 10:00 编辑
2011yaya2007777 发表于 2025-3-2 18:24
我这里测试,网起成功。
启动iso镜象,不需要关心里面wim的文件名。他自己的启动代码会适应的。

title /imgs/210219WinPE19043.844boot.wim
set gbk2uni=/efi/grub/ext/gbk2uni
/efi/grub/ext/ntboot (http)/imgs/210219WinPE19043.844boot.wim
boot

09:50:46 ROOT=F:\boot\
09:50:46 DHCPd 192.168.1.15:67 started...
09:50:46 TFPTd 192.168.1.15:69 started...
09:50:46 HTTPd:80 started...
09:50:57 DHCPd:DISCOVER received, MAC:00-0C-29-51-49-FA, XID:C51064B2
09:50:58 DHCPd:OFFER sent, IP:192.168.1.18, XID:C51064B2
09:51:01 DHCPd:REQUEST received, MAC:00-0C-29-51-49-FA, XID:C51064B2
09:51:01 DHCPd:ACK sent, IP:192.168.1.18, XID:C51064B2
09:51:01 TFTPd:DoReadFile:g4eBOOTX64.EFI B:1468 T:417792
09:51:01 TFTPd:DoReadFile:g4eBOOTX64.EFI B:1468 T:0
09:51:02 HTTPd:Connect: 192.168.1.18, TID=9084
09:51:02 HTTPd:Client: 192.168.1.18 [GET] /efi/grub/menu.lst
09:51:02 HTTPd:Server : Returning /efi/grub/menu.lst
09:51:02 HTTPd:DisConnect: TID=9084
09:51:02 HTTPd:Connect: 192.168.1.18, TID=7504
09:51:02 HTTPd:Client: 192.168.1.18 [GET] /efi/grub/unifont.hex.gz
09:51:02 HTTPd:Server : Returning /efi/grub/unifont.hex.gz
09:51:02 HTTPd:DisConnect: TID=7504
09:51:03 HTTPd:Connect: 192.168.1.18, TID=5856
09:51:03 HTTPd:Client: 192.168.1.18 [GET] /efi/grub/ext/gbk2uni
09:51:03 HTTPd:Server : Returning /efi/grub/ext/gbk2uni
09:51:03 HTTPd:DisConnect: TID=5856
09:51:03 HTTPd:Connect: 192.168.1.18, TID=7036
09:51:03 HTTPd:Client: 192.168.1.18 [GET] /efi/grub/ext/ntboot
09:51:03 HTTPd:Server : Returning /efi/grub/ext/ntboot
09:51:03 HTTPd:DisConnect: TID=7036
09:51:03 TFTPd:DoReadFile:/imgs/210219WinPE19043.844boot.wim B:0 T:300745756
09:51:05 HTTPd:Connect: 192.168.1.18, TID=4544
09:51:05 HTTPd:Client: 192.168.1.18 [GET] /imgs/210219WinPE19043.844boot.wim
09:51:05 HTTPd:Server : Returning /imgs/210219WinPE19043.844boot.wim
09:51:12 HTTPd:Exception: , Connection Closed Gracefully.
09:51:12 HTTPd:DisConnect: TID=4544
09:51:12 HTTPd:Connect: 192.168.1.18, TID=9844
09:51:12 HTTPd:Client: 192.168.1.18 [GET] /imgs/210219WinPE19043.844boot.wim
09:51:12 HTTPd:Server : Returning /imgs/210219WinPE19043.844boot.wim
09:53:27 HTTPd:Exception: , Connection Closed Gracefully.
09:53:27 HTTPd:DisConnect: TID=9844

从上面的日志来看,启动pe.wim,先用的tftp协议读取,然后再用http协议读取,为什么不能直接用http协议读取?我的菜单上面已经是(http)协议了呀?
/efi/grub/ext/ntboot (http)/imgs/210219WinPE19043.844boot.wim

前面的09:51:03 HTTPd:Client: 192.168.1.18 [GET] /efi/grub/ext/gbk2uni,走的是http协议。
09:51:03 HTTPd:Client: 192.168.1.18 [GET] /efi/grub/ext/ntboot,走的也是http协议。
pe.wim应该也可以直接走http协议吧,不需要tftp中转一次了吧。

最后启动的结果是蓝屏BSOD。



pxe17-2025-03-03-09-56-47.png
回复

使用道具 举报

 楼主| 发表于 2025-3-3 11:05:57 来自手机 | 显示全部楼层
一开始服务器使用tftp读bootx64.efi,之后由g4e使用http。怎么让服务器一开始就使用http,这个我不清楚。

点评

3423楼,tinypxeserver+ipxe,刚开始读引导文件ipxe.efi,走的也是tftp协议,后续的才是http协议。 http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=422652&pid=5601714&fromuid=298214 首个文  详情 回复 发表于 2025-3-3 15:29
回复

使用道具 举报

发表于 2025-3-3 11:08:27 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2025-3-3 11:09:06 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2025-3-3 15:29:07 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2025-3-4 08:52 编辑
2011yaya2007777 发表于 2025-3-3 11:05
一开始服务器使用tftp读bootx64.efi,之后由g4e使用http。怎么让服务器一开始就使用http,这个我不清楚。

3423楼,tinypxeserver+ipxe,刚开始读引导文件ipxe.efi,走的也是tftp协议,后续的才是http协议。
http://bbs.wuyou.net/forum.php?m ... 1714&fromuid=298214

1、首个NBP引导文件g4eBOOTX64.EFI读取用tftp协议,没有什么问题。09:51:01 TFTPd:DoReadFile:g4eBOOTX64.EFI B:1468 T:417792
现在后续的wim为啥还要再走一遍tftp协议?09:51:03 TFTPd:DoReadFile:/imgs/210219WinPE19043.844boot.wim B:0 T:300745756

2、现在的主要问题是,g4e pxe启动很不稳定,一会可以,一会又不行,完全看运气。
启动失败:
15:19:22 ROOT=F:\boot\
15:19:22 DHCPd 192.168.1.15:67 started...
15:19:22 TFPTd 192.168.1.15:69 started...
15:19:22 HTTPd:80 started...
15:22:31 DHCPd:DISCOVER received, MAC:00-0C-29-51-49-FA, XID:558059A0
15:22:31 DHCPd:OFFER sent, IP:192.168.1.19, XID:558059A0
15:22:35 DHCPd:REQUEST received, MAC:00-0C-29-51-49-FA, XID:558059A0
15:22:35 DHCPd:ACK sent, IP:192.168.1.19, XID:558059A0
15:22:35 TFTPd:DoReadFile:g4eBOOTX64.EFI B:1468 T:417792
15:22:35 TFTPd:DoReadFile:g4eBOOTX64.EFI B:1468 T:0
15:22:35 HTTPd:Connect: 192.168.1.19, TID=3864
15:22:35 HTTPd:Client: 192.168.1.19 [GET] /efi/grub/menu.lst
15:22:35 HTTPd:Server : Returning /efi/grub/menu.lst
15:22:35 HTTPd:DisConnect: TID=3864
15:22:35 HTTPd:Connect: 192.168.1.19, TID=2776
15:22:35 HTTPd:Client: 192.168.1.19 [GET] /efi/grub/unifont.hex.gz
15:22:35 HTTPd:Server : Returning /efi/grub/unifont.hex.gz
15:22:35 HTTPd:DisConnect: TID=2776
15:22:39 HTTPd:Connect: 192.168.1.19, TID=1144
15:22:39 HTTPd:Client: 192.168.1.19 [GET] /imgs/Win11PE64_22000.917JXB.iso
15:22:39 HTTPd:Server : Returning /imgs/Win11PE64_22000.917JXB.iso
15:22:41 HTTPd:Exception: , Connection Closed Gracefully.
15:22:41 HTTPd:DisConnect: TID=1144
15:22:41 HTTPd:Connect: 192.168.1.19, TID=9196
15:22:41 HTTPd:Client: 192.168.1.19 [GET] /imgs/Win11PE64_22000.917JXB.iso
15:22:41 HTTPd:Server : Returning /imgs/Win11PE64_22000.917JXB.iso
15:23:04 HTTPd:Exception: , Connection Closed Gracefully.
15:23:04 HTTPd:DisConnect: TID=9196

菜单:
title Win11PE64_22000.917JXB.iso
map --mem --top /imgs/Win11PE64_22000.917JXB.iso (cd)
chainloader (cd-1)


g4e抛出这个提示,看下是什么原因:
pxe17-2025-03-03-15-29-35.png

3、有个pe.iso有7个碎片,我整理了下碎片,可以启动了。有个pe.iso没有碎片,有时可以启动,有时又不能启动。
看起来又不像是文件碎片的问题,感觉比较奇怪,不知道g4e map读取pd上面的文件,对于文件碎片可有影响呢?会不会是map读取pd上面的文件碎片解析,有什么bug?
你在3383楼所说的碎片解析问题,可有合并到g4e中去?
http://bbs.wuyou.net/forum.php?m ... 0303&fromuid=298214
之前是这样,后来修改为最大碎片126个,我觉得够用了。
可是分配内存时尺寸忘了乘以8,乌龙了啊。现在实际上是15个。
已经修正,希望验证一下。
软盘格式的 img 仿真为硬盘格式时,只支持 FAT12,FAT16,FAT32。

回复

使用道具 举报

发表于 2025-3-4 10:29:38 | 显示全部楼层
与时俱进的,天天向上啊!
回复

使用道具 举报

 楼主| 发表于 2025-3-4 16:11:02 | 显示全部楼层
2、现在的主要问题是,g4e pxe启动很不稳定,一会可以,一会又不行,完全看运气。

很头痛!固件通讯异常,一下还不知道如何解决。
视乎与碎片无关。

点评

能不能也解决一下走TFTP模式蓝屏的问题?  详情 回复 发表于 2025-3-5 09:57
如果问题不好定性,那就暂时放放吧。以后有时间慢慢研究。  详情 回复 发表于 2025-3-4 19:38
回复

使用道具 举报

发表于 2025-3-4 19:38:44 来自手机 | 显示全部楼层
2011yaya2007777 发表于 2025-3-4 16:11
很头痛!固件通讯异常,一下还不知道如何解决。
视乎与碎片无关。

如果问题不好定性,那就暂时放放吧。以后有时间慢慢研究。
回复

使用道具 举报

发表于 2025-3-5 09:57:42 | 显示全部楼层
2011yaya2007777 发表于 2025-3-4 16:11
很头痛!固件通讯异常,一下还不知道如何解决。
视乎与碎片无关。

能不能也解决一下走TFTP模式蓝屏的问题?有点吹毛求疵了!
回复

使用道具 举报

发表于 2025-3-6 11:27:02 | 显示全部楼层
为什么发表时间是2020年,上传的版本已经是2024年的
回复

使用道具 举报

发表于 2025-3-6 18:55:54 | 显示全部楼层
g4e 的网启  
      默认tftp,  能通过命令 切换 http
     ipxe 也不能保证 所有的 网卡 都能 初始化 http成功
    所以:   if    exist http
                 {
                }
                 else
                  {
                 }

先让 tftp能用着: 主要启pe,   
          500MB的pe  , 传1GB数据,  可以接收 (千兆网 10秒)
回复

使用道具 举报

发表于 2025-3-10 00:28:49 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2025-3-10 11:16:52 | 显示全部楼层
如果问题不好定性,那就暂时放放吧。以后有时间慢慢研究。

找到的根源了,是堆与栈的问题。
请再试一试,谢谢!

BOOTX64.rar

147.13 KB, 下载次数: 20, 下载积分: 无忧币 -2

点评

同样的环境测试,1216版能出现菜单,但第一项启动蓝屏,用第四项不能改名的boot菜单项能启动成功, 3月10号的版本不能出现菜单。  详情 回复 发表于 2025-3-21 16:53
1、测试了我电脑里面的64位的pe.iso,除了WePE64_V2.2.iso启动时黑屏,其余均正常启动。速度跑满了网速。我把WePE64_V2.2.iso复制粘贴重命名,删除原来的文件,又可以启动了。所以我怀疑碎片处理那个问题,可有合并  详情 回复 发表于 2025-3-10 13:57
TPFT加HTTP服务器开启。 iftitle 从PXE服务器端EFI启动10pe(/boot/boot.wim) if %@uefi%==64 && set gbk2uni=/efi/ext/gbk2uni && /efi/ext/ntboot /boot/boot.wim 测试结果:蓝屏。 iftitle 从PXE服务器端EF  详情 回复 发表于 2025-3-10 13:05
晚点再详细测试,回帖,辛苦了!  详情 回复 发表于 2025-3-10 12:07
回复

使用道具 举报

发表于 2025-3-10 12:07:09 来自手机 | 显示全部楼层
2011yaya2007777 发表于 2025-3-10 11:16
找到的根源了,是堆与栈的问题。
请再试一试,谢谢!

晚点再详细测试,回帖,辛苦了!
回复

使用道具 举报

发表于 2025-3-10 13:05:45 | 显示全部楼层
本帖最后由 mygamexxx 于 2025-3-10 13:22 编辑
2011yaya2007777 发表于 2025-3-10 11:16
找到的根源了,是堆与栈的问题。
请再试一试,谢谢!

TFTP加HTTP服务器开启。
iftitle [if "%@boot%"=="(pd)"] 从PXE服务器端EFI启动10pe(/boot/boot.wim)
if %@uefi%==64 && set gbk2uni=/efi/ext/gbk2uni && /efi/ext/ntboot /boot/boot.wim
测试结果:蓝屏。
iftitle [if "%@boot%"=="(pd)"] 从PXE服务器端EFI启动10pe(/boot/boot.wim)
if %@uefi%==64 && set gbk2uni=/efi/ext/gbk2uni && /efi/ext/ntboot (http)/boot/boot.wim
测试结果:正常启动到PE桌面。

title 从PXE服务器端启动8pe(Win8PE64.iso)\n用于G4E网启ISO测试
if %@uefi%==64 && map --mem /iso/Win8PE64.iso (0xff) && chainloader (0xff)
boottitle 从PXE服务器端启动8pe(Win8PE64.iso)\n用于G4E网启ISO测试
if %@uefi%==64 && map --mem (http)/iso/Win8PE64.iso (0xff) && chainloader (0xff)
boot
测试结果:均返回到G4E菜单。
微信截图_20250310130945.png

点评

map --mem /iso/Win8PE64.iso (0xff) && chainloader (0xff) 你这个菜单就不对! 要么分行写,要么用两个分号: map --mem /iso/Win8PE64.iso (0xff) ;; chainloader (0xff)  详情 回复 发表于 2025-3-10 13:59
回复

使用道具 举报

发表于 2025-3-10 13:15:27 | 显示全部楼层
本帖最后由 mygamexxx 于 2025-3-14 08:26 编辑

%@boot%还是不对。本地硬盘启动又变成了(0xffffffff),本来应该是(hd0,0)。PXE网启显示%@boot%=(pd)对了。
但不知为什么,PXE网启下setmenu --string=9=5=0xff00ff="硬盘数量:%hdn%,启动分区:%@boot%,根分区:%@root%,启动方式:%bt%",这一句内容不显示了。--------找到不显示的原因:字串太长,显示换行导致被覆盖。
微信截图_20250310131424.png
回复

使用道具 举报

发表于 2025-3-10 13:57:35 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2025-3-10 18:05 编辑
2011yaya2007777 发表于 2025-3-10 11:16
找到的根源了,是堆与栈的问题。
请再试一试,谢谢!

1、测试了我电脑里面的64位的pe.iso,除了WePE64_V2.2.iso启动时黑屏,其余均正常启动。速度跑满了网速。我把WePE64_V2.2.iso复制粘贴重命名,删除原来的文件,又可以启动了。所以我怀疑碎片处理那个问题,可有合并进来?碎片问题的补丁,你没有回复,我不知道具体情况,是否合并进来了?当时我忘了测试倒底有多少个碎片,文件已经删除了。
title WePE64_V2.2.iso
echo --uefi-v
map --mem --top /imgs/WePE64_V2.2.iso (cd)
chainloader (cd-1)

2、测试了我电脑里面的64位的PE.WIM,用你的ntboot都可以正常启动。速度跑满了网速。
title /imgs/WePE64_V2.2/WEPE/WEPE64.WIM-ntboot_2011yaya2007777
echo --uefi-v
set gbk2uni=/efi/grub/ext/gbk2uni
/efi/grub/ext/ntboot (http)/imgs/WePE64_V2.2/WEPE/WEPE64.WIM
boot


3、测试了我电脑里面的64位的PE.WIM,用ipxe的那个wimboot和wintoflash修改版本的wimboot,似乎都不行了,以前版本排除堆栈问题之外可以正常启动。

title /imgs/SXWIN10PEX64_17763_NET20201109/sources/boot.wim-wimboot_wintoflash
echo --uefi-v
kernel /grub/wimboot
initrd @bootx64.efi=/pxe/bootmgfw.efi @bcd=/pxe/BCD @boot.sdi=/boot.sdi @boot.wim=/imgs/SXWIN10PEX64_17763_NET20201109/sources/boot.wim
boot



title /imgs/SXWIN10PEX64_17763_NET20201109/sources/boot.wim-wimboot_wintoflash
echo --uefi-v
kernel /pxe/wimboot
initrd @bootx64.efi=/pxe/bootmgfw.efi @bcd=/pxe/BCD @boot.sdi=/boot.sdi @boot.wim=/imgs/SXWIN10PEX64_17763_NET20201109/sources/boot.wim
boot

上面的两个菜单直接返回主菜单了。我那个包里面,/pxe/wimboot是官方wimboot,/grub/wimboot是wintoflash修改的wimboot。

wimboot下载地址
发布 ·IPXE/WIMBOOT --- Releases · ipxe/wimboot
https://github.com/ipxe/wimboot/releases



发布测试 ·grub4dos/wimboot --- Release test · grub4dos/wimboot
https://github.com/grub4dos/wimboot/releases/tag/test2





速度跑满了网速.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1|闽公网安备35020302032614号 )

GMT+8, 2026-4-7 23:38

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表