Run Vanilla OS X El Capitan, Sierra, High Sierra or Mojave in VirtualBox 5.x.x on a Windows Host
Following on from my previous guide on how to create a VMware virtual machine running Vanilla OS X El Capitan in Windows, I’ve decided to write a similar guide for creating a VirtualBox El Capitan VM.
The virtual machine should be useful for testing El Capitan and also for creating installers for use on a real machine/hackintosh.
There are other tutorials and videos on the net about running OS X on Windows machines using pre-made VMDK disk images but you can never guarantee what else is in there….
I’ve gathered info for this guide from several threads in the Multibooting and Virtualisation section of this forum and also the wider internet eg
@colt2 HOW TO: Create a bootable El Capitan ISO for VMware
@dsmccombs comment on faking Ivybridge Processor
@Tech Reviews video tutorial https://www.youtube.com/watch?v=t7X07U63lwg.
VirtualBox Forum: Status of OSX on OSX
Intel PC with four or more CPU cores running Windows 7 X64 or later OS (2 or more cores needed for OS X) 4GB or more RAM (2GB or more will be needed for OS X) Hard Disk with at least 40GB free for Virtual Machine Oracle VM VirtualBox v 5.0.34 Install OS X El Capitan app and Mac or Hack to prepare installation iso <-- Now, no longer necessary to have previous access to a Mac or Hack by building the Installer.app from scratch - see post#75 16GB or larger exFAT formatted USB stick to transfer El Capitan iso from Mac/Hack to Host PC
Prepare Installation ISO on your Mac or Hack
1. On your Mac or Hack, download "Install OS X El Capitan.app" from the App Store into your Applications folder.
2. Download and unzip the CECI.tool (attached to this post) into your ~/Downloads folder. The commands in this executable script are shown below for informational purposes. Note: you will need approx 16GB of free space on your hard disk for the script to complete.
3. Open OS X terminal, then run the following commands to execute the script:
cd downloads chmod +x CECI.tool ./CECI.tool 4. At the end of the process, you will have an El Capitan iso on your desktop - copy this onto an exFAT formatted USB for use on the PC Host later.
Create an El Capitan Virtual Machine in VirtualBox
1. Open the VirtualBox program and click the "New" button to create a new VM.
2. Select Mac OS X and Mac OS X 10.11 El Capitan (64 -bit) for Operating System type and version. I named my Virtual Machine "El_Capitan", then clicked next...
3. Leave the Memory size at the recommended 2048 MB, then click next.
4. Choose to "Create a virtual hard disk now", then click the create button.
5. For the hard disk file type, the default is VDI (VirtualBox Disk Image) but I have selected VMDK for inter-operability with VMWare. Click next...
6. For Storage on physical hard disk, I have chosen the default Dynamically allocated (grows larger to a set limit as you need more disk space).
7. On the File location and size screen, you can set the location of the new virtual hard disk and its size - I recommend changing disk size to 40GB or larger. When you click the create button, you will now see your new VM in the VirtualBox main GUI.
8. Click the settings button on the Main Menu to tweak a few settings....
a. On the System/Motherboard tab in Boot Order, you can uncheck the Floppy Drive (who has these now?)
b. On the System/Processor tab, you can increase the allocated CPU cores to 2
c. On the Display tab, you can increase the allocated Video Memory to 128MB
d. On the Storage tab, click on the icon of the Optical Drive and select "Choose Virtual Optical Disk File".
Navigate and select the El Capitan ISO we created earlier...
e. Click the OK button to finalise the VM settings.
Patch El Capitan vbox configuration file with DMI Settings from a Mac
1. From the start menu, type cmd and click run as administrator to open an administrative command prompt.
2. Choose a Mac Model similar to your host system, then type the following lines, followed by <enter> after each line. Make sure you first close all VirtualBox Windows and the VirtualBox program, otherwise any changes you make won't stick...
cd "C:\Program Files\Oracle\VirtualBox\" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Mac-F2238BAE" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1 MacBookPro11,3
cd "C:\Program Files\Oracle\VirtualBox\" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "MacBookPro11,3" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Mac-2BD1B31983FE1663" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1 Macmini6,2
cd "C:\Program Files\Oracle\VirtualBox\" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "Macmini6,2" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Mac-F65AE981FFA204ED" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1 3. Optional- For some host systems eg those with Haswell and newer CPUs, you might have to spoof an older CPU to avoid VirtualBox errors. You can try from one of the following if this happens:
To spoof Lynnfield i5 750 CPU
VBoxManage.exe modifyvm "El_Capitan" --cpuidset 00000001 000106e5 06100800 0098e3fd bfebfbff To spoof IvyBridge CPU
VBoxManage.exe modifyvm "El_Capitan" --cpuidset 00000001 000306a9 04100800 7fbae3ff bfebfbff or
VBoxManage.exe modifyvm "El_Capitan" --cpuidset 00000001 000306a9 00020800 80000201 178bfbff 4. Close the command prompt window.
Installation of El Capitan
We are now ready to start the El_Capitan Virtual Machine....
Installation should be relatively straight forward, just following the prompts of the OS X installer:
1. Select language, agree to legal terms
2. Use Disk Utility from the Utilities Menu to erase and format the virtual hard drive as a single partition GUID Mac OS X Extended. I named my drive "Macintosh HD" but you can enter whatever you like eg El_Capitan.
3. Quit DU and choose Macintosh HD to install El Capitan on.
4. After 20-30 min (depending on how fast your system is), the installation will complete. At this point, unmount the El Capitan ISO by clicking the Devices menu from the VM window, click Optical Drives, then choose Remove disk from virtual drive. The VM is now ready to reboot into OS X from the virtual hard drive.
5. At the welcome screen, choose your country and keyboard layout. You can skip transfer information, location services and logging in with your Apple ID if you wish…
6. Create a User Account and select your Time Zone. You can skip sending diagnostics and usage data to Apple….
7. Finally, you will arrive at the El Capitan Desktop.
8. Network/internet and audio should work OOB but on my system, the sounds were distorted. Unfortunately, there is no QE/CI and the VM resolution will be fixed without the ability to dynamically resize the VM window (no VirtualBox additions for OS X guests atm).
Customization with VBoxManage
1. You can change the default resolution of 1024*768 (after shutting down the VM) with the VBoxManage command from the Windows Administrative Command Prompt:
cd "C:\Program Files\Oracle\VirtualBox\" VBoxManage setextradata "El_Capitan" VBoxInternal2/EfiGopMode N (Where N can be one of 0,1,2,3,4,5) referring to the 640x480, 800x600, 1024x768, 1280x1024, 1440x900, 1920x1200 screen resolution respectively.
Update: For VirtualBox 5.2.x, the command for changing screen resolution has changed...
VBoxManage setextradata "<MyVM>" VBoxInternal2/EfiGraphicsResolution XxY (where X=Horizontal screen resolution, Y=Vertical screen resolution)
VBoxManage setextradata "<MyVM>" VBoxInternal2/EfiGraphicsResolution 1280x1024 2. Adding serials and other SMBIOS details for the System Information Screen
VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "W8#######B6" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiBoardSerial" "W8#########1A" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemVendor" "Apple Inc." VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemFamily" "iMac" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiBIOSVersion" "IM112.0057.03B" A listing of known issues with Mac OS X guests can be found in the VirtualBox Manual - link https://www.virtualbox.org/manual/ch14.html.
Vanilla Mavericks and Yosemite, Snow Leopard from Retail DVD
The same VM settings for El Capitan will also boot and run vanilla installations of OS X Mavericks and Yosemite . Attached to this post are installer scripts to create bootable Mavericks (CMI.tool) and Yosemite (CYI.tool) ISOs for VirtualBox and VMware.
With the respective OS X installer apps in the Applications folder, download and run the installer tools using terminal ie
To create a Mavericks ISO on your desktop
cd downloads chmod +x CMI.tool ./CMI.tool To create a Yosemite ISO on your desktop
cd downloads chmod +x CYI.tool ./CYI.tool Here is a screenshot of the VM running Mavericks 10.9.5...
Finally, those without a Mac/Hack to prepare the install media can purchase a retail Snow Leopard DVD directly from Apple and install OSX 10.6.3 on their virtual machines (Snow Leopard, Lion and Mountain Lion run quite happily in VirtualBox with 1 CPU, 1-2 GB of RAM and the rest of the settings unchanged from above). Once you update by combo update to SL 10.6.8, you can directly download El Capitan from the App Store for free .
UPDATE macOS Sierra 10.12 to 10.12.6: For macOS Sierra, use CSI.tool in post#51.
UPDATE macOS High Sierra 17A365: For macOS High Sierra, use CHSI.tool in post#73.
UPDATE macOS Mojave 18A391: For macOS Mojave or High Sierra, use macOS_iso_creator.tool on page 4 of thread.
UPDATE macOS Catalina Beta DP3_19A501i: For Catalina, @jpz4085 has made an automated batch file to create a Catalina VM in Windows with iMac 14,2 SMBIOS. You can still use my macOS_iso_creator.tool on page 5 to make an installer ISO to attach to the VM.
Good luck and enjoy
This is the current version of VMware Tools for OS X / macOS from the VMware CDS repository for Fusion 11.1.0
Please note: In the latest VMwareGfx.kext from Fusion 8.5.5 onwards VMware have discontinued the 2D-Acceleration code, and graphics performance is better now, thanks to Zenith432 for the update.
To check for the latest version visit http://softwareupdate.vmware.com/cds/vmw-desktop/fusion/. The various VMware Tools downloads are located under the packages folder for each version.
Instructions for extracting darwin.iso and darwinPre15.iso
- Download the files above
- Extract com.vmware.fusion.tools.darwin.zip.tar
- darwin.iso is located in the "payload" folder
- Extract com.vmware.fusion.tools.darwinPre15.zip.tar
- darwinPre15.iso is located in the "payload" folder
I am trying to install SL from retail DVD image on Vmware 15.0.2 on a desktop with the following specs:
PC: Lenovo ThinkStation P510
OS: Windows 10 1809
Memory: 16 GB
CPU: Intel Xeon E5-1607 V4 @ 3.10 GHz
GPU: nVidia Quadro K620
Steps taken till now, got the errors and progressively removed them by going through the forum topics:
1. Used unlocker 3.0.2 to unlock VMware workstation 15.0.2 (https://www.insanelymac.com/forum/topic/335757-macos-unlocker-v30-for-vmware-workstation/?tab=comments#comment-2638208)
2. Copied the patched EFI unlocker to x64 folder in VMware Workstation directory (https://www.insanelymac.com/forum/topic/336110-macos-efi-unlocker-v10-for-vmware/?tab=comments#comment-2642442)
3. Provided the full path of the patched files in the vm configuration file
4. Got the cpuid mask from here (https://www.insanelymac.com/forum/topic/243274-how-to-install-retail-os-x-106-snow-under-vmware-workstation-7-or-player-3/)
Now my VM boots up without errors but it displays a stop sign after the apple logo
Please let me know how should I proceed as I think this is the last hurdle before successful installation of SL on VMware 15
Bear with me please, the vmware site is almost hopeless, so I ran across insanelymac.. So, I have a fairly high end laptop that has enabled me to push much of my development environment into virtual machines. One of these VMs was a macOS High Sierra install. As a developer, I always have an interest in learning new things, and some of my co-workers are Apple advocates. Plus, there was some s/w I wanted to try that would only work on the mac. Using unlocker, etc, I was easily able to create a Mac workstation (what the hell do you call this - mac, macos, apple, mac VM? lol, I don't have the lingo down right....). I've been using it for the last 4 months.
Then came the VM Workstation 14.1.6 update. It kept nagging at me, so I finally allowed it to install. Brain fart on my part, I should have backed up all of my virtual machines. All the Windows VMs came through fine, but the Mac is stuck in a perpetual re-boot cycle. I'm sure this is a vmware issue, but I was hoping maybe a reader has seen this before and has some ideas. I've gone through the vmware logs until my eyes bleed - lots of interesting but useless information...
Currently using VMware Workstation 15.0.3, with High Sierra 10.13.6 fully updated - Mojave has some issues because of changes to how the GUI is drawn so the performance is slower so I stick with High Sierra. But I've noted - over the years this has always been the case with using macOS or OSX in VMware Workstation as a guest OS sitting on top of Windows - that the actual networking performance is pretty lackluster and I've always wondered why.
I have a Windows 7 VM that I created for testing purposes, so here's the setup in terms of the physical host hardware:
HP EliteBook Folio 9470m
Intel i5-3427u CPU (2 cores/4 threads)
12GB of DDR3 1600 (dual channel mode, gets about 22GB/s reads and 21GB/s writes so it's fast enough)
Samsung 860 EVO 500GB SATA SSD (540MB/s reads and 520MB/s writes tested and verified regularly, no issues)
Intel Gigabit NIC (no issues)
Gigabit Internet service (I regularly pull 950-960Mbps without issues)
Windows 7 Professional x64 fully updated as of March 15th (no issues whatsoever)
Doing a speedtest from my ISP I get ~950Mbps results, downloading large contiguous files from some services gives me 70-90MB/s (that's Megabytes per second) sustained bandwidth during the downloads.
For the VM, it's:
VMware Workstation 15.0.3 (unlocked with Donk's unlocker)
macOS High Sierra 10.13.5 installed from ISO then upgraded to 10.13.6 from App Store
4GB assigned to the VM (of the 12GB physical hardware RAM)
2 "CPUs" assigned to the VM (meaning I just have it set for 1 CPU 2 cores, using the extra two threads from Hyperthreading causes some audio glitches with the VM)
VMware Tools installed (latest available directly from VMware)
Everything in the VM is "stock" meaning I haven't and probably can't alter the hardware profile. Now, if I go do a download from someplace that I know is fast and can provide significant bandwidth in excess of 50MB/s (that's 400Mbps by the math) like Google Drive or Microsoft OneDrive, or perhaps some Linux distro mirror site in my region, I end up seeing a maximum speed of about 150Mbps (that's Megabits per second) or about 18-19MB/s.
Considering it's a Gigabit NIC being fed to the VM, and Gigabit Internet service, I'd like to think the VM should be showing faster speeds but it's not. No matter what I do, even if it's copying files from a network share to the VM (as a shared folder set up in the VM settings) it still maxes out at roughly ~150Mbps and I can't for the life of me figure out why.
Anyone else notice this slow performance?
Here's why I bring it up:
With the Windows 7 VM I use for testing, as a guest OS on top of Windows 7 itself, I can pull 850-950Mbps in the same speed testing situations. But with the macOS VM, 150Mbps tops it seems.
I wonder if there's a reason for this, perhaps the NIC driver in VMware Tools is just crazy inefficient with respect to using macOS on a Windows host which isn't supposed to be done, of course, but we do it anyway because we actually can (thanks to Donk and many others over the years, I have my own storied history as part of The OSx86 Project when it started up long ago).
Just wondering if anyone else has ever noticed this issue. It's not a big huge hassle, of course, but it is somewhat irritating knowing the networking for the VM should be significantly faster. When I look at the Network Adapter properties inside macOS it shows a Gigabit link as far as the VMware networking driver is concerned so, again, it's just odd why it's so limited, almost a flat line at ~150Mbps and I've never been able to get it to go any faster.