After several days of attempts and findings, finally, I managed to install Mac OS X Snow Leopard on VirtualBox with my Windows OS PC. We are going to use the original OS medium for this installation purpose. That will give the freedom to have the vanilla kernel and possible software updates from the official Apple website.
This method is completely for testing and learning purposes. Please buy the original Mac OS and Apple hardware. From version 3.2, the Oracle VirtualBox officially supports Mac OS X as the guest virtual machine on Apple hardware. So, technically you can virtualize macOS on Apple devices only. But still, we can do some workarounds to install Mac OS X on non-Apple hardware with different bootloaders on Windows computers.
Note: This post was originally published in the year 2010. You may find the older version of products on the screenshots. But still, these methods are applicable for the latest version including Windows 10 and VirtualBox 6 x. But there will not be many valid reasons to try an older version of Mac OS 10.6 when we have macOS 11.0 Big Sur now. If you are a developer who wants to test several older versions of macOS, then you can try these methods.
Requirements
- Oracle VirtualBox
- Mac OS X 10. 6 Snow Leopard Retail DVD or ISO (You may need to search for ISO on the Internet)
- EmpireEFIv1085.iso for Intel Processors (This is the boot loader we will be using to boot Mac OS DVD/ISO, download the correct version here)
- Hardware VT Checker (Read more here and make sure Hardware Virtualization is enabled on the host computer BIOS)
- Sound driver (Mentioned under sound)
Installation Steps of Mac OS X 10.6 on VirtualBox
1) Create a Mac OS X Virtual Machine with the following configuration (If you have the latest VB, then select Mac Server version)
Memory – Minimum 1GB
Processor Cores – 1 or more (Change it to one core if you face any issues. Two cores worked for me)
Enable PAE/NX, VT-x,
Nesting Page – Enabled
Enable IO APIC and Enable Absolute pointing device.
Remove Enable EFI. Built-in EFI loader may work with Apple hardware only.
Enable 3D Acceleration under the display and set up maximum video memory.
Storage Controller type ICH6 and create a 20 GB Hard disk.
2) Mount empireEFIv1085.iso to CD drive. Make CD ROM the first bootable device. Keep your Snow Leopard DVD or ISO file ready.
3) Start the virtual machine. When the following screen appears, eject bootloader ISO and load Mac installation DVD or ISO.
To do it, right-click on CD drive and select drive or ISO image. Wait for a while and press F5 then ENTER key when DVD loaded.
4) Wait for some time. If you see the installation screen, you are almost done. Go through the installation process.
Go to disk utility and create a partition if you can’t see the installation disk.
5) I got the following warning message at the end of the installation. It’s not an issue, just restart the Virtual machine.
Note – Shutdown or Restart will not happen normally, you have to do it manually from the VirtualBox console. You have to load the empireEFI ISO again to boot the OS from the installed hard disk.
6) This time, select Mac OS hard disk by right arrow key and press Enter to boot. I’m sure after several initial configurations you will land on the Snow Leopard desktop successfully.
Let’s Fix Some Issues on Snow Leopard Virtual Machine
1) Network worked straight away. NAT and Bridged type worked without any patches.
2) Software Update: Yes, it worked. Since we used the vanilla kernel, this VM can be updated. I managed to update till 10.6.4.
3) USB Support: It worked well. Somehow data transfer is slow but manageable. It detected my USB hard disk and flash drive.
4) The sound in Mac OS X Guest: Sound is a little issue here but worked. I’m sure it will not bother you much.
Follow these steps to install sound drivers. For me it worked, one side speaker worked with little distraction. Something is better than nothing. You need to follow this guide to install sound drivers.
5) Screen Resolution and Screen Size: Follow these steps to adjust the screen size. Widescreen size didn’t work for some users.
6) Shutdown and Restart: We can’t shut down or restart Mac VM in a normal way. You may see the messages ‘CPU halted’ (for Shutdown) or ‘MACH Reboot’ (for restart), this means nothing will happen after it. We need to power off or reset the virtual machine from the VirtualBox console. Here is the working Snow Leopard on VirtualBox.
7) Update 1
Install Boot Loader permanently and some fixes
To avoid attaching empireEFI ISO every time to boot OS X virtual machine, we can install bootloader permanently on Mac hard disk. This method will install the Chameleon bootloader and some other drivers.
Go to Empire EFI CD which is already mounted and open the Post Installation folder. Take a snapshot before doing anything at this point. Run myHack Installer Package.
Select Customize in Installation Type.
Read each package description and select it if you need it for your computer hardware. I recommend not deselecting anything selected by default. Press the Install button to continue.
After successful installation, remove empireEFI ISO and start the virtual machine, it should boot from the hard disk as shown below.
If this doesn’t work, restore the virtual machine to the latest snapshot and install the Chameleon bootloader from a separate installation file in the Post Installation folder. This might fix the boot loader issue and improve performance.
8) Some fixes for booting issues
a) Mac DVD reading error – EBIOS read error: Error 0×0c Block 0×1ed48a Sectors 0
This is due to accessing data from a Mac retail DVD. Convert the DVD with some cloning software to ISO. Most people faced this issue and that was the solution.
b) Booting errors after installation.
Try Boot verbose or Boot Ignore Caches options. In the empireEFI bootloader, go to Mac disk by pressing the right arrow key. Once it’s selected, press the down arrow key which will bring more options. Select and press Enter.
c) Change boot loader for old type of processors: Select legacyempire_efi1085.iso, which is inside the same folder.
If this bootloader and method didn’t work on the Intel processor then try this method with a different iboot loader.
I hope these methods will be helpful to install the original Mac OS 10.6 Snow Leopard on Oracle VirtualBox with your Windows 10 or 8.1 computer. I mentioned a few troubleshooting steps which may be helpful as well.
Hey Dinesh! I didn’t select anything. Was “MAC OS X” then after upgrading switch by itself to “server”. 🙂
I’m having trouble running this, the EFI screen comes up, but the image will not boot.
I’ve tried this with several images for SL and an original disk.
My Laptop is running an AMD processor, but it is PAE/NX, VT-x, Nesting Page enabled.
Is there no way to run this in VB on an AMD host?
Cheers,
Paul.
I have a question before I continue reading this tutorial, does this work in AMD?
If so, what else should I do?
Thanks!
I’m new to Hackintosh in general so I don’t know the answer to this.
How can I be sure that the Empire EFI, or the “myHack Installer” don’t have trojans or other malware built into them?
I installed 10.6.3 from an Apple retail DVD, but I’m concerned that the Empire EFI and other software I needed to install could, in principle, be infected with malware.
There is a better audio driver in
http://forums.virtualbox.org/viewtopic.php?f=4&t=30843
It can be installed in a easier way.
For AMD users,
One user reported as below,
awaken says:
June 1, 2010 at 4:59 pm
wow! thank you Tom! it worked!
using the legacy empireefi for amd and core i5m I installed the 10.6.3 retail.
perfect.
thank you all!!
Select the legacy efi boot loader for AMD processors. I didn’t try.
@Karmic Alice, I meant to say when we install snow leopard on virtualbox 3.2.2, select Mac OS X Server as guest. Thanks for your reply.
@planck_length, when we talk about ‘hack’ or ‘crack’, we cant forget malware as you say. You are 100% correct. As long as you keep guest and host separate and secure, I think it will be OK. My personal opinion.
@Luiz Angelo Daros de Luca, I pointed the same driver file which mentioned in virtualbox forum. If it works for you then its great.
Thanks all for your comments.
Yes, the driver is the same. However, there is a user friendly setup. It is better than kext install procedures.
http://forums.virtualbox.org/download/file.php?id=2307&sid=c259ea40ab2c751e2a264671b510381c
planck_length Then if u freak out easily about viruses, malware and stuff… switch to linux. I am new to linux and is my world now. I’m like fish in the water. Try it and you will probably never go back to windows again.
Dinesh:) We say the same. But you speak about a nwe install and I was saying what happened to my virtual OS X AFTER I upgraded the VB.
@Dinesh and @Karmic Alice: Thank you both for your comments. I’m thinking of developing iPhone/iPad apps and didn’t want to have to buy another computer, hence being able to run OS X alongside Windows is a great plus (I use Linux too, but I have to develop for Windows, which is why I use it as my primary OS – I could have bought a Mac but they’re expensive in Australia).
If I’m writing code on OS X and Empire EFI contains an unknown root kit that that does malicious stuff, then obviously it’s a bad idea to use it for writing apps.
I guess I should write to whoever wrote Empire EFI to see if they can give out all the source code – that would reassure me.
Installs fine and works off empire efi.
Boot stops when using chameleon 2 rc3/4 or my hack at the line
ethernet link up xxxxxxxx no flow control, debug.
any help wud be appreciated 🙂
Apro
Well, thanks to this tutorial everything worked fine and now I am with Mac OS X Snow Leopard Virtualized.
I used this EFI for AMD Processor: http://www.mediafire.com/?m5wzzwyfg4m
I have a problem now with the tutorial, the link in the audio section where it says: “Download this driver file;”; doesn’t work.
Can you please give another link or alternative to the audio configuration?
Many many thanks for this tutorial! =)
Hi again… Sry for double posting but I’ve seen another problem.
I enter the System Profiler and I saw that the system recognized only 1 GB of RAM, in virtualbox I configured it to have 2 GB… any idea?
for the audio configuration, if you do not want to install the kext file manually, there is an installation package.
For details, please refer to:
http://www.takwing.idv.hk/tech/virtual/faq/sound_in_SL.html
@planck_length : if you don’t feel safe in using EmpireEFI, why not simpyl use VB’s EFI?
@dinesh: the problem was in my install dvd image that I made starting from a physical dvd bundled with a mac mini. OSInstall.mpkg has an additional routine that checks for the machine name which has to be “Macmini3,1”. So I hacked the EmpireEFI to use the correct machine name. Now I have just finished the install on VBox 3.2.4 and it seems to work.
@mammeta, Thanks for infor. Can you explain more? It will be useful for other users.
Thanks big for article. I long could not establish OS X Snow Leopard on VBox. Read article in native (Russian) language. However even badly knowing English language under your article all has made from the first.
At me only it has not turned out to establish Wide screen though in options I write 1440х900х32, all the same высталяет on a format 4:3. Can eat the decision of this problem somewhere?
@takwing: VBs EFI didn’t work for me.
Yes, built in VB EFI boot loader didn’t work for me too. Thats why I used different boot loader.
oh, it’s really good! thanx a lot!
About the screen resolution with widescreen:
If the selected video mode is not one of the vesa options, it will not work. Howevver, Vbox permit to define custom vesa modes. For example, to use 1280x800x32, use:
VBoxManage setextradata ‘Mac OSX’ “CustomVideoMode1” “1280x800x32”
And also set the resulution in com.apple.Boot.plist.
Sorry about my bad english.
A lot of thank’s to Dinesh, VirtualBox team and all guys that make this posible.
Now i have the last mac OS virtualized on my dear GNU/Linux.
Incredible!!!!!!!
Para los de la tierra, este post es la polla.
after I done step 3, i mount os x iso and wait, but nothing happens..anyone can help me out??? thx..
Is there any way to tell empire efi to detect more than just 1 GB??
I’m stuck with that.
Thanks!
Anybody successfully done this on Win7 64-bit?
@Pooch Me, any problem?