最近的amd 5800H 小主机来折腾下
首先下载mac os 的iso包, 这里要去网上搜,虽然大都是需要付费的。 了解到有几种包
ipsw 是apple芯片专用的
PKG格式的软件包是最常见的Mac安装包格式。你可以直接将PKG文件拖拽到“应用程序”文件夹下,然后双击运行安装程序,按照提示完成安装即可。
DMG 是macOS磁盘映像
iso和cdr 是虚拟机可用的
首先去找一个iso 安装包
然后去github上下载pve 的openCore引导,地址是Releases · thenickdude/KVM-Opencore (github.com) 下载OpenCore-v21.iso.gz 然后解压得到iso文件即是pve openCore引导
顺便下载EFI文件夹,即OpenCoreEFIFolder-v21.zip 安装好后会用到
然后登录pve管理页面
将这两个iso上传到local 的ISO镜像
然后创建虚拟机,名称随意
选择操作系统Other,不使用任何介质
然后显卡选择VMWare兼容、Qemu 代理勾上,机型Q35、BIOS 选UEFI、EFI存储选上、预注册密钥取消勾选
然后总线选VirtIO Block 缓存选Write back、磁盘大小输入合适的大小(32太小)、启用IO thread 以支持 TRIM
然后核心数输入双数,CPU设置为Haswell或Penryn
内存 8192 太小也不行
网络选VirtIO 半虚拟化
然后点击完成。
然后回到虚拟机硬件删除CD/DVD
然后添加CD, 选择之前下载解压的openCore iso总线一定要填0
再添加一个CD 选择macos安装iso
然后去pve的ssh 输入下面代码,作用是避免循环引导
echo "options kvm ignore_msrs=Y" >> /etc/modprobe.d/kvm.conf && update-initramfs -k all -u
然后编辑 /etc/pve/qemu-server 的对应虚拟机ID 的conf文件
我的是AMD在开头处加入
args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -device qemu-xhci -device usb-kbd -device usb-tablet -global nec-usb-xhci.msi=off -global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off -cpu Haswell-noTSX,vendor=GenuineIntel,+invtsc,+hypervisor,kvm=on,vmware-cpuid-freq=on
注意intel cpu会不同,不同macos系统也可能有差异
然后media=cdrom 替换为cache=unsafe
保存退出
然后调整引导顺序,将openCore的引导Iso 放第一个
然后就可以开机了。
没出现opencore 安装masos 菜单不用慌
进入第一个shell 后输入 fs0:
回车然后再输入 System\Library\CoreServices\boot.efi
回车就进入到苹果界面了
等一会点击Disk Utility 点继续选择磁盘点击右上角Erase 进行格式化,格式默认
Name 随便输入如mac
然后正常安装即可,安装过程中全点击否 稍后设置之类的不登录APP ID。
安装后把EFI 放到系统盘就可以不需要那2个CD 了
有教程说去GitHub - corpnewt/MountEFI: An even more robust edition of my previous MountEFI scripts
下载MountEFI
然后
cd ~/Downloads/MountEFI
chmod +x MountEFI.command
./MountEFI.command
但我试过好像不行,直接打开MountEFI.command 也不行
我用的另一种方法
去github下载 Hackintool
GitHub - benbaker76/Hackintool: The Swiss army knife of vanilla Hackintoshing
解压zip后放到NAS 共享盘,这个暂时没用到,不过后面定制EFI会用到
再去github下载OCAuxiliaryTools
Release 20240001 · ic005k/OCAuxiliaryTools · GitHub
下载 OCAT_Mac.dmg 也放到NAS 共享盘
然后再MAC 系统中访问共享盘把 OCAT_Mac.dmg 托到桌面
点击菜单中的Mount ESP 把系统EFI 盘挂载, 点击mount 输入密码
题外,我使用下面这个Backup EFI to Desktop 备份的EFI是空的?即使挂载了系统EFI 再备份也是空的?
然后回到Finder 左边会有一个EFI 点击后是个空的。
把之前下载的EFI Folder即OpenCoreEFIFolder-v21.zip 解压后放上去,注意需要EFI 文件夹
像下面这样
之后关机,移除两个CD/DVD 调整引导顺序就可以开机重新使用了。
步骤参考Running a MacOS 14 Sonoma VM in ProxMox VE (i12bretro.github.io)
现在面临一个问题,如果macos出问题或修复EFI导致无法启动,没有PE 来修复它。我也没找到怎么来操作pve虚拟机下的磁盘方法。为此我还花16块买了个vip 下载三分区系统,下载下来是zst 格式,该格式是pve的备份格式,可以用来pve还原。
但发现在5800h 小主机上进PE 无限重启,但是在Intel 1135G7那个小主机就正常。后来研究发现在上面安装好的macos 虚拟机上附加一个CD/DVD 的PE iso文件可以启动到PE 菜单,刚开始WePE_64_V2.3.iso 就是不行,其实在windows 中也无法打开这个文件,
但当时也没怀疑是这个文件有问题
后来换了个FirPE 去官网下载exe 运行后生成iso即可,数据分区格式我选的NTFS
然后把这个iso 上传到PEV local中,我用CD/DVD 添加这个iso 到之前安装好的macos 然后改变启动顺序,发现可以进入PE启动菜单,但是还是无限重启。然后尝试把它添加到win10的虚拟机中,发现可以正常启动进入到PE桌面也不会无限重启。、
那么怀疑这个虚拟机 conf 配置差异,于是对比win10 的conf 和macos的conf 差异,路径在/etc/pve/qemu-server
最终不断尝试发现macos 去掉顶部的
args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -device qemu-xhci -device usb-kbd -device usb-tablet -global nec-usb-xhci.msi=off -global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off -cpu Haswell-noTSX,vendor=GenuineIntel,+invtsc,+hypervisor,kvm=on,vmware-cpuid-freq=on
然后
cpu: Penryn改为cpu:host 就可以解决无限重启进不到pe桌面的问题,进入PE桌面后可以用DiskGenius Pro 修改mac系统盘的EFI ,修改完后再改回conf 加上args和改回cpu:Penryn 就可以启动macos系统了。 又再次发现WePE_64_V2.3.iso 在windows可以打开了,但还是无法进PE菜单,重新制作WePE_64_V2.3.iso ,发现又可以用了,能进入到PE桌面.....