macOS on VMware (with Xcode)

Complete guide to running macOS (currently Catalina) 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.

Many parts of this guide are taken from a great write-up at Techsviewer. I needed to add a few tweaks and make sure it stays current to serve the intended purpose.

This guide is designed to show you how to run the latest version of macOS (currently Catalina ) on a Windows PC (in this guide, PC includes desktop, laptop, etc.) with VMware Workstation Player (free product). VMware is a virtualization platform that allows you to run multiple operating systems on a single computer. We will be modifying VMware to add the feature to run macOS on Windows. I’ll also cover settings required to get Xcode working. If you want a FULLY functional Mac, I will point you to some resources to cover this, but that goes beyond the intent of this guide. 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
They are currently:
A 1 GHz or faster 64-bit processor and 2GB RAM is the minimum required, however a 2GHz CPU and 4GB RAM or more is recommended for running multiple virtual machines. You must have enough memory to run the 64-bit host operating system, plus the memory required for each guest operating system and for applications on the host and guest. See your guest operating system and application documentation for their memory requirements. VMware Player requires approximately 150MB of disk space to install the application. For more details on minimum PC requirements, see the VMware Player Documentation.

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.

Download all of these files:
1) For Catalina (10.15) macOS, use this VMware disk image:
http://www.mediafire.com/file/t14byecv6wg70cc/macOS_10.15_Catalina_by_MK.zip/file
***If you still want to use Mojave, you can use this disk image:
*** http://www.mediafire.com/file/ceade0hlolhi34f/macOS_Mojave_10.14.4.zip/file
2) VMware Unlock/Patch tool: https://github.com/BDisp/unlocker/archive/3.0.3.zip
3) VMware Workstation Player for Windows (currently 16.X): https://www.vmware.com/go/getplayer-win

Installation

Step 1: Extract the macOS (10.15) VMware disk image file
Browse to where you save this file, and extract it with the Windows Utility.

Step 2: Install VMware Workstation for Windows

Step 3: 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”. 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 4: 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 10.15 (10.15 for Catalina, 10.14 for Mojave). Click on the “Next” button.



In the next screen, name the virtual machine and choose where it is to be stored by browsing the location. This is known as the VMX folder. Click on the “Next” button. On this screen, specify the storage space to be allocated to the virtual machine. By default, this is set to 40GB and there is no need to edit it as it will be removed in subsequent steps. Just choose “Store virtual disk as a single file” and click “Next”. Confirm everything and click on “Finish”.



Step 5: Edit the Virtual Machine
Open VMware and select “macOS 10.15 Catalina”. 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 10.15 Catalina.vmdk” file is stored. Select it and click on “Finish”.



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 6: Editing the VMX File
The VMX file contains some settings you can’t see in the normal VMware interface. You need to make one change. To edit it, open the macOS 10.15 folder where you stored it (VMX folder in step 4). If you did not specify its location, look in Documents\virtual machines. Right click on the VMX file and choose “Open with”. Choose “More Apps”. From the list of apps that will be seen, choose “Notepad” and press Enter. **Do not try to open or edit the Virtual Disk (VMDK) file. You will get a message that it is too large to be opened in Notepad. You have to edit the VMware virtual machine configuration (VMX) file.






This will open the VMX file in Notepad. At the bottom, add the code: 
smc.version = "0"
**Make sure these are straight quotes and NOT curly quotes like this ”
Save the changes by clicking on “Ctrl+S”.



Step 7: Play macOS Catalina
Open the VMware player if you had closed it and click on “play virtual machine”, and create a new account.



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.



You need to enable VMware system extensions. To do this, click on “Open Security Preferences”.



Click on the “Allow” button.



Click on the “Restart” button to restart the virtual machine.



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.

Additional notes:
You can apply updates to macOS. Make sure not to update to a version not supported by other components you may be using this solution for. I will keep the notes below with versions of macOS, VMware, and Unlocker that I have tested.

You can install VMware updates, but you will likely have to run the Patch/Unlocker script again after the update. Do not update to a new major version such as going from 15 to 16.

This instance of macOS may have some applications that are not usable. This would typically be iCloud and iMessage. You do not have to do anything about this. It is fine to leave these programs inoperable. If (not required), you would like to get these programs working, you would need to change the way your macOS presents itself to the Apple servers. I was able to get these programs working by loosely following this guide: https://github.com/mkitchingh/VMWare-iMessage/blob/master/instructions.md A few things are out of date, so some of the settings and features aren’t in the exact same place. It will get you going in the right direction.






Join the Conversation

55 Comments

  1. When I try to install VMWare tools on the virtual machine, I get an error message that says “This operation cannot be processed because your Mac OS guest is using the CD/DVD. Dismiss this message, eject the disc from inside the guest, and retry this operation.” I am not sure what this means or what to do. Any advice? Thank you!

    Like

      1. In the file menu, “Eject” is grayed out, so it doesnt appear connected to anything. Can I just remove that CD/DVD drive from the virtual machine?

        Like

  2. Now that I have removed that drive, the “Install VMWare tools” under the Manage menu is grayed out, so I am still not able to install them.

    Like

  3. I get stuck at step 7 when I try booting up the virtual machine after editing the vmx file and editting the settings I get the following error
    cannot connect the virtual device sata0:1 because no corresponding device is available on drive. I have all of my files on a spare 1 TB hard drive.

    Like

    1. You can if this is the CD drive, you can disconnect it in settings by unchecking the connected box. If this is your hard drive, that is a different issue.

      Like

      1. Should this be done on my C drive? This is on an alienware laptop and it has no physical CD/Rom drive. I removed the SATA CD/Rom drive and added the hard drive which is a separate drive from the C Drive. All my files are downloaded on the separate drive.

        Like

  4. I have the same issue as Aaron. Copied and pasted…
    “Cannot connect the virtual device sata0:1 because no corresponding device is available on the host.

    Do you want to try to connect this virtual device every time you power on the virtual machine?”

    Also alienware laptop. Followed every step exactly. I got here from loopdocs.

    Like

  5. I actually got it to work by simply clicking on ok. However, I wasn’t able to create an account. I got a warning saying that this mac has been used to create too many user id’s. I just skipped the account creation part and continued without it. I’m assuming I won’t be able to get a developer’s license without an account correct?

    Like

  6. Hi there! Thank you for making this page.
    I happen to receive the following error when I try to start the VM:
    “Cannot connect the virtual device sata0:1 because no corresponding device is available on the host.”
    Did I do something wrong?

    Like

  7. Hi I make it all the way to the step 7 and I get stuck there. The vmware starts loading the apple logo shows up and it is loading it restarts the same process. I am using a windows 10. I am also trying to build the Loop
    Thanks
    Andrea

    Like

  8. Hello. I have sucesfully installed above version of macos. I am trying to install now xcode but I get message that I need version 10.15.2 of Catalina. Any Chance I can easy upgrade it or install xcode somehowe bypassing it? I need it only for building loop.
    Thanks

    Like

  9. Hi, I ran into the same problems as a coupe of users in the Loop FB group, namely the blue boot screen. Please see the screenshot in the Loop group february 2nd by P.V.

    My error was that when setting up the new disc in VM Player, I selected the tiny temporary .vmdk file (5,2 Mb) instead of the downloaded and unzipped “macOS 10.15 Catalina by MK.vmdk” (22,6 Gb).

    Perhaps you could rephrase the paragraph below to make this clearer for all the noobs like myself trying to build Loop with no prior VM experience? Thanks!

    “To select the disk, use the browse button to open the location where the [downloaded and unzipped, approximately 20 Gb] “macOS 10.15 Catalina.vmdk” file is stored. Select it and click on “Finish”.”

    Like

  10. When I open Vmware Workstation 15.5 and click 1) Create a new virtual machine. 2) I will install the operating system later. The menu that comes up does not offer me the option to install a guest operating system. The options are Windows, Lunux and other. Under the other category there is no option for any Apple OS’s. I have downloaded Catalina and unlocker and run the unlocker program as isntructed. What am I doing wrong?

    Like

  11. I solved my own problem there. I needed to reboot the PC after running unlocker. After doing so, the next road block is when using the new virtual machine wizard, there is no Hard Disk in the options for Hardware. I have 3 Hard drives connected to this PC.

    Like

  12. hi im having problems with downloading the first file. It just stops in the middle of the download. Is there something wrong with it?

    Like

  13. I am getting stuck on Step 2. I am getting a error message saying this installation package is not supported by this processor type.

    Like

  14. For some reason the latest version of MAC OS won’t fit – not enough HD space? How do I add space? Is there a new image perhaps with the latest update?

    Like

    1. You will need to grow your disk drive in VMware and then expand your partition in MacOS. I can’t make a new image for every update. It would be way too time consuming.

      Like

      1. Understand. Will give that a try. Isn’t there a way when going through the steps above to tell it you need more disk space?

        Like

      2. To expand a virtual disc in VMware Player:
        Edit virtual machine settings
        Hardware\Hard Disk – Disk utilities – Expand disc capacity
        -> [Expand…]
        -> Specify maximum size (GB) [enter required size, e.g. 150 GB]
        ->[Expand]
        -> OK

        Start virtual machine, go to Terminal
        To find the disk number, type:
        ‘Diskutil apfs list’

        You should see a long list, please look for this line near the top:

        “APFS Container Reference: disk1”

        If you get the same result, you should use ‘disk1’ in the next command, otherwise change this as needed.

        Then enter

        ‘diskutil apfs resizeContainer disk# size’

        The mazimum size selected during disc expansion size is entered in gigabytes (g) here. For example:

        ‘diskutil apfs resizeContainer disk1 150g’

        Like

  15. Hi there, thanks for the tutorial, very precise; followed it to the end and all good now; if I might add, there are a couple of points that you could add. One is the host PC will need to have the Intel VT-x Enabled in the BIOS so it can run (this error shows when the macos is first turned on); I don’t know if this error only applies to PCs where the CPU can do the VT-x and it’s disabled, or if it applies to all CPUs that don’t have any VT-x at all; 2nd point is that XCode will need the macos version updated beyond 10.15 so it you can download XCode from the store; so once all the above is done, you could add an instruction to update the macos (currently can be updated to 10.15.4)
    Other than that, well done tutorial, thanks!!!

    Like

  16. Hi there, thanks for both the hard work in devising the scripts and for the clear tutorial. I too ran into the “cannot connect the virtual device sata0:1 because no corresponding device is available on drive.” at Step 7. However, after deleting the VM folder and contents and repeating steps on the third attempt all ran smoothly to finally get the MacOS screen at Step 7. It’s a few years since I have used VMware pretty constantly but I’m sure I followed all your steps consistently each time – it just worked the third time around. So again, your work is appreciated by the Loop community Matthew Kitchin! Terrific fix for those of us who are Windows guru’s but Mac babes in nappies. 🙂

    Like

  17. I too ran into same issue as reported by Brent Montgomery on March 8, 2020 at 8:03 pm. When trying to create a new account the warning saying that “this mac has been used to create too many user id’s” flawed me too. After trying to recover the password of an old Apple ID, for which I had forgotten the password, the Apple process became too difficult, so I decided to simply skip the step and move on. I was able to proceed through to step 8 and complete setup.

    SUGGESTION: Perhaps to help other users a short note at Step 7
    1) identifying this issue when selecting to create a new Apple ID; and
    2) the simple workaround of skipping and leaving account creation until later might help users like me.

    Otherwise those who are unfamiliar with Mac or have not yet created an Apple ID are left not knowing what to do to proceed. I have a background as a systems engineer and developer but other Loop builders who are also none Mac familiar would likely be easily thrown by this.

    Like

  18. I just updated VMWare Player to v 15.5.6. This seemed to cause a problem initially, and I could not start the VM. I repeated the “Step 3: Patch VMware”, and then the VM started as usual (i did get the restart screen once due to the previous failed attempt).

    Like

    1. Google tells me in English, this means “when i’m at Step 5 I can not find any hard disk”. I would recommend you start over and follow every step. Step 5 is just browsing to a file you have downloaded and extracted.

      Like

  19. now I want step 5. but I have a new problem. when i’m at step 6 i can’t find the other files.

    when I start the app, the apple logo appears and writes afterwards:

    the CPU has been disabled by the guest operating system. Power off or reset the virtual machine.

    Like

    1. Got it. I would ask the questions in the Loop FB forum. There will be lots of people there that can assist. You can also include screenshots. Make sure to follow every step. It you are unable to complete something or skip a step, it will fail.

      Like

Leave a comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Create your website at WordPress.com
Get started