添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

前言

除了安装黑苹果(Hackintosh)外,在Windows PC上体验黑苹果的方法还有安装Mac OS虚拟机,由于授权、软件支持等因素,VMware、Virtual Box等虚拟机软件虽能运行Apple macOS,却十分缓慢。
本文中介绍的方法使用WSL及QEMU-KVM的方案,可以较为流畅地运行macOS虚拟机。

基本系统要求

本教程的电脑配置如下:

名称 型号/规格
CPU Intel i7-14700KF
RAM 64GB DDR5
GPU Nvidia GeForce RTX 4070 Super
OS Windows 11

WSL的安装

若已安装WSL2,请跳过本部分,本篇教程中使用Ubuntu环境。
以管理员权限打开 Windows Terminal 或者 PowerShell ,运行命令安装 WSL

wsl --install

如果在此之前没有安装过WSL2,请先运行以下命令将新安装的WSL默认版本设置为第二代

wsl --set-default-version 2

按照屏幕提示操作即可

WSL的配置

需要编辑WSL的配置文件,允许嵌套虚拟化。
编辑用户目录下的WSL全局配置文件 .wslconfig ,加入以下内容:

[wsl2]
networkingMode=bridged
vmSwitch=ex
memory=16G
processors=8
swap=16G
localhostForwarding=true
nestedVirtualization=true
pageReporting=true
kernelCommandLine=intel_iommu=on iommu=pt kvm.ignore_msrs=1 kvm-intel.nested=1 kvm-intel.ept=1 kvm-intel.emulate_invalid_guest_state=0 kvm-intel.enable_shadow_vmcs=1 kvm-intel.enable_apicv=1

其中的 memory 一项是设置允许的WSL内存大小, swap 一项可根据需要设置。
如果你在你的用户目录找不到 .wslconfig ,则可以修改局部的WSL配置文件 wsl.conf
首先在终端/PowerShell中输入 wsl 进入Ubuntu环境,接着通过你喜欢的任一编辑器修改 /etc/wsl.conf ,将上述内容加入到此文件即可。
wsl

接着重启wsl

wsl --shutdown

安装macOS

安装必需软件

在上面的步骤中,我们已经配置好了一个支持嵌套虚拟化的环境,因此我们可以基于QEMU-KVM安装macOS虚拟机。得益于微软及各显卡厂商对 WSL2 的优化,即便在WSL上运行的KVM虚拟机也能利用虚拟的GPU,从而进行一定的性能提升。

首先输入 wsl 进入Ubuntu,安装必需软件(依次执行以下命令):

sudo apt update
sudo apt-get install qemu uml-utilities virt-manager git wget dmg2img libguestfs-tools p7zip-full make -y

配置KVM

首先配置KVM开关

echo 1 > /sys/module/kvm/parameters/ignore_msrs

设置权限(依次执行以下命令)

sudo usermod -aG kvm $(whoami)
sudo usermod -aG libvirt $(whoami)

OSX-KVM项目

OSX-KVM项目 可以使基于QEMU-KVM的macOS虚拟机配置更加容易,且无需自行下载镜像,创建磁盘,和一大堆复杂的QEMU命令打交道。配置它十分容易。
首先拉取OSX-KVM项目:

sudo git clone https://github.com/kholia/OSX-KVM.git

注意:此处的目录在接下来的步骤中将会是macOS安装镜像和硬盘文件的位置,默认在C盘的用户目录下,此处可先通过cd命令切换为其他盘符。例如切换为D盘,则先执行 cd /mnt/d

切换目录:

cd OSX-KVM

下载macOS镜像

OSX-KVM项目 中提供了macOS镜像下载脚本,执行:

sudo ./fetch-macOS-v2.py

选择一个系统即可,该脚本会自动从 Apple CDN 下载macOS镜像,如果下载缓慢,请尝试断开代理并重新运行脚本尝试。

下载完毕后的macOS镜像为 dmg 格式,使用命令将其转为 img 格式

sudo dmg2img BaseSystem.dmg BaseSystem.img

创建磁盘镜像

需要至少一个磁盘进行安装macOS,执行下列命令生成一个512GB的磁盘

sudo qemu-img create -f qcow2 mac_hdd_ng.img 512G

将虚拟机加入Virt-manager

WSL2已支持 systemd ,因此我们无需进行其他配置。在上文我们已经安装了 Virt-manager ,这个软件包可以帮助我们通过图形化的方式管理虚拟机。
如果 OSX-KVM 位于用户目录,依次执行:

sudo sed "s/CHANGEME/$USER/g" macOS-libvirt-Catalina.xml > macOS.xml
virt-xml-validate macOS.xml
virsh --connect qemu:///system define macOS.xml

CHANGME 改为你的wsl用户名。

如果 OSX-KVM 位于其他目录,则用任意文本编辑软件打开 macOS-libvirt-Catalina.xml 文件,将所有文件的 路径改为你的 OSX-KVM 目录路径,如果没有改完或路径错误,将无法从 Virt-manager 启动虚拟机
WSL2
可通过 pwd 命令查看 OSX-KVM 目录位置。
改完后,依次运行以下命令:

virt-xml-validate macOS.xml
virsh --connect qemu:///system define macOS.xml

配置虚拟机

依次执行以下命令

sudo systemctl start libvirtd
sudo virt-manager

如果配置正确,则会出现 virt-manager 的界面,且有一个名为 macOS 的虚拟机
GUI1

RAM设置

为了保证macOS的流畅,推荐使用8GB(8192MB)内存以上
GUI2
同时可以设置核心个数,根据需求设置即可,可以选择和WSL配置一致。
Screenshot 2024-07-26 191234.png

安装macOS

请在进入macOS安装界面后先选择 磁盘工具 ,格式化虚拟机磁盘为APFS格式,再安装macOS。安装过程需要一定时间(视电脑配置及虚拟机分配到的资源为准。
在第一次重新启动及后续进入启动项选择时,选择 macOS installer 或类似 新出现的磁盘 ,即便它的名字可能不是你抹掉磁盘时设置的名字。
macOS13

由于 OSX-KVM 使用OpenCore进行引导,因此可使用 OpenCore Configurator 挂载EFI分区,对设备序列号、类型进行定制,可参考其他教程。

其他

修改macOS虚拟机的分辨率

参考

https://blog.hal.wang/7afa8fc1/

  • 基本系统要求
  • WSL的安装
  • WSL的配置
  • 安装macOS
  • 安装必需软件
  • 配置KVM
  • OSX-KVM项目
  • 下载macOS镜像
  • 创建磁盘镜像
  • 将虚拟机加入Virt-manager
  • 配置虚拟机
  • RAM设置
  • 安装macOS

    .wslconfig部分有些问题:
    1、未知密钥 'wsl2.pageReporting',能否注释?
    2、找不到 VmSwitch 'ex'。注释掉后提示“桥接网络需要设置 wsl2.vmSwitch。”

    1.可以,根据https://github.com/microsoft/WSL/issues/9899#issuecomment-1495319805
    2.可能需要手动用Set-VMSwitch WSL -NetAdapterName xxx配置桥接网络,参考https://blog.csdn.net/chubbykkk/article/details/125216708

    你好,首先非常感谢你分享的教程,其次我发现实际上macos是基于qemu来运行的,那是不是可以直接在windows宿主机上安装qemu来运行macos呢?而且我在网上还搜到qemu是可以支持宿主机的显卡直通的,请问用vGPU的形式来提供的显卡加速能力能否应付日常使用?

  • OSX-KVM项目中修改macOS虚拟机的分辨率
  • 在Windows11 WSL上通过QEMU KVM流畅运行macOS虚拟机(2024)
  • 从源码开始构建Windows Server 2003
  • 基于单板服务器Lattepanda Sigma搭建PVE环境
  • 解决Windows 11中安全中心反复提醒quick scan due(快速扫描到期)
  • 默认分类
  • 使用体验
  • 解决问题
  • Abandonware
  • Windows
  • Microsoft
  • Windows 11
  • Abandonware
  • nt5src
  • Linux
  • ARM64
  • Windows Dev Kit
  • Hyper-V
  • Windows 95
  • ChatGPT
  • GPT-4
  • Hashcat
  • Lattepanda
  • macOS
  • 2024 年 8 月
  • 2024 年 7 月
  • 2024 年 2 月
  • 2023 年 12 月
  • 2023 年 11 月
  • 2023 年 9 月
  • 2023 年 4 月
  • 2023 年 2 月
  • 2023 年 1 月
  • 文章 RSS
  • 评论 RSS
  •