双硬盘双EFI 分区不会相互引导么?[已解决]
本帖最后由 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???
不知道你在用硬盘1覆盖硬盘2的EFI时候,2号上的OC是否保留了。如果没有自然无法启动。
另外两个EFI互相备份没有必要。把两个硬盘的EFI分别备份更容易。
实在想两个互为备份,用bootice手工添加启动项。
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分区无启动文件,系统将会无法引导。
多谢 killwintel 发表于 2021-12-15 07:30 https://bbs.pcbeta.com/static/image/common/back.gif
恐怕只有手动添加了,找到一个资料如下
UEFI是唯一存在,代替BIOS boot的,如果存在多个,只有HDD 0上 ...
UEFI引导系统,引导项都在NVRAM里存着。
如果NVRAM里没有引导项,例如清空了NVRAM,系统则会寻找启动顺序第一的硬盘ESP分区里的 /EFI/BOOT/BOOTx64.efi文件来启动系统。
如果BOOTx64.efi是windows提供的,则启动Windows,另外Windows可以自动在NVRAM里添加一个启动项。
如果这个文件是OC提供,则启动苹果。忘了OC会不会自动在NVRAM里添启动项加了。
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 目录结构还得一样,程序需要。
明天测试。 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 。
这种折腾玩法,白果能有?{:9_348:} attend 发表于 2021-12-15 16:52
UEFI引导系统,引导项都在NVRAM里存着。
如果NVRAM里没有引导项,例如清空了NVRAM,系统则会寻找启动顺序 ...
OC里面现在有一个MISC-》boot-》-LauncherOption 设置为Disabled为不添加默认启动项{:5_262:} 有的补丁会影响,取消就正常了 应该有的时候会冲突的。 看不懂{:5_265:}
页:
[1]