无忧启动论坛

 找回密码
 注册
搜索

GRUB4DOS for UEFI

查看数: 716924 | 评论数: 3706 | 收藏 194
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-10-29 10:31

正文摘要:

本帖最后由 2011yaya2007777 于 2024-12-16 15:28 编辑   使用于 UEFI 环境的 GRUB4DOS。      这是一个庞大的工程,几乎所有的代码都捋了一遍。修改了控制台键盘输入输出,控制 ...

回复

mygamexxx 发表于 2025-6-5 17:26:02
本帖最后由 mygamexxx 于 2025-6-5 17:27 编辑
wmx400 发表于 2025-6-5 11:45
echo --uefi-v    UEFI revision  20046
这个版本算是旧的吗?
thinkpad的官方网站上UEFI BIOS升级程 ...

这个应该可以HTTP网启,用QEMU,v2003c的不行,提示无HTTP协议,v20046能够HTTP网启。
wmx400 发表于 2025-6-5 11:45:55
mygamexxx 发表于 2025-6-5 07:37
启动到命令行下,echo --uefi-v,查看一下UEFI的版本,是否是低版本的。

echo --uefi-v    UEFI revision  20046
这个版本算是旧的吗?
thinkpad的官方网站上UEFI BIOS升级程序版本应该是最新的了。

点评

这个应该可以HTTP网启  详情 回复 发表于 2025-6-5 17:26
john138 发表于 2025-6-5 08:27:53
感谢!
mygamexxx 发表于 2025-6-5 07:37:27
wmx400 发表于 2025-5-29 22:15
实机UEFI应该是支持HTTP的,因为我测试用ipxe.efi用autoexec.ipxe菜单是可以支持http的。
实机用g4e加载 ...

启动到命令行下,echo --uefi-v,查看一下UEFI的版本,是否是低版本的。
wmx400 发表于 2025-5-29 22:15:07
2011yaya2007777 发表于 2025-5-28 19:28
可能是实机的UEFI固件不支持http吧。也可能是g4e没有探测到。实机启动前你能加载网起服务器?

实机UEFI应该是支持HTTP的,因为我测试用ipxe.efi用autoexec.ipxe菜单是可以支持http的。
实机用g4e加载菜单的时候,上面显示via tftp ,但是tftp也能加载启动菜单,拉WIM文件,到进PE的整个过程。可能只是没有http那么快,速度很慢。看整个日志是不走HTTP,全走的tftp的,也可能是没探测到。
不知道是否还有其他测试方法,或需要提供的数据可以后续改进的。

点评

启动到命令行下,echo --uefi-v,查看一下UEFI的版本,是否是低版本的。  详情 回复 发表于 2025-6-5 07:37
2011yaya2007777 发表于 2025-5-29 15:46:13
本帖最后由 2011yaya2007777 于 2025-5-29 15:47 编辑
3.增加精简字库模式:--simp=起始0,终止0,...,起始3,终止3
    内置字库应当包含 DotSize=[font_h],['simp']
    中文可以使用 --simp=
    例如:font --font-high=24 --simp= /24_24.hex
             DotSize=24,simp

使用内置字库,如果尺寸不是16*16,需要在内置字库前面有: DotSize=24
另起一行或者数行,是内置的hex字库。

精简字库模式视乎没有人使用,现在不能确保没有问题,现在的硬盘及内存比那时候大得不是一个数量级,没有必要使用他。

内置字库时,外置菜单里不需要加载字库,也不需要指定尺寸。

如果字库是外置的,比如在 /efi/grub/font/24_24.hex,外置菜单就应当是这样的:
font --font-high=24 /efi/grub/font/24_24.hex
2011yaya2007777 发表于 2025-5-29 15:16:59
本帖最后由 2011yaya2007777 于 2025-5-29 15:18 编辑
( 00007=\efi\grub\boot.efi 访问不上, 提示文件大小为0)

在config.ini文件里的[dhcp]目录下,可以没有tftpd=1,但是不可以有tftpd=0.否则不能网起。
因为g4e为了在不支持http的机器上确保网起到菜单,一开始是使用tftp的。
你把tftpd=0删除试一试。
2011yaya2007777 发表于 2025-5-29 15:04:04
不同的 tftp服务器:  速度不一样

实机肯定比虚拟机快。
VMware 又比 Qemu 快。
ntcjq999 发表于 2025-5-28 19:33:05
强大的系统
2011yaya2007777 发表于 2025-5-28 19:28:46
可能是实机的UEFI固件不支持http吧。也可能是g4e没有探测到。实机启动前你能加载网起服务器?
wmx400 发表于 2025-5-28 19:00:45
本帖最后由 wmx400 于 2025-5-28 19:02 编辑

大佬好,前几天一直在用虚拟机来测试pxe网络启动,目前虚拟机上能实现http引导wim文件,里面也写了(http),启动是能看到via HTTP。也测试过zemu_qemu也能正常显示http。
但是今天我用实机笔记本的时候,发现笔记本不走http了,走的还是tftp,上面显示via tftp。
用的HFS+TinyPXEServer,优先启动了HFS,然后也测试过dhcpserver 和 EasyWebSvr。
拉wim文件的时候都走的tftp。ntboot和G4E文件用的grub4dos-for_UEFI-2025-05-10,请指教。


title 启动服务端 http winpe.wim
/efi/grub/ext/ntboot (http)/wims/boot.wim
boot
title 使用 http 网起 winpe.iso
map (http)/wims/winpe.iso (0xff)
chainloader (0xff)
boot

neartree 发表于 2025-5-27 16:11:31
开发不易啊,致敬~
wpx82452 发表于 2025-5-27 12:43:37
赞一个!
2011whp 发表于 2025-5-25 11:32:02
不同的 tftp服务器:  速度不一样

虚拟机内tiny-pxe的tftp:    5MB/s   

系统内的 tftp-hpa:             20MB/s

___________________________________

访问 ubuntu 的 tftp:  00007=/efi/grub/boot.efi    ( 00007=\efi\grub\boot.efi 访问不上, 提示文件大小为0)

mygamexxx 发表于 2025-5-21 13:19:45
本帖最后由 mygamexxx 于 2025-5-21 17:38 编辑

VMware虚拟机测试:
/efi/ext/ntboot (http)/boot/boot.wim 和 map (http)/isos/NewBeePlus_Server.iso (0xff) && chainloader (0xff),HTTP方式,均2-3分钟成功到PE桌面。
/efi/ext/ntboot /boot/boot.wim 和 map /isos/NewBeePlus_Server.iso (0xff) && chainloader (0xff),TFTP方式,时间比较长,测试中,ntboot方式与map方式,均40分钟到PE桌面,
mygamexxx 发表于 2025-5-21 13:08:41
map (http)/isos/NewBeePlus_Server.iso (0xff) && chainloader (0xff),HTTP方式,2-3分钟,第一次BCD错误见http1.png、http2.png,点击终止,再点击启动,第二次纯蓝屏见http3.png、http4.png,点击终止,再点击启动,第三次BCD错误见http5.png。

HTTP1.png (52.16 KB, 下载次数: 20)

HTTP1.png

http2.png (58.62 KB, 下载次数: 22)

http2.png

HTTP3.png (56.53 KB, 下载次数: 17)

HTTP3.png

HTTP4.png (52.44 KB, 下载次数: 15)

HTTP4.png

HTTP5.png (57.91 KB, 下载次数: 16)

HTTP5.png
mygamexxx 发表于 2025-5-21 13:04:21
map /isos/NewBeePlus_Server.iso (0xff) && chainloader (0xff),TFTP方式,约20分钟成功到PE桌面。


TFTP1.png (46.91 KB, 下载次数: 14)

TFTP1.png

TFTP2.png (353.31 KB, 下载次数: 17)

TFTP2.png
2011whp 发表于 2025-5-21 12:31:15
mygamexxx 发表于 2025-5-21 12:19
此版本从我测试看:(pd)/efi/grub/ntboot /boot/pe64.wim,就是TFTP,(pd)/efi/grub/ntboot (http)/boot/ ...

试过:   (pd)/efi/grub/ntboot (http)/boot/pe64.wim

可能是  测试环境 连不上 http服务,  回退为  tftp
mygamexxx 发表于 2025-5-21 12:19:24

此版本从我测试看:(pd)/efi/grub/ntboot /boot/pe64.wim,就是TFTP,(pd)/efi/grub/ntboot (http)/boot/pe64.wim,才走HTTP。

点评

试过: (pd)/efi/grub/ntboot (http)/boot/pe64.wim 可能是 测试环境 连不上 http服务, 回退为 tftp  详情 回复 发表于 2025-5-21 12:31
2011whp 发表于 2025-5-21 12:12:10


原文件中 没有 图上 标的 文字, 是 cat 多出来的.

2011whp 发表于 2025-5-21 11:44:34


90秒  进pe


点评

此版本从我测试看:(pd)/efi/grub/ntboot /boot/pe64.wim,就是TFTP,(pd)/efi/grub/ntboot (http)/boot/pe64.wim,才走HTTP。  详情 回复 发表于 2025-5-21 12:19
mygamexxx 发表于 2025-5-21 11:06:23
使用zenEMU关闭HTTP,开EasyWebSvr作为HTTP服务器,第一次后每次点击终止,再点击启动,第一次蓝屏,第二次BCD错误,第三次返回菜单,第四次蓝屏。

第二次.png (217.29 KB, 下载次数: 21)

第二次.png

第三次.png (185.38 KB, 下载次数: 28)

第三次.png

第四次.png (198.75 KB, 下载次数: 17)

第四次.png
mygamexxx 发表于 2025-5-21 10:32:23
本帖最后由 mygamexxx 于 2025-5-21 10:34 编辑

从测试看,TFTP基本没问题了,HTTP还有问题。
Fail to http->pol1!,  这一句后面的数据会每次不同。
xiaoy 发表于 2025-5-21 10:21:43
本帖最后由 xiaoy 于 2025-5-21 11:15 编辑
2011yaya2007777 发表于 2025-5-21 08:18
你这是使用的什么版本?怎么会有打开 /bcdvhd 的提示?
是不是 ntboot 比较旧?从官网下载5月10日的版本 ...

timeout 5

default 0

color normal=0xff0000 highlight=0xffff00 helptext=0xff00ff heading=0x66ff00 border=0xff00
graphicsmode -1 800
calc *0x834c > nul ;; set a=%@retval%
if %a%>=801 && font --font-high=40 /efi/grub/menu40.hex
if %a%>=100 && if %a%<=800 && font /efi/grub/unifont.hex.gz && splashimage /efi/grub/lt.jpg
setmenu --box x=2 w=0 y=6 h=9 l=8
setmenu --lang=zh
setmenu --auto-num-on
setmenu --string=m=2=0xff0000="G4D 维  护  菜  单"
setmenu --string=s=1=0xffaa="date&time=yyyy-MM-dd  HH:mm:ss"
setmenu --timeout=90=2=0x88000000ffff
setmenu --hotkey-color=0xffff

title 启动服务端  winpe.wim
/efi/grub/ext/ntboot (http)/boot/winpe.wim
boot

菜单如上,如果去掉(http)能启动成功PE   已经替换了最新版的NTBOOT 仍会启动PE蓝屏,应该还是没有通过HTTP成功加载WIM。

521.png (65.15 KB, 下载次数: 18)

521.png

522.png (97.35 KB, 下载次数: 20)

522.png
mygamexxx 发表于 2025-5-21 10:13:49
本帖最后由 mygamexxx 于 2025-5-21 10:16 编辑
mygamexxx 发表于 2025-5-21 08:56
关闭QEMU窗口,再点启动。

使用点击终止,再点击启动,第一次蓝屏,第二次返回菜单,第三次蓝屏。第三次蓝屏后,过一段时间自动重启,蓝屏。

第二次.png (62.21 KB, 下载次数: 22)

第二次.png

第四次.png (53.43 KB, 下载次数: 27)

第四次.png
mygamexxx 发表于 2025-5-21 10:05:29
wintoflash 发表于 2025-5-21 09:11
上面有警告:可用内存可能不足
是不是虚拟机内存设置太大,导致和实体机内存交换了

物理内存12G,虚拟机内存4096MB
wintoflash 发表于 2025-5-21 09:11:51
mygamexxx 发表于 2025-5-21 08:19
/efi/ext/ntboot /boot/boot.wim,一次性成功到PE桌面,TFTP方式,约15分钟。

上面有警告:可用内存可能不足
是不是虚拟机内存设置太大,导致和实体机内存交换了

点评

物理内存12G,虚拟机内存4096MB  详情 回复 发表于 2025-5-21 10:05
mygamexxx 发表于 2025-5-21 08:56:43
2011yaya2007777 发表于 2025-5-21 08:47
这个连续3次,每次点击zenqemu的“终止”和“启动”按钮,还是关闭zenqemu,然后重启?

关闭QEMU窗口,再点启动。

点评

使用点击终止,再点击启动,第一次蓝屏,第二次返回菜单,第三次蓝屏。  详情 回复 发表于 2025-5-21 10:13
2011yaya2007777 发表于 2025-5-21 08:47:16
/efi/ext/ntboot (http)/boot/boot.wim,连续三次蓝屏,HTTP方式。

这个连续3次,每次点击zenqemu的“终止”和“启动”按钮,还是关闭zenqemu,然后重启?

点评

关闭QEMU窗口,再点启动。  详情 回复 发表于 2025-5-21 08:56
mygamexxx 发表于 2025-5-21 08:20:45
/efi/ext/ntboot (http)/boot/boot.wim,连续三次蓝屏,HTTP方式。

wechat_2025-05-21_080737_766.png (75.11 KB, 下载次数: 15)

wechat_2025-05-21_080737_766.png

wechat_2025-05-21_080924_715.png (62.77 KB, 下载次数: 16)

wechat_2025-05-21_080924_715.png

wechat_2025-05-21_081347_201.png (19.43 KB, 下载次数: 22)

wechat_2025-05-21_081347_201.png

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

闽公网安备 35020302032614号

GMT+8, 2025-6-18 03:27

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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