如何在kvm/qemu上运行macOS
MacOS是由Apple Inc.自2001年开发的专有图形操作系统。
它是Apple的Mac计算机的主要操作系统。
Microsoft Windows后,它是第二次使用的桌面操作系统。
在本文中,我们将查看如何在QEMU上运行或者安装麦克斯,由KVM加速。
对于此设置,我们将使用Github中可用的MacOS-Simple-KVM项目代码在KVM/QEMU上运行MacOS。
为我们能够在QEMU/KVM上运行MacOS,我们需要带有QEMU,Python3,PIP和启用KVM模块的Linux系统。
第1步:环境准备
让我们首先确保我们拥有安装的依赖项和在KVM工作中运行麦克斯所需的服务。
ubuntu/debian基于Linux:
sudo apt update sudo apt -y install qemu-kvm libvirt-daemon qemu-system qemu-utils python3 python3-pip bridge-utils virtinst libvirt-daemon-system virt-manager
确保加载和启用vhost_net模块。
$sudo modprobe vhost_net $lsmod | grep vhost vhost_net 24576 0 tun 49152 1 vhost_net vhost 49152 1 vhost_net tap 28672 1 vhost_net $echo vhost_net | sudo teaa -a /etc/modules
Fedora Linux:
sudo dnf -y install git bridge-utils libvirt virt-install qemu-kvm qemu qemu-img python3 python3-pip virt-manager
开始KVM:
sudo systemctl start libvirtd sudo systemctl enable libvirtd sudo dnf -y install virt-manager
安装后,验证是否已加载内核模块
$lsmod | grep kvm kvm_intel 233472 0 kvm 737280 1 kvm_intel
我建议我们将virt-manager配置为非root用户,因此我们可以在没有sudo的情况下将其用于其他目的。
Arch Linux/Manjaro:
sudo pacman -S qemu virt-manager virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat python python-pip ebtables iptables
完成安装后,启动并启用LibVirtd服务以启动启动:
sudo systemctl enable libvirtd.service sudo systemctl start libvirtd.service
第2步:下载宏的安装媒体
确保安装了Git。
--- Ubuntu/Debian -- $sudo apt -y install git --- Fedora -- $sudo dnf -y install git
然后克隆GitHub上的项目代码。
git clone https://github.com/foxlet/macOS-Simple-KVM.git
更改为下载的目录。
cd macOS-Simple-KVM
运行Installer脚本以下载麦斯科斯的安装媒体(需要互联网)。
./jumpstart.sh --catalina
默认安装使用Catalina,但我们可以通过添加-high-sierra,-mojave或者-catalina来选择哪个版本。
示例安装
........ dmg2img v1.6.7 (c) vu1tur (Hyman@theitroad) /var/home/jkmutai/Downloads/macos/macOS-Simple-KVM/tools/FetchMacOS/BaseSystem/BaseSystem.dmg --> /var/home/jkmutai/Downloads/macos/macOS-Simple-KVM/BaseSystem.img decompressing: opening partition 0 ... 100.00% ok opening partition 1 ... 100.00% ok opening partition 2 ... 100.00% ok opening partition 3 ... 100.00% ok opening partition 4 ... 100.00% ok opening partition 5 ... 100.00% ok opening partition 6 ... 100.00% ok opening partition 7 ... 100.00% ok Archive successfully decompressed as /var/home/jkmutai/Downloads/macos/macOS-Simple-KVM/BaseSystem.img
该目录将内容如下所示:
$ls -l total 2.1G -rw-------. 1 jkmutai jkmutai 2.0G Mar 20 17:15 BaseSystem.img -rwx------. 1 jkmutai jkmutai 1.1K Mar 20 17:10 basic.sh drwx------. 2 jkmutai jkmutai 4.0K Mar 20 17:10 docs -rw-------. 1 jkmutai jkmutai 13M Mar 20 17:10 ESP.qcow2 drwx------. 2 jkmutai jkmutai 4.0K Mar 20 17:10 firmware -rwx------. 1 jkmutai jkmutai 1.5K Mar 20 17:10 headless.sh -rwx------. 1 jkmutai jkmutai 874 Mar 20 17:10 jumpstart.sh -rwx------. 1 jkmutai jkmutai 732 Mar 20 17:10 make.sh -rw-------. 1 jkmutai jkmutai 3.0K Mar 20 17:10 README.md drwx------. 4 jkmutai jkmutai 4.0K Mar 20 17:10 tools -rwx------. 1 jkmutai jkmutai 946 Mar 20 17:10 virtio.sh
第3步:启动机器并安装麦斯科座
我们需要使用qemu-img创建一个空的硬盘。
$qemu-img create -f qcow2 macOS.qcow2 50G Formatting 'macOS.qcow2', fmt=qcow2 size=53687091200 cluster_size=65536 lazy_refcounts=off refcount_bits=16
修改Basic.sh文件并将以下行添加到最后。
-drive id=SystemDisk,if=none,file=macOS.qcow2 \ -device ide-hd,bus=sata.4,drive=SystemDisk \
我们现在可以运行命令:
./basic.sh
单击MacOS图标以安装MacOS基础系统。
安装程序将在几秒钟内开始。
在下一个屏幕中选择"磁盘实用程序"。
格式化所创建的磁盘以安装MacOS基础系统。
磁盘应在形成后显示大小和分区类型。
关闭磁盘实用程序,然后选择"重新安装MacOS"。
通过击中"继续"按钮确认操作系统安装。
选择以前分区的磁盘。
在安装开始时要耐心 - 这可能需要很长时间,具体取决于互联网速度。
步骤4:将安装程序导入riveManager
而不是qemu,我们想将设置导入到Virt-Manager以获取更多配置,刚刚运行:
sudo ./make.sh --add
运行上面的命令后,将MacOS.qcow2添加为VM的新添加条目属性中的存储。