The Apple Boot Camp Assistant doesn’t let you create a bootable USB if you’re on certain hardware. This seems to be because quite a lot of Apple hardware doesn’t support booting from USB (for example, my mid-2010 unibody Macbook Pro).
Almost all the documentation you’ll find on installing Windows on a Mac is aimed at those who can burn and boot from a DVD, which obviously doesn’t work if you have no DVD. There’s also lots of documentation about workarounds using rEFIt and USB keys or virtual machine software, but few clear descriptions.
After a weekend of fighting, I’ve found a way that works for me. My setup: I have an internal SSD running Lion, and an internal HD running Snow Leopard. I have a copy of Windows 7 as an ISO (disk image). Here’s what I did.
In Lion, I fired up Boot Camp Assistant and used it to shrink my Snow Leopard partition and add a Boot Camp partition. I also let the Boot Camp Assistant download the latest Windows support software from Apple.
When you start Boot Camp Assistant, it will warn you about not having an optical drive. You can ignore this warning:
After clicking Continue, you’ll be able to select tasks for installing Windows. If your Mac doesn’t support booting from USB and does not have an optical drive, the option to create a Windows 7 install disk is greyed out. Select the other two options and click Continue:
BootCamp will download the drivers (almost 700mb, it’ll take a while), and then move on to the drive partitioning. I selected my Macintosh HD as the one to partition, primarily because it’s way bigger than the SSD but also because I don’t know how well rEFIt and Windows will work with Lion’s whole disk encryption. Because I want Snow Leopard around, I chose to create a new second partition for Windows (shrinking the Snow Leopard one in the process) rather than taking over the whole disk:Select the amount of space you want to give to Windows, and then click Continue:
The process of repartitioning can take some time, as Mac OS X has to shuffle around the contents of your Mac OS partition in order to make space for Windows. This was particularly bad in my case as I deleted several GB of data prior to starting the whole procedure.
When you get to the end, you may get an error about not being able to install – just ignore that.
I rebooted into Snow Leopard and installed rEFIt and VMWare Fusion trial edition. The plan is to use VMWare to boot the Windows ISO and install the initial Windows setup files on to the Boot Camp partition, and then to reboot into that disk and let Windows carry on without VMWare.
To do this, you first need to configure VMWare to use the Boot Camp partition ‘raw’, as a real disk rather than a virtual disk. To do this, open up a terminal and type:
mkdir Virtual\ Machines
/Applications/VMware\ Fusion.app/Contents/Library/vmware-rawdiskCreator print /dev/disk0
The output will be something like:
Nr Start Size Type Id Sytem -- ---------- ---------- ---- -- ------------------------ 1 1 409639 BIOS EE Unknown 2 409640 583984384 BIOS AF HFS+ 3 584656896 392116224 BIOS B Win95 FAT32
Identify the correct drive number on the left – as a guideline, it’s probably listed as FAT32 or NTFS formatted under ‘Sytem’ (sic).
Next, create the raw disk description:
/Applications/VMware\ Fusion.app/Contents/Library/vmware-rawdiskCreator create /dev/disk0 3 windows7 ide
This will give you two raw disk description files:
Next, start VMWare Fusion and select “New…” from the File menu. Select “Continue without disc”:
On the installation media page, drag and drop the windows7.vmdk file previously created onto the “Use an existing virtual disk” drop-down (where it says “None”). You can’t just select the disk by clicking the radio button and then the drop-down, because the disk files are in a different format and will show up greyed-out.You will be prompted to convert the virtual disk to a newer format. Select “Don’t Convert”. If you select “Convert”, you will get an error about insufficient permissions. It works just fine without converting.If all went well, you should see your vmdk listed and be able to click Continue:Accept the defaults for the operating system and version, and click Continue:On the last page, click “Customize Settings”:Accept the default save filename and click “Save”:You’ll then be taken to the Customize Settings screen, where you want to configure the ISO to boot from. Click on the CD/DVD (IDE) option:And then select the location of your Windows 7 ISO:
Go through preliminary install up to the point that Windows does the first reboot. At this point, power down the VM, and reboot the computer.
You should see the rEFIt boot prompt:
Select the windows partition, and your computer should boot into Windows and setup should continue. When setup is done, copy over the Windows support software that BootCamp Assistant downloaded, and install it.
At this point, you should have a working Windows install. Congratulations!