hilsonma 发表于 2019-3-20 22:21:41

UEFI启动文件bootx64.efi的定制

本帖最后由 hilsonma 于 2019-4-9 07:44 编辑

现在UEFI平台的启动,一般都是UEFI引导第一个FAT分区或FAT32分区的 \efi\boot\bootx64.efi ,再由bootx64.efi 启动操作系统。
要想启动多系统,比如要启动PE,其中一个办法就是定制bootx64.efi 。

下面分享一个定制bootx64.efi 的方法。

首先,到Pauly的贴子 【XORBOOT Uefi: 多系统引导程序】 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=157812 下载XorBootUx64

下载解压后运行XorBootUx64

点击 UEFI启动序列管理
再点击 导出XorBoot.efi
选择 BootX64.efi
在弹出的另存为 窗口中选择一个文件夹,点击保存,这个文件夹中就会生成一个 bootx64.efi
接下来的提示 “要添加到...吗?” 点否即可。
关闭 UEFI启动序列 窗口

点击 新建菜单 ,会弹出 XORBOOT菜单编辑 窗口,并自动生成一个菜单供预览

点击 保存,将菜单文件命名为xorboot.xor 并保存到上面生成的bootx64.efi 所在的文件夹
关闭 XORBOOT菜单编辑 窗口

点击 打开菜单,找到刚才保存的xorboot菜单,点击其中某个菜单项,就可以定义你想要的启动,也可以添加/删除/移动 菜单项。在全局设置里可以设置菜单停留的时间。


菜单修改好之后,就可以将启动文件 bootx64.efi 和菜单文件 xorboot.xor 一起放到第一个fat/fat32分区(也就是esp分区)中的文件夹 \efi\boot ,重新启动后就会出现你要的菜单。

注意,如果开启了安全启动(secureboot)的话要关掉,因为这个bootx64.efi是不能过安全启动的。


=============
过安全启动的定制
=============

方法来自 wintoflash 的贴子:安全启动环境下启动任意未签名EFI的方法 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=413396

xorboot菜单文件xorboot.xor不能放在 \efi\boot\ ,改放到 \efi\xorboot\
xorboot启动文件 \efi\boot\bootx64.efi 改名为 grubfmx64.efi,还是放在 \efi\boot\ 下面
将附件解压得到的4个文件放到 \efi\boot\


重新启动后首先会进入 Shim 验证失败的界面
按任意键进入导入证书的界面
选择 Enroll key from disk
找到 GRUBFM.cer
选择 Continue
选择 Yes
在之后的菜单中选择 Reboot ,重启计算机。
注意:压缩文件里面的 EFI 文件不可改名,不可以放到其他文件夹下,不可修改内容,否则无效。GRUBFM.cer 为证书文件,可以改名,不可修改内容。

导入证书后会保存在nvram中,只要不清nvram,以后启动不再出现验证失败画面,直接过安全启动。

注意现在 \efi\boot\bootx64.efi 不再是xorboot生成的启动文件,而是Shim的主程序,xorboot生成的启动文件已更名为grubfmx64.efi (Shim+mok启动方案必须是这个名字才能引导成功)。

除了使用xorboot定制外,还可以使用grub2, refind等工具,使用grub2定制请参考http://bbs.wuyou.net/forum.php?mod=viewthread&tid=413597

995070995 发表于 2019-3-20 22:54:55

UEFI引导的系统启动pe一直没有成功,而且搞得系统也启动不了,这一次在试试,成功了就不用优盘了。

2010sya 发表于 2019-3-20 23:11:41

本帖最后由 2010sya 于 2019-3-20 23:35 编辑

谢谢分享,好好学一下。。。

uefi、安全启动用了也有几年了,绕来绕去都绕糊涂了,也不知道到底哪安全了,还是只有MS是安全的???

hilsonma 发表于 2019-3-20 23:24:49

本帖最后由 hilsonma 于 2019-3-20 23:29 编辑

995070995 发表于 2019-3-20 22:54
UEFI引导的系统启动pe一直没有成功,而且搞得系统也启动不了,这一次在试试,成功了就不用优盘了。

用xorboot引导的PE必须是支持uefi引导的镜像文件, wim文件必须放在主分区,最好是esp分区,也可以是系统分区(如c盘),但wim文件放在逻辑分区的话xorboot启动wim会失败。iso文件放哪个分区都可以。

支持uefi引导的iso文件肯定会有 \efi\boot\bootx64.efi
支持uefi引导的wim文件肯定会有 \Windows\System32\Boot\winload.efi

hilsonma 发表于 2019-3-20 23:47:07

2010sya 发表于 2019-3-20 23:11
谢谢分享,好好学一下。。。

uefi、安全启动用了也有几年了,绕来绕去都绕糊涂了,也不知道到底哪安全了 ...

安全启动只是一个名称,制定者这样叫我们就跟着这样叫,其实我只当它是认证启动或证书启动。

qingyi78 发表于 2019-3-21 00:41:00

我在用这个方法,不过是把XORBOOT换成CLOVER,这样可以启动MAC系统

995070995 发表于 2019-3-21 07:54:33

995070995 发表于 2019-3-20 22:54
UEFI引导的系统启动pe一直没有成功,而且搞得系统也启动不了,这一次在试试,成功了就不用优盘了。

安装方法操作还是不成功,这一次系统能够正常启动,不过有了怎么样还是怎么样,没有启动的等待界面,不知道哪里不对,我的电脑是苹果笔记本,安装的是双系统。

hilsonma 发表于 2019-3-21 08:25:56

本帖最后由 hilsonma 于 2019-3-21 08:28 编辑

995070995 发表于 2019-3-21 07:54
安装方法操作还是不成功,这一次系统能够正常启动,不过有了怎么样还是怎么样,没有启动的等待界面,不知 ...

首先你要确认esp分区的 \efi\boot\bootx64.efi 改动成功了没有,这点从文件日期可以看出来,还有文件大小xorboot的启动文件bootx64.efi应该是1715KB
如果 \efi\boot\bootx64.efi 确定已经是xorboot的启动文件, 没有启动的等待界面,可能是菜单停留时间太短,在 xorboot菜单编辑-全局设置-超时时间 里设置5秒以上。如果为了不影响开机速度而设置为1秒的话,要选择菜单项必须在开机的时候不停的按上下箭头键。

995070995 发表于 2019-3-21 08:33:59

hilsonma 发表于 2019-3-21 08:25
首先你要确认esp分区的 \efi\boot\bootx64.efi 改动成功了没有,这点从文件日期可以看出来,还有文件大 ...

我看大小也对啊,帮忙看看!

995070995 发表于 2019-3-21 08:37:46

还有怎么知道电脑开启了安全启动了?如果开启了,我这样的操作也没有用对吧?
页: [1] 2 3 4
查看完整版本: UEFI启动文件bootx64.efi的定制