These steps will install Mac OS X (Ventura) on VirtualBox on a Windows 11 host.
This is tested using VirtualBox 7.1.4 on an Intel i7 CPU.
Prepare host
Disable memory integrity:
- Search Core Isolation in Windows.
- Toggle Memory Integrity: Off.
Disable Hyper-V (if enabled):
-
Run Command Prompt as Admin:
bcdedit /set hypervisorlaunchtype off
Enable virtualization:
- Check in Task Manager > Performance > CPU > “Virtualization: Enabled”
Obtain Installation
Option 1: Direct download from Archive.org
Several versions of macOS Ventura ISO files are available for free and legal download via Archive.org.
Option 2: Create your own ISO file on a Mac
If you have access to a Mac, you can create your own ISO from the official Ventura installer:
Download Ventura Installer from the App Store.
Open Terminal and run:
hdiutil create -o /tmp/Ventura -size 15000m -volname Ventura -layout SPUD -fs HFS+J
hdiutil attach /tmp/Ventura.dmg -noverify -mountpoint /Volumes/Ventura
sudo /Applications/Install\ macOS\ Ventura.app/Contents/Resources/createinstallmedia --volume /Volumes/Ventura --nointeraction
hdiutil eject -force "/Volumes/Install macOS Ventura"
hdiutil convert /tmp/Ventura.dmg -format UDTO -o ~/Desktop/Ventura
mv -v ~/Desktop/Ventura.cdr ~/Desktop/Ventura.iso
This gives you a clean, Apple-sourced ISO.
Option 3: TechRechard ISO Mirror
TechRechard provides a prebuilt ISO via MediaFire:
https://techrechard.com/how-to-install-macos-13-ventura-on-virtualbox/
Create macOS VM
Open VirtualBox and create a new VM with these properties:
- Name: macos
- Type: Mac OS X, Version: Mac OS X (64-bit)
- RAM: ≥ 4GB (8GB recommended)
- CPU: 1+ cores
- Disk: Create new virtual disk → ≥ 80GB
- Settings:
- System: Enable EFI, I/O APIC
- Display: Max video memory
- Network: Adapter 1 = NAT, Adapter 2 = Bridged (select your Wi-Fi adapter)
Patch VM (Command Prompt as Admin):
cd "C:\Program Files\Oracle\VirtualBox\"
VBoxManage.exe modifyvm "macos" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff
VBoxManage setextradata "macos" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac19,3"
VBoxManage setextradata "macos" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VBoxManage setextradata "macos" "VBoxInternal/TM/TSCMode" "RealTSCOffset"
# These are extra debug parameters that are needed if you see flashing mouse and keyboard symbols during first boot. These can be disabled later.
VBoxManage setextradata "macos" "VBoxInternal2/EfiBootArgs" "kext-dev-mode=1"
VBoxManage setextradata "macos" "VBoxInternal2/EfiBootArgs" "nvram boot-args=\"-v -x\""
Replace “macos” with your VM name.
If you have an AMD CPU, you also have to run this:
VoxManage modifyvm "macOS" --cpu-profile "Intel Core i7-6700K"
Install macOS
- Start VM
- Select Language > English
- Open Disk Utility > Erase VBOX HARDDISK
- Name: Macintosh HD
- Format: APFS (or Mac OS Extended)
- Scheme: GUID Partition Map
- Exit Disk Utility > Install macOS > Follow Setup
Optional: Set Resolution
Run this command to set resolution
VBoxManage setextradata "macos" VBoxInternal2/EfiGraphicsResolution 1920x1080
Troubleshooting
One of the most common issues is to be stuck at a screen with flashing keyboard and mouse. This is due to MacOS waiting for bluetooth mouse and keyboard to be connected.
This can be fixed by shutting down the VM and then:
- Open VM settings in VirtualBox.
- Click USB > Set to USB 3.0
If this does not work, try disabling USB altogether. Or try the other USB versions.
If it still hangs, try running this command with VM powered off:
VBoxManage setextradata "macos" "VBoxInternal2/EfiBootArgs" "kext-dev-mode=1"
VBoxManage setextradata "macos" "VBoxInternal2/EfiBootArgs" "nvram boot-args=\"-v -x\""
This can help bypass certain input detection issues during setup.
Explanation:
- -v: Enables verbose boot (optional, but helpful for debugging).
- -x: Boots into safe mode, which skips certain hardware checks—including Bluetooth.
Once setup is complete, you can remove the boot args with:
VBoxManage setextradata "macos" "VBoxInternal2/EfiBootArgs"