无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 129398|回复: 328
打印 上一主题 下一主题

[原创] NTBOOT & wimboot for UEFI GRUB2

    [复制链接]
1#
发表于 2019-11-20 22:56:08 | 显示全部楼层
本帖最后由 ksafei 于 2019-11-20 23:00 编辑

虚拟机测试可以,实体机还未成功,继续测试....

发现此版grubx64.efi不兼容wimboot方式启动wim了,是不是参数有变?
loopback wimboot /boot/grub/wimboot.gz
wimboot @:bootmgfw.efi:(wimboot)/bootmgfw.efi @:bcd:(wimboot)/bcd @:boot.sdi:(wimboot)/boot.sdi @:boot.wim:/test/test.wim

点评

我这边可以啊  详情 回复 发表于 2019-11-21 07:59
回复

使用道具 举报

2#
发表于 2019-11-22 14:12:42 | 显示全部楼层

我这里的测试结果:
1.如采用绕过UEFI安全启动,然后用 chainloader /efi/boot/grubx64.efi引导 则ntboot和wimboot均报错;
2.如关闭安全启动,将grubx64.efi 改为 bootx64.efi 引导,则ntboot和wimboot正常;
3.wimboot 如用loopback wimboot /boot/grub/wimboot.gz  
                       ........     (报错)
如下方式则正常:
wimboot @:bootmgfw.efi:"${prefix}"/wimboot/bootmgfw.efi \
                        @:bcd:"${prefix}"/wimboot/bcd \
                        @:boot.sdi:"${prefix}"/wimboot/boot.sdi \
                        @:boot.wim:"${wimroot}"$2
4.用11.21版文件管理器生成的grubfmx64.efi,在安全启动和关闭两种模式使用 ntboot和wimboot引导wim均报错

或许是我使用不当产生错误,还请wintoflash大指点

点评

这一段没太看懂,能详细些吗?  详情 回复 发表于 2019-11-22 15:09
回复

使用道具 举报

3#
发表于 2019-11-22 17:20:22 | 显示全部楼层
本帖最后由 ksafei 于 2019-11-22 17:35 编辑
wintoflash 发表于 2019-11-22 15:09
这一段没太看懂,能详细些吗?

一、UEFI安全模式启动,ntboot和wimboot均报错
1.ntboot报错如下:



2.wimboot报错如下:

菜单a:
loopback wimboot /boot/grub/wimboot.gz
wimboot @:bootmgfw.efi:(wimboot)/bootmgfw.efi @:bcd:(wimboot)/bcd @:boot.sdi:(wimboot)/boot.sdi @:boot.wim:"${wimroot}"$2




菜单b:
wimboot @:bootmgfw.efi:"${prefix}"/wimboot/bootmgfw.efi \
   @:bcd:"${prefix}"/wimboot/bcd \
   @:boot.sdi:"${prefix}"/wimboot/boot.sdi \
   @:boot.wim:"${wimroot}"$2



二、关闭安全模式
将grubx64.efi 改名为 bootx64.efi 引导启动

1.ntboot正常

2.wimboot
(1)菜单a BCD报错同上
(2)菜单b 正常

回复

使用道具 举报

4#
发表于 2019-11-22 17:26:53 | 显示全部楼层
通过以上测试对新的 grubx64.efi 有如下疑惑:
一是好像不支持安全启动模式 ;
二是对 loopback wimboot /boot/grub/wimboot.gz 语句好像不支持了

点评

loopback的那个图,你按回车试试?  详情 回复 发表于 2019-11-22 17:34
回复

使用道具 举报

5#
发表于 2019-11-22 17:37:53 | 显示全部楼层
wintoflash 发表于 2019-11-22 17:34
loopback的那个图,你按回车试试?

按回车显示如下图:


点评

我这里loopback没问题。 关于安全启动,暂时放弃吧。微软搞事情,证书失效,我也没办法。  详情 回复 发表于 2019-11-22 18:56
回复

使用道具 举报

6#
发表于 2019-11-22 20:33:46 | 显示全部楼层
wintoflash 发表于 2019-11-22 18:56
我这里loopback没问题。
关于安全启动,暂时放弃吧。微软搞事情,证书失效,我也没办法。

明白。wimboot、map和ntboot等模块是对grub2的创新和发展,感谢wintoflash大的辛苦付出和分享。期待有更多更好的成果
回复

使用道具 举报

7#
发表于 2020-3-3 21:06:18 | 显示全部楼层
本帖最后由 ksafei 于 2020-3-3 21:47 编辑
wintoflash 发表于 2020-3-3 20:48
现在安全启动下 NTBOOT/wimboot 也不会报错了。

好消息,惊喜连连!
W大,麻烦再给个生成的grubfmx吧,我在windows下生成的运行后总有一些类型的文件图标显示为空,谢谢!
回复

使用道具 举报

8#
发表于 2020-5-19 02:39:38 | 显示全部楼层
本帖最后由 ksafei 于 2020-5-19 03:50 编辑

反馈:NTBOOT与CrScreenshotDxe.efi真有莫名联系?!

本人电脑thinkpad E440,UEFI安全模式下,菜单中ntboot启动fat32分区的wim PE正常,而引导gpt分区表NTFS分区的wim则一直报错(见下图),但grubfmx中的“Boot NT6.x WIM (NTBOOT)”却能正常启动。

  近期在测试grubfmx 7.0b4和7.1.2版时发现因更新删除了  “ CrScreenshotDxe.efi”  ntboot引导也会报同样的错误(有反馈过),于是猜想ntboot是不是和CrScreenshotDxe.efi有关联,试着在grubfmx中补回“ efiload ${prefix}/CrScreenshotDxe.efi” 语句,在我的菜单中也加入一行 “ efiload /efi/boot/CrScreenshotDxe.efi”再“ntboot --efi=(wimboot)/bootmgfw.efi --sdi=(wimboot)/boot.sdi ${grub_file}”结果全部成功引导启动。

疑惑:CrScreenshotDxe.efi与安全启动确实没有直接关系,但通过启动菜单和grubfmx的测试又证明ntboot和
CrScreenshotDxe.efi有着莫名的关联,是本机的个案吗?请W大查验,也请其他坛友测试
------------------------------
进一步测试:同为ntfs分区,ntboot引导,启动U盘ntfs分区中的wim启动正常,gpt分区表ntfs分区的wim必须加 CrScreenshotDxe.efi 才行,猜想CrScreenshotDxe.efi是不是跟gpt分区表有关


点评

CrScreenshot.efi 只是个截屏软件。 你下载最新版 grub2,执行 efi_connect_all 试试。  详情 回复 发表于 2020-5-19 08:11
回复

使用道具 举报

9#
发表于 2020-5-19 09:50:47 | 显示全部楼层
wintoflash 发表于 2020-5-19 08:11
CrScreenshot.efi 只是个截屏软件。
你下载最新版 grub2,执行 efi_connect_all 试试。

删除 CrScreenshotDxe.efi 语句,添加 efi_connect_all ,ntboot引导可以正常启动了。感谢W大!

点评

试试最新版grub2,不用 efi_connect_all ,会不会报这个错。 去年11月4日的 commit 修复了一个可能和这个相关的问题。 https://github.com/a1ive/grub/commit/f9761214f93c3400ea13d95fe79b4af608976394#diff-b67e  详情 回复 发表于 2021-1-16 15:33
估计你电脑 UEFI 固件的磁盘驱动有点问题。  详情 回复 发表于 2020-5-19 10:24
回复

使用道具 举报

10#
发表于 2020-5-19 10:45:22 | 显示全部楼层
wintoflash 发表于 2020-5-19 10:24
估计你电脑 UEFI 固件的磁盘驱动有点问题。

此机BIOS已刷官网最新版本(2018-10),还有其他解决方法吗

点评

那没办法,只能每次进grub2都运行一次。如果你用的是grub2-filemanager,可以在某分区下新建文件夹boot,在boot下新建文件夹grubfm,在 /boot/grubfm下创建文件config。 把 efi_connect_all 写到config里面。 grub  详情 回复 发表于 2020-5-19 11:14
回复

使用道具 举报

11#
发表于 2020-5-19 11:49:19 | 显示全部楼层
wintoflash 发表于 2020-5-19 11:14
那没办法,只能每次进grub2都运行一次。如果你用的是grub2-filemanager,可以在某分区下新建文件夹boot, ...

按此操作,grubfm7.2.0测试还是会报错,麻烦看下是我哪个步骤操作不对

点评

7.2.0还没有这个命令。你需要自己构建最新版的。  详情 回复 发表于 2020-5-19 12:12
回复

使用道具 举报

12#
发表于 2020-5-19 12:27:16 | 显示全部楼层
wintoflash 发表于 2020-5-19 12:12
7.2.0还没有这个命令。你需要自己构建最新版的。

测试grubfm0518版本启动正常了,谢谢!
回复

使用道具 举报

13#
发表于 2020-6-11 00:15:20 | 显示全部楼层
本帖最后由 ksafei 于 2020-6-11 01:07 编辑
wintoflash 发表于 2020-6-10 20:49
重写了读文件方面的函数,现在 wimboot 的加载速度应该和 ntboot 差不多了。

感觉新的wimboot速度是有提高
有个小建议:
“从 ISO 启动winpe” 项启动PE 后会固定Y盘挂载ISO 镜像,而h3pe、usbos等PE默认将Y盘作为挂载软件虚拟盘,这样就造成此类PE 启动后因Y盘被占而无法挂载软件,建议分配盘符后顺延末盘符(第一个可用盘符)挂载镜像以免造成冲突

点评

但是有的PE只认挂载到Y盘的ISO  详情 回复 发表于 2020-6-11 08:15
回复

使用道具 举报

14#
发表于 2020-6-30 22:27:59 | 显示全部楼层
本帖最后由 ksafei 于 2020-6-30 22:40 编辑

@nf17b 大神对BCD的研究比较透彻,希望能看到,也许会有帮助
回复

使用道具 举报

15#
发表于 2020-7-1 21:04:50 | 显示全部楼层
wintoflash 发表于 2020-7-1 19:22
研究了半天还是没搞懂怎么弄 VHD 的 RamOS。发一下测试版本。

功能加强版,太好了!尤其是--highest 这个参数一直很期待,在UEFI安全启动时很有用

点评

这个现在默认是启用的。  详情 回复 发表于 2020-7-1 21:21
回复

使用道具 举报

16#
发表于 2020-7-1 22:08:07 | 显示全部楼层
wintoflash 发表于 2020-7-1 21:21
这个现在默认是启用的。

测试了ntboot wim功能,正常,以前 UEFI安全启动时分辨率低的问题也解决了,感谢!
回复

使用道具 举报

17#
发表于 2020-7-4 20:15:45 | 显示全部楼层
wintoflash 发表于 2020-7-4 19:28
测试版本

现在 wimboot 和 ntboot 模块在 Legacy BIOS 下也可用了。

功能又增强了,大赞!
回复

使用道具 举报

18#
发表于 2020-7-8 12:54:51 | 显示全部楼层

把配置文件编码改为UTF-8 BOM试下

点评

GRUB2 不支持 UTF-8 BOM。  详情 回复 发表于 2020-7-8 18:29
确实如此。  发表于 2020-7-8 13:43
回复

使用道具 举报

19#
发表于 2020-7-8 21:44:12 | 显示全部楼层
wintoflash 发表于 2020-7-8 18:29
GRUB2 不支持 UTF-8 BOM。

哈哈,我的电脑不改UTF-8 BOM就黑屏,实属无奈
不过,刚试了最新版用UTF-8现在显示正常了
回复

使用道具 举报

20#
发表于 2021-1-16 18:20:49 | 显示全部楼层
wintoflash 发表于 2021-1-16 15:33
试试最新版grub2,不用 efi_connect_all ,会不会报这个错。
去年11月4日的 commit 修复了一个可能和这 ...

试了最新版grub2,不用 efi_connect_all NTBOOT 还是会报错。感谢W大还惦记着这个小问题

点评

在 USBOS 的帖子下面讨论 grubfm 对楼主不太礼貌,因此我在自己的帖子里面做一些说明。 修改 boot/grubfm/rules/iso/winpe.lua 这个文件,在开头的 "winpe_wim_list " 这个表里面加上 USBOS 里面 WIM 的路径,就可  详情 回复 发表于 2021-10-20 11:40
回复

使用道具 举报

21#
发表于 2021-10-20 12:34:38 | 显示全部楼层
wintoflash 发表于 2021-10-20 11:40
在 USBOS 的帖子下面讨论 grubfm 对楼主不太礼貌,因此我在自己的帖子里面做一些说明。
修改 boot/grubf ...

非常感谢wintoflash大指点,学习了!
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-19 16:49

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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