OS X on OS X
Running OS X on VirtualBox
Virtual OS X on Macintosh
OS X on VirtualBox is nothing but all kinds of troubles. Even though OS X guests are now supported in the lastest VirtualBox, it still has several issues. After investigated the boot process of OS X, I finally made OS X Lion and later working in VirtualBox.
Requirement
- Install OS X.app purchased in Mac App Store
- iESD
VirtualBox Settings
- Operating System Version: Mac OS X (64 bit)
- Base Memory: 2048 MB (larger is better)
- Enable EFI
In the lastest VirtualBox, all the default settings work well.
Some people encountered black screen upon booting the virtual machine. They reported that changing the default chipset ICH9 to PIIX3 fixes this issue.
Prepare Install Disk
gem install iesd
iESD requires ruby-1.9.2 or later.
El Capitan
Apple finally upgraded the MBR based BaseSystem.dmg
in favor of GPT, which is not yet fully supported by VirtualBox EFI. However, it is possible to upgrade from existing Yosemite installation.
Yosemite & Mavericks
The new InstallESD.dmg
is not bootable. Therefore, we need to create a bootable install disk with BaseSystem.dmg
.
iesd -i /Applications/Install\ OS\ X\ Yosemite.app -o Yosemite.dmg -t BaseSystem
All Macs using Intel Haswell CPU (Macs after 2013) need to fake their CPU as Ivy Bridge in order to boot the virtual machine. Thank @danmccombs for this tip.
VBoxManage modifyvm <vmname> --cpuidset 00000001 000306a9 00020800 80000201 178bfbff
On Mac Pro Early 2009 and other Macs that have ECC memory, AppleTyMCEDriver.kext
will cause a kernel panic during the boot. Thus we need to remove it.
iesd -i /Applications/Install\ OS\ X\ Yosemite.app -o Yosemite.dmg -t BaseSystem --uninstall-extension AppleTyMCEDriver.kext
Mountain Lion & Lion
The lastest VirtualBox does not require modifying InstallESD.dmg
any more.
However, if your virtual machine was freezed during the boot process due to AppleIntelCPUPowerManagement.kext
, you need to install NullCPUPowerManagement.kext
.
iesd -i /Applications/Install\ OS\ X\ Mountain\ Lion.app -o Mountain\ Lion.dmg --install-extension NullCPUPowerManagement.kext
Install
The install process is same as normal OS X install on Mac.
Done
I’m NOT talking about Hackintosh
SOFTWARE LICENSE AGREEMENT FOR OS X
License from Mac App Store. If you obtained a license for the Apple Software from the Mac App Store, then subject to the terms and conditions of this License and as permitted by the Mac App Store Usage Rules set forth in the App Store Terms and Conditions(“Usage Rules”), you are granted a limited, non-transferable, non-exclusive license:
to install, use and run up to two (2) additional copies or instances of the Apple Software within virtual operating system environments on each Mac Computer you own or control that is already running the Apple Software, for purposes of: (a) software development; (b) testing during software development; (c) using OS X Server; or (d) personal, non-commercial use.