If you are a developer or someone who likes to try lots of software, head over to the App Store and get Parallels Desktop Lite. It's free for macOS and Linux guests! (Windows support is an IAP)

Overall, Parallels Desktop Lite is great. macOS "just works!" with no further configuration or tweaks to the settings after the wizard completes.

I've tried to get macOS going in a VM (Virtual Machine) on a Windows Host before, don't bother to even attempt it!

Note that you are licensed to install a certain number of macOS virtual computers on a Mac computer you own (ask Apple, I'm no lawyer), but not on a Windows machine.

To setup a macOS guest VM, you can follow the guide at Mac Kung Fu. The process is amazingly smooth!

  1. You'll need to install Parallels Desktop Lite
  2. And download macOS Sierra from the Store.
  3. Make sure to prepare lots of free space - at least some 20 GB free space to get started!
    • You'll need 5 GB to download Sierra (Install macOS Sierra.app)
    • Another 5.2 GB to create a bootable installation .HDD image (don't worry, Parallel takes care of creating this).
    • And a single macOS VMs could be well over 10 GB , without snapshots or backups.
  4. Then, run Parallels and follow the wizard to Install Windows or another OS from a DVD or image file,

Parallels Desktop Lite New Virtual Machine

  1. The wizard will search for the Sierra installer and if it's found, prompt you to "create a bootable disk image file" (just accept and continue):

Parallels Desktop Lite Installation Images Found

  1. And after the OS is up and running, remember to install Parallels Tools via the Install Parallels Tools option in the Virtual Machines menu.

In the guest macOS, I adjusted some System Preferences downwards for better performance:

  • Dock - minimize windows using scale effect, disable animate opening applications
  • Spotlight - disable spotlight suggestions, disable allow spotlight suggestions in look up and add excluded folders under Privacy
  • Users - remove login apps that run on start up
  • App store - disable automatically check for updates
  • Accessibility - under Display, select reduce motion and reduce transparency, and disable show accessibility status in menu bar
  • Siri - disable
  • Date and time - disable set date and time automatically (Parallels already does this) and I also disabled the date and time in the Apple menu bar.
  • Plus I always configure my Terminal console via a bash_profile

Even then, I've experienced a couple of problems that I have no workarounds for except to restart the guest:

  • I have issues with the mouse - scrolling is too fast and once, it just stopped responding totally (it's not emulated as a trackpad, so no gestures either)
  • And, some issues with networking - sleeping or suspending the host or guest causes the networking to stop. You could try devices.net.track_link_status=0 as per http://kb.parallels.com/en/118685

BTW, If you need Windows support, you could also give VirtualBox a go, since it's free.

Why a macOS VM?

For me, I use a macOS VM for 2 reasons:

  1. I like to keep my host OS as "pristine" as possible. That means no Java, homebrew, etc. but in my guest OS, I have:

    • Eclipse (yuck and double yuck for Java)
    • node.js, and
    • various cloud CLIs installed.
  2. And I have never had the guts to test any risky software - I'm both afraid of screwing up my OS and of installing malware. But in the VM, I can safely test out:

    • Onyx - a tool to "cleanup" logs and configure hidden settings, and
    • Monolingual - to see how much space can be saved by removing unused languages - not much actually.

I really don't recommend using these tweaking tools. macOS is already so well optimized, just let it be!