无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 26473|回复: 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分区即可。上一张图:

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



评分

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

查看全部评分

52#
发表于 6 天前 | 只看该作者
感谢分享
回复

使用道具 举报

51#
发表于 6 天前 | 只看该作者
好!!
回复

使用道具 举报

50#
发表于 2024-7-7 16:17:28 | 只看该作者
wintoflash 发表于 2024-7-4 12:58
wimboot/ntboot启动的时候加上--highest=yes参数

感谢指教!
回复

使用道具 举报

49#
发表于 2024-7-4 12:58:32 | 只看该作者
pda8888 发表于 2023-7-28 11:41
看此帖受益良多,特别是W大亲临指导。
再请教一下W大:如何给WIM文件指定分辨率(也许我问法不正确),就 ...

wimboot/ntboot启动的时候加上--highest=yes参数
回复

使用道具 举报

48#
发表于 2024-7-4 10:34:07 | 只看该作者
怎么整???
回复

使用道具 举报

47#
发表于 2024-7-2 08:42:17 | 只看该作者
good
回复

使用道具 举报

46#
发表于 2023-7-28 11:41:40 | 只看该作者
看此帖受益良多,特别是W大亲临指导。
再请教一下W大:如何给WIM文件指定分辨率(也许我问法不正确),就是让WIM启动的PE,用上指定的分辨率,不然默认的640X480也太难看了。
回复

使用道具 举报

45#
发表于 2023-7-5 18:39:37 | 只看该作者
本帖最后由 wintoflash 于 2023-7-5 18:41 编辑
gues1688 发表于 2023-7-5 17:14
请W大大指导,我的调试过程:

1、从硬盘启动grubfm.efi,并且不插U盘

那就说明不是它的问题。是/boot/grubfm/config写的内容不对。
还可以写其它代码吗?比如,改变分辨率?背景颜色之类的?

你太死板了。
根据大佬的讲解,config文件主要是为了调用自定义设置如分辨率和语言,grub2文件管理器会自动搜索全部盘符下的/boot/grubfm/config然后执行,执行后跳回到grub2文件管理器,所以可以在其中指向其他的cfg文件也就是grub2文件管理器的上级grub2菜单。

楼主的帖子里面有介绍的。你应该根据自己的实际情况来写。
回复

使用道具 举报

44#
发表于 2023-7-5 15:31:32 | 只看该作者
gues1688 发表于 2023-7-5 15:24
感谢W大大回复!
Grub可以从我的2块硬盘所有分区启动各种wim、iso、vhd(x),也可以识别我的2块硬盘及所 ...

自己逐句调试。
回复

使用道具 举报

43#
发表于 2023-7-5 15:06:11 | 只看该作者
本帖最后由 wintoflash 于 2023-7-5 15:10 编辑
gues1688 发表于 2023-7-5 14:42
@wintoflash
花了点时间,试着折腾 GrubFM 的config,玩玩自定义菜单,如下图所示。
不幸的 ...

你要先从自己身上找原因。
grub能识别你的硬盘吗?能识别你的分区吗?
你的菜单有问题吗?

在grub看来,硬盘和u盘是分不出区别的。
回复

使用道具 举报

42#
发表于 2023-7-4 23:13:41 | 只看该作者
启动ISO文件应该怎么写呢?ISO放在另一个分区,也是FAT分区
回复

使用道具 举报

41#
发表于 2023-6-20 04:07:46 | 只看该作者
支持一下
回复

使用道具 举报

40#
发表于 2023-6-15 21:16:00 来自手机 | 只看该作者
学习了,能启动VHD,谢谢
回复

使用道具 举报

39#
发表于 2023-1-14 09:51:24 | 只看该作者
看看这款教程,学习如何配置grub2菜单
回复

使用道具 举报

38#
发表于 2022-12-21 08:48:31 | 只看该作者
👍👍👍👍👍
回复

使用道具 举报

37#
发表于 2022-11-7 08:18:14 | 只看该作者
DILLION99 发表于 2022-1-22 19:15
请教W大,使用grubfm,EFI环境下可以自定义主题及菜单,成功加载;BIOS环境试图加载自定义主题及菜单,加 ...

加载自定义菜单:
config:
configfile (hd0)/boot/grubfm/grub.cfg
加载自定义主题,你是怎么做的?
回复

使用道具 举报

36#
发表于 2022-9-12 11:26:26 | 只看该作者
回复

使用道具 举报

35#
发表于 2022-9-11 12:44:03 | 只看该作者
谢谢分享···
回复

使用道具 举报

34#
发表于 2022-8-30 16:02:27 | 只看该作者
链接失效还是需要vpn
回复

使用道具 举报

33#
发表于 2022-7-29 11:48:29 | 只看该作者
tyab00 发表于 2022-7-29 11:39
哥们,您好!麻烦您能留个联系方式吗?链接无法打开,感谢!

https://wwa.lanzoux.com/iZzHeegmqsb
回复

使用道具 举报

32#
发表于 2022-7-29 11:39:00 | 只看该作者
哥们,您好!麻烦您能留个联系方式吗?链接无法打开,感谢!tyab@163.com
回复

使用道具 举报

31#
 楼主| 发表于 2022-7-2 19:37:39 | 只看该作者
rhinomax 发表于 2022-7-1 23:14
第二种,调用grub2的sh文件,这是第二个想到的方法,启动方式仅有一种,实验成功

menuentry "启动winP ...

search -f /boot/win10.wim -s root
这一行代码的意思是搜索 boot目录下面的win10.wim这个文件,并没有指定分区和路径,只要文件目录和名字对,能搜到就可以启动,不必须是efi的分区
回复

使用道具 举报

30#
发表于 2022-7-1 23:14:54 | 只看该作者
本帖最后由 rhinomax 于 2022-7-1 23:16 编辑
王乐2518 发表于 2022-6-30 20:24
ntboot应该是支持vhd的吧,至于分区这个问题,这个是全盘搜索的,只要名字对可以搜到,也可以指定路径, ...

第二种,调用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
}

你提供的代码里的这个win10.wim,不是必须放置在EFI分区里的boot目录下吗?我测试这样是成功的。
但是如果win10.wim是放置在非EFI分区,这个路径该如何写?
我完全小白,如有说得不对的地方请别见怪。
回复

使用道具 举报

29#
 楼主| 发表于 2022-6-30 20:24:12 | 只看该作者
rhinomax 发表于 2022-6-29 20:53
winboot启动wim格式文件,出现花屏,不爽。改位ntboot启动,wim格式正常。
ntboot无法启动vhd格式文件。
...

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

使用道具 举报

28#
发表于 2022-6-29 20:53:53 | 只看该作者
winboot启动wim格式文件,出现花屏,不爽。改位ntboot启动,wim格式正常。
ntboot无法启动vhd格式文件。

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

使用道具 举报

27#
发表于 2022-5-19 22:19:24 | 只看该作者
可以启动vhd里的deepini
回复

使用道具 举报

26#
发表于 2022-5-2 08:48:19 | 只看该作者
很好的学习环境。谢谢。
回复

使用道具 举报

25#
发表于 2022-1-31 08:16:53 | 只看该作者
wintoflash 发表于 2022-1-23 10:42
config内容是什么?
grub.cfg内容是什么?
U盘分区结构是什么?

谢谢分享
回复

使用道具 举报

24#
发表于 2022-1-25 10:43:16 来自手机 | 只看该作者
这个可以学习下
回复

使用道具 举报

23#
发表于 2022-1-24 17:33:17 来自手机 | 只看该作者
这个不错,灵活diy
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-25 23:07

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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