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

[原创] GRUB4DOS for UEFI

   火... [复制链接]
发表于 2025-3-10 13:59:33 | 显示全部楼层
mygamexxx 发表于 2025-3-10 13:05
TFTP加HTTP服务器开启。
iftitle  从PXE服务器端EFI启动10pe(/boot/boot.wim)
if %@uefi%==64 && set  ...

map --mem /iso/Win8PE64.iso (0xff) && chainloader (0xff)
你这个菜单就不对!
要么分行写,要么用两个分号:
map --mem /iso/Win8PE64.iso (0xff) ;; chainloader (0xff)

点评

set gbk2uni=/efi/ext/gbk2uni /efi/ext/ntboot /boot/boot.wim map --mem /iso/Win8PE64.iso (0xff) chainloader (0xff) boot 改成分行,与上面测试结果没有区别。  详情 回复 发表于 2025-3-10 14:13
回复

使用道具 举报

发表于 2025-3-10 14:13:24 | 显示全部楼层
本帖最后由 mygamexxx 于 2025-3-10 14:19 编辑
liuzhaoyzz 发表于 2025-3-10 13:59
map --mem /iso/Win8PE64.iso (0xff) && chainloader (0xff)
你这个菜单就不对!
要么分行写,要么用两 ...

set gbk2uni=/efi/ext/gbk2uni
/efi/ext/ntboot /boot/boot.wim
boot

map --mem /iso/Win8PE64.iso (0xff)
chainloader (0xff)
boot

改成分行,加与不加(http)与上面测试结果没有区别。



微信截图_20250310141932.png

点评

哦,我也是被带偏了,g4e下面的map不是这样子的菜单。应该这样子: title WePE64_V2.2.iso echo --uefi-v map --mem --top /imgs/WePE64_V2.2.iso (cd) chainloader (cd-1) 你那样子写是不行的,那是g4d的  详情 回复 发表于 2025-3-10 14:32
回复

使用道具 举报

发表于 2025-3-10 14:32:23 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2025-3-10 14:34 编辑
mygamexxx 发表于 2025-3-10 14:13
set gbk2uni=/efi/ext/gbk2uni
/efi/ext/ntboot /boot/boot.wim
boot

哦,我也是被带偏了,g4e下面的map不是这样子的菜单。应该这样子:

title WePE64_V2.2.iso
echo --uefi-v
map --mem /imgs/WePE64_V2.2.iso (cd)
chainloader (cd-1)

你那样子写是不行的,那是g4d的。

点评

title 从PXE服务器端启动8pe(Win8PE64.iso)\n用于G4E网启ISO测试 map --mem /iso/Win8PE64.iso (cd) chainloader (cd-1) ls (cd-1)/ pause boot  详情 回复 发表于 2025-3-10 15:17
回复

使用道具 举报

 楼主| 发表于 2025-3-10 14:35:37 | 显示全部楼层
所以我怀疑碎片处理那个问题,可有合并进来?

现在的测试版本,碎片补丁已经打上了。客户端应当没有问题。
难道是服务器读写受碎片影响?这个还真不知道。

点评

任何文件要想加载到内存,前提都是必须要读取的啊,包括从pd读取,pd上的文件也是保存在磁盘上面的,我感觉也可能会收到碎片的影响吧? 碎片补丁打上了就好了。 以后有碎片了再验证。  详情 回复 发表于 2025-3-10 14:39
回复

使用道具 举报

发表于 2025-3-10 14:39:08 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2025-3-10 18:14 编辑
2011yaya2007777 发表于 2025-3-10 14:35
现在的测试版本,碎片补丁已经打上了。客户端应当没有问题。
难道是服务器读写受碎片影响?这个还真不知 ...

任何文件要想加载到内存,前提都是必须要读取的啊,包括从pd读取,pd上的文件也是保存在磁盘上面的,我感觉也可能会受到碎片的影响吧?

碎片补丁打上了就好了。
以后有碎片了再验证。

回复

使用道具 举报

 楼主| 发表于 2025-3-10 14:49:51 | 显示全部楼层
本帖最后由 2011yaya2007777 于 2025-3-10 15:13 编辑
3、测试了我电脑里面的64位的PE.WIM,用ipxe的那个wimboot和wintoflash修改版本的wimboot,似乎都不行了,以前版本排除堆栈问题之外可以正常启动。

我使用旧wimboot测试正常。
title 启动服务端 10PE.WIM
kernel /boot/wimboot
initrd @bootx64.efi=/boot/bootmgfw.efi @bcd=/boot/bcd @boot.sdi=/boot/boot.sdi @boot.wim=/boot/10PE.WIM
boot
新版本wimboot没有测试。视乎新版本的语法修改了。

点评

语法没有修改啊,你发这个版本的前一个版本,还全部都可以的,包括wintoflash修改的wimboot和官方的wimboot,都可以启动pe.wim呢。  详情 回复 发表于 2025-3-11 07:27
回复

使用道具 举报

 楼主| 发表于 2025-3-10 15:12:21 | 显示全部楼层
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菜单。

从ipxe启动g4e,我没有测试。
回复

使用道具 举报

 楼主| 发表于 2025-3-10 15:14:50 | 显示全部楼层
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桌面。

这个问题比较诡异。你再仔细看看,是哪里书写错了。
回复

使用道具 举报

发表于 2025-3-10 15:17:32 | 显示全部楼层
本帖最后由 mygamexxx 于 2025-3-10 15:27 编辑
liuzhaoyzz 发表于 2025-3-10 14:32
哦,我也是被带偏了,g4e下面的map不是这样子的菜单。应该这样子:

title WePE64_V2.2.iso

下面菜单,加不加(http),均返回菜单。显示第2张图后,返回菜单。
title 从PXE服务器端启动8pe(Win8PE64.iso)\n用于G4E网启ISO测试
map --mem /iso/Win8PE64.iso (cd)
echo 1
pause
chainloader (cd-1)
echo 2
pause
ls (cd-1)/
echo 3
pause
boot
微信截图_20250310152344.png
微信截图_20250310152147.png

点评

确认是ISO文件的问题,用另一个葱大的ISO,成功启动。  详情 回复 发表于 2025-3-10 15:39
回复

使用道具 举报

 楼主| 发表于 2025-3-10 15:25:23 | 显示全部楼层
%@boot%还是不对。本地硬盘启动又变成了(0xffffffff),本来应该是(hd0,0)。

不是启动硬盘变成了(0xffffffff)!看图是启动分区!
看看你的菜单,传递的是什么变量?

点评

就是%@boot%  详情 回复 发表于 2025-3-10 15:26
回复

使用道具 举报

发表于 2025-3-10 15:26:06 | 显示全部楼层
本帖最后由 mygamexxx 于 2025-3-10 15:29 编辑
2011yaya2007777 发表于 2025-3-10 15:25
不是启动硬盘变成了(0xffffffff)!看图是启动分区!
看看你的菜单,传递的是什么变量?

就是%@boot%
启动分区:%@boot%

回复

使用道具 举报

 楼主| 发表于 2025-3-10 15:33:35 | 显示全部楼层
网起到菜单,进入命令行,此时%@boot%=pd
网起后,出现菜单前做了什么?
或者出现菜单后,在执行选中的菜单项前,做了什么?

点评

在没有加载菜单前。menu.lst debug off echo %@boot% pause  详情 回复 发表于 2025-3-10 15:49
回复

使用道具 举报

 楼主| 发表于 2025-3-10 15:38:10 | 显示全部楼层
下面菜单,加不加(http),均返回菜单。显示第2张图后,返回菜单。
title 从PXE服务器端启动8pe(Win8PE64.iso)\n用于G4E网启ISO测试
map --mem /iso/Win8PE64.iso (cd)
echo 1
pause
chainloader (cd-1)
echo 2
pause
ls (cd-1)/
echo 3
pause
boot

我现在测试,正常。

点评

确认是ISO问题,已成功启动PE.iso  详情 回复 发表于 2025-3-10 16:12
回复

使用道具 举报

发表于 2025-3-10 15:39:34 | 显示全部楼层
本帖最后由 mygamexxx 于 2025-3-10 15:42 编辑
mygamexxx 发表于 2025-3-10 15:17
下面菜单,加不加(http),均返回菜单。显示第2张图后,返回菜单。
title 从PXE服务器端启动8pe(Win8PE64 ...

确认是ISO文件的问题,用另一个葱大的ISO,加不加(http)均成功启动。
回复

使用道具 举报

发表于 2025-3-10 15:49:16 | 显示全部楼层
2011yaya2007777 发表于 2025-3-10 15:33
网起到菜单,进入命令行,此时%@boot%=pd
网起后,出现菜单前做了什么?
或者出现菜单后,在执行选中的菜 ...

在没有加载菜单前。menu.lst

debug off
echo %@boot%
pause
hd.png
pd.png
回复

使用道具 举报

发表于 2025-3-10 16:12:59 | 显示全部楼层
2011yaya2007777 发表于 2025-3-10 15:38
我现在测试,正常。

确认是ISO问题,已成功启动PE.iso
回复

使用道具 举报

 楼主| 发表于 2025-3-10 16:14:55 | 显示全部楼层
在没有加载菜单前。menu.lst

可能内部还没有调整过来。
回复

使用道具 举报

发表于 2025-3-11 07:27:27 | 显示全部楼层
2011yaya2007777 发表于 2025-3-10 14:49
我使用旧wimboot测试正常。
title 启动服务端 10PE.WIM
kernel /boot/wimboot

语法没有修改啊,你发这个版本的前一个版本,好像是2025.2.25日的版本,还全部都可以的,包括wintoflash修改的wimboot和官方的wimboot,都可以启动pe.wim呢。

点评

我这边wintoflash修改的wimboot2.8版本,启动wim成功。  详情 回复 发表于 2025-3-11 07:46
回复

使用道具 举报

发表于 2025-3-11 07:46:43 | 显示全部楼层
liuzhaoyzz 发表于 2025-3-11 07:27
语法没有修改啊,你发这个版本的前一个版本,好像是2025.2.25日的版本,还全部都可以的,包括wintoflash ...

我这边wintoflash修改的wimboot2.8版本,启动wim成功。

点评

他发布的2.8版本,在哪里?我看原来的2.7.5版本好像没有了?  详情 回复 发表于 2025-3-11 08:37
回复

使用道具 举报

发表于 2025-3-11 08:37:10 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2025-3-11 08:40 编辑
mygamexxx 发表于 2025-3-11 07:46
我这边wintoflash修改的wimboot2.8版本,启动wim成功。

他发布的2.8版本,在哪里?我看原来的2.7.5版本好像没有了?

昨天不知道咋回事,g4e搭配wintoflash的修改版wimboot启动失败,今天又可以了。邪了门了。

点评

https://github.com/chenall/grubutils/releases/latest  详情 回复 发表于 2025-3-11 11:26
回复

使用道具 举报

发表于 2025-3-11 11:26:05 | 显示全部楼层
liuzhaoyzz 发表于 2025-3-11 08:37
他发布的2.8版本,在哪里?我看原来的2.7.5版本好像没有了?

昨天不知道咋回事,g4e搭配wintoflash的 ...

https://github.com/chenall/grubutils/releases/latest

点评

用这个确实可以。  详情 回复 发表于 2025-3-11 14:03
回复

使用道具 举报

发表于 2025-3-11 14:03:18 | 显示全部楼层
mygamexxx 发表于 2025-3-11 11:26
https://github.com/chenall/grubutils/releases/latest

用这个确实可以。
回复

使用道具 举报

发表于 2025-3-11 19:03:59 | 显示全部楼层
vbox测试 ,没见过菜单


dir.txt的内容是什么?

直接启动
截图 2025-03-11 18-55-36.png

ipxe的snponly.efi 间接启动
截图 2025-03-11 18-52-09.png

点评

1、dir.txt可以删除,这个是为了在pxe客户端ls目录和文件用的。没有他不影响pxe启动。 2、看你的截图,Does not support EFI_HTTP_POTOCOL!(单词protocol拼错了?) 好像virtualBOX的UEFI版本低了,不支持http  详情 回复 发表于 2025-3-12 07:57
回复

使用道具 举报

发表于 2025-3-11 19:16:42 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2025-3-12 07:57:39 | 显示全部楼层
2011whp 发表于 2025-3-11 19:03
vbox测试 ,没见过菜单

1、dir.txt可以删除,这个是为了在pxe客户端ls目录和文件用的。没有他不影响pxe启动。

2、看你的截图,Does not support EFI_HTTP_POTOCOL!(单词protocol拼错了?)
好像virtualBOX的UEFI版本低了,不支持http协议,建议用vmware16以上的版本进行测试。


点评

第一行是 snponly.efi的 提示, 第二行 Does not support EFI_HTTP_POTOCOL! 这g4e 打出来的吧  发表于 2025-3-12 11:52
回复

使用道具 举报

发表于 2025-3-12 09:26:07 | 显示全部楼层
用G4E网启ISO,可能由于ISO制作问题导致失败,提取出boot.wim用NTBOOT可以成功启动。所以最好不要用ISO。
回复

使用道具 举报

发表于 2025-3-12 14:29:39 | 显示全部楼层
好像是g4e抛出来的错误提示,有错别字和中式英语语法错误:
Does not support EFI_HTTP_POTOCOL!====>Does not support EFI_HTTP_PROTOCOL!
PXE is not open /efi/grub/menu.lst.====>PXE cann't open /efi/grub/menu.lst.
回复

使用道具 举报

 楼主| 发表于 2025-3-12 16:53:21 来自手机 | 显示全部楼层
回复

使用道具 举报

发表于 2025-3-16 00:25:36 | 显示全部楼层
good job!               
回复

使用道具 举报

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

同样的环境测试,1216版能出现菜单,但第一项启动蓝屏,用第四项不能改名的boot菜单项能启动成功, 3月10号的版本不能出现菜单。
用2月25号的版本能正常启动成功  不过启动速度比用bootmgfw.efi还慢了很多,没有体会到http的优势。
1216.JPG
310.JPG
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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