无忧启动论坛

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

[分享] 4.20 小更新 GRUB2 引导WINPE 的几种菜单写法(合适新手教程)

    [复制链接]
跳转到指定楼层
1#
发表于 2020-4-19 18:13:47 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 bet365 于 2020-4-20 23:40 编辑

能用GRUB2 引导基本都是UEFI+GPT磁盘格式的,如果是MBR的 使用  GRUB4DOS (4) 引导
GRUB2  引导 WINPE 的几种方法。

第一种:相同的文件,建立不同的文件夹引导WINPE
在ESP分区,建立WINPE文件夹,然后在这个文件夹下面分别建立不同的PE文件夹,你有几个就建几个。
然后每个文件夹,使用两个文件,BCD和bootmgfw.efi,编辑BCD文件指向PE.WIM 文件。
BCD和bootmgfw.efi 复制 原生的 WIN10或者WIN8 系统的 在 C:\Windows\Boot\EFI 下面。
PE.WIM 可以放在其他分区的目录下。BCD文件名不能改,WIN10或者WIN8 的 bootmgfw.efi 优先引导同目录下的BCD文件,注意不能用WIN7的bootmgfw.efi。WIM启动需要 boot.sdi 这个文件,你可以在ESP分区建立 boot文件夹,boot.sdi 放在这个文件夹下面,以后全部都是利用这个
目录来调用WIM文件。boot.sdi 文件在 C:\Windows\Boot\DVD\EFI 可以找到。

GRUB2菜单写法:
menuentry "【6】Windows 10 PE "  --class windows --class os{
chainloader  ($root)/EFI/Microsoft/BootWinPE/WEPE/bootmgfw.efi
}

menuentry "【7】Windows 10 PE "  --class windows --class os{
chainloader  ($root)/EFI/Microsoft/BootWinPE/8pe/bootmgfw.efi
}

menuentry "【8】Windows 10 PE "  --class windows --class os{
chainloader  ($root)/EFI/Microsoft/BootWinPE/10pe/bootmgfw.efi
}

这种方法优点是:文件都是原生的,能够通过安全启动,纯正,利于管理。如果你用ubuntu的grubx64.efi 这是经过微软数字签名的。
缺点是:有几个PE 就建几个文件夹,还要复制两个文件到不同的文件夹,文件夹和文件多。


第二种
同一个文件夹放置不同的编译过的EFI文件,引导不同的BCD文件
如图:
USM.efi w64.efi wre.efi 可以任意改名,因为这是已经编译过的bootmgfw.efi 的变种EFI文件,他只会分别引导自己的BCD文件 USM W64 WRE
所以USM W64 WRE BCD文件名就不能改名。
GRUB2菜单写法:
menuentry "【7】WEPE2.0 "  --class windows --class os{
chainloader  ($root)/EFI/Microsoft/BootWinPE/wre.efi
}

menuentry "【7】WEPE2.0 "  --class windows --class os{
chainloader  ($root)/EFI/Microsoft/BootWinPE/USM.efi
}

menuentry "【7】WEPE2.0 "  --class windows --class os{
chainloader  ($root)/EFI/Microsoft/BootWinPE/wre.efi
}

USM BCD 如图



优点:所有的WINPE引导都在一个文件夹下面,利于管理,且分辨率不会失真。
缺点:1 文件的数量和第一种差不多,不过毕竟编译过的,不能通过安全启动,当然现在我们基本都会关闭安全启动。
          2 编译过的文件要到处去找,当然如果你自己动手会编译就不是问题。
目前我是用过这种方式引导的。
第三种 利用NTBOOT模块引导WINPE
使用NTBOOT模块的前提是 要定制多系统引导器 GRUB2.EFI 这个文件。至于如何在WINDOWS下定制属于自己的 GRUB2.EFI 文件有空
我再开贴写个教程与大家分享,跟论坛大多数的教程不太一样,经过自己实战感觉还有改进的地方。基本都是源于 wintoflash 大的 GRUB2 来制作。
NTBOOT模块教程,本版块置顶处有。NTBOOT模块的文件名是 ntboot.mod
GRUB2 NTBOOT模块 菜单写法:
menuentry "【2】Windows 10 PE" --class fedora --class os{
ntboot -w --gui (hd0,7)/WINPE/WEPE_64_20200419.WIM
}

menuentry "【2】Windows 10 PE" --class fedora --class os{
ntboot -w --gui (hd0,7)/WINPE/WINPE10.WIM
}
menuentry "【2】Windows 10 PE" --class fedora --class os{
ntboot -w --gui (hd0,7)/WINPE/WEPE.WIM
}

(hd0,7) 代表你放WINPE文件所在的分区, 至于如何看这个分区的序号,可以打开DISKGENIUS 软件
如图

看序号0-6,但是这是WINDOWS下的序号,而GURB2下面的序号要从1开始算,也就是ESP分区序号
你要写的话就是(hd0,1),而我放在办公这个分区,WINDOWS下面序号是6,GURB2 菜单下面分区识别号
就是(hd0,7)从ESP 开始 1开始算往下数。
WEPE.WIM 代表PE的文件名 ,我WIM文件都是放在WINPE文件夹下面,所以就直接这样写。
-w 代表引导的是WIM文件,换-V表示 引导的是VHD文件 -GUI 表示是否图形显示,不加这个有时候会错乱。
优点:优点是显而易见的,比起前面两种,只要一个命令就能分别引导不同的WINPE,
缺点:通过Ntboot模块启动的WIM文件,分辨率会失真,因为经过了二次循环。这是目前最大的问题,希望W大能够解决这个问题,造福我等GRUB2爱好者。
第四种 利用WIMBOOT模块引导WINPE
使用wimboot模块的跟NTBOOT模块原理教程差不多
先在ESP分区GRUB2安装目录建立WIMBOOT目录,放几个文件,如图

GRUB2 WIMBOOT模块 菜单写法:
menuentry "【5】微PE工具箱_Win10X64_维护增强版" --class windows --class os{
                        wimboot @:bootmgfw.efi:$prefix/wimboot/bootmgfw.efi \
                        @:bcd:$prefix/wimboot/bcd \
                        @:boot.sdi:$prefix/wimboot/boot.sdi \
                        @:boot.wim:(hd0,7)/WINPE/WEPE_64_20200419.WIM
}
menuentry "【5】微PE工具箱_Win10X64_维护增强版" --class windows --class os{
                        wimboot @:bootmgfw.efi:$prefix/wimboot/bootmgfw.efi \
                        @:bcd:$prefix/wimboot/bcd \
                        @:boot.sdi:$prefix/wimboot/boot.sdi \
                        @:boot.wim:(hd0,7)/WINPE/WEPE.WIM
}
menuentry "【5】微PE工具箱_Win10X64_维护增强版" --class windows --class os{
                        wimboot @:bootmgfw.efi:$prefix/wimboot/bootmgfw.efi \
                        @:bcd:$prefix/wimboot/bcd \
                        @:boot.sdi:$prefix/wimboot/boot.sdi \
                        @:boot.wim:(hd0,7)/WINPE/10PE.WIM
}

改下最后一行WIM的文件所在位置就可以,其他上面不用改动,$prefix 代表GRUB2安装目录
优缺点跟NTBOOT模块一样,就不多说了。分辨率也会失真,命令行还比NTBOOT模块多了很多,所以基本不用。
由于NTBOOT模块会让WIM文件的分辨率失真,所以目前使用第二种来引导WINPE,而利用NTBOOT模块引导
正常的WIN系统和VHD文件则不存在分别率失真这个问题。
2020.4.20 小更新  在W大的指导下,解决了WIMBOOT模块分辨率失真的问题,就是修改WIMBOOT 文件夹下面那个BCD 文件,来达到解决分辨率失真的问题。
具体方法如下,用BOOTICE 打开 BCD 如图 在WINPE 那栏 新增参数 GraphicsForceHighestMode  参数值为 TRUE 。这样能完美解决分辨率的问题

当然是用WIMBOOT模块,开启启动的界面实在难看,会跳出很多条命令,不美观,这点不如NTBOOT模块

第五种 利用RUN命令启动WINPE
参考自hilsonma 大侠的,有空自己试验下,再跟大家分享。
以上是我已知的几种GRUB2 引导WINPE的几种写法。当然希望大家还有更好更完善的方案来改进补充,以便让GRUB2变得更加强大
本人是多系统的爱好者,GRUB2是非常厉害的多系统引导器,当然还有XORBOOT,有空也写个XORBOOT菜单多系统引导教程与大家分享。
最后写教程真的是吃力不讨好的事情,真累啊,但是我希望能够跟大家交流,独乐乐不如众乐乐。希望大家点个赞,以资鼓励。最后分享一下
我自己实机的多系统的GRUB2引导的画面,老人家不怎么会截图,只能用虚拟机截图哈














5.png (33.12 KB, 下载次数: 375)

5.png

评分

参与人数 4无忧币 +16 收起 理由
wuxin9712 + 5
jack612 + 1 很给力!
wawakuliao + 5 赞一个!
paulan + 5 很给力!

查看全部评分

45#
发表于 2024-9-17 22:15:39 | 只看该作者
牛逼克拉斯
回复

使用道具 举报

44#
发表于 2024-4-26 09:35:00 | 只看该作者
感谢楼主分享。。。。。。。。
回复

使用道具 举报

43#
发表于 2024-4-26 08:19:03 | 只看该作者

感谢楼主分享。。。。。。
回复

使用道具 举报

42#
发表于 2024-2-23 20:15:39 | 只看该作者
多谢分享!!!
回复

使用道具 举报

41#
发表于 2024-2-9 21:12:08 | 只看该作者
感谢楼主分享
回复

使用道具 举报

40#
发表于 2023-9-28 11:48:39 | 只看该作者
我一直用第一种方法,简单明了
回复

使用道具 举报

39#
发表于 2023-9-21 15:52:03 | 只看该作者
感谢分享
回复

使用道具 举报

38#
发表于 2023-8-30 09:39:02 | 只看该作者
大佬用的模拟启动的软件是什么。
回复

使用道具 举报

37#
发表于 2023-8-18 10:37:25 | 只看该作者

希望老大分享NTBOOT模块教程使用命令
回复

使用道具 举报

36#
发表于 2023-1-27 04:41:14 | 只看该作者
有成品下载吗
回复

使用道具 举报

35#
发表于 2021-11-25 10:20:13 | 只看该作者
好菜不怕香
回复

使用道具 举报

34#
发表于 2021-11-19 21:38:54 | 只看该作者
谢谢楼主的分享
回复

使用道具 举报

33#
发表于 2020-11-22 12:26:30 | 只看该作者
建议使用ntboot,有特殊要求就使用wimboot.
我的run命令其实就是查找+启动
对于wim和vhd来说就是 search+ntboot
回复

使用道具 举报

32#
发表于 2020-11-21 17:36:23 来自手机 | 只看该作者
可以分享成品吗?
回复

使用道具 举报

31#
发表于 2020-11-5 11:37:39 | 只看该作者
一堆大神,解决了我的问题  非常感谢
回复

使用道具 举报

30#
发表于 2020-7-21 21:49:45 | 只看该作者
本帖最后由 2011whp 于 2020-11-23 16:32 编辑

i386-pc版的有什么其它好的办法启动winpe


回复

使用道具 举报

29#
发表于 2020-7-18 08:07:07 | 只看该作者
        很给力!
回复

使用道具 举报

28#
发表于 2020-5-30 11:19:35 | 只看该作者
老大,那个是可以在 bios模式下引导的winpe方案,想grub2在经典bios下引导到32位pe,以支持老机型。只搜到来的 偷用syslinux memdisk的办法,但是除了慢 还经常莫名其妙的死机。
回复

使用道具 举报

27#
发表于 2020-4-24 07:28:33 | 只看该作者
一个run.efi解决所有windows启动,已经主用这种方式了
回复

使用道具 举报

26#
发表于 2020-4-24 06:46:56 | 只看该作者
感谢分享
回复

使用道具 举报

25#
 楼主| 发表于 2020-4-21 23:40:00 | 只看该作者
hilsonma 发表于 2020-4-21 10:29
其他人的情况我不清楚,也不想去问。我不是开发者,也没有什么期望,只不过是觉得软件好用,基于分享精神 ...

感谢兄弟的耐心答复,看得出你是个热心人。我昨天看了你的RUN模块,也是调用了NTBOOT模块,也试过了换成你的BCD和bootmgfw.efi 文件,和W大贴子的win7的BCD和bootmgfw.efi 都无法解决。也许是个个案吧,算了,不折腾了。
回复

使用道具 举报

24#
 楼主| 发表于 2020-4-21 23:35:56 | 只看该作者
wintoflash 发表于 2020-4-21 10:23
NTBOOT的BCD是特制的 (chenall制作的),我并不会修改。
所以我一般建议用 wimboot。

我昨天看了你的NTboot模块,估计是修改了BCD的原因了,感谢你的答复。可能有的机子会出现这样的问题
回复

使用道具 举报

23#
发表于 2020-4-21 10:29:57 | 只看该作者
bet365 发表于 2020-4-20 23:24
兄弟你好,感谢你的回复。用你的方法试验过了,注译掉了 风格 分辨率 等 全部都无效。应该不是这里的问题 ...

其他人的情况我不清楚,也不想去问。我不是开发者,也没有什么期望,只不过是觉得软件好用,基于分享精神,分享一下自己的使用情况。我在这个论坛学到了得到了还在学还在索取,所以力所能及的情况下分享一下,交流一下。超出自己水平或太费心的,我也做不到了。

我对你分辨率问题的回应,不是质疑你的问题,也不是表示ntboot没有问题,只不过是让你和wintoflash知道我的使用情况,期望有助于你们。

关于run命令:
1. 不是需要run.efi 是需要run.cfg 这个贴子有详细说明 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=418198
2. 是在grub.cfg中加载,source $prefix/run/run.cfg 简写成 . $prefix/run/run.cfg
3. 菜单是写在grub.cfg。run.cfg是一个函数文件,你就当它是一个模块文件也可以,只不过加载方法不同。
是的,只要在grub.cfg中使用source命令加载了run.cfg,就可以使用run命令来启动vhd/wim/iso/efi/cfg等。
我不知道grub2爱好者群。

点评

感谢兄弟的耐心答复,看得出你是个热心人。我昨天看了你的RUN模块,也是调用了NTBOOT模块,也试过了换成你的BCD和bootmgfw.efi 文件,和W大贴子的win7的BCD和bootmgfw.efi 都无法解决。也许是个个案吧,算了,不折腾  详情 回复 发表于 2020-4-21 23:40
回复

使用道具 举报

22#
发表于 2020-4-21 10:23:50 | 只看该作者
bet365 发表于 2020-4-20 23:12
W大,你好,感谢你又解决了WIMBOOT模块分辨率的问题,用你的方法,就是更改WIMBOOT 下面的BCD 加了这条启 ...

NTBOOT的BCD是特制的 (chenall制作的),我并不会修改。
所以我一般建议用 wimboot。

点评

我昨天看了你的NTboot模块,估计是修改了BCD的原因了,感谢你的答复。可能有的机子会出现这样的问题  详情 回复 发表于 2020-4-21 23:35
回复

使用道具 举报

21#
发表于 2020-4-21 09:57:34 | 只看该作者
bet365 发表于 2020-4-20 23:27
还有我的电脑分辨率是 1366X768,用NTBOOT模块 进入PE分辨率就只有 800X600,没有使用NTBOOT模块都正常, ...

我的电脑分辨率是1920*1080,家里有一台是1440*900.

不知道会不会有可能是pe的问题,或者你也可以试试我使用的pe:https://c-t.work/s/09a20c15baee4b

回复

使用道具 举报

20#
 楼主| 发表于 2020-4-20 23:27:51 | 只看该作者
bet365 发表于 2020-4-20 01:39
兄弟你好,知道你也是GRUB2的爱好者,因为在虚拟机或者Qemu启动测试器 下 不存在这个问题,因为虚拟机的 ...

还有我的电脑分辨率是 1366X768,用NTBOOT模块 进入PE分辨率就只有 800X600,没有使用NTBOOT模块都正常,你的电脑分辨率是多少?

点评

我的电脑分辨率是1920*1080,家里有一台是1440*900. 不知道会不会有可能是pe的问题,或者你也可以试试我使用的pe:https://c-t.work/s/09a20c15baee4b  详情 回复 发表于 2020-4-21 09:57
回复

使用道具 举报

19#
 楼主| 发表于 2020-4-20 23:26:04 | 只看该作者
谢谢PAULAN
回复

使用道具 举报

18#
 楼主| 发表于 2020-4-20 23:25:18 | 只看该作者
brook 发表于 2020-4-20 09:25
楼主好帖,作为小白也爱好GRUB2,想学学,就学学简单的菜单配置等,能用在PE里或者本地多引导就行了。

谢谢朋友
回复

使用道具 举报

17#
 楼主| 发表于 2020-4-20 23:24:07 | 只看该作者

兄弟你好,感谢你的回复。用你的方法试验过了,注译掉了 风格 分辨率 等 全部都无效。应该不是这里的问题,我不知道其他人使用NTBOOT模块是否也存在我这样的分辨率的问题,希望你也询问下其他的人的情况。
另外一直不理解你这个RUN命令的使用方法,帖子我很早就看过了,但是不得要领
几个问题:1 需要使用RUN.EFI文件吗?
                2 RUN.CFG 是加载在 GRUB.CFG 菜单里面吗?就像你帖子的那样
               3  那如果RUN.CFG加载在GRUB.CFG 里面,那么菜单是写在RUN.CFG里面 还是写在GRUB.CFG 里面
我今天看了你的截图,按我的理解是否在GRUB.CFG 加载这个 RUN.CFG ,就可以使用RUN命令来启动 VHD WIM等。
最后有没有GRUB2爱好者群啊

点评

其他人的情况我不清楚,也不想去问。我不是开发者,也没有什么期望,只不过是觉得软件好用,基于分享精神,分享一下自己的使用情况。我在这个论坛学到了得到了还在学还在索取,所以力所能及的情况下分享一下,交流一  详情 回复 发表于 2020-4-21 10:29
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-13 06:36

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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