无忧启动论坛

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

[分享] 将grub2启动模板封装成efi单文件

  [复制链接]
1#
发表于 2020-4-18 20:14:09 | 显示全部楼层
请问Windows怎么才能从efi引导呢?用BOOTice增加一个启动菜单,设置成从bootx64.efi启动,这个我测试成功了。请问有其他方法吗?比如用系统自带的命令去设置。

点评

要实现efi引导,需要一个efi系统分区,英文缩写esp,esp里需要存放有效的efi启动文件。 esp一般是FAT分区,你用bootice设置从bootx64.efi启动成功就说明已有esp。esp也有了有效的启动文件bootx64.efi 其他方法  详情 回复 发表于 2020-4-18 22:11
回复

使用道具 举报

2#
发表于 2020-4-18 22:26:51 | 显示全部楼层
hilsonma 发表于 2020-4-18 22:11
要实现efi引导,需要一个efi系统分区,英文缩写esp,esp里需要存放有效的efi启动文件。

esp一般是FAT ...

多谢。但是比如我在ESP分区中新建了一个文件夹,然后把自己做的bootx64.efi放到这个文件夹里。想设置从这个文件启动,用Bootice是可以设置的。但是想了解一下其中的原理,好像bcdboot不行。

点评

bcdboot负责将efi文件和bcd文件放到esp,如果你用了不能启动说明它不处理uefi启动序列。需要用其他工具处理启动序列。这类工具也多,你用的bootice就是其中一个,同一个作者做的另一个软件xorboot也有这个功能,还有  详情 回复 发表于 2020-4-18 22:37
回复

使用道具 举报

3#
发表于 2020-4-19 00:31:25 | 显示全部楼层
本帖最后由 2000lg 于 2020-4-19 13:14 编辑
hilsonma 发表于 2020-4-18 22:37
bcdboot负责将efi文件和bcd文件放到esp,如果你用了不能启动说明它不处理uefi启动序列。需要用其他工具处 ...


1、默认情况下,Windows开机后,会自动查找ESP分区下的efi\Microsoft\boot\bootmgfw.efi,然后再加载同目录下的BCD,最后加载Windows分区下的\windows\system32\winload.efi,从而引导进入系统。所以使用Bcdboot修复后,应该是恢复这种默认的启动方式。
2、默认情况下,貌似 \efi\boot\bootx64.efi 文件删除也不会影响Windows的启动。您直接把bootx64.efi替换到esp 的 \efi\boot ,说明您之前默认的第一启动是esp里的 \efi\boot\bootx64.efi ,这个应该是自己修改过的吧(应该不是用微软原版光盘安装的,感觉是用wim部署工具把wim镜像部署到某分区,然后efi分区启动文件自己手动添加)?
3、我是按照您这个帖子制作了bootx64.efi(将您提供的grub.cfg中的代码修改成了一下。改成默认的“run /EFI/Microsoft/boot/bootmgfw.efi”,)
我现在想从自己制作的bootx64.efi启动,把bootx64.efi随便放到ESP的自建文件夹,然后用了bootice设置bootx64.efi为第一启动序列,启动是成功了。 不过不清楚的是bootice是用什么命令设置的,很好奇。
回复

使用道具 举报

4#
发表于 2020-4-19 13:29:26 | 显示全部楼层
我现在想实现的功能是,加载自制的bootx64.efi。这个efi会自动加载Slic 2.5用来激活win7,加载完自动进入windows。目前功能已经实现了。就差最后一步,设置bootx64.efi为第一启动序列。如果用bootice还得手工添加一下启动序列,所以我想实现自动。查了资料后发现,这个操作好复杂,微软的命令行工具应该实现不了。添加新的uefi启动序列,需要编程序,代码好像要很多。
现在有一个退而求其次的方法,还没测试。就是用bcdboot修复一下启动后,恢复成windows的默认引导方式,然后把Esp分区下的efi/microsoft/boot/bootmgfw.efi用自制的bootx64.efi替换。这样应该就能实现我的目的了。但是总感觉怪怪的。

点评

我以前是用chew-wga在部署时激活,不需要每次启动时激活。  详情 回复 发表于 2020-4-19 15:36
http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=418717&pid=4026764&fromuid=487838  详情 回复 发表于 2020-4-19 15:21
回复

使用道具 举报

5#
发表于 2020-4-19 15:52:20 | 显示全部楼层
wintoflash 发表于 2020-4-19 15:21
http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=418717&pid=4026764&fromuid=487838

多谢w大和楼主,就是看了两位的帖子,已经实现加载slic,并成功制作efi单文件。 您发的这个帖子也看过了,有点复杂,代码还要再研究一下,希望能实现添加uefi引导序列的功能。

点评

我发的帖子里面27#有个支持命令行操作UEFI启动项的Bootice。  详情 回复 发表于 2020-4-19 16:11
回复

使用道具 举报

6#
发表于 2020-4-20 13:08:35 | 显示全部楼层
wintoflash 发表于 2020-4-19 16:11
我发的帖子里面27#有个支持命令行操作UEFI启动项的Bootice。

多谢啦。用bcdedit命令编辑{bootmgr},然后把bootmgr设置成fwbootmgr的第一启动项也可以成功引导自定义目录下的efi文件,这样就可以只用微软的命令,不用bootice了。在楼主和w大的帖子帮助下,使用GRUB2添加slic并做成efi单文件,已经弄好了,昨天成功激活了server2016。
另外还有个问题请教大神,怎么把slic2.2添加到grldr文件中呢?没搜到教程,看w大写过一个grub4dos的外部命令/slic ,但是不太会用,能发个学习的链接吗,谢谢

点评

若把grubx64.EFI 放在\EFI\Boot下,你说的是不是执行这两个命令就可以了? bcdedit /set {fwbootmgr} default {bootmgr} bcdedit /set {bootmgr} path \EFI\Boot\grubx64.EFI  详情 回复 发表于 2020-4-21 21:13
怎么弄的,集成slic.bin?  详情 回复 发表于 2020-4-21 20:25
不清楚。 grub4dos的slic不是我写的。  详情 回复 发表于 2020-4-20 13:36
回复

使用道具 举报

7#
发表于 2020-4-21 20:36:33 | 显示全部楼层
youlin211 发表于 2020-4-21 20:25
怎么弄的,集成slic.bin?

对。acpi --slic $prefix/dell.bin
回复

使用道具 举报

8#
发表于 2020-4-21 23:36:15 | 显示全部楼层
youlin211 发表于 2020-4-21 21:13
若把grubx64.EFI 放在\EFI\Boot下,你说的是不是执行这两个命令就可以了?
bcdedit /set {fwbootmgr} defa ...

是的。
bcdedit /set {fwbootmgr} displayorder {bootmgr} /addfirst
bcdedit /set {bootmgr} path "\EFI\Boot\grubx64.EFI"
回复

使用道具 举报

9#
发表于 2020-4-26 23:48:22 | 显示全部楼层
请问楼主、怎么更新为最新的guub2?

点评

将文件夹 x86_64-efi 和文件 grub-mkimage.exe 用新版grub2中的替换。  详情 回复 发表于 2020-4-27 09:03
回复

使用道具 举报

10#
发表于 2020-4-26 23:49:38 | 显示全部楼层
请问楼主,怎么更新为最新的grub2? 是把“grub2定制单文件efi”里面的模块替换吗?
回复

使用道具 举报

11#
发表于 2020-4-27 00:00:59 | 显示全部楼层
hilsonma 发表于 2020-4-19 15:36
我以前是用chew-wga在部署时激活,不需要每次启动时激活。

请问楼主,封装efi的文件中,GRUB2怎么更新的最新版? 是把那些模块替换一下就OK了吗?
回复

使用道具 举报

12#
发表于 2020-4-27 12:52:04 | 显示全部楼层
hilsonma 发表于 2020-4-27 09:03
将文件夹 x86_64-efi 和文件 grub-mkimage.exe 用新版grub2中的替换。

谢谢。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-7 08:43

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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