无忧启动论坛

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

[分享] 使用Grub2定制UEFI启动 (bootx64.efi)

    [复制链接]
151#
发表于 2019-11-26 09:20:44 | 只看该作者
但前一版修改相应路径后,测试是正常的
回复

使用道具 举报

152#
 楼主| 发表于 2019-11-26 13:10:53 | 只看该作者
2012kwy 发表于 2019-11-26 09:10
奇怪,难道是改了默认路径造成的?请问老师如果路径改为/boot/grub,grubfm需要相应修改吗?

我的grubfm.cfg 和启动wim所需的wimboot文件夹都是放在prefix 中的,也就是 /efi/grub
如果你的prefix是 /boot/grub,grubfm.cfg 和wimboot文件夹需要相应移到 /boot/grub
回复

使用道具 举报

153#
 楼主| 发表于 2019-11-26 13:15:24 | 只看该作者
本帖最后由 hilsonma 于 2019-11-26 13:20 编辑
wintoflash 发表于 2019-11-26 09:18
楼主的grubfm应该是基于这个文件修改的
https://github.com/a1ive/grub2-f ... /grubfm_offical.cfg
注 ...

感谢指导。不过我之前已将ESC当作返回上一层使用了,现在需要再细研一下你的示例,消化消化。
回复

使用道具 举报

154#
发表于 2019-11-26 14:15:01 来自手机 | 只看该作者
感谢两位老师指导,等会就试,有问题再回来请教。
回复

使用道具 举报

155#
发表于 2019-11-27 00:44:08 | 只看该作者
本帖最后由 suge 于 2019-11-27 08:41 编辑

grubx64.efi定制时已加载了字体模块,但就是显示不了中文,请问grub.cfg菜单要如何写呢,还有要显示背景图片,grub.cfg菜单又要如何写呢,grubx64.efi定制时已加载了图片模块了,是EFI启动的,谢谢。。。。
早上无意实机测试是可显示中文字体的,但Qemu启动测试显示不了,不知为什么?让自己空折腾了两天。。。。。
回复

使用道具 举报

156#
 楼主| 发表于 2019-11-27 09:12:39 | 只看该作者
本帖最后由 hilsonma 于 2019-11-27 09:52 编辑

请以utf-8编码保存grub.cfg
菜单可直接使用中文,实机是可以正常显示的。
但虚拟机可能需要使用图形模式才能正常显示。

要使用图形模式,要以下三条:
1. grubx64.efi需包含gfxterm efi_gop efi_uga 这三个模块
2. grub.cfg中加上这两句:
    terminal_output gfxterm
    loadfont unicode
3. unicode.pf2 字体文件放在$prefix/fonts 中

    如果字体文件不是$prefix/fonts/unicode.pf2 ,就按实际字体路径修改grub.cfg中加载字体这句
    loadfont /mydir/myfont.pf2
    如果字体文件不是跟grub.cfg同一个分区,还需要先确定字体所在分区再加载
    search -s -f /mydir/myfont.pf2
    loadfont /mydir/myfont.pf2

要显示背景图片,先要按上述使用图形模式,此外还要:
1. grubx64.efi需包含gfxterm_background jpeg 这两个模块
2. grub.cfg中加上这句:
    background_image $prefix/back.jpg
3. 背景图片back.jpg放在$prefix 文件夹中。

    如果背景图片不是$prefix/back.jpg ,就按实际图片路径修改背景图片这句,跟字体文件的情况类似处理。
    background_image /mydir/mypic.jpg
注:如要使用png格式的图片就要给grubx64.efi加上png模块,建议jpg格式因png图片占资源较大。

点评

Hilsonma兄,新年快乐! 请问一下 在你的定制grubx64.efi 中 ,想使用themes ,需要新增那些模块?  详情 回复 发表于 2020-1-2 10:53
很感谢你的详尽解答,按照你的方法,加载模块,编写grub.cfg菜单,字体与背景图片的问题都解决了。但还有一个问题很困扰,我是U盘EFI启动的,启动方式是wintoflash最新的GRUB2,由于我的U盘是量产了一个PE光盘,Qemu  详情 回复 发表于 2019-11-27 17:45
回复

使用道具 举报

157#
发表于 2019-11-27 17:45:59 | 只看该作者
本帖最后由 suge 于 2019-11-27 17:48 编辑
hilsonma 发表于 2019-11-27 09:12
请以utf-8编码保存grub.cfg
菜单可直接使用中文,实机是可以正常显示的。
但虚拟机可能需要使用图形模式 ...

很感谢你的详尽解答,按照你的方法,加载模块,编写grub.cfg菜单,字体与背景图片的问题都解决了。但还有一个问题很困扰,我是U盘EFI启动的,启动方式是wintoflash最新的GRUB2,由于我的U盘是量产了一个PE光盘,Qemu启动能启动放在U盘中的PE.ISO,但实机启动,就总是启动了量产光盘的PE,一直想不明白原因。。。。menuentry "启动ISO文件" "/Win10PE.ISO" {        search -s -f $2
        map $2
        boot
}

点评

我不了解量产。 总之如果执行了这条菜单,启动的就是/win10pe.iso,如果不只一个分区有这个镜像名,就会启动第一个找到的镜像。  详情 回复 发表于 2019-11-27 18:31
http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=417233&pid=3905367&fromuid=487838  详情 回复 发表于 2019-11-27 18:20
回复

使用道具 举报

158#
发表于 2019-11-27 18:20:10 | 只看该作者
suge 发表于 2019-11-27 17:45
很感谢你的详尽解答,按照你的方法,加载模块,编写grub.cfg菜单,字体与背景图片的问题都解决了。但还有 ...

http://bbs.wuyou.net/forum.php?m ... &fromuid=487838

点评

EFI程序本身的限制。 MS 的 boot*.efi 不支持 多光盘; 只支持第一个光盘? 以往UEFI启动,Grub2不能启动ISO,所以一直用Xorboot,现在Grub2能在UEFI下启动ISO,真是太好了 很感谢你的解惑,而且Grub2功能很好,  详情 回复 发表于 2019-11-27 22:32
回复

使用道具 举报

159#
 楼主| 发表于 2019-11-27 18:31:50 | 只看该作者
suge 发表于 2019-11-27 17:45
很感谢你的详尽解答,按照你的方法,加载模块,编写grub.cfg菜单,字体与背景图片的问题都解决了。但还有 ...

我不了解量产。
总之如果执行了这条菜单,启动的就是/win10pe.iso,如果不只一个分区有这个镜像名,就会启动第一个找到的镜像。
回复

使用道具 举报

160#
发表于 2019-11-27 22:32:39 | 只看该作者
wintoflash 发表于 2019-11-27 18:20
http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=417233&pid=3905367&fromuid=487838

EFI程序本身的限制。
MS   的 boot*.efi  不支持 多光盘; 只支持第一个光盘?
以往UEFI启动,Grub2不能启动ISO,所以一直用Xorboot,现在Grub2能在UEFI下启动ISO,真是太好了
很感谢你的解惑,而且Grub2功能很好,作用很大,又可以折腾了,哈哈。。。。。。
回复

使用道具 举报

161#
发表于 2019-12-2 15:19:40 | 只看该作者
hilsonma老大,偶然试了W大神最新版的Grubfmx64,发现无论开启或关闭安全模式,都能引导任意路径的WIM文件(屏幕中途会出现一小块色块,但不影响),希望hilsonma大下次升级时也参考一下,不知W大采用什么技术。

点评

这是我正在使用的grubfm,你可以放到$prefix 中试用。 需要bootmgfw.efi、bcd、boot.sdi 这三个文件放在 $prefix/wimboot 中才能启动wim镜像。wim镜像文件可以放任意路径。 你说的有色块的引导,应该是win7  详情 回复 发表于 2019-12-2 20:53
回复

使用道具 举报

162#
 楼主| 发表于 2019-12-2 20:53:21 | 只看该作者
本帖最后由 hilsonma 于 2019-12-2 21:31 编辑
2012kwy 发表于 2019-12-2 15:19
hilsonma老大,偶然试了W大神最新版的Grubfmx64,发现无论开启或关闭安全模式,都能引导任意路径的WIM文件 ...

grubfm.7z (1.27 KB, 下载次数: 30)

这是我正在使用的grubfm,你可以放到$prefix 中试用。
需要bootmgfw.efi、bcd、boot.sdi 这三个文件放在 $prefix/wimboot 中才能启动wim镜像。wim镜像文件可以放任意路径。

你说的有色块的引导,应该是win7的bootmgfw.efi,之前wintoflash提到过使用win7的bootmgfw.efi配合过安全模式。你可以将win7的bootmgfw.efi替换到$prefix/wimboot 中。不知什么原因,我有些wim镜像使用win7的bootmgfw.efi无法启动,而我的电脑又无法使用安全模式,所以我一直用的好象是win8的bootmgfw.efi.

我之所以修改grubfm,是因为我需要这样的功能:
指定了wim文件,就直接启动wim文件,
指定了一个文件夹,就直接把这个文件夹的文件列为自动菜单。

现在我最新修改的grubfm,会检查grub2环境,如果存在grub_find变量,就会将这个变量指定的文件启动,或者将这个变量指定的文件夹列为自动菜单。不存在grub_find变量就会象原版grubfm一样进入设备列表。自动菜单中按HOME再按Enter也会进入设备列表。按Esc回上一层菜单。

所以如果使用我这个grubfm,在grub.cfg中这样引导pe:
export grub_find=/winpe.wim
configfile $prefix/grubfm.cfg
这样列自动菜单:
export grub_find=/wim
configfile $prefix/grubfm.cfg

这个版本与之前不同的是:之前版本检查的是grub_file变量,现在这个版本检查的是grub_find变量。
这个版本尽了我目前所能做了精简和优化,在我的电脑上暂时没有问题,不知到了其他环境会不会有问题。
回复

使用道具 举报

163#
发表于 2019-12-3 09:07:54 | 只看该作者
大神厉害!!这个可以了,等有时间我找不同机型多试几台。
回复

使用道具 举报

164#
发表于 2019-12-3 15:49:36 | 只看该作者
Hilsonma大,换了另一台机器试,还是通不过安全认证,看来有点挑机器

点评

我前面说过了。如果用wimboot,就得放弃安全启动。 微软搞事,没办法。 只要电脑在11月19日之后进过连了网的windows,基本上就不行了。  详情 回复 发表于 2019-12-3 16:53
你过安全认证用的是哪一个方案?  详情 回复 发表于 2019-12-3 16:14
回复

使用道具 举报

165#
 楼主| 发表于 2019-12-3 16:14:20 | 只看该作者
2012kwy 发表于 2019-12-3 15:49
Hilsonma大,换了另一台机器试,还是通不过安全认证,看来有点挑机器

你过安全认证用的是哪一个方案?
回复

使用道具 举报

166#
发表于 2019-12-3 16:53:23 | 只看该作者
回复

使用道具 举报

167#
发表于 2019-12-3 16:53:28 | 只看该作者
本帖最后由 wintoflash 于 2019-12-3 16:55 编辑
2012kwy 发表于 2019-12-3 15:49
Hilsonma大,换了另一台机器试,还是通不过安全认证,看来有点挑机器

我前面说过了。如果用wimboot,就得放弃安全启动。
微软搞事,没办法。
只要电脑在11月19日之后进过连了网的较新版本的windows10,基本上就不行了。

点评

是不是只要在20191119之后用较新版本的win10连过网的电脑,以往的所有的过安全启动方案都失效? 能不能装回较旧版本来解决?还是说连uefi固件都更新了,旧方案都没用了?  详情 回复 发表于 2019-12-3 17:11
回复

使用道具 举报

168#
发表于 2019-12-3 17:00:19 | 只看该作者
这机器确实有点麻烦。老大有空拆解一下W大的Grubfm研究研究,最新版好像是6.02,总觉得臃肿了点,速度慢了一点,不像您的单文件,特别轻巧。

点评

我不懂拆解,只是他发布有明文的grubfm.cfg,我拿来修改一下适合自己用罢了。 功能上大体跟他的cfg差不多,只是去掉了bios平台部分。 efi和iso版本我没有比较过,不知道差别多大,反正我够用了。  详情 回复 发表于 2019-12-3 17:27
回复

使用道具 举报

169#
发表于 2019-12-3 17:08:15 | 只看该作者
有空就折腾一下,没时间就算了,也无需为了100%兼容性费神费力。
回复

使用道具 举报

170#
 楼主| 发表于 2019-12-3 17:11:30 | 只看该作者
wintoflash 发表于 2019-12-3 16:53
我前面说过了。如果用wimboot,就得放弃安全启动。
微软搞事,没办法。
只要电脑在11月19日之后进过连 ...

是不是只要在20191119之后用较新版本的win10连过网的电脑,以往的所有的过安全启动方案都失效?
能不能装回较旧版本来解决?还是说连uefi固件都更新了,旧方案都没用了?

点评

只是wimboot/ntboot失效了(针对的是win7的bootmgfw)。 如果装了win7和win10双系统,可能win7就过不了安全启动。  详情 回复 发表于 2019-12-3 17:14
回复

使用道具 举报

171#
发表于 2019-12-3 17:14:00 | 只看该作者
hilsonma 发表于 2019-12-3 17:11
是不是只要在20191119之后用较新版本的win10连过网的电脑,以往的所有的过安全启动方案都失效?
能不能 ...

只是wimboot/ntboot失效了(针对的是win7的bootmgfw)。map照样用。
如果装了win7和win10双系统,可能win7就过不了安全启动。

点评

又试了一下,确实,以前可以的现在都不行了,江南最新版也不行。但W大,你的依然可以!另外测试好像不支持双启的ISO文件。还有就是下面几个菜单光标移下不去,不懂为什么。  详情 回复 发表于 2019-12-9 09:58
感谢解答,明白了。  发表于 2019-12-3 17:33
回复

使用道具 举报

172#
发表于 2019-12-3 17:18:14 | 只看该作者
至于如何解决,我目前没有办法。
我试过,清nvram好像可以暂时解决这个问题,因为只要进去了win10,连了网,就再次完蛋。
但是我不建议这样做。有危险。还不如关安全启动。

点评

感谢解惑。  详情 回复 发表于 2019-12-3 17:35
回复

使用道具 举报

173#
 楼主| 发表于 2019-12-3 17:27:11 | 只看该作者
2012kwy 发表于 2019-12-3 17:00
这机器确实有点麻烦。老大有空拆解一下W大的Grubfm研究研究,最新版好像是6.02,总觉得臃肿了点,速度慢了 ...

我不懂拆解,只是他发布有明文的grubfm.cfg,我拿来修改一下适合自己用罢了。
功能上大体跟他的cfg差不多,只是去掉了bios平台部分。
efi和iso版本我没有比较过,不知道差别多大,反正我够用了。
回复

使用道具 举报

174#
 楼主| 发表于 2019-12-3 17:35:03 | 只看该作者
wintoflash 发表于 2019-12-3 17:18
至于如何解决,我目前没有办法。
我试过,清nvram好像可以暂时解决这个问题,因为只要进去了win10,连了网 ...

感谢解惑。
回复

使用道具 举报

175#
发表于 2019-12-9 09:58:53 | 只看该作者
wintoflash 发表于 2019-12-3 17:14
只是wimboot/ntboot失效了(针对的是win7的bootmgfw)。map照样用。
如果装了win7和win10双系统,可能wi ...

又试了一下,确实,以前可以的现在都不行了,江南最新版也不行。但W大,你的依然可以!另外测试好像不支持双启的ISO文件。还有就是下面几个菜单光标移下不去,不懂为什么。

点评

据江南一根葱说,加载efiguard可过安全启动。  详情 回复 发表于 2019-12-10 14:12
哪个菜单  详情 回复 发表于 2019-12-9 11:22
回复

使用道具 举报

176#
发表于 2019-12-9 11:22:28 | 只看该作者
2012kwy 发表于 2019-12-9 09:58
又试了一下,确实,以前可以的现在都不行了,江南最新版也不行。但W大,你的依然可以!另外测试好像不支 ...
还有就是下面几个菜单光标移下不去,不懂为什么。
哪个菜单

回复

使用道具 举报

177#
发表于 2019-12-9 15:45:29 | 只看该作者
我搞错了。加载ISO映像失败后进入无主题菜单,最后四个无法选择的应该是功能菜单,应该是正常的吧。
回复

使用道具 举报

178#
发表于 2019-12-9 15:51:22 | 只看该作者
另外想说的是,人家一连网就能把你打回原形,进一步佐证了拥有核心技术的重要性!坐在家里就能彻底让你歇菜,细思极恐。
回复

使用道具 举报

179#
发表于 2019-12-10 14:12:14 | 只看该作者
2012kwy 发表于 2019-12-9 09:58
又试了一下,确实,以前可以的现在都不行了,江南最新版也不行。但W大,你的依然可以!另外测试好像不支 ...

据江南一根葱说,加载efiguard可过安全启动。
回复

使用道具 举报

180#
发表于 2019-12-10 15:45:42 | 只看该作者
额,对efiguard不熟,是不是先加载完efiguard.efi,再加载grubfmx64.efi就可以了?
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-24 12:25

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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