Summary
- macOS is praised for its design & apps, but its exclusivity to Apple hardware limits accessibility.
- Running macOS on unsupported hardware is a challenge, but Proxmox offers a potential solution.
- A direct installation of macOS Sonoma on Proxmox may lead to compatibility issues, but older versions like Ventura should work on most systems.
From a sleek interface to a robust set of first-party applications, there are plenty of reasons to love macOS. But unlike Windows and Linux, Apple’s flagship operating system is only available on proprietary hardware, making it far less accessible than its competitors. Even when Apple shipped MacBooks with Intel processors, it was quite difficult to emulate macOS on unsupported hardware.
Back in 2018, I managed to get macOS Sierra running on my old Intel Haswell processor. But ever since that processor bit the dust, I've been out of options. You see, all my PCs have AMD processors and Nvidia GPUs, which are pretty much the worst possible combination if you want to run macOS. And once the tech giant began arming (pun intended) its flagship PCs and laptops with Apple Silicon chips, I knew I should give up on my goal of even getting macOS to boot on my systems.
After repeated failures over the years, I decided to make one last-ditch attempt at running macOS using Proxmox. And to my surprise, my makeshift Hackintosh turned out pretty well, though there were a ton of bumps along the road.
I built a Proxmox home lab using my Raspberry Pi - here's how I did it
Who says you need a full-fledged server PC to tinker with Proxmox?
Choosing the procedure to install macOS
I took the shorter route, and that made all the difference
Before I go over the installation process, I need to make something clear: since we’re using Proxmox to act as a layer between the hardware and macOS, the performance will obviously be inferior to what you’d expect from an actual MacBook – or even a Hackintosh running macOS without the aid of a virtualization platform. Plus, with my testing rig comprising an AMD Ryzen 5 1600 and an Nvidia GTX 1080, my chances of running macOS smoothly were already pretty slim from the get-go.
There are quite a few ways of installing macOS on Proxmox, but I narrowed them all down to two methods. The longer (and extremely complex) procedure involved acquiring a macOS ISO alongside downloading the KVM OpenCore bootloader. While the latter is pretty easy to get, grabbing a working ISO from a MacBook is a job and a half. Assuming I was able to get my hands on both, I’d have to fine-tune a plethora of settings on top of modifying the configuration files, which could take a long time.
Meanwhile, the shorter method entailed running a short script created by genius developer Gabriel Luchina in the Proxmox shell and letting it do all the work. My curiosity got the better of me, and I decided to go with the second option. All I had to do was click on the name of my primary node, select the Shell option, and execute the following code:
/bin/bash -c "$(curl -fsSL https://install.osx-proxmox.com)"
Once the Proxmox Shell had installed the necessary files, it restarted my system. After the reboot, I typed the osx-setup command. Lo-and-behold, I was given the option to pick between seven versions of macOS. With everything going smoothly, I decided to risk it all by going with macOS Sonoma. But just as you might expect, running the latest version of macOS on an unsupported system caused more harm than good...
Dealing with the errors during Sonoma installation
My initial attempt failed spectacularly
After selecting Sonoma, Proxmox asked me to pick the CPU cores, memory, and storage I’d like to assign to the macOS virtual machine. I went with the default options for all choices and after waiting a few minutes for Proxmox to download the recovery files, the virtual machine was ready to be deployed. I switched to the VM tab and pressed the Start button before opening the Console viewer. After clicking on the Sonoma (dmg) option, I entered the Recovery environment. First, I navigated to the Disks tab and used the Erase option to format the Apple Inc. VirtIO Block Media drive before renaming it to macOS. With that, I was free to install macOS Sonoma using the Recovery image Proxmox had downloaded for me earlier. But just as I clicked the Install button, I encountered the first roadblock in the form of the following error message:
I repeated the process using different ISPs, but soon it became clear that this wasn't an issue on my side of the connection. Luckily, the fix was as simple as pressing mashing Win+Alt+R keys the macOS installer entered the Recovery environment, though my troubles were far from over. Within an hour of running the installation wizard, I received the second error message.
This one, however, was a lot more difficult to resolve. I tried all the troubleshooting methods I could think of, including reconnecting the LAN cable and resetting my router, but they all ended in failure. Fortunately, there was still a ray of hope left for my Hackintosh dreams.
Successfully installing macOS Ventura
And updating it to Sonoma
Since macOS Sonoma was a no-go, the only option left was to try out the older versions of Apple’s beloved desktop operating system, starting with Ventura. Just like the last time, I mashed the Win+Alt+R key combo as though my life depended on it, erased the default storage drive, and started the installation wizard. To my surprise, everything turned out well. Soon, the VM rebooted to depict multiple options on the boot menu, where I picked macOS-installer.
After a few more restarts, this option was replaced with macOS, and clicking on it finally opened the Ventura start-up screen. I spent the next few minutes going through Apple’s initialization wizard, and soon, I was free to tinker with Ventura.
The first thing I did was check for my system specs. The virtual machine identified my Ryzen 5 1600 as a Quad-Core Intel Xeon chip and, for obvious reasons, my GTX 1080 wasn’t recognized by Ventura. Performance-wise, the virtual machine felt rather sluggish, but allocating 16GB of memory made it a bit snappier. While most of the default apps worked well, Safari was unable to load a single web page, so I had to switch to Chrome.
I also downloaded Ulysses, Pages, and a few other apps, but I didn't dare to push my luck with games. However, I did attempt to install Sonoma, since that’s the OS I was initially planning to use. The virtual machine took almost two hours to finish the update, and after many trials and tribulations, I was finally able to boot into Sonoma.
macOS on Proxmox: A project worth trying out
If my dinosaur machine can boot into Sonoma, then so can yours!
Of course, installing Sonoma brought a new set of issues to the table. For example, the desktop displayed a white background instead of the actual wallpaper, even though the VM was able to load the Animated Wallpaper on the lock screen. Switching to a static image resolved this problem, but Sonoma felt more sluggish than Ventura (I suppose my outdated Ryzen 5 1600 is to blame for that). Despite all the issues, I'm quite surprised at how well the whole experiment turned out.
I turned my old PC into a Proxmox-powered home lab – here's how it went
Long story short, Proxmox has become my favorite tool to experiment with (and break) containers and virtual machines
Remember, I attempted this project on a PC that's powered by seven-years-old components. As someone who has made many futile attempts trying to install older versions of macOS on the same machine, I'm amazed that it only took a few tries to boot into Ventura. Heck, the Proxmox virtual machine even managed to run Sonoma, which was something I never expected to run on my outdated system. All-in-all, if you want a (relatively) stress-free way of accessing Apple's proprietary desktop OS, I highly recommend running the macOS installation script on your Proxmox home server.
