Ventura 目前还在 Beta 阶段,不准备实装,但是可以先将 OpenCore v15 更新到 v17 (使用 nicksherlock 的 https://github.com/thenickdude/KVM-Opencore)做好更新准备

本人只是将 macOS 虚拟机作为服务器,做一些简单测试/软件脚本适配,不作为主力机使用,成功标准也只是虚拟机能跑起来即可,因此无法回答很多日常使用中会遇到的问题(包括但不限于软件问题、各类直通问题等)

仅作记录

准备

参考

步骤

配置虚拟机

将 OpenCore-version.iso.gz 解压得到 iso 镜像文件,上传到 PVE

在 macOS 虚拟机的硬件设置下添加 CD/DVD Drive,镜像选择刚才上传的 OpenCore 镜像

在 PVE 的 Shell 内编辑 macOS 虚拟机对应的 .conf 配置文件(配置文件在 /etc/pve/qemu-server 下)

在刚才添加的 CD/DVD Drive 一行中的 media=cdrom 替换为 cache=unsafe,将 CD/DVD 挂载为硬盘

在虚拟机的选项标签页内更改启动顺序,将新版 OpenCore 移动至最高优先级

将新版 OpenCore 写入 macOS 硬盘

开启虚拟机,此时会进入新版 OpenCore,选择 macOS 硬盘启动

在终端内执行

diskutil list

查看各硬盘的分区

使用 dd 指令将新版 OpenCore 写入 macOS 的 EFI 分区

sudo dd if=[新版 OpenCore 的路径] of=[macOS 内部的 EFI 分区路径]

关闭虚拟机,在硬件设置页取消挂载新版 OpenCore 的 iso 镜像

开启虚拟机即可看到 OpenCore 已经被更新了

设置自动启动

同 Proxmox VE 7 虚拟化 macOS Monterey,这里为方便阅读复读一次

挂载 EFI 分区

# 查看 EFI 分区路径
duskutil list
# 挂载分区
sudo mount -t msdos /path/to/EFI/partition /Volume

编辑 /Volume/EFI/OC/config.plist,修改 Msic/Boot 下的 Timeout 值为非零数字(代表 x 秒后自动选择磁盘启动)

保存修改,重启查看效果
Continue reading "Proxmox VE macOS 更新 OpenCore"

“启动菜单”是指在 mac 启动时按住 option 键进入的启动选项菜单,“标签文字”是指每个启动项下的文字标签

起因是 Ubuntu 删除 Ext4 分区后把 macOS 分区也搞乱了,重装 Monterey 时格式化将硬盘名称改为了 “未命名”,之后启动项里就一直显示 “未命名”,激起了我的强迫症

使用 macOS 磁盘工具修改硬盘名称无效,网上很多答案使用的 bless 命令也无法更改—— Monterey 使用了 APFS,标签文字文件的位置与之前版本不同而且受到 SIP 保护,无法直接使用 bless 修改

最后在 https://apple.stackexchange.com/questions/436980/rename-macos-monterey-disk-in-startup-manager 找到了答案,以下为步骤

  1. 重启 mac,开机时按住 Command + R 进入恢复模式
  2. 在恢复模式下开启终端,执行
    csrutil disable

    关闭 SIP

  3. 重启进入 Monterey,打开终端,执行
    GROUP="$(diskutil info / | grep "APFS Volume Group")"
    UUID="${GROUP##* }"
    # 也可以省略前两行直接 cd 到该目录
    cd /System/Volumes/Preboot/$UUID/System/Library/CoreServices/
    sudo bless --folder . --label "[欲修改的 macOS 启动项标签名称]"
    printf "[欲修改的 macOS 启动项标签名称]" | sudo tee .disk_label.contentDetails; echo 
    sudo chgrp wheel .disk*
  4. 之后执行
    sudo csrutil clear

    恢复 SIP

  5. 重启 mac 生效