查看: 7205|回复: 9

[OpenCore] 双硬盘双EFI 分区不会相互引导么?[已解决]

[复制链接]
killwintel 发表于 2021-12-13 17:02 | 显示全部楼层 |阅读模式
快御云安全
本帖最后由 killwintel 于 2021-12-17 14:06 编辑

目前2个M.2硬盘

硬盘1 是新装系统11,全盘安装的。
硬盘2 是老系统10.15.6,是双系统,还有windows10


因为硬盘1 EFI 是最新的,配置最佳,所以我把硬盘1的EFI 复制到 硬盘2 EFI分区,替换了老系统的EFI,但保留了windows引导目录。


我以为会有2个硬盘 的EFI 被BIOS 识别,我可以选择哪一个。但意外 的是:

在BIOS里面,只有硬盘1可选 ,可以从EFI启动,硬盘2 只有windows 引导被BIOS识别并可选(做为启动项)。
硬盘2的EFI 中的/EFI/BOOT目录就像不存在一样,也就不能用硬盘二中的OC来启动。

原来想着2个EFI一样,可以互相做个备份,这样折腾config.plist万一损坏,可以选择别一个oc启动,但事与愿违,不行哦。

双硬盘互相做个备份其实蛮不错的想法,却不行???

怎么让第二个硬盘也被识别EFI ???原来都 是自动识别的包括优盘,我就奇怪,硬盘2 为何只识别了windows???


attend 发表于 2021-12-13 20:46 | 显示全部楼层
不知道你在用硬盘1覆盖硬盘2的EFI时候,2号上的OC是否保留了。如果没有自然无法启动。

另外两个EFI互相备份没有必要。把两个硬盘的EFI分别备份更容易。

实在想两个互为备份,用bootice手工添加启动项。
回复

使用道具 举报

killwintel  楼主| 发表于 2021-12-15 07:30 来自手机 | 显示全部楼层
attend 发表于 2021-12-13 20:46
不知道你在用硬盘1覆盖硬盘2的EFI时候,2号上的OC是否保留了。如果没有自然无法启动。

另外两个EFI互相备 ...

恐怕只有手动添加了,找到一个资料如下

UEFI是唯一存在,代替BIOS boot的,如果存在多个,只有HDD 0上ESP会生效。 UEFI的原理是读取HDD 0盘位中ESP分区里的引导文件,如果HDD 0盘位无ESP分区,部分主板会尝试读取HDD 1盘位ESP,少数品牌机可能只读取主盘位,如果主盘位无ESP分区无启动文件,系统将会无法引导。

多谢
回复

使用道具 举报

attend 发表于 2021-12-15 16:52 | 显示全部楼层
killwintel 发表于 2021-12-15 07:30
恐怕只有手动添加了,找到一个资料如下

UEFI是唯一存在,代替BIOS boot的,如果存在多个,只有HDD 0上 ...

UEFI引导系统,引导项都在NVRAM里存着。
如果NVRAM里没有引导项,例如清空了NVRAM,系统则会寻找启动顺序第一的硬盘ESP分区里的 /EFI/BOOT/BOOTx64.efi文件来启动系统。

如果BOOTx64.efi是windows提供的,则启动Windows,另外Windows可以自动在NVRAM里添加一个启动项。

如果这个文件是OC提供,则启动苹果。忘了OC会不会自动在NVRAM里添启动项加了。



回复

使用道具 举报

killwintel  楼主| 发表于 2021-12-17 00:17 来自手机 | 显示全部楼层
attend 发表于 2021-12-15 16:52
UEFI引导系统,引导项都在NVRAM里存着。
如果NVRAM里没有引导项,例如清空了NVRAM,系统则会寻找启动顺序 ...

nvram 因为折腾黑苹果经常清空,所以双硬盘efi互为备份,不能采用手动添加引导项,只利用bios的自带功能。目前找到一个解决方案。

目标
双硬盘EFI互为备份,即使nvram清空,也可以在bios里面,选择不同硬盘,启动oc。同时可以利用oc启动windows。

难点
硬盘二oc和windows引导共存efi分区,但bios只显示windows,bios不能选择启动OC,我不知道是双硬,第二硬盘的原因,或者即使一块硬盘oc也不被识别.

解决
删除efi分区中microsoft目录, bios不再出现windows引导选项,成功出现标准uefi的efi引导项,自然由boot目录的bootx64.efi引导。

查win10 uefi引导过程,关键文件是bootmgfw.efi,他和bootx64.efi是同一个文件。如果这个文件不存在,估计bios就不显示win引导项,明天测试。oc就是用这个文件判断windows引导项的,确认。

步骤
一 把bootmgfw.efi改名,让bios找不到,他就会启动标准uefi流程启动
二 bios找不到,oc也找不到,不能菜单启动windows了。怎么办?手动添加入口即可。
三 手动添加确实麻烦。但,只需要一次,可以接受。

关键microsoft 目录结构还得一样,程序需要。

明天测试。
回复

使用道具 举报

killwintel  楼主| 发表于 2021-12-17 12:58 | 显示全部楼层
5楼想法已实战,一如预期。

手动把另一个硬笔的windows加入引导,需要硬盘分区 的uefi路径:比如:
PciRoot(0x0)/Pci(0x1B,0x4)/Pci(0x0,0x0)/NVMe(0x1,00-00-00-00-00-00-00-01)/HD(1,GPT,B45F2F3F-CDF2-494A-95FC-776F431E04F9,0x28,0x64000)/\EFI\MICROSOFT\BOOT\BOOTMGFWOC.EFI
用oc的openshell 工具找出。

步骤
一OC 引导菜单,空格进入,选择OpenShell进入。
二挨个尝试。。。找到windows引导文件 所在硬盘的第一个分区(EFI),我的在FS3下
      ls 命令可用
三 确认后进入EFI目录(cd/ls),把需要的长字串保存至文件
map >maptable_windows.txt
四 从这个文件中补齐路径,回到OC编辑器 ,misc-Entries 下添加项,参照已有的实例,粘贴刚才路径。取名windows10 .

难点对我有二点
1 windows引导关键文件bootmgfw.efi 的相关知识,我把它重命名为bootmgfwOC.efi
2 硬盘uefi 路径的获取。

当前功能:
1 双硬盘可在bios中默认识别并选取,均可使用EFI/BOOT/BOOTX64.EFI启动。不怕nvram被清后的引导丢失问题。
2 硬盘二 不再(只)被识别为windows
3 双硬盘双EFI 互为备份,并且任何一引导都能启动windows,无缝切换引导。对于折腾黑果,config被破坏忒有用。OCAT对多EFI支持差,破坏config文件不是一次了。。。进不去系统还得用优盘引导。现在在bios中切换一下就好。
4 实证,微星迫击炮主板虽然不被唐尼教程推荐,但对黑果支持,多引导支持,都挺好的。象这种,双EFI引导,肯定需要BIOS支持。象在百度搜到的,有的不支持第二硬盘的EFI 。

这种折腾玩法,白果能有?
回复

使用道具 举报

yuanye423 发表于 2025-3-10 15:59 | 显示全部楼层
attend 发表于 2021-12-15 16:52
UEFI引导系统,引导项都在NVRAM里存着。
如果NVRAM里没有引导项,例如清空了NVRAM,系统则会寻找启动顺序 ...

OC  里面现在有一个  MISC-》boot-》-LauncherOption 设置为Disabled  为不添加默认启动项
回复

使用道具 举报

wangczkunu 发表于 2025-3-10 18:37 | 显示全部楼层
有的补丁会影响,取消就正常了
回复

使用道具 举报

NekoDai716 发表于 2025-3-13 15:12 | 显示全部楼层
应该有的时候会冲突的。
回复

使用道具 举报

z465355631 发表于 2025-4-21 20:47 | 显示全部楼层
看不懂
回复

使用道具 举报

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

本版积分规则

小黑屋手机版联系我们

Copyright © 2005-2025 PCBeta. All rights reserved.

Powered by Discuz!  CDN加速及安全服务由「快御」提供

请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。

远景在线 ( 苏ICP备17027154号 )|远景论坛 |Win11论坛 |Win10论坛 |Win8论坛 |Win7论坛 |WP论坛 |Office论坛

GMT+8, 2025-4-22 01:16

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