无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 10559|回复: 67
打印 上一主题 下一主题

[分享] wimboot 2.8版本 20240531更新

    [复制链接]
跳转到指定楼层
#
发表于 2024-5-2 22:52:36 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 freesoft00 于 2024-5-31 17:00 编辑

https://github.com/ipxe/wimboot/releases
wimboot 2.8编译好的版本可以下载了。

ipxe看着更新的比wimboot还勤,就是没有编译好的版本
https://github.com/ipxe/ipxe/actions

评分

参与人数 1无忧币 +2 收起 理由
yyz2191958 + 2 赞一个!

查看全部评分

65#
发表于 2025-3-11 14:10:11 | 只看该作者
测试了你说的这个wimboot,可以搭配g4e启动。
回复

使用道具 举报

64#
发表于 2025-3-11 09:22:51 | 只看该作者
liuzhaoyzz 发表于 2025-3-11 08:38
怎么这个页面打不开了?是删库了吗?
现在官方wimboot搭配g4e不行啊?

我已经说过很多次了,g4e不能搭配官方wimboot。
在这里下载https://github.com/chenall/grubutils/releases/tag/latest
回复

使用道具 举报

63#
发表于 2025-3-11 08:38:55 | 只看该作者
本帖最后由 liuzhaoyzz 于 2025-3-11 08:52 编辑

怎么这个页面打不开了?是删库了吗?
现在官方wimboot搭配g4e不行啊?

v2.8.0 的 grub4dos/wimboot --- grub4dos/wimboot at v2.8.0
https://github.com/grub4dos/wimboot/tree/v2.8.0

这里面的wimboot,是for-grub4dos的吗?作者是谁?我看ipxe wimboot的作者mcb30怎么也在贡献代码?https://github.com/grub4dos/wimboot/graphs/contributors
mcb30
rgl
alive4ever
ttyS0
a1ive
asheplyakov
Mexit
这个版本,我测试了下,搭配g4e不能pxe启动。



回复

使用道具 举报

62#
发表于 2025-3-10 07:17:59 | 只看该作者
感谢答疑!
回复

使用道具 举报

61#
发表于 2025-3-8 09:49:27 | 只看该作者
本帖最后由 wintoflash 于 2025-3-8 09:54 编辑
liuzhaoyzz 发表于 2025-3-8 09:36
用于grub4dos_bios环境下的wimboot,语法都跟ipxe里面的wimboot语法不同啊?
title /imgs/WePE64_V2.2/W ...

initrd命令执行后,传递给kernel的是内存盘地址和大小,而不是字符串。
initrd @boot.wim=/fuck.wim是grub4dos的语法,意为生成cpio newc打包的内存盘,把/fuck.wim放到cpio内,文件名为boot.wim。
你看grub2的语法就容易理解了:
initrd newc:boot.wim:/fuck.wim
所以当wimboot运行后,处理initrd,就能读到里面有个boot.wim文件。
这也就是为什么bcd里面wim的路径要写boot.wim而不是fuck.wim的原因。

对于ntloader,原理也是一样的。
执行 initrd /initrd.cpio和把initrd.cpio解压到磁盘/dir,执行
initrd @bootx64.efi=/dir/bootx64.efi @boot.sdi=/dir/boot.sdi ...
效果是一样的。

iPXE的原理也是类似的
https://ipxe.org/cmd/imgfetch?redirect=1
When booting a Linux kernel, iPXE will construct a “magic initrd” by injecting downloaded files into the initial RAM filesystem image. Any argument supplied to the initrd command will be used as the pathname for that image within the initrd.magic initial RAM filesystem. For example, if you have the script

  #!ipxe
  
  kernel vmlinuz
  initrd initrd.img
  initrd initscripts/deploy.sh /sbin/init mode=755
  boot
then the file initrd.img will be treated as a normal initramfs filesystem image, and the file deploy.sh will appear as an extra executable file /sbin/init within this filesystem.

The optional mode parameter can be used to change the file mode, which defaults to 644. This can be useful for binaries that need to be executed.
回复

使用道具 举报

60#
发表于 2025-3-8 09:36:45 | 只看该作者
本帖最后由 liuzhaoyzz 于 2025-3-8 09:37 编辑
wintoflash 发表于 2025-3-8 09:19
wimboot是iPXE的项目,BIOS时代,本来就可以用于grub2/grub4dos,不存在移植的说法。
这个链接里面的wim ...

用于grub4dos_bios环境下的wimboot,语法都跟ipxe里面的wimboot语法不同啊?
title /imgs/WePE64_V2.2/WEPE/WEPE64.WIM-wimboot_wintoflash
kernel http://192.168.1.2/grub/wimboot
initrd @bootmgr=http://192.168.1.2/pxe/bootmgr @bcd=http://192.168.1.2/pxe/BCD @boot.sdi=http://192.168.1.2/boot.sdi @boot.wim=http://192.168.1.2/imgs/WePE64_V2.2/WEPE/WEPE64.WIM
bootgrub4dos下面用的是@boot.wim=xxx这样子的语法,我都不知道是怎么来的,这个wimboot不是移植过的吗,原生都能适配grub4dos?那为啥关键字都不同?
大家都是照搬照抄上面的菜单,我不知道其所以然。
甚至还有@boot.wim:xxxx.wim,=号换成了冒号,这样子的语法。

ipxe下面用的是下面这样子,没见到@boot.wim=xxx这样子的语法:
:[BIOS]/imgs/WePE64_V2.2/WEPE/WEPE64.WIM
kernel http://${next-server}/pxe/wimboot
initrd http://${next-server}/pxe/bootmgr bootmgr
initrd http://${next-server}/pxe/BCD bcd
initrd http://${next-server}/boot.sdi boot.sdi
initrd http://${next-server}/imgs/WePE64_V2.2/WEPE/WEPE64.WIM boot.wim
boot






回复

使用道具 举报

59#
发表于 2025-3-8 09:19:17 | 只看该作者
liuzhaoyzz 发表于 2025-3-8 08:52
怎么论坛里面之前没见到过你发布wimboot for grub4dos的介绍,你的这个修改版,用法项目主页也没见到介绍 ...

wimboot是iPXE的项目,BIOS时代,本来就可以用于grub2/grub4dos,不存在移植的说法。
这个链接里面的wimboot,我也只是加了个补丁,让它能被grub2(>=2.12)和grub4efi加载。
这个补丁我提交给官方过,但是没人鸟我。
回复

使用道具 举报

58#
发表于 2025-3-8 09:14:54 | 只看该作者
谢谢分享
回复

使用道具 举报

57#
发表于 2025-3-8 08:52:04 | 只看该作者
本帖最后由 liuzhaoyzz 于 2025-3-8 08:53 编辑

怎么论坛里面之前没见到过你发布wimboot for grub4dos的介绍,你的这个修改版,用法项目主页也没见到介绍啊。
倒是有wimboot for grub2的主题帖。

想问下,最早是谁把wimboot移植到grub4dos的?是chenall吗?

点评

wimboot是iPXE的项目,BIOS时代,本来就可以用于grub2/grub4dos,不存在移植的说法。 这个链接里面的wimboot,我也只是加了个补丁,让它能被grub2(>=2.12)和grub4efi加载。 这个补丁我提交给官方过,但是没人鸟我  详情 回复 发表于 2025-3-8 09:19
回复

使用道具 举报

56#
发表于 2024-12-14 13:18:42 | 只看该作者
不明觉厉
回复

使用道具 举报

55#
发表于 2024-12-6 14:39:44 | 只看该作者
wintoflash 发表于 2024-12-6 14:21
@bootmgfw.efi=... 改为 @bootx64.efi=...

感谢wintoflash大,改后启动正常了
回复

使用道具 举报

54#
发表于 2024-12-6 14:21:56 | 只看该作者
ksafei 发表于 2024-12-6 13:53
wintoflash大,刚测试发现关闭安全启动则可以正常启动,开启安全启动后用绕过安全启动的方式运行则报错00 ...

@bootmgfw.efi=... 改为 @bootx64.efi=...
回复

使用道具 举报

53#
发表于 2024-12-6 14:11:06 | 只看该作者
本帖最后由 mygamexxx 于 2024-12-6 14:14 编辑
ksafei 发表于 2024-12-6 13:54
grubfmx64.efi和grubfm_multiarch.iso都运行正常呢,再测试下看看

实机EFI启动成功,QEMU虚拟启动类似黑屏,有八九个白点。

1.jpg (11.6 KB, 下载次数: 17)

1.jpg
回复

使用道具 举报

52#
发表于 2024-12-6 14:02:36 | 只看该作者
谢谢分享
回复

使用道具 举报

51#
发表于 2024-12-6 13:54:17 | 只看该作者
mygamexxx 发表于 2024-12-6 13:17
算了,下载后UEFI也是启动有问题,chainloader /grubfmx64.efi,进不了界面。BIOS下与您编译的那个一样, ...

grubfmx64.efi和grubfm_multiarch.iso都运行正常呢,再测试下看看

点评

实机EFI启动成功,QEMU虚拟启动类似黑屏,有八九个白点。  详情 回复 发表于 2024-12-6 14:11
回复

使用道具 举报

50#
发表于 2024-12-6 13:53:07 | 只看该作者
wintoflash 发表于 2024-12-6 10:26
wimboot就是为了不用根据wim路径来改BCD路径而设计的。你每次改bcd反而用wimboot就没意义了。

wintoflash大,刚测试发现关闭安全启动则可以正常启动,开启安全启动后用绕过安全启动的方式运行则报错000000f,能不能再改进下像grub2的wimboot启动那样可以在绕过安全启动方式下运行

点评

@bootmgfw.efi=... 改为 @bootx64.efi=...  详情 回复 发表于 2024-12-6 14:21
回复

使用道具 举报

49#
发表于 2024-12-6 13:17:00 | 只看该作者
本帖最后由 mygamexxx 于 2024-12-6 13:18 编辑
ksafei 发表于 2024-12-6 12:51
initrd参数与bcd的禁用数字数字签名验证都调整过了,还是报错,是不是跟我开了安全启动有关?有时间再测 ...

算了,下载后UEFI也是启动有问题,chainloader /grubfmx64.efi,进不了界面。BIOS下与您编译的那个一样,都正常。

点评

grubfmx64.efi和grubfm_multiarch.iso都运行正常呢,再测试下看看  详情 回复 发表于 2024-12-6 13:54
回复

使用道具 举报

48#
发表于 2024-12-6 12:51:02 | 只看该作者
mygamexxx 发表于 2024-12-6 12:07
主要是initrd参数与bcd的禁用数字数字签名验证。ksafer大,你编译的grubfm支持EFI吗?我用map iso的方式 ...

initrd参数与bcd的禁用数字数字签名验证都调整过了,还是报错,是不是跟我开了安全启动有关?有时间再测试看看

这个grubfm是bios下用的,记得当时是为了配合0pe升级grldr后用的


grubfm_multiarch.iso下载地址:
https://kkgithub.com/a1ive/grub2-filemanager/releases

点评

算了,下载后UEFI也是启动有问题,chainloader /grubfmx64.efi,进不了界面。  详情 回复 发表于 2024-12-6 13:17
回复

使用道具 举报

47#
发表于 2024-12-6 12:39:17 | 只看该作者
本帖最后由 mygamexxx 于 2024-12-6 12:46 编辑
wintoflash 发表于 2024-12-6 12:35
这个ISO不支持efi启动。换成grubfm_multiarch.iso或efi文件。

谢谢,在哪下载?是https://github.com/a1ive/grub2-filemanager/releases
回复

使用道具 举报

46#
发表于 2024-12-6 12:35:58 | 只看该作者
mygamexxx 发表于 2024-12-6 12:07
主要是initrd参数与bcd的禁用数字数字签名验证。ksafer大,你编译的grubfm支持EFI吗?我用map iso的方式 ...

这个ISO不支持efi启动。换成grubfm_multiarch.iso或efi文件。
回复

使用道具 举报

45#
发表于 2024-12-6 12:07:29 | 只看该作者
本帖最后由 mygamexxx 于 2024-12-6 12:43 编辑
ksafei 发表于 2024-12-6 10:23
感谢指点!经多次测试始终失败,等有时间再慢慢复测吧

主要是initrd参数与bcd的禁用数字数字签名验证。ksafer大,你编译的grubfm支持EFI吗?我用map iso的方式,在BIOS下启动成功,在EFI下不成功。
title 运行grubfm映像\n运行/0pe/grubfm_pc.iso映像ksafer大20230627编译的
map --mem /0pe/grubfm_pc.iso (0xff)
map --hook
chainloader (0xff)
boot

附件无法上传,改成.7z和.txt都上传失败。可能级别不够!!但从中校权限上看是可以上传附件的??

1.jpg (73.78 KB, 下载次数: 19)

1.jpg

2.jpg (138.54 KB, 下载次数: 14)

2.jpg

1.jpg (41.7 KB, 下载次数: 15)

1.jpg

点评

initrd参数与bcd的禁用数字数字签名验证都调整过了,还是报错,是不是跟我开了安全启动有关?有时间再测试看看 这个grubfm是bios下用的,记得当时是为了配合0pe升级grldr后用的 grubfm_multiarch.iso下载地  详情 回复 发表于 2024-12-6 12:51
这个ISO不支持efi启动。换成grubfm_multiarch.iso或efi文件。  详情 回复 发表于 2024-12-6 12:35
回复

使用道具 举报

44#
发表于 2024-12-6 10:53:36 | 只看该作者
学习
回复

使用道具 举报

43#
发表于 2024-12-6 10:42:41 | 只看该作者
本帖最后由 mygamexxx 于 2024-12-6 10:47 编辑

目前写了三种启动方式:wimboot、bootmgr或bootmgfw.efi、RUN
if %@uefi%#==# && set bt=BIOS && set ph=/boot ! set bt=EFI_x%@uefi% && set ph=/efi
if %bt%==BIOS && set mn1="chainloader %@boot%%ph%/bootmgr" ! set mn1="chainloader %@boot%%ph%/microsoft/boot/bootmgfw.efi"
title 启动WIM格式WIN10PE-X64\n启动/0pe/10PE.WIM
#下面注释掉,尽量不用外部命令,防止版本更新影响
#%@boot%%ph%/ext/RUN %@boot%/0pe/10pe.wim

#用wintoflash大修改的wimboot2.7.5启动
kernel %@boot%/boot/wimboot
if %@uefi%#==# && initrd @bootmgr=/boot/bootmgr @bcd=/boot/bcdpe @boot.sdi=/boot/boot.sdi @boot.wim=/0pe/10PE.WIM
if %@uefi%==64 && initrd @bootmgfw.efi=/efi/microsoft/boot/bootmgfw.efi @bcd=/boot/bcdpe @boot.sdi=/boot/boot.sdi @boot.wim=/0pe/10PE.WIM

#用延时为0的bcdpe文件覆盖bcd文件,直接启动10PE
#if %bt%==BIOS && dd if=%@boot%%ph%/bcdpe of=%@boot%%ph%/bcd ! dd if=%@boot%%ph%/microsoft/boot/bcdpe of=%@boot%%ph%/microsoft/boot/bcd
#%mn1:~1,-1%
boot
回复

使用道具 举报

42#
发表于 2024-12-6 10:34:35 | 只看该作者
本帖最后由 mygamexxx 于 2024-12-6 10:38 编辑
wintoflash 发表于 2024-12-6 10:26
wimboot就是为了不用根据wim路径来改BCD路径而设计的。你每次改bcd反而用wimboot就没意义了。

确认使用您提供的bcd,在BIOS与EFI均启动PE成功。是我理解错误,谢谢。下面菜单中/efi/microsoft/boot/bcd1为您提供的bcd文件。我改bcd的目的是与其他启动方式(比如直接用bootmgr或bootmgfw.efi启动)共用一个bcd,改了也没问题。


title 启动WIM格式WIN10PE-X64\n启动/0pe/10PE.WIM

kernel %@boot%/boot/wimboot
if %@uefi%#==# && initrd @bootmgr=/boot/bootmgr @bcd=/efi/microsoft/boot/bcd1 @boot.sdi=/boot/boot.sdi @boot.wim=/0pe/10PE.WIM
if %@uefi%==64 && initrd @bootmgfw.efi=/efi/microsoft/boot/bootmgfw.efi @bcd=/efi/microsoft/boot/bcd1 @boot.sdi=/boot/boot.sdi @boot.wim=/0pe/10PE.WIM
boot

回复

使用道具 举报

41#
发表于 2024-12-6 10:26:21 | 只看该作者
mygamexxx 发表于 2024-12-6 10:18
实机测试必须修改,你想文件位置和名称都不对,怎么启动成功。可能是我认知不够,是否bcd中的文件位置与 ...

wimboot就是为了不用根据wim路径来改BCD路径而设计的。你每次改bcd反而用wimboot就没意义了。
回复

使用道具 举报

40#
发表于 2024-12-6 10:23:46 | 只看该作者
mygamexxx 发表于 2024-12-6 09:56
实机测试成功。G4E使用最新20240901版,bcd按自己的WIM文件位置修改,关键是禁用数字签名验证要打勾,wim ...

感谢指点!经多次测试始终失败,等有时间再慢慢复测吧

点评

主要是initrd参数与bcd的禁用数字数字签名验证。ksafer大,你编译的grubfm支持EFI吗?我用map iso的方式,在BIOS下启动成功,在EFI下不成功。  详情 回复 发表于 2024-12-6 12:07
回复

使用道具 举报

39#
发表于 2024-12-6 10:18:53 | 只看该作者
本帖最后由 mygamexxx 于 2024-12-6 10:27 编辑
wintoflash 发表于 2024-12-6 10:11
bcd的设备路径和wim路径那边不要按文件路径来修改!
要按我提供的bcd来。

我想文件位置和名称都不对,怎么启动成功。可能是我认知不够,是否bcd中的文件位置与名称不起作用,按initrd传递的参数?我测试一下您提供的bcd不修改启动。

点评

wimboot就是为了不用根据wim路径来改BCD路径而设计的。你每次改bcd反而用wimboot就没意义了。  详情 回复 发表于 2024-12-6 10:26
回复

使用道具 举报

38#
发表于 2024-12-6 10:11:55 | 只看该作者
mygamexxx 发表于 2024-12-6 09:56
实机测试成功。G4E使用最新20240901版,bcd按自己的WIM文件位置修改,关键是禁用数字签名要打勾,wimboot ...

bcd的设备路径和wim路径那边不要按文件路径来修改!
要按我提供的bcd来。
回复

使用道具 举报

37#
发表于 2024-12-6 09:56:20 | 只看该作者
本帖最后由 mygamexxx 于 2024-12-6 10:17 编辑
ksafei 发表于 2024-12-6 09:34
我实机测试EFI模式下一直报错000000f(如#26图示),能否将bootmgfw.efi,g4e.efi,wimboot,bcd等文件打 ...

实机测试成功。G4E使用最新20240901版,bcd按自己的WIM文件位置修改,关键是禁用数字签名验证要打勾,wimboot使用27#wintoflash的2.7.5修改版。g4e菜单按具体文件位置情况修改。

title 启动WIM格式WIN10PE-X64\n启动/0pe/10PE.WIM
#wimboot文件位置按实际修改
kernel %@boot%/boot/wimboot

#各个文件位置按实际修改,下面是自动按BIOS或EFI启动方式选择参数运行,bcd可以用同一个文件,主要是initrd第一个引导文件参数有区别。
if %@uefi%#==# && initrd @bootmgr=/boot/bootmgr @bcd=/boot/bcdpe @boot.sdi=/boot/boot.sdi @boot.wim=/0pe/10PE.WIM
if %@uefi%==64 && initrd @bootmgfw.efi=/efi/microsoft/boot/bootmgfw.efi @bcd=/boot/bcdpe @boot.sdi=/boot/boot.sdi @boot.wim=/0pe/10PE.WIM

boot

1.jpg (104.86 KB, 下载次数: 18)

1.jpg

点评

感谢指点!经多次测试始终失败,等有时间再慢慢复测吧  详情 回复 发表于 2024-12-6 10:23
bcd的设备路径和wim路径那边不要按文件路径来修改! 要按我提供的bcd来。  详情 回复 发表于 2024-12-6 10:11
回复

使用道具 举报

36#
发表于 2024-12-6 09:34:35 | 只看该作者
mygamexxx 发表于 2024-12-6 08:50
继续测试后,确定关键是禁用数字签名要打勾,成功启动PE。可以与BIOS用同一个bcd。第二次怎么不行了呢,WIM ...

我实机测试EFI模式下一直报错000000f(如#26图示),能否将bootmgfw.efi,g4e.efi,wimboot,bcd等文件打包上传下,感谢!

点评

实机测试成功。G4E使用最新20240901版,bcd按自己的WIM文件位置修改,关键是禁用数字签名要打勾,wimboot使用27#wintoflash的2.7.5修改版。g4e菜单按具体文件位置情况修改。  详情 回复 发表于 2024-12-6 09:56
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-4-3 18:46

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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