macOS Monterey can now run in a Virtual Machine on an M1 Mac using Monterey’s new virtualization framework!
We’ve been waiting for over seven months for this ability! The first OS to be virtualized was Ubuntu Linux, then came the ARM version of Windows 10 in late November of last year. Now we can virtualize macOS Monterey on an M1 Mac.
Hopefully QEMU, Parallels & VMware are not far behind.
I will walk you through the entire process. (UPDATE! KhaosT just released an updated GUI interface, more info at the bottom of the article)
Requirements & Instructions (Modified Original Instructions)
Download links are at the bottom.
- Apple Silicon M1 Mac (running macOS Monterey)
- Xcode 13 (Beta)
- Apple Configurator 2
- macOS Monterey IPSW
- Empty dmg image (This will be your system storage, name it disk.dmg, you can create it from Disk Utility)
First Time Setup
1. Clone this project from Github save as zip for use in Xcode. Open zip in Xcode Beta.
2. Click the Run Button (VM will build)
3. Quit the app when “Virtual Machine” window showed up, move disk.dmg into the app’s container
4. Run it again
5. Open Apple Configurator 2, if everything works, There should have a VirtualMac in DFU mode
6. Temporary disable macOS Firewall and iCloud Private Relay (Apple Configurator 2 can’t restore VM with those features enabled) Both are default off if you did not turn them on or sign in with your AppleID
7. Drag macOS 12 IPSW file into Apple Configurator 2, click Restore to install macOS
8. When AC2 finishes the install you should be done and your vm should boot to macOS 12 Setup Assistant!
UPDATE!
KhaosT just released a new update to his code that gives us control over the VM Settings.
https://github.com/KhaosT/MacVM
Download Links
Ming Chang Virtual Machine Fork Xcode Project Download –https://github.com/ming900518/macOS-Virtual-Machine/
KhaosT/MacVM.swift Original Code –https://gist.github.com/KhaosT/fb0499130bbfcb5754d2174e78cb68b9
KhaosT UPDATED MacVM GUI – https://github.com/KhaosT/MacVM
Xcode 13 Beta – Developer.apple.com
Apple Configurator 2 – https://apps.apple.com/us/app/apple-configurator-2/id1037126344?mt=12
macOS Monterey IPSW Restore File – https://mrmacintosh.com/apple-silicon-m1-full-macos-restore-ipsw-firmware-files-database/
Credit & Thanks
KhaosT @KhaosT & Ming Chang @mingchang137
https://gist.github.com/KhaosT/fb0499130bbfcb5754d2174e78cb68b9
Veertu just released their support for running M1/Monterey VMs using Anka. It’s been said that it’s a docker-like solution for macOS VMs: https://veertu.com/create-macos-vms-for-ios-ci-using-apple-m1-hardware/
Is there anyway to virtualize Big Sur or Monterey using Parallels while I am still running on Big Sur? I don’t really want to upgrade to the Monterey beta yet, but I still would like a macOS VM that I can use to test things out on.
Good question, I am currently running 4 macOS Mojave,Catalina,Big Sur n Monterey
I wonder if this could be done with MacBook 2009 and iMac 2009.(non metal) parallels is ok with windows 7.
Hi thanks for this great tutorial, just a strange problem; when I start up the project in xcode then Apple Configurator shows the virtualMac in DFU mode, but when I add in the disk.dmg image to the container and fire it up again the Apple Configurator says ‘no devices’.
Dude your blog has become a nearly daily visit for me… thank you so much for being such a resource for the mac focused professional, speaking as a 10+ year veteran of Apple itself.. you never ever stop learning! news like this keeps me on the bleeding EDGE!! Next stop figuring out ADE workflows!
Thank you very much Knappster!!!! Shoot me an email some time, would love to hear some stories.
I have the same problem as Abe, I can[‘t log into my AppleID.
I followed the instructions above, but I can’t login using an AppleID whether when restoring or after installation is completed.
In installation, I’m getting “The action could not be completed”
After it’s installed, I’m getting “Verification failed”
Config.:
MacBook Pro M1
Xcode 13 beta
macOS Monterey public beta 4
more interesting to me is whether this process would work to run earlier MacOS, like High Sierra. I have some apps that are keeping me from upgrading to M1, but if I could virtualize, I’d do it in a second!
Hey Ark, as of now you can only virtualize macOS Monterey on M1 Macs. If that changes I will update the article.
This is really cool work. Do you think it’s possible to use this same system to virtualize Windows, or would there need to be a custom app?