Installing Mac OS X Snow Leopard In Windows 7 October 15th, 2010
Some time ago I wrote an article detailing how to install Ubuntu (or any other Linux distribution) on a Windows 7 machine using VirtualBox. Since writing the article, I have received numerous emails asking for a similar guide to enable people to install OS X in the same way, well I am always open to requests if there is sufficient demand; not only that but having a localised installation of OS X would be a useful tool for me also to test out various methods when writing other guides. So with need established, I set about experimenting with various different configurations to get a working installation of OS X within Windows.
Caveat: At this stage I would like to point out that whilst technically possible, under the Apple EULA it is not permitted to run an Apple desktop OS within a virtual environment; as such this guide is for informational purposes only. If you choose to follow this guide and install Mac OS X within a virtual environment, you do so at your own risk, I will not be held accountable for breaching the EULA. In this guide you will need an official Mac OS X installation disc (well, an .iso of the original disc) so in the spirit of the EULA and to make you think twice, I will not be sharing a file for download or publishing a download link; you’ll need to figure this out for yourselves. Personally I own an official retail Snow Leopard installation DVD which I used as a base for this guide.
The problem with OS X is that it has been designed to run with very specific hardware, unlike the Windows family of operating systems which are expected to run with almost every hardware combination imaginable. There are those that will tell you OS X is far more stable than any Windows installation; but the reality is that Apple products are designed to run on very specific hardware and as such, have been thoroughly tested. This is a luxury that Windows developers do not have, it’s nigh on impossible to test every combination of hardware components that the Windows platform is expected to work with; there are simply too many possible combinations.
Here lies the problem.
Even within a virtual environment, the hardware that is emulated is far more akin to working with Windows or Linux (still UNIX based but far more forgiving than OS X in its hardware compatibility requirements). All is not lost however; ever since being told that it was not possible there has been a group of talented developers who have gone about reverse engineering and hacking OS X to work with PC hardware. The result of this hard work is ‘Hackintosh’, or OS X that has been modified to run on a standard PC platform.
Prerequisites: Before starting the guide, please read this post in its entirety; it’s important to understand all of the steps before starting to ensure you do not run into any problems. You’ll also need to download and/or check the following:
- Download and install the latest version of VirtualBox if you do not already have it installed on your machine already; the latest version can be found here. If you are running an earlier version (or one of the Sun versions, VirtualBox is now branded Oracle) it would be wise to update
- You will need to dig out your original Snow Leopard installation DVD and create an .iso image of the disc locally on your machine.
- You’ll also need a special modified Bootloader to enable you to boot into the OS X installation; this can be downloaded from here.
- This stage is purely optional but I find it helps a great deal. Once VirtualBox has installed it will create the following folder c:Users$USERNAME.VirtualBox so, create a new folder called ‘Source ISO’ within it and copy both the Snow Leopard DVD image and the extracted images from the file you downloaded in step 3. It’s good to get into the habit of filing files in an organised manner, I’ll also be referring to this file location throughout the guide so if you choose not to create this folder, you will need to modify the guide accordingly
- Finally you need to ensure that your machine supports hardware virtualisation; most modern machines do. Curiously though (especially within laptops) some manufacturers decide to disable this feature by default within the BIOS. If you are in any way unsure, reboot into your BIOS to check this before continuing with the guide
At this stage I would normally continue straight into the guide, however owing to the vast number of possible hardware combinations available, I thought it would be beneficial to list the hardware capabilities of my machine – the machine I am using to test and produce this guide – to show you a known working configuration as a base line; it’s worth mentioning that this is not the latest and greatest hardware, but a good all round performer from a few years ago. The basic specification is as follows:
- Lenovo ThinkPad T61p
- Intel Core2Duo T7700 GHz (VT Enabled, 64-Bit Architecture)
- 3Gb RAM
- 256Mb NVidia Quadro FX570M discrete graphics
- Windows 7 32-Bit host operating system
Now, onto the guide itself, I have split the guide up into stages to make it more manageable. Simply follow each stage step by step and you will have a working installation of OS X at the end.
The first stage is to create the initial virtual machine configuration file:
- Open VirtualBox by clicking through Start>All Programs>Oracle VM VirtualBox>VirtualBox
- Create a new virtual machine by clicking on the New button at the top left of the screen
- You’ll be greeted with the Create New Virtual Machine wizard, click Next
- Name the virtual machine that you’re creating based on your own naming conventions, for simplicity I am going to choose the name Mac OS X; for operating system choose Max OS X in the drop down box and then Mac OS X Server in the Version drop down box. Then click Next
- You now need to configure the amount of memory that you are going to allocate to the new virtual machine, if your machine supports it (or, if you have at least 2Gb of RAM available on the host machine) slide the slider to the maximum available (1500Mb or 1.5Gb) and then click Next
- Next to configure the new virtual HDD, you can leave the default options checked and click Next. You’ll now be shown the Welcome to the Create New Virtual Disk Wizard, click Next once again
- Now you need to configure the type of virtual disk that you want to create, unless you have good reason to choose otherwise, I recommend that you leave the default option of Dynamically expanding storage selected and click Next; then, once again leave the default options selected (you should see the size pre-populated to 20Gb) and click Next followed by Finish to create the disk
- You should now see a summary screen, click Finish
The basic virtual machine will now be created, albeit without the actual installation of OS X – yet. The next stage is to make some configuration changes to the basic virtual machine before proceeding with the actual installation process in preparation for the install:
- Highlight the virtual machine that you have just created (in my case named Mac OS X) and click the Settings button
- Click Display and change the Video Memory option to its maximum and click the Enable 3D Acceleration box
- Click Storage and highlight Mac OX S.vdi then click the remove button (-), then click the Empty option and under CD/DVD Device, navigate to the .iso image that you saved in your .VirtualBoxSource ISO folder earlier (legacyempire_efi1085.iso) then click Select
- Click the add button (+) and choose Add SATA Controller then click the add button (+) next to the new controller, you should now see Mac OS X.vdi appear in the list of SATA devices; highlight this. Finally in the drop down box next to Hard Disk choose Mac OS X.vdi (Normal, 2 which should clear the exclamation mark
- Click System and then Processor and change the default option to 2, then click Motherboard and uncheck the Enable EFI (special OSes only) option. Next under Boot Order, uncheck Network and Floppy if selected and change the boot order so that CD/DVD-ROM is checked first, followed by Hard Disk. Click OK
- Click Start to power on the new virtual machine
- When the Empire EFI Bootloader screen appears right click on the CD/DVD icon in the bottom right of the screen and click Unmount CD/DVD Device. Right click the icon again and click More CD/DVD Images and navigate to the .iso image of your retail Snow Leopard installation disk in the Source ISO folder, then click Select
- Wait a few seconds then click inside the virtual window and hit the F5 key, you should notice the option on the screen now change to Mac OS X Install DVD, press the Enter key. After a few seconds, you’ll be asked to press the Enter key again
The actual installation of OS X will now begin:
- The first screen that you will see will ask you to choose the language that you wish to configure the OS with, select this and then click the Forward key (this is the round blue icon towards the bottom right of the screen with an arrow in)
- At the next screen, you’ll need to ensure that the virtual HDD is correctly setup and ready for use, click Utilities at the top of the screen followed by Disk Utility
- Highlight the virtual disk, in my case 21.47 GB VBOX HARDDI… and click Erase. Ensure the Format option is set to Mac OS Extended (Journaled) and name the disk Macintosh HD then click Erase. You’ll be asked to confirm your actions, click Erase once again. Once the utility has created your disk, click the Exit button (which is the small red circle in the top left of the screen)
- Click Continue and agree the terms of the EULA (Please read the caveat above)
- Click Macintosh HD as the installation location and then finally click Install to begin
- Once the installation has finished (this will take some time, certainly enough time for a coffee), you will get an error screen saying that the Install has failed but don’t panic, this is normal
- Click the ‘x’ in the top right corner to close the virtual machine and select Power off the machine followed by OK
- Highlight Mac OS X once again and click Settings
- Click Storage and then Snow Leopard 10.6.3.retai.iso; then next to CD/DVD Device change the location to point to legacyempire_efi1085.iso once again. Click OK
- Start the virtual machine by clicking the Start icon
- Once the Empire EFI boot screen loads, click inside the virtual window and press the right arrow key to highlight Macintosh HD and then press Enter
- OS X should now start to load
This initial load up may take a few minutes but you should shortly be greeted with the Welcome screen where you can set up the basic options including your Apple log in, needless to say you should change these following steps based on your own individual circumstances:
- On the Welcome screen, click United Kingdom and then click Continue
- Next you’ll be asked to choose a default keyboard layout, click British and then click Continue
- Presumably, as you are running this within a virtual machine you will not have another Mac that you wish to transfer information in from so at the next screen, choose Do not transfer my information now and then click Continue
- You’ll now be asked to enter your Apple ID, if you do not have one you can simply click Continue and will have the opportunity at a later time to set one up. If you use iTunes on your windows PC, the login you use for the iTunes Store will also double as your Apple ID so enter these details here and then click Continue (hint: at this stage your keyboard will still be in the default US configuration so to enter ‘@’, press shift+2)
- Next you will have the option of setting all of your personal information, if you entered an account in the above step this will already be partially populated, fill in the appropriate details and click Continue
- You will now need to enter you’re your chosen username for the installation, enter these details and click Continue and your new account will be created
- Now chose your time zone, this should already be selected to the correct option. Once you are satisfied click Continue
- Click Go
- The OS X desktop will now load up
In its current configuration, the Empire EFI .iso needs to be attached and connected during each boot of the virtual machine or else it will not load, so the next step is to address this and install the boot loader permanently onto the OS X local hard disc. Doing this will install the Chameleon boot loader and also, some other important drivers and fixes:
- Inside the virtual machine on the OS X desktop you should see the Legacy Empire EFI disc mounted, click this and in the folder that opens, open the Post-Installation folder
- Now, before doing anything else you should take a backup of what you have done so far; within VirtualBox this is known as a snapshot. Click Machine and then Take snapshot, choose a name and click OK; then back to OS X
- Double click the myHack installer package (for Star Wars fans, it’s the Storm trooper icon) and then Continue once the application installer opens
- Click Continue twice and then Agree
- Once again, highlight the Macintosh HD as the destination for the installer and then click Continue
- Click Install
- You’ll now be asked to enter your password, this is the one that you configured earlier when setting up your local account, enter the password and then click OK. The install will now take place although it does take a little while (fantastic, time for another coffee then), once finished click Close
- Click Machine and then Close and chose the Power off the machine option then click OK
- Now you can remove the attached Empire EFI .iso from the virtual machine as it is no longer required. Click Settings followed by Storage. Highlight legacyempire_efi1085.iso and next to CD/DVD Device select your host drive (in my case Host Drive ‘D’)
- Click OK
Finally, you need to install an appropriate sound driver that is compatible with box VirtualBox and Mac OS X as this will not have been configured during the installation:
- Start OS X once again by pressing the Start button and wait for the OS X desktop to appear
- Open Safari within Mac OS X and enter the following address into the browser window –http://forums.virtualbox.org/viewtopic.php?f=30&t=33358 then click on the VirtualBox ICH AC97 Audio Driver.zip link in the first post, this will then download automatically and the installer will open
- Click Continue
- Highlight Install for all users of this computer and click Continue followed by Install
- You’ll now be prompted for your password again, enter this and then click OK, then click Continue Installation
- The sounds driver files will now be installed, once this has taken place click Restart
You should now have a working OS X installation although here are a few final thoughts. Firstly speed; those who are used to running OS X natively will no doubt be the first to point out that running OS X in a virtual machine is not the user experience that you get when running it natively on dedicated Mac hardware, this is to be expected. Remember that not only is the hardware virtualised, but you are also sharing resources with the host machine which moves me nicely onto my next point. Whilst the virtual machine is running, the performance of your host machine will suffer. It’s still more than usable but during periods of heavy resource utilisation in the virtual machine, the resources will not be available to the host, obviously; remember you may be able to run 2 operating systems simultaneously but you only have one piece of hardware which needs to be shared.
My biggest criticism with OS X within VirtualBox is that the native shutdown and/or restart features do not work. That is to say that if you click shutdown from within the OS it won’t actually shut down. If you try doing this you may see errors such as CPU halted (for Shutdown) or MACH Reboot (for restart) and the OS will just stop. This isn’t a major issue however, as instead of either shutting down or restarting from within OS X you simply power off or reset from within the VirtualBox console; it’s just a little niggle that taints an otherwise good user experience.
The only thing I haven’t covered in this guide is changing the screen resolution; although I haven’t actually felt the need to do this yet. Whilst the default resolution is (by today’s standards) low, it still represents the resolution of an average laptop a few years ago so for testing purposes it’s fine for my purposes. However I’m sure that a lot of you would prefer the option to change this so over the next few days, I will find a way and publish a step by step walk-through. (Update: Change resolution here)
My only other thought is system updates. I am not sure if applying any of the system updates will revert any of the core files back to a state whereby they will not work with VirtualBox, often with hacking code this is the case. So feel free to do a system update if you feel the need however I would resist unless you really have to, remember I’m assuming that, like me, you will only be following this guide for information and/or testing purposes; it’s not intended to be used in a production environment. However, if you must make sure you take a snapshot (backup) first.
** For convenience, you can also download a copy of this guide in .pdf format here **
Tags: apple, oracle, os x, virtual, VirtualBox, vm
This entry was posted on Friday, October 15th, 2010 at 11:22 am and is filed under Apple, Blah, Lenovo, Mac OS X, Technology Related, ThinkPad, VirtualBox. You can follow any responses to this entry through the RSS 2.0 feed.You can leave a response, or trackback from your own site.