本帖最后由 sunxiaoxiao59 于 2021-5-24 17:01 编辑
黑苹果安装好很长一段时间了,但一直没搞定linux、windows、mac的多启动。今天看了点资料,整理了一下,分享给需要的朋友。
难点:opencore添加启动项的难点在于分区文件路径的获取,比如: - windows启动项:
- PciRoot(0x0)/Pci(0x17,0x0)/Sata(0x3,0xFFFF,0x0)/HD(1,GPT,89E7956D-0297-4DBB-A785-4679B7BFDB47,0x800,0x96000)/\EFI\Microsoft\Boot\bootmgfw.efi
- ArchLinux启动项:
- PciRoot(0x0)/Pci(0x17,0x0)/Sata(0x3,0xFFFF,0x0)/HD(1,GPT,89E7956D-0297-4DBB-A785-4679B7BFDB47,0x800,0x96000)/\EFI\ArchLinux\grubx64.efi
复制代码上面的两个字符串可以分割成两大部分:分区id+分区中启动文件路径,我们只要分别获得两部分的字符串,拼接在一起就可以了。 - 分区id:
- PciRoot(0x0)/Pci(0x17,0x0)/Sata(0x3,0xFFFF,0x0)/HD(1,GPT,89E7956D-0297-4DBB-A785-4679B7BFDB47,0x800,0x96000)
- 分区中启动文件路径:
- /\EFI\Microsoft\Boot\bootmgfw.efi
- /\EFI\ArchLinux\grubx64.efi
复制代码 分区id获取:在EFI-OC-Tools路径下添加 OpenShell.efi 文件
在Misc-Misc-Tools路径下添加子项
重启电脑,选择openshell 列出分区情况:map
进入分区:fsxx: 列出分区内文件详情:ls 如果找到EFI,进入EFI文件夹,看看是不是包含需要的启动文件:cd EFI 如果包含(linux或windows启动文件,说明是我们需要的分区,记住分区的代号(重要!重要!重要!) 输出分区map信息:map > map.txt 回到启动界面:exit
如果还需要找其他系统分区,重复上述过程。 我的map.txt文件信息如下: - Mapping table
- FS0: Alias(s):HD0g0c:;BLK2:
- PciRoot(0x0)/Pci(0x14,0x0)/USB(0x6,0x0)/HD(2,MBR,0xE00FDFA5,0xE5E3F4,0x10000)
- FS1: Alias(s):HD1c65535a1:;BLK4:
- PciRoot(0x0)/Pci(0x17,0x0)/Sata(0x2,0xFFFF,0x0)/HD(1,GPT,6CDAB70F-0B94-4BB2-B13C-73B8BB5DF581,0x28,0x64000)
- FS8: Alias(s):HD1d65535a1:;BLK13:
- PciRoot(0x0)/Pci(0x17,0x0)/Sata(0x3,0xFFFF,0x0)/HD(1,GPT,89E7956D-0297-4DBB-A785-4679B7BFDB47,0x800,0x96000)
- FS9: Alias(s):HD1d65535a2:;BLK14:
- PciRoot(0x0)/Pci(0x17,0x0)/Sata(0x3,0xFFFF,0x0)/HD(2,GPT,12E7571F-48EA-45DB-8F07-4DA2010867ED,0x96800,0x19000800)
- FS10: Alias(s):HD1d65535a3:;BLK15:
- PciRoot(0x0)/Pci(0x17,0x0)/Sata(0x3,0xFFFF,0x0)/HD(3,GPT,89550B61-BCF7-4C06-82CA-68429D7ED054,0x19097000,0x114DE28F)
复制代码 需要的分区id:- (我的是fs8):
- PciRoot(0x0)/Pci(0x17,0x0)/Sata(0x3,0xFFFF,0x0)/HD(1,GPT,89E7956D-0297-4DBB-A785-4679B7BFDB47,0x800,0x96000)
复制代码 分区中启动文件路径:- windows:/\EFI\Microsoft\Boot\bootmgfw.efi
- linux:/\EFI\ArchLinux\grubx64.efi
复制代码
拼接我们需要的字符串- 我的windows启动分区代号是FS8,分区id:
- PciRoot(0x0)/Pci(0x17,0x0)/Sata(0x3,0xFFFF,0x0)/HD(1,GPT,89E7956D-0297-4DBB-A785-4679B7BFDB47,0x800,0x96000)
- 对应的分区中启动文件路径:
- /\EFI\Microsoft\Boot\bootmgfw.efi
- 拼接后路径:
- PciRoot(0x0)/Pci(0x17,0x0)/Sata(0x3,0xFFFF,0x0)/HD(1,GPT,89E7956D-0297-4DBB-A785-4679B7BFDB47,0x800,0x96000)/\EFI\Microsoft\Boot\bootmgfw.efi
- linux同样处理:
- PciRoot(0x0)/Pci(0x17,0x0)/Sata(0x3,0xFFFF,0x0)/HD(1,GPT,89E7956D-0297-4DBB-A785-4679B7BFDB47,0x800,0x96000)/\EFI\ArchLinux\grubx64.efi
复制代码 配置config.plist找到Misc-entries,按照需求添加信息
参考资料:- https://kextcache.com/opencore-dualboot-guide/
补充1:不知道为什么图没了,附上笔记地址,需要看图的自己去看下,
https://www.yuque.com/sunhl/mvumc2/sl5mkz
|