Jump to content

[Guide]VirtualBox on Sonoma and AMD Hackintosh


Recommended Posts

  • Moderators

Virtualization on AMD based Hackintosh on Sonoma real hardware... possible!
The key program is Virtualbox 6.1.46 or its minor latest updates + related USB 3 extensions, where the code to support AMD-V/SVM are still present. VirtualBox 7 is not ok because it only works with VT-X/VT-D owned only by Intel CPUs now, nobody created a wrapper yet.
But how can we get Virtualbox running on recent macOS? The prerequisite is to disable SIP and use the AMFIpass.kext with the bootflag -amfipassbeta in order to allow VirtualBox kexts to be loaded once installed, nothing more. In fact, once rebooted and allowed the kexts to run in Security section you can even disable the loading of AMFIpass.kext and remove the related bootflag, by now the kexts have bypassed the blacklist, forever!
After that you can also install Windows 11 as a VM, direct without any issue, and the performance is also great if you don't overdo the number of cores (my maximum is 2 then it starts to slow down)!!!
Me and @fabiosun have also experimented with various macOS: all of them work with the original ISO/DMGs starting from Tiger Server to Monterey... probably Ventura and Sonoma need an updated bootloader than the internal EFI one (which I'd like to understand what it is because it even performs better than clover and OC imho).
Let's go through all the attempts made with the various macOS, as there is often a need for CPU spoofing since we have an AMD based host. For all Apple VMs the GPU will be emulated in EFI and should be set with 128Mb or where possible 256Mb RAM.


Starting from Mojave till Monterey use the Mac OS X 64 bit template. Don't give more than 2 virtual CPUs to the VM or it will slow down. Set in Ports, USB -> USB 3.0 Controller (xHCI), hence the need to have VBox extensions installed. Set everything as per the screenshots where I do not specify anything else.






















With Tiger, I was only able to start the installation via Tiger Server 10.4.7 since the previous stock kernels do not work even with spoof. If we create the virtual machine with the name Tigro, the following commands are needed to start the installation, after selecting Mac OS X and Mac OS X 32 bit as Guest OS. Also set ICH6 as the controller for the disks, IDE. It is mandatory to choose only one CPU as processor otherwise we will have a panic:


tomnic@MacProAMD ~ % /Applications/VirtualBox.app/Contents/MacOS/VBoxManage setextradata Tigro VBoxInternal/Devices/efi/0/Config/DmiBIOSVersion EFI32..Virtual.Box                                           
tomnic@MacProAMD ~ % /Applications/VirtualBox.app/Contents/MacOS/VBoxManage setextradata Tigro VBoxInternal/Devices/efi/0/Config/DmiSystemProduct "MacBookPro3,1"                                            
tomnic@MacProAMD ~ % /Applications/VirtualBox.app/Contents/MacOS/VBoxManage setextradata Tigro "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Mac-2BD1B31983FE1663"  
tomnic@MacProAMD ~ % /Applications/VirtualBox.app/Contents/MacOS/VBoxManage setextradata Tigro VBoxInternal/Devices/efi/0/Config/DmiUseHostInfo 0   
tomnic@MacProAMD ~ % /Applications/VirtualBox.app/Contents/MacOS/VBoxManage modifyvm Tigro --cpu-profile 'Intel Pentium 4 3.00GHz'
tomnic@MacProAMD ~ % /Applications/VirtualBox.app/Contents/MacOS/VBoxManage modifyvm Tigro --cpuidset 00000000 00000004 756e6547 6c65746e 49656e69         
tomnic@MacProAMD ~ % /Applications/VirtualBox.app/Contents/MacOS/VBoxManage modifyvm Tigro --cpuidset 00000001 00000f43 00020800 fbffffff ffffffff
tomnic@MacProAMD ~ % /Applications/VirtualBox.app/Contents/MacOS/VBoxManage modifyvm Tigro --cpuidset 80000001 00000000 00000000 ffffffff ffffffff
tomnic@MacProAMD ~ % /Applications/VirtualBox.app/Contents/MacOS/VBoxManage setextradata Tigro VBoxInternal/Devices/smc/0/Config/DeviceKey "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
tomnic@MacProAMD ~ % /Applications/VirtualBox.app/Contents/MacOS/VBoxManage setextradata Tigro VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC 1   
tomnic@MacProAMD ~ % /Applications/VirtualBox.app/Contents/MacOS/VBoxManage setextradata Tigro VBoxInternal2/EfiGraphicsResolution 1280x800       


The startup speed is impressive! Here it is as I am upgrading the operating system to 10.4.11:




For Snow Leopard select Mac OS X and Mac OS X 64-bit Snow Leopard, always one CPU. I used a retail installation DVD version 10.6.7 in ISO format. Startup always lightning fast! These are the commands by calling Snow the VM:


tomnic@MacProAMD ~ % /Applications/VirtualBox.app/Contents/MacOS/VBoxManage modifyvm Snow --cpu-profile "Intel Xeon X5482 3.20GHz"    
tomnic@MacProAMD ~ % /Applications/VirtualBox.app/Contents/MacOS/VBoxManage modifyvm Snow --cpuidset 00000000 00000004 756e6547 6c65746e 49656e69     
tomnic@MacProAMD ~ % /Applications/VirtualBox.app/Contents/MacOS/VBoxManage modifyvm Snow --cpuidset 00000001 00000f43 00020800 fbffffff ffffffff  
tomnic@MacProAMD ~ % /Applications/VirtualBox.app/Contents/MacOS/VBoxManage modifyvm Snow --cpuidset 80000001 00000000 00000000 ffffffff ffffffff     
tomnic@MacProAMD ~ % /Applications/VirtualBox.app/Contents/MacOS/VBoxManage setextradata Snow VBoxInternal2/EfiGraphicsResolution 1280x800      




@fabiosun reports to me that the lines with cpuid definitions are redundant. You can omit them!


For El Capitan always create a virtual machine by choosing Mac OS X 64 bit El Capitan from the templates, only strings to enter by hand, assuming you have named it ElCap:


tomnic@MacProAMD ~ % /Applications/VirtualBox.app/Contents/MacOS/VBoxManage modifyvm ElCap --cpu-profile "Intel Xeon X5482 3.20GHz"                                                                    
tomnic@MacProAMD ~ % /Applications/VirtualBox.app/Contents/MacOS/VBoxManage setextradata ElCap VBoxInternal2/EfiGraphicsResolution 1280x800    


To create the iso I used the script https://gist.github.com/coolaj86/8c36d132250163011c83bad8284975ee. Place script and downloadable file directly from Apple InstallMacOSX.dmg in your home, give chmod +x to the script and run it. You will always get the el-capitan.iso file in your home ready for installation.


Note that you can also use 2 CPUs this time, increasing the number as well as slowing down the boot may generate panic so watch out.




For other versions of Mac OS X we will have to create the bootable media suitable for VBox ourselves.


For Mavericks after downloading from the App Store and copying Install Mac OS Mavericks to the Applications folder we need to create a temporary 8 Gb blank volume using disk utility, File, New Image, Blank Image:




The command to create the bootable media is:


sudo /Applications/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia --volume /Volumes/Mavericks --applicationpath /Applications/Install\ OS\ X\ Mavericks.app --nointeraction


We must then convert it to a disk image for VBox because an ISO would return an error since the Mavericks installation app must reside on a medium where it can also be written to:


/Applications/VirtualBox.app/Contents/MacOS/VBoxManage convertdd ~/Desktop/Mavericks.dmg ~/Desktop/Mavericks.vdi   


Now the commands to be able to run the VM, named Mav, are:


/Applications/VirtualBox.app/Contents/MacOS/VBoxManage modifyvm Mav --cpu-profile "Intel Xeon X5482 3.20GHz"  
/Applications/VirtualBox.app/Contents/MacOS/VBoxManage setextradata Mav VBoxInternal2/EfiGraphicsResolution 1280x800 


Create a Mac OS X 64 bit Mavericks VM, you can also use 2 CPUs, add among the storage devices a Hard Disk and give it the Mavericks.vdi image. Bring in Hard Disk as the first boot device. Inside the VM, before partitioning the virtual disk where you will install Mavericks, open Terminal and type:


date 0202020216


Proceed slowly with partitioning and you will have Mavericks installed.




For Yosemite proceed similarly, mutatis mutandis. The command for the date is:


date 1020170014




From Catalina on up an empty 16384 MB image must be created in disk utility. To get the Installers from High Sierra and up use our blazoned Runme_downloaderV4 which I attach.


The commands to create the bootable and writable installation media are respectively:


sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/HighSierra
sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/Mojave
sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/Catalina
sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/BigSur
sudo /Applications/Install\ macOS\ Monterey.app/Contents/Resources/createinstallmedia --volume /Volumes/Monterey


...and to generate the bootable vdi disk:


/Applications/VirtualBox.app/Contents/MacOS/VBoxManage convertdd ~/Desktop/HighSierra.dmg ~/Desktop/HighSierra.vdi   
/Applications/VirtualBox.app/Contents/MacOS/VBoxManage convertdd ~/Desktop/Mojave.dmg ~/Desktop/Mojave.vdi
/Applications/VirtualBox.app/Contents/MacOS/VBoxManage convertdd ~/Desktop/Catalina.dmg ~/Desktop/Catalina.vdi
/Applications/VirtualBox.app/Contents/MacOS/VBoxManage convertdd ~/Desktop/BigSur.dmg ~/Desktop/BigSur.vdi
/Applications/VirtualBox.app/Contents/MacOS/VBoxManage convertdd ~/Desktop/Monterey.dmg ~/Desktop/Monterey.vdi


In particular, to allow, for example, the installation of Big Sur, assuming you have called the VM Mac, the commands to be given are:


/Applications/VirtualBox.app/Contents/macOS/VBoxManage modifyvm mac --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff
/Applications/VirtualBox.app/Contents/macOS/VBoxManage modifyvm mac --cpu-profile "Intel Core i7-6700K"
/Applications/VirtualBox.app/Contents/macOS/VBoxManage setextradata mac "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac19,1"
/Applications/VirtualBox.app/Contents/macOS/VBoxManage setextradata mac "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
/Applications/VirtualBox.app/Contents/macOS/VBoxManage setextradata mac "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
/Applications/VirtualBox.app/Contents/macOS/VBoxManage setextradata mac "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
/Applications/VirtualBox.app/Contents/macOS/VBoxManage setextradata mac “VBoxInternal2/EfiGraphicsResolution 1280x800
/Applications/VirtualBox.app/Contents/macOS/VBoxManage setextradata mac "VBoxInternal/TM/TSCMode" "RealTSCOffset"
/Applications/VirtualBox.app/Contents/macOS/VBoxManage setextradata mac "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Mac-AA95B1DDAB278B95"




The installation of Ventura and Sonoma is under consideration... for now they crash during the second pass of Sealing... I will try loading a generic OpenCore. Stay tuned!


  • Like 1
  • Thanks 1
Link to comment
Share on other sites

  • tomnic changed the title to [Guide]VirtualBox on Sonoma and AMD Hackintosh
  • fabiosun pinned this topic

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • There are no registered users currently online
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.