前言
本文接 上一篇,开始进入系统的安装操作
第二篇文章着重说明三系统安装过程,以及会出现的一些小坑,主要是我自己走过的一些弯路吧!
准备工作
要安装三系统,首先需要做一定的准备工作:
- 支持黑苹果的硬件(支持列表:https://blog.daliansky.net/Hackintosh-long-term-maintenance-model-checklist.html)
- 大于16G的U盘一个,PE启动盘一个(内含WIN10系统镜像),Linux启动盘一个
- 找到适合自己的EFI文件
- 可使用的MacOS系统镜像、balenaEtcher、磁盘分区工具、与自己OpenCore版本匹配的OpenCore Configure、ProperTree
硬件略过不提,看支持列表即可,U盘大于16G是因为 MacOS 镜像较大,需要大容量U盘支持,最后的适合自己的 EFI,则需要自己费心找找,若和我一样是 R5900X + B550-A 吹雪 + RX5X0,可以使用我提供的 EFI
U盘制作
首先制作 MacOS 恢复启动盘,镜像使用的黑果小兵提供的11.4版本,请自行下载:MacOS Big Sur 11.4
下载 balenaEtcher,并创建恢复盘,完成后通过磁盘分区工具将U盘中的 EFI 分区挂载到电脑中,并使用自己的 EFI 替换其中的 EFI 文件夹。
插入U盘,关机重启后对主板 BIOS 进行配置,配置方案引用网络列表:
BIOS设置选项列表
禁用清单
Fast Boot - 快速启动
VT-d (can be enabled if you set DisableIoMapper to YES) - VT-d(如果DisableIOMapper Quicks设置为YES,则可以启用)
CSM - CSM 兼容性支持模块
Thunderbolt - 雷雳
Intel SGX - 英特尔SGX
Intel Platform Trust- 英特尔平台信任
CFG Lock (MSR 0xE2 write protection) - CFG锁(MSR 0xE2写保护)(必须关闭,如果找不到该选项,则在OpenCore的config-内核-> Quirks下启用与CFG Lock相关选项)
secure Boot - 安全启动
Parallel Port - 并口
Serial/COM Port - 串行/COM端口
启用清单
VT-x - VT-x
UEFI Boot Mode UEFI启动模式。请不要使用Legacy
硬盘模式:改为AHCI。不能用IDE和RST RAID。
Above 4G decoding - 大于4G地址空间解码
Hyper-Threading - 超线程
Execute Disable Bit - 执行禁用位
EHCI/XHCI Hand-off - EHCI / XHCI接手控制
OS type: Windows 8.1/10 UEFI Mode - 操作系统类型:Windows 8.1 / 10 UEFI模式
DVMT Pre-Allocated(iGPU Memory): DVMT预分配(iGPU内存):64MB(如果能设Max就设)
Legacy RTC Device - 传统RTC设备
以上内容,若在自己 BIOS 中没有的,则无需理会,同时,这里我遇到了一个小坑,特意说明下:
由于我使用的是 M.2 插槽的固态硬盘,某些主板在关闭 CSM 情况下,可能会导致主板认不出 M.2 固态,但如果不关闭 CSM,又有可能导致 MacOS 跑代码时出 RTC 错误卡死,这里我就遇到了,至于解决方案,就是查看下是否 SATA 接口与 M.2 接口存在冲突,更换下 SATA 接口即可。
系统安装
MacOS引导安装
插入 MacOS 引导U盘,启动后进入引导界面,点击“Install macOS”进入安装界面
选择“磁盘工具”进行磁盘分区
分区划分为三个分区(不同硬盘安装可只划分 MacOS 分区),MacOS 划分为 APFS 格式,其余两个系统以自己的需求决定,这里注意下,所有分区记得填写卷名,避免待会儿不知道该安装到哪个分区。
分区完成后关闭磁盘工具,点击“安装 macOS”,并选择刚才划分的分区进入系统安装,期间会重启多次。
剩余的按照正常安装流程即可,完成安装后重启,并插入 PE 启动盘进行 Win10 的安装。
Win10安装
启动至 PE 系统中,打开磁盘工具,并挂载 EFI 分区(系统自动创建,FAT32 格式,大约 200M 左右),给予一个盘符,如Z盘。
格式化 Win10 所用分区,格式 NTFS,打开 PE 中的“Windows安装器”,使用安装器进行 Win10 安装,EFI 分区选择刚才挂载的Z盘,具体安装细节就不详细说了。
Manjaro安装
使用U盘引导至 Live 系统,并开始安装,这里需要注意几点,首先是分区方式选择手动分区
一定要选择 macOS 所在磁盘,并将 "/boot/efi" 挂载到分区上,同时选择 “boot” 标记
其余与日常安装一致,无需再说
引导修复
完成安装后,会发现目前我们无法进入 macOS 系统,只能通过 Manjaro 引导进入 Windows,所以需要对引导进行修复。
插入刚才安装系统时所用的 macOS 引导U盘,进入 macOS 系统,输入命令:
diskutil list可查询出自己当前的磁盘状况,依据查询列表找到引导分区位置,这里注意,真正的引导分区名称只有 EFI,而U盘的是 EFI OC,不要弄错了,如下:
freegd@freegd-Mac ~ % 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 disk3 200.1 GB disk0s2
3: Linux Filesystem 53.7 GB disk0s3
4: Linux Filesystem 746.2 GB disk0s4
................
/dev/disk5 (internal, physical):: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *31.5 GB disk5
1: EFI OC 209.7 MB disk5s1
2: Microsoft Basic Data CLOVER 209.7 MB disk5s2
3: Microsoft Basic Data PE 716.8 MB disk5s3
4: Apple_HFS Install macOS Big Sur 13.7 GB disk5s4
(free space) 16.6 GB -
可以看到,我的系统引导分区在 disk0,而U盘引导分区在 disk5,执行命令挂载两个分区
sudo diskutil mount disk0s1
sudo diskutil mount disk5s1挂载后可在访达中看到新挂载的两个分区分别为 EFI 和 OC
进入 EFI 分区,将其中的 Microsoft 及 Manjaro 两个文件夹复制出来,然后删除 EFI 分区中的所有内容
进入 OC 分区,将其中的 EFI 文件夹复制到 EFI 分区中,再把刚才复制出来的 Microsoft 及 Manjaro 两个文件夹复制到 EFI 分区的 EFI 文件夹中。
此时拔出U盘并重启,发现已经无需再使用U盘进行引导,系统自动进入 macOS 引导界面,若未进入的,请在 BIOS 中设置引导磁盘为 EFI 所在磁盘,不过此时会发现,并没有 Manjaro 的引导选项,还需要单独对 Manjaro 进行配置。
Manjaro引导修复
进入 macOS 引导界面,并选择"openshell.efi"进入命令行
记住列表中的"FSx:",逐一尝试进入,并查询是否存在 EFI 文件夹,并确认是否为系统引导的 EFI 文件夹
FS0:
ls
ls EFI若存在刚才复制的 Microsoft 及 Manjaro 两个文件夹,则回到根目录,并执行命令:
FS0:
map > map_table_linux.txt此时重启系统并进入 macOS,通过刚才的方式挂载 EFI 分区,在分区中找到刚才导出的 map_table_linux.txt 文件,打开它,内容为刚才看到的列表,我们需要的是找到 EFI 分区所在的列表位置,并复制下方的文本,如:
Mapping table
FS0: Alias(s):HD0b:;BLK1:
PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0)/NVMe(0x1,EE-2E-50-11-B3-38-25-00)/HD(1,GPT,A749919B-F51A-4E5D-BB48-010FADF79F01,0x28,0x64000)
将其中的 PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0)/NVMe(0x1,EE-2E-50-11-B3-38-25-00)/HD(1,GPT,A749919B-F51A-4E5D-BB48-010FADF79F01,0x28,0x64000) 这一串复制出来
打开 OpenCore Configurator,调整到"Misc-其他设置"下的"Entries-自定义条目",并点击下方的加号添加一条记录
路径位置将刚才复制的内容粘贴进去,并添加 Manjaro 的引导路径,格式如下:
PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0)/NVMe(0x1,EE-2E-50-11-B3-38-25-00)/HD(1,GPT,A749919B-F51A-4E5D-BB48-010FADF79F01,0x28,0x64000)/\EFI\Manjaro\grubx64.efi
名称位置填写一个自己设定的名称,比如 Manjaro,并勾上启用
完成后保存,可得到一个 plist 文件,此时下载 ProPerTree,执行".command"文件,并打开 EFI 分区内 OC 文件夹下的 config.plist 以及刚才保存的 plist 文件,并分别定位到"Misc-Entries",将 config.plist 中的内容删除,并复制刚才保存的 Entries 下的0这条记录,粘贴到 config.plist 相同位置
此时保存 config.plist 已经可以正常引导 macOS、Win10、Manjaro 三个系统,但还有其余的引导选项没有删除,导致引导界面内容过多,在 config.plist 中定位到"Misc-Boot-HideAuxiliary",将选项改为"true"
同时,咱们在引导 macOS 时,启动界面是跑代码界面,不美观,若想关闭此项,在 config.plist 中定位到"NVRAM-boot-args",将其中的"-v"去除即可。