January 18, 2023

OpenCore多重引导系统

前言

因为之前家里主机安装了双系统(Windowsh和MacOS)在使用OpenCore作引导,自己又想多了解一些Linux类的系统,所以拿之前退役的一个主机单独装了一台Ubuntu。但是两台主机又太占地方而且也不环保:)看到网上有人使用OpenCore作引导安装了Windows,MacOS,Ubuntu三系统,所以也想自己折腾试试。因为之前已经安装好了Windows和MacOS所以这里只会涉及安装Ubuntu并添加Ubuntu进入OpenCore引导的过程。如果想要了解更多关于主机MacOS系统安装和Windows系统安装的过程,请分别谷歌/百度一下或使用钞能力:)


环境准备

OpenCore_OpenShell_efi

OpenCore now includes a driver OpenLinuxBoot.efi which should make dualbooting with Linux much easier.

OpenLinuxBoot_efi

⚠️注意:分别安装三个系统时,请确保你的电脑上只连接了当前想安装系统的硬盘,并移除其他所有硬盘。比如:我现在在安装Windows,所以现在电脑上只连接要安装Windows的这一个硬盘,其他所有硬盘全部断开连接。


步骤

  1. 插入U盘,打开balenaEtcher,选择下载好的Ubuntu镜像文件,选择插入的U盘,制作Ubuntu安装U盘。
balenaEtcher Ubuntu
  1. 打开OpenCore Configurator,选择工具 > 挂载EFI
OpenCore Configurator Mount EFI
  1. 挂载MacOS系统所在硬盘的EFI分区,这里需要输入管理员密码,并打开分区

    EFI partition
  2. 选择EFI > OC > config.plist,右键打开方式选择在OpenCore Configurator中打开

Screenshot 2023-01-18 at 5.01.12 pm
  1. 选择Misc-其他设置 > Tools-添加附加工具,勾选实际路径,辅助,是否启用,取消隐藏辅助条目。保存!!!
config_plist_Mist设置
  1. 连接想要安装Ubuntu的硬盘,移除其他所有硬盘。此时电脑上应该只连接一个硬盘。

  2. 启动电脑,选择刚刚制作好的Ubuntu安装U盘 > Try and Install Ubuntu,按照步骤一步一步来完成安装即可,进入Ubuntu桌面后即完成了Ubuntu系统的安装。(Ubuntu系统的详细安装步骤可以谷歌/百度一下)

这时我们应有三个硬盘,分别装有安装好的Windows系统,安装好的MacOS系统和安装好的Ubuntu系统。

  1. 连接三个已安装好系统的硬盘,启动电脑,这时在OpenCore启动选择中我们应该可以看到刚刚设置的OpenShell.efi已经可见并可以选择了,选择OpenShell。
UEFI Shell
  1. 这时你应该可以看到如下界面,其中以FS开头的就是所有连接到系统的驱动器的分区,我们现在需要确定哪个是Linux(Ubuntu)的EFI分区。
FS
  1. 输入如下代码挨个进入分区查找,直到看见EFI文件夹时

    1
    2
    3
    4
    5
    6
    7
    8
    # 进入FS0分区
    FS0:
    # 列出该分区下所有文件
    dir
    # 进入EFI文件夹确认是哪个分区
    cd EFI
    dir
    # 这里出现了ubuntu代表我们找到了Ubuntu的EFI分区

    每个人的结果都不一样,我是在FS0找到的我的Linux(Ubuntu)的EFI分区。FS2是我的Windows的EFI分区。

    Ubuntu EFI partition

回到你找到Ubuntu的EFI分区的根目录

1
2
3
# 向上直到你看到前面只显示FSn:\> (这里n是你的驱动器分区)
cd ..
FS0:\> # 代表我们此时已在驱动器根目录

将地址信息导出到txt文件,自己记录下该驱动器号(比如FS0)

1
map > map-table-linux.txt

退出UEFI Shell

1
quit
  1. 重新启动系统并选择MacOS启动,打开OpenCore Configrator,挂载Linux(Ubuntu)的EFI分区并打开。
  2. 这时我们可以看到在该分区下会有两个文件,一个EFI文件夹,一个我们刚刚创建的地址信息map-table-linux.txt
map-table-linux
  1. 打开它,查找我们在上面找到的驱动器号(FS0),复制PciRoot行,并粘贴到一个新文本文件中,在它后面添加

    1
    /\EFI\ubuntu\grubx64.efi

    这时在我们新建的文本文档中的完整路径应该是

    1
    PciRoot(0x0)/Pci(0x17,0x0)/Sata(0x1,0xFFFF,0x0)/HD(1,GPT,7420048F-62D2-48FE-A3D4-2669C8FDB053,0x800,0x100000) /\EFI\ubuntu\grubx64.efi
  2. 打开OpenCore Configurator,挂载MacOS的EFI分区,打开分区进入目录EFI > OC > config.plist,右键打开方式使用OpenCore Configurator config.plist

  3. 选择Misc-其他设置,选择Entries-自定义条目,右下角新建条目,复制我们上面记好的完整路径到新建条目的路径中,填写名称Ubuntu(或者你自己安装的系统名称),风格选择Auto,勾选启用条目,保存!!!

Entries自定义条目
  1. (选做)将OpenShell选项继续隐藏。反向操作第5步。去到Tools-添加附加工具 > 取消勾选实际路径,勾选隐藏辅助条目,保存!!!这样当我们重新启动之后再去到系统选择界面时,就会发现UEFI Shell的选项已经被隐藏了。
System choose

最后不要忘记卸载掉我们之前挂载的所有EFI分区哦。


好了,到此就大功告成啦!喜欢折腾的同学可以去试试啦~


总结

多记录,多查询,多保存!!!



Reference

About this Post

This post is written by Andy, licensed under CC BY-NC 4.0.

#OpenCore