无忧启动论坛

标题: 请教UEFI+GPT启动中bcd调用另一efi文件、隐藏其他系统分区的两个问题 [打印本页]

作者: qj_tzy    时间: 2016-1-4 10:19
标题: 请教UEFI+GPT启动中bcd调用另一efi文件、隐藏其他系统分区的两个问题
本帖最后由 qj_tzy 于 2016-1-6 12:51 编辑

请教UEFI+GPT启动中bcd调用另一efi文件、隐藏其他系统分区的两个问题

我用uefi+gpt分区方式,安装了win7_x64、win8_x64系统,想有两个问题请教:

1.在\efi\boot\下有一其他引导器启动菜单的引导文件名为xxx.efi,想在bootx64.efi引导所用的\efi\Microsoft\Boot\bcd中,如何编辑该bcd,以调用\efi\boot\xxx.efi而启动该引导器菜单。比如grub2x64.efi、xorboot.efi分别是启动grub2、xorbbot引导器菜单的文件,均在\efi\boot\文件夹下,与bootx64.efi的作用类似,我是想用bcd分别调用此两个文件,以分别启动进入该两个引导器菜单,我没能实现。若能贴出BCD编辑图则最好。

2.若不用xorboot引导器的话,在启动win7_x64时,先把本分区设为非隐藏、把win8_x64所在分区设为隐藏;启动win8_x64时亦然。若是安装有3个uefi方式启动的系统,在启动一个系统时,如何隐藏其他2个系统分区。

诚请各位大大们指点,谢谢!

作者: hgh1974    时间: 2016-1-4 17:34
1.BOOTICE编辑BCD
2.最简单的办法是删除另外系统的盘符,就不可见了。用系统的DISKGEN都可以删除盘符
作者: qj_tzy    时间: 2016-1-4 21:45
hgh1974 发表于 2016-1-4 17:34
1.BOOTICE编辑BCD
2.最简单的办法是删除另外系统的盘符,就不可见了。用系统的DISKGEN都可以删除盘符

谢谢!

1.BOOTICE编辑BCD我会,但试过调用另一efi未成功,还请祥细说明
2.用系统的磁盘管理删除盘符,这个不是我要达到的目的。
作者: hgh1974    时间: 2016-1-5 20:53
qj_tzy 发表于 2016-1-4 21:45
谢谢!

1.BOOTICE编辑BCD我会,但试过调用另一efi未成功,还请祥细说明

1.这个没什么难度啊, 比如当前WIN10,用BOOTICE编辑当前BCD,新增win7/8/8.1启动项,只要选另一个系统(win7/8)所在分区,保存就完了,真没什么特别的地方。
2.删除盘符后,另外系统区肯定不可见了,不知楼主要想达到什么目的。自动化?EFI真没见自动隐藏功能的。
作者: qj_tzy    时间: 2016-1-6 09:26
本帖最后由 qj_tzy 于 2016-1-6 12:51 编辑
hgh1974 发表于 2016-1-5 20:53
1.这个没什么难度啊, 比如当前WIN10,用BOOTICE编辑当前BCD,新增win7/8/8.1启动项,只要选另一个系统( ...


对于第1个问题,我不是想用BCD启动win7/win8的分区系统,也不是两者的VHD/VHDX系统,这两者我都会了。
若grub2x64.efi、xorboot.efi分别是启动grub2、xorbbot引导器菜单的文件,均在\efi\boot\文件夹下,与bootx64.efi的作用类似,我是想用bcd分别调用此两个文件,以分别启动进入该两个引导器菜单,我没能实现。
作者: lbw2007    时间: 2016-1-6 16:32
qj_tzy 发表于 2016-1-6 09:26
对于第1个问题,我不是想用BCD启动win7/win8的分区系统,也不是两者的VHD/VHDX系统,这两者我都会了。
...


关于问题2,在我使用windows的过程中,发现当前系统所在分区是无法隐藏的。假设我的整个磁盘有4个分区:ESP区、win7、win8、数据区,那么只需要在PE下将前三个分区用bootice隐藏,那么在任何分区下都只能看到2个分区,即系统分区(C盘)和数据区。

关于问题1,hgh1974网友可能是将winload.efi视为和bootx64.efi同级别的引导文件了。我认为*.efi都是efi shell脚本,而BCD只能启动winload.efi,所以你直接调用是没有效果的,可能需要破解。

为什么不用xorboot直接引导bootx64.efi和grub2x64.efi?个人认为BCD很受限。
作者: qj_tzy    时间: 2016-1-6 16:46
lbw2007 发表于 2016-1-6 16:32
关于问题2,在我使用windows的过程中,发现当前系统所在分区是无法隐藏的。假设我的整个磁盘有4个分区 ...

谢谢!

关于问题1:
我是用xorboot直接引导grub2x64.efi和bootx64.efi,启动了grub2菜单和bootmgr(不知是否该这样称)菜单;也用grub2引导到了xorboot菜单和bootmgr菜单;现在的问题是,如何从bootmgr菜单中返回xorboot菜单和grub2菜单。

关于问题2:
若在pe中esp分区是没有问题的,但若用bootice等软件隐藏了win7、win8所在的分区,在以uefi方式启动win7、win8系统时,就无法启动了,不知你是如何做的。当然若以bios+gpt+grub4dos方式启动时,可在启动前先显现某系统分区后再启动也是可以正常启动的。

作者: lbw2007    时间: 2016-1-6 18:47
qj_tzy 发表于 2016-1-6 16:46
谢谢!

关于问题1:

1.UEFI下BCD返回grub2吗?这个我就不会了,暂时没发现谁研究过。

2.弄错了,不是bootice隐藏,是直接在系统下删除盘符就可以了
作者: Pauly    时间: 2016-1-6 21:19
本帖最后由 Pauly 于 2016-1-7 00:39 编辑

在外面没有测试,但我觉得可以参考BCD中的内存测试的启动项,它启动的是memtest.efi,理论上可以再启动xorboot.efi或grub2.efi,有条件的可以测试一下
顺便说一下,xorboot是业界首先实现UEFI启动分区自动显示隐藏的管理器(包括mbr,gpt),虽然这部分的技术含量并不算高
作者: qj_tzy    时间: 2016-1-7 12:22
Pauly 发表于 2016-1-6 21:19
在外面没有测试,但我觉得可以参考BCD中的内存测试的启动项,它启动的是memtest.efi,理论上可以再启动xorb ...

谢谢指点!

1.我参照内存测试的方式测试一下,若到时遇到问题再向您请教。
2.我在winpe下用bootice把几个系统的GPT分区均作隐藏,而在xorboot中作了启动某一系统时显现此分区、而隐藏其他系统分区的设置,但启动系统时却不能启动。只能重进PE,用bootice显现几个系统分区后,系统启动正常。经测试,以u盘启动,用grub4dos显现几个系统分区后也启动正常。不知是何缘故,导致我用xorboot未能如此启动成功,还诚望指点。
作者: Pauly    时间: 2016-1-7 16:29
qj_tzy 发表于 2016-1-7 12:22
谢谢指点!

1.我参照内存测试的方式测试一下,若到时遇到问题再向您请教。

xorboot uefi对gpt分区的显示和隐藏更加合理,与bootice不太一致,不要同时使用,下次更新bootice时会改为xorboot中的隐藏方式
作者: qj_tzy    时间: 2016-1-8 10:18
Pauly 发表于 2016-1-6 21:19
在外面没有测试,但我觉得可以参考BCD中的内存测试的启动项,它启动的是memtest.efi,理论上可以再启动xorb ...


我在bcd中,直接将内存测试那个efi文件,换名为xorboot.efi文件,保存后重启,选择内存测试项进入,但出现错误提示而停止。不知是何原因,还望指点,谢谢!
作者: qj_tzy    时间: 2016-1-8 10:20
Pauly 发表于 2016-1-7 16:29
xorboot uefi对gpt分区的显示和隐藏更加合理,与bootice不太一致,不要同时使用,下次更新bootice时会改 ...

非常期待大师的新 bootice 版本问世!
作者: 282198284    时间: 2019-2-9 02:28
qj_tzy 发表于 2016-1-8 10:18
我在bcd中,直接将内存测试那个efi文件,换名为xorboot.efi文件,保存后重启,选择内存测试项进入,但 ...

请问楼主bcd启动xorboor.efi或者启动bootx64.efi成功了吗?





欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3