Complete guide to running macOS Monterey with Xcode on Windows with VMware
Before following anything in this guide, please be aware that you may be violating the Terms of Service, License, and/or EULA for Apple and VMware. You will be running Apple software on non Apple hardware and modifying VMware software. You are responsible for reading and accepting any Terms of Service or License agreements that accompany any software you download or install. I wouldn’t recommend doing this on a computer you don’t own, and I REALLY wouldn’t recommend doing it on a work computer.
FYI, running a macOS on any type of X86 (Intel) CPU will likely no longer be an option by somewhere around 2025 to 2027. This includes the VMware method outlined here See here for more details: https://dortania.github.io/hackintosh/updates/2020/11/12/bigsur-new.html#death-of-x86-and-the-future-of-hackintoshing
This guide is designed to show you how to run the latest version of macOS Monterey on a Windows PC (in this guide, PC includes desktop, laptop, etc.) with VMware Workstation Player (free product). This is for a new install only. For upgrades, see the links at the top of the page. VMware is a virtualization platform that allows you to run multiple operating systems on a single computer. You will be modifying VMware to add the feature to run macOS on Windows. I’ll also cover settings required to get Xcode working. This guide is for somewhat modern (not ancient) Intel computers. It likely will not work for AMD processors.
If you have a high end modern Windows PC, this setup will run pretty well. If you have an older PC, it will likely still work, but a bit slower. My purpose for doing this is to build a particular application for a personal iPhone a couple of times a year. The minimum requirements for your PC are listed here: https://www.vmware.com/products/player/faqs.html
It is critical you follow every step in this guide. If you don’t, it will not work. If you don’t get the expected result, you must stop and figure out why. If you proceed anyway, it will not work.
****You will likely have to disable your antivirus program to complete this process. There are no viruses in these files. The process modifies some executable programs (VMware files), and this behavior and technique looks very similar to how a virus might infect your system. You should re-enable your antivirus software when you are done. For Windows defender, see these steps: https://support.microsoft.com/en-us/windows/turn-off-defender-antivirus-protection-in-windows-security-99e6004f-c54c-8509-773c-a4d776b77960
Download all of these files:
1) macOS Monterey VMware disk image (save both these files in the same folder):
-File 1 (15 GB): https://www.mediafire.com/file/9zvo7sarqioq3wb/macOS-MK.zip.001/file
-File 2 (9 GB): https://www.mediafire.com/file/duxfbr4jvgi3ttu/macOS-MK.zip.002/file
2) Download 7-Zip file extractor: https://www.7-zip.org/download.html
-Choose latest version in top section (description should be ‘7-Zip for 64-bit Windows x64 (Intel 64 or AMD64’)
3) VMware Unlock/Patch tool: https://github.com/BDisp/unlocker/archive/refs/heads/master.zip
4) VMware Workstation Player for Windows (currently 16.X): https://www.vmware.com/go/getplayer-win
Step 1: Install 7-Zip
Install the 7-Zip utility that you have downloaded. The default options are fine. It is a simple install.
Step 2: Extract the macOS VMware disk image file
Browse to where you saved the files “macOS-MK.zip.001 and macOS-MK.zip.002” Right click “macOS-MK.zip.001” and extract with 7-Zip as shown below . It may take while, so you can proceed to the next step while it is running. Just don’t reboot (if asked) until this step is complete. After it is complete, you can delete the original files “macOS-MK.zip.001 and macOS-MK.zip.002”. You should now have a single file named “macOS-MK.vmdk”.
Step 3: Install VMware Workstation for Windows
Install VMware, the 4th file you downloaded above.
I would uncheck these 2 boxes. The rest of the default options should be fine.
Step 4: Patch VMware
This is a crucial step. It is frequently overlooked. If it is not completed successfully, you will not be able to proceed. Extract the previously downloaded “VMware Unlock/Patch tool”. Browse to the extracted files, and right click “win-install.cmd” and select Run as Administrator. Pay attention to any output you see on your screen. This must be run successfully.
Step 5: Create Virtual Machine
Open the installed VMware player and click on “create a new virtual machine”.
The new virtual machine wizard will be opened. Choose to install the operating system later from the options and click on “Next”. In the next page, choose the Guest operating system which in this case is Apple Mac OS X and then Version macOS 12.0. Click on the “Next” button.
In the next screen, name the virtual machine (whatever you want) and choose where it is to be stored by browsing to the location. Any LOCAL (not cloud) disk is fine. Click on the “Next” button. On this screen, specify the storage space to be allocated to the virtual machine. For now, allocate just 1 GB. It is temporary and it will be removed in subsequent steps. Choose “Store virtual disk as a single file” and click “Next”. Confirm everything and click on “Finish”.
Step 6: Edit the Virtual Machine
Open VMware and select “macOS 12” (or whatever you named it). Click on “Edit the virtual machine”
Select the Memory tab. You want to choose about half of the available memory on your PC. You can adjust this later. If you have a lot of RAM on your PC (12 GB, 16 GB, more) you can be generous here. The key is you have to leave at least 4 GB or so of RAM for your PC to use, but the more you are able to give to the macOS, the faster it will be.
Set the CPU cores to an appropriate setting. If you have 8 cores, 4 would be great. This is similar to Memory. You want to give it enough to perform well, but you can’t starve your Windows machine to the point where it can’t function. Uncheck all boxes as shown. Click “OK” to accept the changes.
In the list of devices, choose the “Hard Disk” on device menu option. Click on “Remove” button. This removes the virtual hard disk created when first creating the virtual machine.
Then click “Add”.
To make a new virtual disk on VMware, click on Hard Disk on the list of devices then choose “SATA” followed by “Use an Existing disk”.
To select the disk, use the browse button to open the location where the “macOS-MK.vmdk” file is stored (ignore file name in screenshot below). Select it and click on “Finish”.
It should default to an 80 or 40 GB hard drive. 80 GB is the absolute minimum to function. You need 120 GB to have everything work well and not go through a massive hassle every time you do a Xcode or OS update. If you have the space on your PC, increase this to 120 GB. If you can’t get to 120, expand it as much as you can. Expanding your disk can take a while, so be patient. If you do expand beyond the default size, you will need to do Step **9.
The last change you need to make in the virtual machine settings is to set your USB controller to USB 2.0. If you do not do this, you will not be able to plug your iPhone and connect it to Xcode.
Step 7: Play macOS Monterey
Open the VMware player if you had closed it and click on “play virtual machine”, and create a new account. If you get a SATA warning, you may ignore and dismiss it.
If/when you see this message about VMware tools, choose never remind me.
The rest of the options are your preference. They are the same you would see on a normal mac. Assuming you aren’t migrating from an exiting device (I wouldn’t), you will need to select this option.
Step 8: Install VMware Tools on Virtual Machine
In VMware Player, click Player, Manage, Install VMware Tools. Then click on “Install VMware tools”. If that hasn’t popped up, click on the VMware Tools Drive on the top right. The default options are fine.
You will see these screens in the sequence shown below. On picture 2, you will click the lock symbol to unlock it, and then you will be able to click the allow button. You can the click the option to restart.
Step **9: Expand MacOS partition
You only do this step if you expanded your your virtual disk beyond the default 80 (or 40) GB. If you did, follow these steps. If you left it at 80 (or 40), proceed to “You are done…” below.
1) Open terminal by pressing Command + space bar to open the Spotlight Search bar (the Mac Command key is the same as the Windows key)
2) Type Term in the Spotlight Search bar and select Terminal to open the Terminal window
3) Copy and paste this command into Terminal
sudo diskutil apfs resizeContainer disk1 0
4) When prompted, enter your Mac password and press Enter. Please note that it will appear as if you’ve typed nothing on your screen, but if you type in your password properly, you should start to see various lines of code start to appear in Terminal.
5) Wait patiently while your hard drive expands on your Virtual Mac. Ultimately, you will get a message that you’ve Finished APFS operation.
6) Click on the Apple icon in the upper left corner and select About This Mac – Storage to confirm your success! You can now close Terminal.
You are done installing and configuring. You now have a running instance of macOS.
Connecting your iPhone
You can connect your iPhone (or iPod Touch) to a USB port on your PC. If VMware is open, you will receive a prompt asking how you want to handle your removable device.
Choose whichever option you like. Eventually, it will have to connect to the Virtual Machine.
If you don’t connect it to your VM initially, you will see a grey iOS icon in the top right corner of your VMware session. If it has a green dot on it, you are all set.
If it is not connected, you just need to connect it. right click the icon, and select the option to connect.
This is what it should look like when your iPhone is connected to your macOS VMware session.
Your iPhone must be visible to macOS to connect to it in Xcode. If you are having trouble accessing your iPhone is macOS, verify it is accessible in iTunes as a test.
Now you have macOS running with an iPhone connected. Your hardware is now ready to work in conjunction with Xcode to deploy an application to your iPhone.
You can normally apply minor updates to macOS. Make sure not to update to a version not supported by other components you may be using this solution for.
You can install VMware updates, but you will have to run the Patch/Unlocker script again after the update. Do not update to a new major version such as going from 16 to 17 without confirming it is supported