因为安装双系统导致破坏 EFI 引导分区的事情发生,这通常是指Windows和macOS双系统并存的情况。一些台式机友为了彼此系统相安无事,就加装另一块硬盘,将Windows和macOS在物理上进行隔离,这样做的好处是每块硬盘上都会有自己的 EFI 分区,通过 EFI 引导分区分别进行引导。台式机可以加装一块硬盘达到双 EFI 的效果,那笔记本只有一块硬盘的情况下又该如何做呢?
操作环境:macOS
打开终端,输入命令:
$ diskutil list/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk2 1000.0 GB disk0s2
/dev/disk2 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - 1000.0 GB disk2
Physical Store disk0s2
1: APFS Volume Hackintosher - 数据 528.2 GB disk2s1
2: APFS Volume Preboot 291.7 MB disk2s2
3: APFS Volume Recovery 613.6 MB disk2s3
4: APFS Volume VM 2.1 GB disk2s4
5: APFS Volume Hackintosher 15.0 GB disk2s5
6: APFS Snapshot com.apple.os.update-... 15.0 GB disk2s5s1
我们可以看到,这块1TB的固态硬盘上已经存在了一个 EFI分区,设备地址为:disk0s1,它位于/dev/disk0的首部,后面的空间是建立了一个Apple_APFS的容器,它占满了所剩的磁盘空间,/dev/disk2是容器的具体布局和分区,我们今天要操作的磁盘是/dev/disk0,所以/dev/disk2部分的内容可直接忽略。
打开磁盘工具
点击 显示 – 显示所有设备,如图所示:

选中左侧的磁盘:CT1000P1SSD8 Media,点击右侧窗口的分区:

在弹出的窗口中选择:分区,在弹出的窗口里选择容器所在的分区,比如小兵的磁盘分区名称是Hackintosher,点击 添加磁盘分区,分区名称任意,比如:ESP 或者 OC 等等,磁盘格式选择Mac OS 扩展(日志式),分区大小选择大于200MB,这里小兵填写的是:500MB,点击 应用

这个时候磁盘工具会自动进行分区操作,它需要点时间,请务必耐心等待它操作完成,在弹出的小窗口中点击 分区

警告:在调整启动宗卷大小的过程中电脑会停止响应,切勿将此电脑关机;整个过程可能持续几分钟或者几小时。若要避免这种情况,您可以在恢复模式下使用分区
请点击继续让它完成分区的操作

开始执行 分区 的操作,这时所有的后台应用都被隐藏,只留下这个磁盘工具在前台工作,请务必等待它执行完毕

这是完成时的画面:

现在,我们就可以对这个扩展成功的分区 ESP 进行重新格式成 FAT 分区,请于窗口左侧选中 ESP 分区,点击窗口右侧的 抹掉 ,

磁盘格式选择: MS-DOS(FAT),点击 抹掉 ,它会重新将该分区抹成 FAT 以支持 UEFI 引导

现在,我们就拥有了另一个可以引导的 EFI 分区。
想验证它是否成功,可以通过打开终端,输入命令:
$ diskutil list disk0
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk2 999.5 GB disk0s2
3: Microsoft Basic Data ESP 499.1 MB disk0s4
我们会看到,现在有两个可引导的 EFI 分区,卷标分别为:EFI / ESP。
将你想引导的 EFI内容复制进新生成的 ESP卷标里,然后添加引导就可以使用它了。
如何使用第二个 EFI 分区
使用场景1
-
EFI分区:通过OpenCore引导macOS【稳定版】【生产用】 -
ESP分区:通过Windows Boot Manager引导Windows
使用场景2
-
EFI分区:通过OpenCore引导macOS【稳定版】【生产用】 -
ESP分区:通过Clover Bootloader引导macOS【测试版】【调试配置文件/驱动用】
使用场景3
-
EFI分区:通过OpenCore引导macOS【稳定版】【生产用】 -
ESP分区:通过Grub Bootloader引导Linux
如何将第二个 EFI 分区添加进 UEFI Bootloader引导菜单
工具:Easy UEFI for Windows
用法:略
工具:Bootice for Windows
用法:略
工具:UEFI SHELL
如何通过UEFI SHELL添加UEFI引导的正确姿势
无论是Clover还是OpenCore,经常会遇到的问题是:重置了NVRAM后就会导致UEFI引导项的丢失。正确的、最简单的插入姿势就是:进入UEFI SHELL (CLOVER)或者Open Shell(OpenCore),然后查看EFI所在的fsV
假如你的是fs0,那么如何判断fs0目录下面就是EFI呢,可以这样验证:
Shell> ls fs0:
如果显示有`EFI`的目录,那么就继续执行
Shell> ls fs0:efi
显示`BOOT`和`OC`或者`BOOT`和`CLOVER`目录,那么可以确定这是你需要操作的位置
Shell> bcfg boot add 0 fs0:efiocopencore.efi "OpenCore Bootloader"
这是添加`OC`的引导项命令
Shell> bcfg boot add 0 fs0:eficlovercloverx64.efi "Clover Bootloader"
这是添加`CLOVER`的引导项命令
Shell> exit
退出`UEFI Shell`
UEFI SHELL其它的用法请谷歌

添加完 UEFI 引导项后,可进入 BIOS 检查是否添加成功,成功后的截图如下:




评论0