macOS-KVM 项目教程
1. 项目的目录结构及介绍
macOS-KVM/
├── boot/
│ ├── OpenCore-Catalina.qcow2
│ ├── OpenCore-BigSur.qcow2
│ └── OpenCore-Monterey.qcow2
├── docs/
│ ├── README.md
│ └── FAQ.md
├── ovmf/
│ ├── OVMF_CODE.fd
│ └── OVMF_VARS.fd
├── resources/
│ ├── BaseSystem.dmg
│ └── InstallESD.dmg
├── roms/
│ ├── iMacPro1,1.rom
│ └── MacPro6,1.rom
├── scripts/
│ ├── create_vm.sh
│ └── start_vm.sh
├── .gitignore
├── LICENSE
├── README.md
└── main.py
目录结构介绍
- boot/: 包含用于启动不同 macOS 版本的 OpenCore 镜像文件。
- docs/: 包含项目的文档,如 README 和 FAQ。
- ovmf/: 包含 OVMF 固件文件,用于 UEFI 启动。
- resources/: 包含 macOS 安装所需的系统镜像文件。
- roms/: 包含用于虚拟机的 ROM 文件。
- scripts/: 包含用于创建和启动虚拟机的脚本。
- .gitignore: Git 忽略文件。
- LICENSE: 项目许可证文件。
- README.md: 项目的主 README 文件。
- main.py: 项目的主 Python 脚本。
2. 项目的启动文件介绍
start_vm.sh
#!/bin/bash
# 启动 macOS 虚拟机
qemu-system-x86_64 \
-enable-kvm \
-m 4G \
-cpu Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on \
-machine q35 \
-smp 4,cores=2 \
-usb -device usb-kbd -device usb-mouse \
-device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" \
-drive if=pflash,format=raw,readonly,file=./ovmf/OVMF_CODE.fd \
-drive if=pflash,format=raw,file=./ovmf/OVMF_VARS.fd \
-smbios type=2 \
-device ich9-intel-hda -device hda-duplex \
-device ide-drive,bus=ide.2,drive=Clover \
-drive id=Clover,if=none,snapshot=on,format=qcow2,file=./boot/OpenCore-Catalina.qcow2 \
-device ide-drive,bus=ide.1,drive=MacHDD \
-drive id=MacHDD,if=none,file=./mac_hdd.img,format=qcow2 \
-netdev user,id=net0 -device e1000-82545em,netdev=net0,id=net0,mac=52:54:00:c9:18:27 \
-monitor stdio \
-vga vmware
启动文件介绍
start_vm.sh
: 这是一个用于启动 macOS 虚拟机的 Bash 脚本。它使用 QEMU 和 KVM 来创建和运行虚拟机。脚本中配置了虚拟机的内存、CPU、硬盘、网络等参数。
3. 项目的配置文件介绍
create_vm.sh
#!/bin/bash
# 创建 macOS 虚拟机
qemu-img create -f qcow2 mac_hdd.img 128G
# 下载 macOS 安装镜像
wget https://example.com/macOS_InstallESD.dmg -O ./resources/InstallESD.dmg
# 转换 DMG 文件为 IMG 文件
dmg2img ./resources/InstallESD.dmg ./resources/BaseSystem.img
# 创建虚拟机配置文件
cat <<EOF > vm_config.txt
memory = "4096"
cpus = "4"
disk = "mac_hdd.img"
boot = "OpenCore-Catalina.qcow2"
EOF
配置文件介绍
create_vm.sh
: 这是一个用于创建 macOS 虚拟机的 Bash 脚本。它首先创建一个虚拟硬盘镜像文件,然后下载 macOS 安装镜像并将其转换为 IMG 文件。最后,它生成一个虚拟机配置文件vm_config.txt
,包含虚拟机的内存、CPU、硬盘和启动镜像等信息。
通过以上步骤,您可以成功创建并启动 macOS 虚拟机。