在 Ubuntu 双启动中更新 Mac OS 后,rEFInd 启动菜单消失了

在 Ubuntu 双启动中更新 Mac OS 后,rEFInd 启动菜单消失了

我的 Macbook Pro 中有双启动 - Ubuntu 16.04。我将 macOS 从 Yosemite 更新到 Big Sur,rEFInd 启动菜单消失了。因此,我无法登录到我的 Ubuntu,我的所有文件都存放在那里。许多博客要求我重新安装 rEFInd,这需要启动到 macOS 恢复模式以禁用 SIP。但是,我没有固件密码来执行此操作。是否可以通过其他方式恢复启动菜单?或者,有什么方法可以访问我的 Ubuntu 文件?请帮忙!

磁盘实用程序映像

答案1

一种可能的解决方案是重新安装 Yosemite。然后您就可以祝福了rEFInd。有多种方法可以实现这一点。以下是其中一种方法的步骤。基本上,您将在虚拟机中制作 Yosemite 安装的映像。接下来,您将把 Yosemite 恢复到内部驱动器上的新分区。

  1. 确保已为 Big Sur 启用文件共享。查看应用程序Sharing的窗格System Preferences

  2. 从 Apple 网站下载 Yosemite如何获取旧版本的 macOS.该文件InstallMacOSX.dmg应该下载到您的Downloads文件夹。

  3. 打开InstallMacOSX.dmg文件并将Install OS X Yosemite应用程序安装到Applications文件夹中。

  4. 下载VMware Fusion 播放器. 这是一个免费产品。

  5. 安装 VMware Fusion Player

  6. 在虚拟机中安装 Yosemite。打开VMware Fusion应用程序并创建一个新的虚拟机。将Install OS X Yosemite应用程序从Applications文件夹拖放到VMware Fusion下面显示的应用程序窗口中。

    https://i.stack.imgur.com/CN7Ow.png

    完成 Yosemite 的安装。

  7. 启动 Yosemite 后,打开Disk Utility应用程序并创建第二个分区。新分区的大小至少应为 8 GB。以下是我选择的。

    https://i.stack.imgur.com/OTyCR.png

    完成后,退出Disk Utility应用程序。

  8. 打开Terminal应用程序窗口并输入下面显示的命令。

    diskutil rename disk0s2 MyYosemite
    sudo nvram "recovery-boot-mode=unused"
    
  9. 关闭所有Finder应用程序窗口,退出所有应用程序并重新启动虚拟机。机器将启动至 OS X Recovery。

  10. 打开Disk Utility应用程序并突出显示音量。在弹出窗口中MyYosemite选择并输入以下内容,然后选择按钮。New ImageSave

    https://i.stack.imgur.com/cAG4C.png

    完成后,突出显示MyYosemite.dmg文件,然后从菜单栏中选择Images> Scan Image for Restore。完成后,重新启动虚拟机。机器将启动到 Yosemite。

  11. 连接到 Big Sur 主机并将MyYosemite.dmg文件从MyBackup卷传输到Downloads主机上的文件夹。

  12. 关闭所有Finder应用程序窗口,退出所有应用程序并关闭虚拟机。

  13. 如果有必要,请删除虚拟机以释放更多可用空间。

  14. 退出VMware Fusion应用程序。

  15. 下载最新 rEFInd。目前这是版本 0.12.0。该refind-bin-0.12.0文件夹应在您的文件夹中创建Downloads

  16. 打开Terminal应用程序窗口并输入以下命令。基本上,APFS 容器将缩小 25 GB,以便为 Yosemite 卷创建一个新分区。

    diskutil apfs resizecontainer disk0s2 140.8G jhfs+ NewVolume 0
    

    接下来,输入以下命令在新分区中安装 Yosemite 卷。

    cd ~/Downloads
    diskutil unmount disk0s3
    sudo asr restore --source MyYosemite.dmg --target /dev/disk0s3 --erase
    diskutil mount disk0s3
    

    最后,输入以下命令将rEFInd下载内容传输至 Yosemite 卷。

    xattr -rd com.apple.quarantine refind-bin-0.12.0
    mv refind-bin-0.12.0 /Volumes/MyYosemite/Users/Shared
    

    完成后关闭所有Finder应用程序窗口并退出所有应用程序。

  17. MyYosemite从应用程序Startup Disk窗格中选择重新启动System Preferences

  18. 启动 Yosemite 后,选择 bless 或重新安装rEFInd。如果重新安装,您可能需要先备份文件refind.conf,尽管rEFInd安装程序可能会将现有refind.conf文件重命名为refind.conf-sample

    我相信重新安装是更安全的选择。

    如果rEFInd使用默认选项安装,则以下命令将会生效rEFInd

    sudo diskutil mount disk0s1
    sudo bless --mount /Volumes/EFI --setBoot --file /Volumes/EFI/EFI/refind/refind_x64.efi --shortform
    diskutil unmount disk0s1
    

    以下命令将rEFInd使用默认选项重新安装。

    sudo /Users/Shared/refind-bin-0.12.0
    

如果您有任何疑问,请发表评论。

答案2

我不确定缺少固件密码是否会阻止您从 Ubuntu USB 启动。如果您可以使用 Ubuntu 磁盘启动,您应该能够通过使用命令efibootmgr列出 efi 启动选项然后将 refind 设置为默认选项来绕过 Mac SIP 安全。

https://www.linuxbabe.com/command-line/how-to-use-linux-efibootmgr-examples

相关内容