DEV Community

Cover image for MacOS Virtualization using VMware
Zoo Codes
Zoo Codes

Posted on • Edited on

MacOS Virtualization using VMware

New week new project! Back on the virtualization journey. This time I am running MacOS 14 (Sonoma) in a VM using VMware on a Linux host. And so far so good.

MacOS on VMware

Reasons for switching from QEMU + KVM to VMware

If you saw my last update, I got MacOS running using QEMU + KVM on a Linux host.

MacOS on QEMU + KVM

Macos setup

However there a few major issues I ran into with using QEMU + KVM:

  1. I could only get MacOS 13 (Ventura) installed. Sonoma continually failed on installation and I couldn't find a fix. Maybe its because its a new version hence needing more time to develop and fix.

  2. Updates were available and would download but failed to install. ( Although the system was usable I felt its important to mention)

updates

  1. Apple ID was a pain point to get working. I did apply a few tweaks to get working. This important if want use the Apple Store and by extension XCode.

It should be noted that performance was usable once proper tweaks were in place.

Enter VMWare

Now I feel like a should preface this with: I am not championing VMware over using QEMU + KVM setup. I am a full-time Linux user for a better part of 5 years and I use QEMU as my virtualization platform of choice for Linux and Windows VMs. In this case, it's a matter of getting a the job done for this specific task. And of course the fact VMWare that its a paid closed-source product is a key point here.

Now installing a MacOS VM differs from most other guests on VMware. Lets run through the steps:

  • I had to fix a well known issue with running VMware on Linux - compiling your own kernel modules. This isn't much of a problem for seasoned users but for others it might be a deal breaker. This repo will save you hours of searching google.

  • I needed to install an unlocker from GitHub to enable options in the main screen.

VMware unlocker

  • As a side note also run the update-tools script in the repo.

  • I had to download an ISO (15 GB). Use this link to read more and get download links.

  • Install open-vm tools (this enables a slew of optimizations).

VM Installation

Once you have the prerequisites done. The process is relatively straightforward as outlined in this guide. One thing to note is will take a while when running for the first time. Let it finish. Once done you should run through the first time setup and enter all the details

Note: I did 2 major issues with the VM once it finished installing.

  1. No internet connectivity.

  2. Frequent crashes and restarts.

MacOS VM crash-1

MacOS VM crash-2

These errors made the VM virtually unusable. However, I found a working solution in the VMware forums. It outlines a fix by changing a line your vmdx file that relates to ethernet device. This worked amazing and now internet is working and the crashes have stopped. Updates and AppleID sign-in are also working.

Conclusion

In summary, virtualizing MacOS with VMware provides several key benefits like unified application access, optimized performance through direct hardware access, and snapshots for easier testing. For most tasks, the small tradeoffs in native hardware performance are negligible. As Macs gain popularity, technologies like VMware will remain important for unlocking the platform's versatility by empowering users with choice. For power users especially, mastering virtual machines helps tap the full potential of Macs.

Thanks for reading! Free free to leave a comment below if you have any questions, suggestions or clarifications. You can also reach out to me on Twitter. or LinkedIn If you found this article helpful feel free to share it with others.

Buy me a coffee here.

next-time

Top comments (4)

Collapse
 
officialjpyro84 profile image
Jaéisen Wooten-Pyro • Edited

Salute and blessings. I've been using linux for years now myself. My goal was to get macOS running on Ubuntu to utilize all of the music apps once I learned their were others who used Linux for music production. Some are even acclaimed musicians! I started out doing tech tutorials on how to install everything on a chromebook I had at the time due to the challenges. I was successful after so many trails and errors. Then I got this HP camo laptop & went through the same processes of compiling kernels then unlocking everything; etc. I finally today got everything up and running. For me, I had to do what I've always done while using vmware with linux and my hardware issues, run the machine under the macosx snow 10.6 snow leopard server. Now I can use the features for my edits and and other needs and everything just works! I have Qemu and virtualbox for my Windows 10 uses. Salute. Blessings all. - JP

Collapse
 
ken_mwaura1 profile image
Zoo Codes

Thank you for reading through and sharing your experience.

Collapse
 
mantene profile image
Matthew Hood

Wonderful. Would it be possible to run this specially-compiled version of vmware in a docker container for use on Unraid? Or would running it in a docker container preclude it from the direct hardware access that makes it so useful in this situation?

Collapse
 
ken_mwaura1 profile image
Zoo Codes

Honestly I'm not exactly sure if it would work as it requires in-depth knowledge of running docker containers on a hypervisor. However I recommend the Docker-OSX project as may fit your needs.