首页 分享 在KVM中运行苹果操作系统

在KVM中运行苹果操作系统

来源:花匠小妙招 时间:2024-12-26 01:18

由于版权的关系,MacOS目前只能在苹果自家的硬件设备上运行,虚拟机方面只有VMWare。本文介绍一种在Linux KVM下运行的方式,请确保在MacOS下运行你的Linux虚拟机,当然一般的Linux系统可以, 但是因为版权的问题,责任自负 :-)

目前苹果QEMU虚拟机只能在UEFI模式下启动,在这里你需要先下载一个特殊的UEFI固件。

下面,我将手把手教你在KVM下安装运行你的苹果操作系统

1. 准备一个USB启动盘

请参考此处

2. 设置你的UEFI固件

已测,最新的OVMF版本即可,不需要而外的patch

3. 准备QEMU

推荐2.10以上,或者2.9但合并了patch“77af8a2b95b79”

hw/i386: Use Rev3 FADT (ACPI 2.0) instead of Rev1 to improve guest OS support

4. 创建系统盘

请参考此处脚本文件

5. 使用Libvirt管理你的虚拟机,参照以下步骤生成你的libvirt配置文件

第一行,添加

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>

然后加入UEFI引导文件

<os>

<type arch='x86_64' machine='pc-q35-2.10'>hvm</type>

<loader readonly='yes' type='pflash'>/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>

<nvram template='/usr/share/edk2.git/ovmf-x64/OVMF_VARS-pure-efi.fd'>/var/lib/libvirt/qemu/nvram/macos-test-org-base_VARS.fd</nvram>

<bootmenu enable='yes'/>

</os>

设置CPU

<cpu mode='custom' match='exact' check='partial'>

<model fallback='allow'>Penryn</model>

<feature policy='require' name='invtsc'/>

</cpu>

设置系统盘

<disk type='block' device='disk'>

<driver name='qemu' type='raw' cache='none' io='native' discard='unmap'/>

<source dev='/dev/path/to/lvm/volume'/>

<target dev='sda' bus='sata'/>

</disk>

设置网络

<interface type='network'>

<source network='default'/>

<model type='e1000-82545em'/>

</interface>

加入usb外设

<input type='tablet' bus='usb'/>

<input type='keyboard' bus='usb'/>

设置标准视频输出

<video>

<model type='vga' vram='65536'/>

</video>

添加额外的SMC外设,因为libvirt还不支持,我们在这里通过QEMU命令行来实现

<qemu:commandline>

<qemu:arg value='-readconfig'/>

<qemu:arg value='/path/to/macintosh.cfg'/>

</qemu:commandline>

macintosh.cfig 文件如下:

[device "smc"]

driver = "isa-applesmc"

osk = "<insert-real-osk-here>"

6.  直接使用QEMU命令行管理你的虚拟机

qemu-system-x86_64 -machine q35,accel=kvm -bios ~/OVMF.fd -m 4096

-cpu Penryn -smp 4,cores=2

-usb -device usb-kbd -device usb-tablet

-device isa-applesmc,osk="insert-real-64-char-OSK-here"

-netdev user,id=usr0 -device e1000-82545em,netdev=usr0,id=vnet0

-device ide-drive,bus=ide.2,drive=MacHDD

-drive id=MacHDD,if=none,file=~/mac_hdd.img

-monitor stdio

结语:

这样,我们就可以在Linux的KVM下运行苹果操作系统了。

Enjoy, have a lot of fun!

参考:

http://www.contrib.andrew.cmu.edu/~somlo/OSXKVM/

https://www.kraxel.org/blog/2017/09/running-macos-as-guest-in-kvm/

相关知识

KVM切换器常见故障排查及解决方法(1)
虚拟化之KVM
如何在麒麟操作系统上安装和管理字体 – PingCode
源头免疫 操作系统防病毒的另类高招(转)
我国首个、自主可控……华为原生鸿蒙操作系统正式发布
贝锐向日葵
东北大学在“松山湖杯”第一届中国研究生操作系统开源创新大赛中荣获佳绩
东北大学在“松山湖杯”第一届中国研究生操作系统开源创新大赛中取得佳绩
kylaCpp
台湾地区Windows操作系统盗版现象对编程环境的影响及解决方案探讨

网址: 在KVM中运行苹果操作系统 https://www.huajiangbk.com/newsview1294235.html

所属分类:花卉
上一篇: 第T题 详解放苹果(递归) ==
下一篇: 苹果公司踏上历史新高门槛 “AI

推荐分享