尝试不使用pve unraid等搭建一个macos ,并在后续直通显卡 蓝牙 wifi usb
宿主机器:archlinux ,已经安装了qemu 安装过程很简单查看这里: https://dev.leiyanhui.com/kvm/arch-install-kvm/
宿主机硬件情况:
cpu:qnct魔改,实际是 i7 8850h es
主板:技嘉一体机主板 b150m pio si r3
内存:32G ddr4
显卡:只有核显,主板有hdmi 和dp 接口,用的HDMI
板载声卡:ALC887
板载网卡:RTL8168
wifi和蓝牙:博通 43224AG /别名:bcm943224PcieBT2
硬盘:一块 512G nvme kioxia 一块 2.5寸机械盘
分区情况:nvme盘 efi分区 放了一个winpe,另外就arch的引导
/ 分区 EXT4 ,5G 只安装了arch基本系统+qemu base
/ 另外一个分区 EXT4分区格式,用来存虚拟机的虚拟磁盘文件 挂载到 /mnt/EXT4
机械盘 只一个分区 exfat格式,挂载到 /mnt/hdd 里面存放虚拟机镜像 各种iso 以及 重要文件的备份
准备工作:
- 安装OVMF
sudo pacman -S ovmf
记得/usr/share/edk2-ovmf/x64/OVMF.fd
- opencore 后文
- Ventura 恢复镜像Ventura-recovery.img 后文
opencore 获取
|
|
这个iso文件实际是一个img文件,所以直接重命名OpenCore-v19.img 即可
Ventura 恢复镜
直接用网上一些dmg用qemu转换也可以,或者用这个项目获取在线恢复镜像(网络安装,安装速度会略慢,第三方打包的dmg是离线安装速度好很多) 我用的是小兵的dmg镜像 我之前已经获取到了,建议创建一个docker ubuntu18,尽量别在宿主机搞,在docker 里面搞定.也可以参考我之前在pve下的记录
sudo apt install qemu-utils make git
git clone https://ghproxy.com/https://github.com/thenickdude/OSX-KVM.git
cd ./OSX-KVM/scripts/ventura
make Ventura-recovery.dmg
# 有执行 qemu-img convert BaseSystem.dmg -O raw Ventura-recovery.dmg 那么这个最终的dmg其实已经是raw文件了
mv Ventura-recovery.dmg Ventura-recovery.img
用sftp 或者其他方法 吧文件复制到宿主机,
如果用小兵的,需要转换一下格式qemu-img convert -f dmg -O qcow2 小兵的dgm文件名.dmg xiaobing.qcow2
准备好的文件
/usr/share/edk2-ovmf/x64/OVMF.fd 虚拟OVMF-bois-efi 安装ovmf后就有了
/mnt/exfat/OpenCore-V19.img 针对kvm优化过的通用opcencore 引导
/mnt/exfat/Ventura-recovery.img macos13 恢复镜像 ,
/mnt/exfat/macos-13.img 用于安装macos的空白虚拟磁盘 qemu-img create -f raw -o size=32G /mnt/ext4/macos-13.img
qcow2也可以。我喜欢raw 通用性好一些
可选
/mnt/hdd/iso/pe/FirPE-V1.8.1.iso 一个集成部分virtio驱动winpe win下下载运行 创建iso即可 https://firpe.cn/
参考pve的配置文件: https://github.com/joyanhui/file.leiyanhui.com/blob/main/pve-unraid-kvm/100.macbase.conf
安装前的思考
因为是第一次脱离pve或者unraid安装黑苹果,尽量采用pve下的黑苹果已经成功的方式,
比如 q35机型 OVMF(uefi) VMware显卡 cpu Penryn 还有部分 args参数
部分内容参考: https://github.com/kholia/OSX-KVM/blob/master/OpenCore-Boot.sh
cpu核心数 应该是只可以用 2 4 8 16 32 这样的,我是6核12线,所以8
之前在kvm下部署成的配置文件 https://github.com/joyanhui/file.leiyanhui.com/blob/main/pve-unraid-kvm/100.macbase.conf 关键是这行
args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -device usb-kbd,bus=ehci.0,port=2 -global nec-usb-xhci.msi=off -global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off -cpu host,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc
网络部分,我为了简单管理,还是使用用户模式
另外vnc远程远远没有苹果的ARD协议速度好 需要映射 一下端口进去 5900 3283 22 其中22是tcp,其他两个tcp/udp 都要
苹果官网 在关于远程桌面 网络指南中有提示这三个端口:https://support.apple.com/zh-cn/guide/remote-desktop/welcome/machostfwd=tcp::15900-:5900,hostfwd=udp::15900-:5900,hostfwd=tcp::13283-:3283,hostfwd=udp::13283-:3283,hostfwd=tcp::1222-:22
主硬盘尽量用virio,kholia/OSX-KVM/blob/master/OpenCore-Boot.sh 给的例子是ide的
|
|
改一下 直接用drive 挂载
|
|
修改一下 opencore
可以不改,下面配置可以直接启动,后期要直通硬件 再修改即可
尝试启动安装
看了参数 -boot [order=drivers][,once=drives] 定义设备的引导次序,每种设备使用一个字符表示。a,b 表示软驱,c表示第一块硬盘,d表示第一个光驱,n-p 表示网络适配器。
-boot order=dc,once=d 或者 -boot menu=on
|
|
如果 用OSX-KVM的恢复镜像,就上面Install_macOS_Ventura_13 或者 xiaobing.qcow2那行改为下面这两行
-device ide-hd,bus=sata.3,drive=InstallMedia \
-drive id=InstallMedia,if=none,file="/mnt/exfat/Ventura-recovery.img",format=raw \
vnc连接开始安装
vnc 链接 宿主机器ip:5901
开机 先按下 esc 选择cdrom 启动到pe 检查一下 基本的硬件情况,因为这个pe 没有集成 virtio-net-pci的驱动,所以每次进去需要手动安装一下驱动
安装之前 先safari打开网站 测试,可以顺利联网,继续安装
因为macos还需要继续完善,所以暂时不添加到开机启动里面,可以丢到screen里面 运行
没有意外 直接成功