A couple of months ago, I got Mac OSX working as a Virtual Machine running under VirtualBox on my Windows 7 host. A few weeks later, after a VirtualBox update, the VM stopped working for some reason.
I just got around to re-creating the VM, and since I’ve been having to piece this together from half a dozen sources, I thought I’d write my own tutorial. I’ve already done this once tonight (well, when this post is published it will be last night), so I know it works; I’m just going to do exactly what I did three hours ago, taking screenshots along the way. Since it’s kind of long, I’ll split it into two parts. Part two will go up Friday.
Before I begin, I should point out that running Mac OSX on non-Apple-branded hardware (including as a VirtualBox guest) is a violation of the OSX End User License Agreement. Personally I don’t really care what EULAs say, as I don’t consider them legally binding, however I do have a broken Mac in the corner of my office that I don’t want to pay to repair. I have also purchased a retail OSX Snow Leopard DVD, so whatever Apple’s lawyers might say, this a legal install.
Installing VirtualBox and configuring your computer to run it is beyond the scope of this tutorial; I am going to assume you already have a basic understanding of how to create a VirtualBox VM. I will be using the latest version of VirtualBox (3.2.10).
You’re going to need a couple of things first. Obviously the Snow Leopard retail DVD is a must (an ISO should work, too, but I used the retail DVD). If you don’t have one, you can buy one from the online (or brick-and-mortar) Apple Store, from Amazon, or you can find one at your local Apple reseller. It’s only $29 🙂
You’ll also need an EmpireEFI disc image appropriate for your host machine: if your host is an Intel machine you want this one, otherwise if you have an AMD host you want this one. I’m using EmpireEFI 1.085 on an Intel host. (I haven’t actually tested the AMD version of EmpireEFI, so please let me know in the comments if it doesn’t work.)
Alright. First, create a new VM. I’m going to name it “MacOSX” for simplicity. VirtualBox will automatically select “Mac OS X Server” as the operating system and version. If your host is running a 64-bit OS, you may want to choose the “Mac OS X Server (64-bit)” option, as I have done here:
We’re not going to be running OSX Server, but that’s the only option provided by VirtualBox, so we’ll stick with it.
Next, choose how much RAM you would like your VM to have. For this tutorial I used the default 1GB setting:
Next we create a new hard disk:
Hit Next twice, then choose whether your disk will be a dynamically expanding disk or a fixed-size disk. I chose “Dynamically expanding”:
Now we’ll choose how large the VM’s hard drive will be, and where to store it. I’m storing the disk image on a separate drive I use specifically for VM disk images; if you’re not sure, use the default location. The default size is 20 GB, which is fine, so go ahead and use that default setting as well:
Next is a drive creation summary screen, so make sure everything looks ok, and press Finish. Depending on the size of the virtual drive you created, and whether or not it’s dynamically expanding, you may get a progress dialog.
Next we get a VM summary:
Press Finish, and your VM is created. Don’t get too excited — we need to change some settings before we can install OSX. Select the new VM, and click “Settings” on the toolbar.
In the Settings dialog, click “System” on the left, and uncheck “Floppy” and “Enable EFI” on the Motherboard page:
I have outlined “Enable EFI” in red because OSX will not boot if you leave it checked! VirtualBox’s EFI only works on OSX hosts. We’re going to be using EmpireEFI instead.
If you have a quad-core machine, you may also want to change the processor count on the Processor tab; I set mine to 2, but it should work fine with just 1 CPU (the default).
Now, select “Display” on the left. On the “Video” tab, set Video Memory to 128 MB and make sure the “Enable 3D Acceleration” box is checked:
The next step is a little more complicated. Click “Storage” on the left. The Storage Tree by default has a single IDE controller with both your virtual hard disk and the optical drive. Let’s change it. Click “MacOSX.vdi” so it is highlighted, then click the disk icon with a red minus sign (Remove Attachment). “MacOSX.vdi” should disappear from the list.
Next, click the tilted rectangle with a green + on it (to the right of the “Remove Attachment” button). In the popup menu, choose “Add SATA Controller”. Click the disk icon with a green + on it (to the left of the “Remove Attachment” button). It will add a hard disk onto the SATA controller; it may not be the right one. If not, click on it, and find “MacOSX.vdi” in the “Hard Disk” dropdown on the right half of the pane.
Here’s the tricky part. Click on the “Empty” optical drive, change “CD/DVD Device” to your host drive, and check the “Passthrough” box:
The install disc won’t boot if you don’t enable passthrough!
Lastly, still on the optical drive, change it to mount the EmpireEFI iso you downloaded earlier. The “Passthrough” checkbox will uncheck and disable itself – that’s ok. VirtualBox will remember that you enabled passthrough for the host drive. (If you missed where I mentioned EmpireEFI, scroll up to just before the first screenshot.)
When you’re done, it should look like this:
The rest of the default settings are fine. There you go; your VM is properly configured to install OSX. Come back tomorrow for the good part 🙂
Update: Part 2 is up.
“I do have a broken Mac in the corner of my office that I don’t want to pay to repair.”
Not to distract from the focus of your tutorial, but as I recall your broken iMac had a dying hard drive and you didn’t want to pay $200 to have it repaired.
a) if the iMac is under warranty, this repair should be covered.
b) you should be able replace the iMac hard drive yourself, the only drawback is you void the warranty.
If the warranty is active but doesn’t cover the hard drive, then the warranty is worthless and you might as well void it, especially if the thing has been taking up space in your office unusable. I don’t know what model iMac you have, but I’ve replaced hard drives on an iMac and a MacBook Pro. Most Mac models have tutorials available on the web for upgrades and replacements like this.
I bought the iMac used from a coworker. I highly doubt it’s still under warranty.
I’ve read through tutorials, and it’s what made me not want to do it. To replace the hard drive myself, I have to buy some special suction cups, lift the glass off of the machine, carefully disassemble it, replace the hard drive, and then put it back together without getting any dust between the screen and the glass. Not likely.
Besides, why spend money buying a replacement hard drive when I can just run a free VM? 🙂
Pingback: snow leopard op alienware M17X
You are a gentleman and a scholar =)
it just doesn’t work. this is just a waste of time
Would you also create a tutorial video please?
Hello can I install it without a VT-x enabled?
Yes, but the virtual machine will run slower.
“Lastly, still on the optical drive, change it to mount the EmpireEFI iso you downloaded earlier.”
I have the .iso image but how to mount it? Thx.
So you meant create a physical Cd/DVD disk from .ISO and put in the CD/DVD tray?
You click the folder icon with a green arrow on it, right next to the “CD/Device” dropdown box. After you click on that icon, you can browse to your iso image.
Thanks Dan, found it 😉
Pingback: Mac OS X virtualised in Virtualbox » we got style
Hey Dan I had the .dmg and converted it to an .iso, should i mount that instead of empire EFI, and check enable efi instead? I am running windows 7 home premium, and intel core i5-2300.
No, you still need to use EmpireEFI. The VM will not work if you enable VirtualBox’s built-in EFI support.
Move on to part 2, and you’ll see where you need to switch ISOs from EmpireEFI to OSX.
Thanks for the tutorial…I’m really stuck though. Once I get the vm setup and ready to go, I launch it and get the Empire EFI screen. I change the disc to my iso of OS 10.6.3 by right-clicking the cd image at the bottom of the vm window. Then I hit F5 and it shows the virtually-loaded disc called OS 10.6.3. I hit “enter” and it displays some code then says “press any key to continue”. And that’s all I can do. I’ve pressed many keys and nothing happens. It just sits there and then eventually the screen of the vm goes black. I’ve double-checked all my settings and don’t know what it could be. I’m running Windows 7 Pro 64 bit as my host OS. Thanks for any help ahead of time 🙂
EmpireEFI doesn’t give any feedback when you press a key; you might have to wait a very long time for OSX’s installer to start up the first time. The VM’s screen will go black for a while in between the EFI screen and the OSX loading screen. How long did you wait?
Hi Mike,
Did you ever get this to load? My experience is the same as yours. After the “press any key to continue.” the VM window goes black then nothing ever happens. I’ve waited about an hour so far.
Hi Dan, How long are most people waiting before they get the OS X language screen?
I have been looking for two days for the EFI download for Intel GMA 3100 – not a one of the sites has it any longer.
Where does one get this now?
If you look at the sixth paragraph of this post, you’ll see links to both the Intel and AMD flavors of EmpireEFI.
I’m not trying to be mean, but if you buy the DVD KNOWING that by buying it you ARE AGREEING that installing it somewhere it says not to is against the rules, then you will loose in court. Even if you didn’t know, there is this whole “You agree to the following” with whatever you do.
I do think that you should be able to install it on whatever since it’s YOUR DVD that YOU bought so don’t get me wrong. I think that they should consider allowing it. But you ARE agreeing to it by buying the DVD, and the fact that you know that already isn’t gonna help if they care enough to sue. Not being mean, just saying…go ahead and say whatever you or anyone else feels they need to…
If I didn’t own a machine that the rules said I could install it on, then you might have a point 😛
Pingback: porivasha.com