How to install Windows 7 on a MacBook Pro without internal optical drive

If you – like me – modified your MacBook Pro to contain an SSD instead of the optical drive you’ll probably have a very hard time installing Windows 7 on your machine. It took me a few days until I figured out how to do it so I thought I want to share my knowledge with you.

Disclaimer: these instructions are not suited for inexperienced users. You will mess around with the boot configuration of your MacBook and partitions on your hard drive. Only do this if you know what you are doing, I am not responsible for any damage that you do to your computer. It’s also a wise idea to backup any data that you don’t want to lose, though this How-To shouldn’t touch anything of it.

Update: I used OS X 10.7 aka “Lion” when I created these instructions but some commenters noted that they don’t work for them when using OS X 10.8 aka “Mountain Lion”.

Update 2: It has been noted to work with OS X 10.8 “Mountain Lion” and Windows 8.

You probably already tried to install Windows from a USB stick, a DVD, maybe even the internal hard drive. I can tell you one thing: It won’t work. It ultimately will stop while “Windows is loading files…”. But there is another way and it’s not that complicated. What you will need:

  • A DVD containing Windows 7
  • An external optical drive to read the DVD
  • A USB stick
  • rEFIt
  • VMware Fusion

Don’t be confused by VMware, we will only use it to initialize the installation process to get past the Windows is loading files issue.

First of all you have to install rEFIt. I’m not sure if it is really needed but that’s the configuration that worked for me. Furthermore it’s rEFIt that lets me choose between Mac OS X and Windows 7 when I boot up so I don’t know how it would be without it. After you have installed rEFIt reboot at least twice to ensure it works properly.

Now you can fire up Boot Camp and let it do it’s magic to create an appropriate partition for Windows and load the drivers onto the USB stick. For this to work you need to have plugged in the external drive with the Windows 7 DVD otherwise Boot Camp will refuse to work. Your MacBook will probably reboot after this procedure but don’t try to install Windows and instead boot into OS X again. For this you may have to reboot using the power button and holding the alt key when you hear the startup sound.

Now you have to install VMware Fusion. If you don’t want to buy it, an evaluation copy should work as well. We need it to create a new virtual machine whose (virtual) hard drive is linked to the physical Windows partition that Boot Camp created. That way we can install Windows to the hard drive of the MacBook using the virtual machine.

Now start up VMware Fusion and create a new Virtual Machine for Windows 7. Don’t mess around with the Boot Camp partition yet! We will configure the newly created virtual machine in the next steps. Quit VMware Fusion completely.

Now we have to create a new disk for the virtual machine that is connected to our hard drive. This is called a raw disk in VMWare Fusion. For this you have to know the number of the Windows Partition that Boot Camp created. So open the disk utility that comes with your Mac, select the appropriate partition (probably called BOOTCAMP) and choose Info.

It will show you the disk and partition number, in my case /dev/disk1s4 (disk number 1, partition number 4).

You can now check if the raw disk creator of VMware Fusion says the same through entering

/Applications/VMware\ print /dev/disk1

in the Terminal. Of course you have to adjust the disk number according to your setup. The output will probably look something like this:

Here you can see once again that the Windows partition has the number 4. Now we will create the raw disk. Change into the folder that contains the virtual machine that you just created, it should be located in “~/Documents/Virtual Machines.localized/<name of virtual machine>.vmwarevm”. Next create the raw disk with the command

/Applications/VMware\ create /dev/disk1 4 win7_raw lsilogic

Of course you also have to adjust the numbers accordingly. That’s how it looks like in the terminal:

Now you will have a file called win7_raw.vmdk. This is the virtual disk that is linked with the appropriate partition. Unfortunately VMware Fusion doesn’t let you add these raw disks graphically to your virtual machine so we have to edit the configuration file of the virtual machine manually. In the same folder that we just created the disk in (“~/Documents/Virtual Machines.localized/<name of virtual machine>.vmwarevm”) is the virtual machine configuration file with the ending “vmx”. For me it’s “Windows 7 x64.vmx”. Make sure that VMware Fusion doesn’t run while you change this file. Now open this file in your favorite editor to add the newly created disk. There should already be one disk present that VMware Fusion created for you in the scsi0:0 slot. We can just replace this one with our newly created disk. The critical section of this file for me looked like:

scsi0.present = "TRUE"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "Windows 7 x64.vmdk"

I changed it to:

scsi0.present = "TRUE"
scsi0:0.present = "TRUE"
scsi0:0.virtualDev = "lsilogic"
scsi0:0.fileName = "win7_raw.vmdk"

Save your changes and start VMware Fusion. You can check if all went well by examining the virtual machine settings. But don’t try to change anything with the graphical interface ;)

You can now boot up your virtual machine for the first time. A good indicator that the raw disk gets used is a popup window asking you for admin permissions because you can’t use raw disks as a normal user. VMware should ask you for a boot medium. Either choose your Windows 7 DVD or an appropriate image file. Start your Windows installation normally and choose the Boot Camp partition when Windows asks you where to install itself. But only follow the installation process until the first reboot! When the virtual machine restarts just quit it immediately. Now to the trick: Reboot your Mac and choose the Windows Partition to boot from when asked by rEFIt. Now you should be able to finish the Windows 7 installation on your MacBook without the help of a virtual machine.

At last install the drivers that Boot Camp put on your USB stick et voilà – you should now have a working copy of Windows 7 on your MacBook.

PS: If you found these instructions helpful or if you have any suggestions or improvements I’d be glad if you leave a comment.

Thanks go to the people of the following posts that showed me how to do this: