Install Mac OS X (El Capitan, Yosemite,...) in VirtualBox in Mac OS X [Tutorial]


In this thread, we show a specific tutorial to Install and Run a Mac OS X (El Capitan, Yosemite, Maverick) inside Mac OS X using VirtualBox.


  • Download Virtual Box (Free) here.
  • Mac OS X (El Capitan, Yosemite, Maverick, Lion).app from Apple store.
    We would suggest downloading Yosemite from here, El Capitan from here, and Maverick from here.
  • A tool to handle the InstallESD.dmg named Github v1.2.0.


1. Configure the VirtualBox machine
+, RAM: At least 2048 MB or more.
+, Enable EFI mode.
+, If you face black screen when booting into the virtual machine, we need to set the chipset from ICH9 to PIIX3.

A, Create a new virtual machine

Setting > System.

2. Prepare Install Disk

  • Open Terminal, use the following command line to install iesd

gem install iesd

iESD requires to install ruby-1.9.2 or later. Use the two following command lines to install Ruby.

ruby -e “$(curl -fsSL”
brew install rbenv ruby-build

3. Make Yosemite, Mavericks or El Capitan bootable

  • No matter the OS X 10.9, 10.10 or 10.11, the InstallESD.dmg is not bootable. We therefore need to make a bootable file by BaseSystem.dmg. Open Terminal, then use the following command line.

iesd -i /Applications/Install\ OS\ X\ -o Mavericks.dmg -t BaseSystem

Be noticed that you have to change to to Yosemite.App or El at your particular case.

  • At for Mac using Intel Haswell CPU (Macs 2013 and later), we need to fake CPU to Ivy Bridge by the following command line.

/Applications/ modifyvm --cpuidset 00000001 000306a9 00020800 80000201 178bfbff

  • If you want to install Mountain Lion & Lion (10.7 and 10.8), InstallESD.dmg is a bootable disk image. But we need to take off the kext AppleIntelCPUPowerManagement.kext.

iesd -i /Applications/Install\ OS\ X\ Mountain\ -o Mountain\ Lion.dmg --install-extension NullCPUPowerManagement.kext

4. Now we can run the virtual machine and install Mac OS X without any raised troubles.
The result:

1 Like


I get it done! Thanks



When I start my VM, everything works fine until this message appears: ****[IOBluetoothFamily][SearchForTransportEventTimeOutHandler] – Missing Bluetooth Controller Transport!"



Hi, i try but not working. This step:
iesd -i /Applications/Install\ OS\ X\ -o Mavericks.dmg -t BaseSystem

i editing the text to use El Capitan, but the file downloaded from appstore have different name, so i try to replace to have:
iesd -i /Applications/Install\ OS\ X\Install OS X El -o El Capitan.dmg -t BaseSystem

but not working fine.
I have try different path, different name, but the 3 step of your tutorial not working.
i try to install from VirtualBox on my macbook pro 2015 the El Capitan virtual machine.

Do u have idea how can i do to fix it?




Just a note–for people copy/pasting the code above, you’ll get errors at the Haswell conversion portion of step three. You need to add your VM machine name between “modifyvm” and “–cpuidset”.



Thank Todd.