macos-on-windows-vmware

macOS on Windows? Yes, you can, with VMWare

In Guides by Bintoro Adi Guna5 Comments

macos-on-windows-vmware
Coexistence is always beautiful, no?

Anda berbicara Bahasa Indonesia? Baca artikel terjemahannya di sini!

Believe it or not, macOS is the second most-used Desktop operating system. As an alternative to Windows, I personally like the OS’ keen attention to details, its tight integration with the rest of Apple’s ecosystem, and how its UNIX-based nature makes my job easier. Of course, not everything is perfect. One thing that I despise Macs the most is, of course, its price ;p. Well, aside from the discontinued so-called butterfly keyboards and Apple’s zealous tendency to prevent people from upgrading or opening up their devices.

But despite its price, I’d argue that Macs are well worth their cost, especially as a work machine. But, for those on budget and really considering to buy a Mac, it doesn’t hurt to have a sneak peek of the operating system, see if you like the look and feel of it.


DISCLAIMER: Running Apple’s operating systems outside of Apple hardware is violating Apple’s license agreement and terms of use. Proceed at your own risk.


Now, there are two ways to run macOS outside Apple’s ecosystem:

Virtual Machine

This method is safer and more compatible, since it’s running as an application inside your main OS. But, being inside your main OS, the Virtual Machine will need to share resources with your main OS. If your PC’s resources are limited, the performance might not be good.

Hackintosh

In case you don’t know, the name comes from “hacking” your own PC to run macOS. And yes, this means that you’ll be running macOS natively in your system. This means your “mac” will get the best possible performance. The downsides? Since there aren’t many variations to Mac hardware, compatibility list is rather limited, and installing isn’t exactly straightforward. So, if you’re going this way, please make sure your hardware is compatible.

I’ve actually been thinking about going the second route, but unfortunately, the steps are a bit… scary. Plus, my hardware is not compatible. So, in this article, I’m going to share about the VM route.

So, shall we?

What You Will Need

Before starting, you’ll need the following:

  1. VMware Workstation Player 16
  2. Auto Unlocker
  3. MacOS 10.15 Catalina ISO
  4. At least 4 core, 8 threads CPU
  5. At least 16GB of RAM
  6. At least 80GB of SSD space

For the ISO image, you can download it from here. It’s a hefty 8.3GB file, so it’s going to take a while.

As for the CPU, I’m currently using the good ol’ i7-4790 with 4 cores, 8 threads (by hyperthreading, a technology in which can double the load of each CPU, so 1 physical core is seen as 2 logical cores by the OS). I recommend to have at least a quad-core CPU (with or without hyperthreading is fine, since, although limiting, a Mac with dual core CPU can still work).

intel-i7-4790-cpu
With 8 “logical” cores, I can share 4 cores with my macOS VM.

In this example, I’m going to divide my resource into 4 threads for each system, so later, I’m going to make the Mac think it has 4 logical cores.

Next, let me explain the last two requirements. While 4GB of RAM might work, most Macs start with 8GB of RAM, so I’m trying to replicate the same experience. As for disk space, that depends on your usage. If you intend to install lots of tools and libraries, you may need more. For my use case, web and mobile programming, I still find 80GB limiting. In fact, I event invested in a separate 250GB SSD, just for this VM. Last question, why SSD? Well, if you’re using SSD as your boot drive, I think you should do the same for the VM. Otherwise, you might be in for the worst test of patience in your life.

Installing macOS on VMware

Install VMware Workstation Player 16

VMware has a free version of their Workstation VM application called Player. You can download for free here. Please be informed that this guide is tested on version 16.1. Future versions may also work.

Apply the Auto Unlocker

Go to the unlocker’s GitHub release page here. My advice is to get the latest zip version if you’re running Windows (1.1 at the time of writing). Once it’s downloaded, extract / unzip the Unlocker, and you should find one executable file inside.

auto-unlocker-in-progress
The Unlocker will do everything you need to run macOS on Windows VMWare.

Before running the Unlocker, please make sure all VMware-related processes are killed. The Unlocker will attempt to patch the executables and download the necessary tools to run macOS VM in your PC. Once it’s done, we can begin setting up our VM.

Create a New VM

Please make sure you’ve downloaded the ISO mentioned in the previous sections. To create a new VM, click the Create a New Virtual Machine button on the right side of the VMware menu. The first step is to select the OS installer. This is probably to determine the initial format for your VM’s hard disk. Since we’re practically doing something that VMware does not originally support, please select I will install the operating system later.

create-new-virtual-machine-first-window

The next step is to select the guest’s operating system. If you applied the unlocker correctly, there should be Apple Mac OS X option. Please select that option. As for the version, by default, it should refer to macOS 10.15. That’s the version we want to install (Catalina), so let it be.

create-new-virtual-machine-choose-os-macos
If you applied the Unlocker correctly, there should be Apple Mac OS X option.

Next, you’ll need to give your VM a name, and a location. Please note that while it should be possible to move a VM, I tried it once, and failed… so please choose wisely.

create-new-vm-choose-os-name-location
Make sure you’ve selected the location correctly, since moving your VM can be a chore.

The next step is to choose the disk capacity. By default, 40GB will be selected. However, if you wish to upgrade to Big Sur later, you might want to add 80GB. If you’re not sure how much you need, don’t worry, you can easily add more space later. Also, there’s a choice to whether you want to save your disk as a single file, or split it into multiple files. I went with the default option.

create-new-vm-choose-macos-disk-space
80GB should be enough, but you may need more depending on your usage.

Finally, you’ll be taken to the Summary page. However, don’t click finish just yet. By default, the VM is configured to have 2 cores, 4GB of RAM. We will configure this to 4 cores (since, as mentioned before, my CPU has 8 logical cores thanks to hyperthreading) and 8GB of RAM for more performance. Click Customize Hardware to start making changes to the default configuration. Or, if you wish to change your configuration at a later time, you can access it from Edit Virtual Machine settings when you select your VM

create-new-vm-macos-vm-summary
The default configuration should suffice. But for my use case, I’ll need to crank up my CPU cores to 4 and RAM to 8192MB (8GB)

Oh, also, don’t forget to “insert” the ISO disc into the VM. You can do this by accessing the New CD/DVD (SATA) menu on the right, then check the Connect at Power On. Choose the Use ISO image file option and select the ISO image you downloaded earlier. This should automatically tell the VM to boot from the disc, since no OS is installed.

create-new-vm-insert-macos-iso-disc
Don’t forget to use your ISO disc!

Once you’re done tinkering with RAM, CPU Cores, and everything else, click Finish. The next thing you’ll need to do is to update your VM settings’ directly. Go to your VM’s directory, and look for a .vmx file. Open it with your favorite text editor (or Notepad, if you don’t have any), and add the following line: smc.version = “0”. Save the file, and you’re ready to install macOS.

update-macos-vmx-smc-version
Don’t forget to add this or your macOS VM won’t boot up.

Install macOS

macos-vm-macos-utilities
If this appears, congratulations. You’re one step closer to your Mac VM!

Now, if everything goes correctly, the VM should boot to macOS Utility, where you have a range of options. The first thing you should do is to format your disk. Go to Disk Utility, and erase the disk you configured in the previous step. This is needed because by default, VMware formatted the disk as NTFS, something that macOS cannot (or at least, refuse to) install on. We need to reformat it to APFS.

macos-vm-format-macos-disk
We’ll need to format the old, empty disk, to APFS.

Once that’s done, we can begin installing macOS. Follow the steps written in the installer, and go get some coffee while it’s installing. It’s going to take a while.

macos-vm-macos-installation
Sit back and relax. This installation is going to take a while.

Once the installation is done, don’t forget to disconnect the virtual optical drive, as we don’t need them anymore.

macos-vm-disconnect-cd-drive
Don’t forget to disconnect your CD / DVD drive after installation is complete.

Install VMware Tools on macOS

Once you’re done with the installation, the next thing you should do is to install VMware tools. From what I understand, VMware tools will improve the performance of your VM. One such improvement is the ability for your VM’s resolution to adapt to the window size. Additionally, graphics memory is also enhanced from measly 32MB to more-generous 128MB.

Installing is simple. When your VM is on, click on the Player menu on the top-left side of the VM Window. Choose Manage, then Install VMware Tools. Afterwards, a virtual disc will appear in your Mac. Open that disc, click the installer, and follow the instructions. Afterwards, restart your VM.

macos-vm-install-vmware-tools
If you’ve installed VMware tools before, you can reinstall them again, but note the small change in the menu name.

Start Tinkering!

Congratulations! You now have a fully-working VM running macOS. Start experimenting on it! Install apps, install updates, set up your Apple ID and accessories. See if running your routines in a VM works for you or you need something more powerful. In that case, I’m afraid you’ll have to either go Hackintosh, or get a real Mac.

Caveats

While testing the VM for a couple of weeks, I noticed a few caveats that may or may not be a deal breaker:

Graphics Memory on macOS is Limited to 128MB

Yes, you read that right. Long story short, you cannot use 3D acceleration on Macs via VM. Quoting a resource that I read, manufacturers will need to submit drivers to Apple to allow its usage on macOS. Since technically, what we’re doing is borderline illegal, there’s no obligation for Apple to accept graphics driver from VMware. Hence, the limitation. From what I heard, this issue also happens in VirtualBox.

macos-vm-limited-graphics-memory
Graphics memory is, unfortunately, limited to 128MB.

Therefore, due to this limitation, please don’t expect great performance in graphic-intensive apps like games, photo, and video editors. Streaming YouTube videos is fine, but when I tried running Android emulator, it runs literally like a slow-motion video.

For reference, my office-issued 13″ 2017 MacBook Pro has 1.5GB of graphics memory, so animations are much, much smoother.

Re-Apply Unlocker after Every VMware Update

I accidentally updated the Workstation Player a few days ago, and my VM suddenly froze. After desperately searching for a workaround, I found out that I needed to re-apply the unlocker again. I assume that you’ll need to do the same after every update.

Resource Sharing between Windows and macOS

As mentioned before, running a VM means your host PC is sharing its resources with the VM. Meaning that you might not have as much RAM as you had when the VM is not running. Keep this in mind whenever the VM is running, and you’re doing something else in the host PC. Also, if you’re a developer like me, make sure to watch your VM’s remaining storage space. Caches and developer tools can suck space like there’s no tomorrow.

macos-vm-memory-usage-on
This is my memory usage when VM is on.
macos-vm-memory-usage-off
This is my memory usage when VM is off.

As you can see in a pair of pictures above, the VM reserves 8GB of memory when it’s on. Oddly enough, it’s not listed anywhere in Task Manager’s Processes tab.

Conclusion

Mac VM can be an alternative to buying the real Mac, but with a few caveats. If you wish to try out the OS or do some quick tinkering, I think it’s good enough. However, if you’re a power user or a professional that needs everything a Mac has to offer, I suggest you invest in a real Mac. It’s worth it, as far as my experience goes.

Well, I guess that’s all for now, Folks. It’s the first article after a while, and I think I can come up with a few ideas for more posts. Stay tuned 😉

As usual, thanks for reading, don’t forget to ask your questions or comments below, and see you in the next article. Stay safe, stay sane, stay healthy!

Comments

  1. the only mistake , you didnt indicate if we can use the installation with AMD Ryzen processor

Leave a Comment