无忧启动论坛

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

[教程] 巧用Grub2文件管理器配置grub2菜单启动wim、vhd、ISO

  [复制链接]
发表于 2020-7-9 19:57:52 | 显示全部楼层 |阅读模式
本帖最后由 王乐2518 于 2020-7-9 19:57 编辑

小白一只,第一次发帖。
请重点看第一句话,对于grub2的命令我是完全不懂的,小白一只,希望大神勿喷。首先说明一下我想法的诞生以及实践过程。
最近几个月才接触到grub2,论坛的资料不算少,当然也不算多,对于菜鸡入门还是不简单的,玩了几天慢慢就淡了,也就没在弄了。
最近上论坛看到一根葱大佬发布的几篇帖子,感觉极好,于是研究了一下,然后和wintoflash大佬请教了一下config文件的作用以及我想借此给grub2文件管理器加上一级grub2菜单的想法(从grub2进如grub2菜单易实现,此处非如此,而是借用了config文件,具体好处见下文),在大佬的帮助下,我成功实现了此功能,还收获了意外之喜,分享一下。
对于菜鸡来说Grub2的配置比grub4dos不是难了一截,从efi文件生成到cfg的书写,模块的调用、主题的配置个个都不是简单的。
但是grub2文件管理器却是功能强大,拿来即用,模块和主题也很完善,稍加修改就是极好的grub2菜单文件。(这里可能有人问为啥不直接用grub2文件管理器呢,加啥菜单。回答这个问题,这是我的一个群友认为grub2文件管理器还要找wim或者vhd,不直接不方便)。好了要说的说完了上文件。

根据大佬的讲解,config文件主要是为了调用自定义设置如分辨率和语言,grub2文件管理器会自动搜索全部盘符下的/boot/grubfm/config然后执行,执行后跳回到grub2文件管理器,所以可以在其中指向其他的cfg文件也就是grub2文件管理器的上级grub2菜单。这种情况下用的主题是grub2文件管理器的主题免除配置的烦恼,grub2直接用。这样配置好的grub2对于64位efi文件来说只有bootx64.efi(grubfmx64.efi改名而来),config和grub.cfg三个文件。

大家都知道,不管是grub4dos还是grub2,都不能空手直接启动wim或者系统,而是需要借助启动微软的efi进而启动系统,所以加了grub2文件管理器再配置grub2的菜单不是很麻烦吗?因此,我就想直接用grub2文件管理器的环境配置grub2,这样只需要这三个文件就可以启动任意wim、vhd、以及ISO文件。

此处我共试验了三种方法:
第一种,仅使用grub2文件管理器的模块,这是我最早想到的方法:

menuentry "启动winPE" --class wim {
search -f /boot/win10.wim -s root;
loopback wimboot ${prefix}/wimboot.gz;
wimboot @:bootmgfw.efi:(wimboot)/bootmgfw.efi \
          @:bcd:(wimboot)/bcd \
          @:boot.sdi:(wimboot)/boot.sdi \
          @:boot.wim:($root)/boot/win10.wim \


第二种,调用grub2的sh文件,这是第二个想到的方法,启动方式仅有一种,实验成功

menuentry "启动winPE" --class wim {
search -f /boot/win10.wim -s root;
set grubfm_file=($root)/boot/win10.wim
configfile ${prefix}/rules/wim/wimboot.sh
}


第三种是我翻阅和wintoflash大佬的聊天记录过程中发现的,应该是最好的,但是我不会代码,有点缺陷,希望大佬斧正:
(在聊天过程中大佬说,grubfm /xxx可以跳到指定的目录,grubfm_open /xxx.wim可以跳到指定的打开方式)
menuentry "启动winPE" --class wim {
search -f /boot/win10.wim -s root;
grubfm_open ($root)/boot/win10.wim
}

我是个菜鸡,只有这些水平了,剩下的就靠大佬们完善了,如果可以这样配置grub2,那就可以非常便利了。最后传上我做的第二个的附件,直接解压放入fat分区即可。上一张图: {63B2}UTKPGT3QVGZGNO56X.jpg

权限问题无法传大附件,下载链接:https://wwa.lanzous.com/iZzHeegmqsb



评分

参与人数 3无忧币 +15 收起 理由
cuicongyuan + 5 赞一个!
edison_2008 + 5 用心了,值得表扬
某些人 + 5 赞一个!

查看全部评分

发表于 2020-7-9 20:57:40 | 显示全部楼层
支持一下

点评

请教W大,使用grubfm,EFI环境下可以自定义主题及菜单,成功加载;BIOS环境试图加载自定义主题及菜单,加载自定义主题及菜单失败。BIOS环境下,U盘UD区成功加载grubfm.iso并进入界面,如何加载自定义主题及菜单呢?  详情 回复 发表于 2022-1-22 19:15
回复

使用道具 举报

发表于 2020-7-9 23:11:17 | 显示全部楼层
很好很用心的技术贴,看起来非常方便,感谢分享!
回复

使用道具 举报

发表于 2020-7-10 10:10:19 | 显示全部楼层
支持一下
回复

使用道具 举报

发表于 2020-7-11 09:00:36 | 显示全部楼层
真是不錯的想法
回复

使用道具 举报

发表于 2020-7-13 14:29:12 来自手机 | 显示全部楼层
请问,grubfm ,对 mbr efi 都支持吗

点评

下好的grubfm有四个文件,两个efi,一个iso一个loadfm的文件,两个efi分别是64位和32位,改名后可以直接用,iso需要用其他的启动方式调用或者loadfm调用,我发的只是64位efi的,32位和这个一样,传统启动的没实验,  详情 回复 发表于 2020-7-14 17:49
回复

使用道具 举报

发表于 2020-7-13 16:58:31 | 显示全部楼层
挺有趣的
回复

使用道具 举报

 楼主| 发表于 2020-7-14 17:49:28 | 显示全部楼层
newswan 发表于 2020-7-13 14:29
请问,grubfm ,对 mbr efi 都支持吗

下好的grubfm有四个文件,两个efi,一个iso一个loadfm的文件,两个efi分别是64位和32位,改名后可以直接用,iso需要用其他的启动方式调用或者loadfm调用,我发的只是64位efi的,32位和这个一样,传统启动的没实验,不过传统启动还是grub4dos用的比较多

点评

谢谢,有空了试一下,如果 grub2 能完全代替 grub4dos 简单一些。  详情 回复 发表于 2020-7-15 10:53
回复

使用道具 举报

发表于 2020-7-15 10:53:23 | 显示全部楼层
王乐2518 发表于 2020-7-14 17:49
下好的grubfm有四个文件,两个efi,一个iso一个loadfm的文件,两个efi分别是64位和32位,改名后可以直接 ...

谢谢,有空了试一下,如果 grub2 能完全代替 grub4dos 简单一些。
回复

使用道具 举报

发表于 2020-8-23 21:50:49 | 显示全部楼层
这个模板本身就可以启动吗? 用什么方式写入U盘呢?

点评

efi启动识别fat分区的efi文件,只要文件对,路径对放进去就行,不需要什么写入方式  详情 回复 发表于 2020-8-24 11:18
回复

使用道具 举报

 楼主| 发表于 2020-8-24 11:18:46 | 显示全部楼层
artour 发表于 2020-8-23 21:50
这个模板本身就可以启动吗? 用什么方式写入U盘呢?

efi启动识别fat分区的efi文件,只要文件对,路径对放进去就行,不需要什么写入方式

点评

U盘主引导记录都不管吗? 你说的比较太笼统,我现在还很迷糊, 我就想把grub2文件管理器放在启动菜单项上,你说的只有文件对,是不是还得修改文件才行啊?能不能具体说下修改文件哪里?不然在BISO下引导时,肯定会说  详情 回复 发表于 2020-8-24 16:00
回复

使用道具 举报

发表于 2020-8-24 16:00:31 | 显示全部楼层
王乐2518 发表于 2020-8-24 11:18
efi启动识别fat分区的efi文件,只要文件对,路径对放进去就行,不需要什么写入方式

U盘主引导记录都不管吗? 你说的比较太笼统,我现在还很迷糊, 我就想把grub2文件管理器放在启动菜单项上,你说的只有文件对,是不是还得修改文件才行啊?能不能具体说下修改文件哪里?不然在BISO下引导时,肯定会说找不到设备等错误

点评

解释几百句不如试一下,你找一个空U盘,格式化为fat32格式,然后下载我的附件,把efi文件夹复制过去,不要复制boot文件夹,uefi启动一看就知道了  详情 回复 发表于 2020-8-24 18:27
这里只有uefi启动的,对于bios传统启动并不适用,传统启动直接用grub4dos即可达到效果,这里是uefi启动的,uefi启动过程中不需要引导文件也不需要什么引导信息,对于64位机子电脑会自动查找\fat分区的efi\boot\bootx  详情 回复 发表于 2020-8-24 18:23
回复

使用道具 举报

 楼主| 发表于 2020-8-24 18:23:41 | 显示全部楼层
artour 发表于 2020-8-24 16:00
U盘主引导记录都不管吗? 你说的比较太笼统,我现在还很迷糊, 我就想把grub2文件管理器放在启动菜单项上 ...

这里只有uefi启动的,对于bios传统启动并不适用,传统启动直接用grub4dos即可达到效果,这里是uefi启动的,uefi启动过程中不需要引导文件也不需要什么引导信息,对于64位机子电脑会自动查找\fat分区的efi\boot\bootx64.efi 文件,然后启动它,你可以把bootx64.efi看作引导文件,什么主引导,分区引导在uefi启动过程中并不需要
回复

使用道具 举报

 楼主| 发表于 2020-8-24 18:27:04 | 显示全部楼层
artour 发表于 2020-8-24 16:00
U盘主引导记录都不管吗? 你说的比较太笼统,我现在还很迷糊, 我就想把grub2文件管理器放在启动菜单项上 ...

解释几百句不如试一下,你找一个空U盘,格式化为fat32格式,然后下载我的附件,把efi文件夹复制过去,不要复制boot文件夹,uefi启动一看就知道了

点评

刚试了,挺好。 不过发现你这个模板第一项不能启动本机windows,另外,说是带grub2 文件管理器功能的,怎么没有?  详情 回复 发表于 2020-8-24 20:48
回复

使用道具 举报

发表于 2020-8-24 20:48:58 | 显示全部楼层
王乐2518 发表于 2020-8-24 18:27
解释几百句不如试一下,你找一个空U盘,格式化为fat32格式,然后下载我的附件,把efi文件夹复制过去,不 ...

刚试了,挺好。
不过发现你这个模板第一项不能启动本机windows,另外,说是带grub2 文件管理器功能的,怎么没有?

点评

启动本机的没写,自己加吧,在这里grub2文件管理器就是bootx64.efi,bootx64.efi就是grub2文件管理器,不存在带不带的说法,是借grub2文件管理器来启动wim,我是加了grub2的选项的,如果没加那你按f2就行,最下面横  详情 回复 发表于 2020-8-25 10:09
回复

使用道具 举报

 楼主| 发表于 2020-8-25 10:09:12 | 显示全部楼层
artour 发表于 2020-8-24 20:48
刚试了,挺好。
不过发现你这个模板第一项不能启动本机windows,另外,说是带grub2 文件管理器功能的, ...

启动本机的没写,自己加吧,在这里grub2文件管理器就是bootx64.efi,bootx64.efi就是grub2文件管理器,不存在带不带的说法,是借grub2文件管理器来启动wim,我是加了grub2的选项的,如果没加那你按f2就行,最下面横着的一行,自己操作试试
回复

使用道具 举报

发表于 2020-9-6 11:52:22 来自手机 | 显示全部楼层
巧用Grub2文件管理器配置grub2菜单启动wim、vhd、ISO
回复

使用道具 举报

发表于 2021-12-8 18:03:28 | 显示全部楼层
链接打不开了
回复

使用道具 举报

发表于 2021-12-29 09:59:42 | 显示全部楼层

www.lanzoux.com/iZzHeegmqsb不知道什么原因导致的个别字母错误

点评

感谢!  发表于 2024-10-26 11:00

评分

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

查看全部评分

回复

使用道具 举报

发表于 2022-1-22 19:15:20 | 显示全部楼层

请教W大,使用grubfm,EFI环境下可以自定义主题及菜单,成功加载;BIOS环境试图加载自定义主题及菜单,加载自定义主题及菜单失败。BIOS环境下,U盘UD区成功加载grubfm.iso并进入界面,如何加载自定义主题及菜单呢?

点评

加载自定义菜单: config: configfile (hd0)/boot/grubfm/grub.cfg 加载自定义主题,你是怎么做的?  详情 回复 发表于 2022-11-7 08:18
你是怎么自定义主题及菜单并加载的?  详情 回复 发表于 2022-1-22 19:51
回复

使用道具 举报

发表于 2022-1-22 19:51:45 | 显示全部楼层
DILLION99 发表于 2022-1-22 19:15
请教W大,使用grubfm,EFI环境下可以自定义主题及菜单,成功加载;BIOS环境试图加载自定义主题及菜单,加 ...

你是怎么自定义主题及菜单并加载的?

点评

按照楼主UEFI说的方法定制,即通过config及grub.cfg定制,UEFI下可以实现,bios实现不了。  详情 回复 发表于 2022-1-23 02:27
回复

使用道具 举报

发表于 2022-1-23 02:27:41 | 显示全部楼层
wintoflash 发表于 2022-1-22 19:51
你是怎么自定义主题及菜单并加载的?

按照楼主UEFI说的方法定制,即通过config及grub.cfg定制,UEFI下可以实现,bios实现不了。

点评

config内容是什么? grub.cfg内容是什么? U盘分区结构是什么? config和grub.cfg位于什么分区?  详情 回复 发表于 2022-1-23 10:42
回复

使用道具 举报

发表于 2022-1-23 10:42:41 | 显示全部楼层
DILLION99 发表于 2022-1-23 02:27
按照楼主UEFI说的方法定制,即通过config及grub.cfg定制,UEFI下可以实现,bios实现不了。

config内容是什么?
grub.cfg内容是什么?
U盘分区结构是什么?
config和grub.cfg位于什么分区?

点评

谢谢分享  详情 回复 发表于 2022-1-31 08:16
回复

使用道具 举报

发表于 2022-1-24 17:33:17 来自手机 | 显示全部楼层
这个不错,灵活diy
回复

使用道具 举报

发表于 2022-1-25 10:43:16 来自手机 | 显示全部楼层
这个可以学习下
回复

使用道具 举报

发表于 2022-1-31 08:16:53 | 显示全部楼层
wintoflash 发表于 2022-1-23 10:42
config内容是什么?
grub.cfg内容是什么?
U盘分区结构是什么?

谢谢分享
回复

使用道具 举报

发表于 2022-5-2 08:48:19 | 显示全部楼层
很好的学习环境。谢谢。
回复

使用道具 举报

发表于 2022-5-19 22:19:24 | 显示全部楼层
可以启动vhd里的deepini
回复

使用道具 举报

发表于 2022-6-29 20:53:53 | 显示全部楼层
winboot启动wim格式文件,出现花屏,不爽。改位ntboot启动,wim格式正常。
ntboot无法启动vhd格式文件。

另外,如果wim,iso,vhd文件不放在efi分区,路径如何编写?

点评

ntboot应该市支持vhd的吧,至于分区这个问题,这个是全盘搜索的,只要名字对可以搜到,也可以指定路径,所以不太明白这个不在efi分区具体是什么问题,应该不存在分区问题才对,在哪是不重要的。  详情 回复 发表于 2022-6-30 20:24
回复

使用道具 举报

 楼主| 发表于 2022-6-30 20:24:12 | 显示全部楼层
rhinomax 发表于 2022-6-29 20:53
winboot启动wim格式文件,出现花屏,不爽。改位ntboot启动,wim格式正常。
ntboot无法启动vhd格式文件。
...

ntboot应该是支持vhd的吧,至于分区这个问题,这个是全盘搜索的,只要名字对可以搜到,也可以指定路径,所以不太明白这个不在efi分区具体是什么问题,应该不存在分区问题才对,在哪是不重要的。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-25 15:12

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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