View Creating 2 Windows Partitions with Boot Camp
Configuring Boot Camp with Two Drives
I had a devil of a time reproducing my standard windows drive setup on a new MacBook Pro 17":
C:\ for Windows and Applications
D:\ for Data
It's good to keep your data separate from the applications because it's a lot easier to back up. This is also a defensive move, just in case you have to reinstall the operating system, you can just nuke the entire C:\ partition and not worry about losing important data, assuming you keep your work on the DATA drive. You can relocate My Documents to the D:\ drive too with a simple right-click on the icon, which moves it from the default location on C:... but I digress. Let's get cracking!
The Goal
My ideal setup, with a dual-boot Mac OS X / Windows XP system would be this:
- A 70G Macintosh HD partition
- A 70G Windows HD partition (drive C:) formatted as NTFS for robustness. Mac OS X can read NTFS, but can't write it, which is fine by me. Plus NTFS is more resilient to data corruption and stores data more efficiently.
- All remaining space in a Data partition (drive D:\ to Windows), formatted as FAT32. This is so I can store project and media files that can be used by either Mac OS X or Windows XP.
Looks simple enough, but oh man.
I figured that it would be easy to install Boot Camp and then add a second partition for my data. That turns out to not be the case AT ALL: The Boot Camp Assistant utility, which prepares your Mac for installing Windows, will not even run if you have anything that doesn't look like "One Big Fat Drive with Mac OS X on it and Nothing Else."
While I haven't done a detailed investigation as to why, my impression is that there no technical reason for this limitation if you know two things:
When you restart the Mac, hold down OPTION to choose what device to boot. This allows you to boot the right operating system or installation CD at the right time. Normally Boot Camp assistant does this for you.
If you add a new partition after you install Windows via Boot Camp Assistant, it will no longer boot. The reason why is because the partition numbering has changed, and since the Windows boot process needs to know the number of the partition, it can't figure out where to find itself. The solution is to fix the number manually. I did this by putting my Mac into Target Disk Mode to turn it into a firewire drive, then mounting it on a second Windows PC to edit the critical
C:\BOOT.INIfile directly.
At first, I thought that Boot Camp Assistant was writing some kind of special disk signature to the disk partitions, or installed some kind of boot manager that did something to make Windows XP work properly. As I reinstalled---then broke---Windows XP for the 5th time while trying to add the second partition, it occurred to me that this may not actually be the case, but I have not verified this.
ANYWAY, here is what worked for me, pulled together out of several articles I found on the internet (see the OLDER NOTES section at the end of this article for the links).
Creating A Two Partition Windows Installation with Boot Camp
Before you start, you'll need a firewire cable that will connect to a PC running Windows XP or Vista. You'll need this connection to edit a file in your Windows XP installation to fix a booting problem. You'll also need a Windows installation CD and a Mac OS X Leopard Installation DVD.
Here's what worked for me:
You're starting with one partition called Macintosh HD, which you first must prep for Boot Camp using Boot Camp Assistant (BCA) in the Utilities folder of your Mac OS X install. You will be asked how big to make the Windows partition. For my 250GB disk, I wanted my Window and Mac partition to be 70G, with the remainder devoted to the D:\ drive.
You'll be asked to choose what kind of split to make between the Mac side and the PC side. The first step will be to size the Windows partition to (using my example) 70G. The Macintosh HD partition will be 180GB (250-70). We will create the data partition in a later step. Go ahead and click continue.
After repartitioning the drive and creating the BOOTCAMP partition, BCA will prompt you to insert a Windows installation CD. Go ahead and install Windows XP or Vista. I installed Windows on an NTFS partition (choosing Quick Format NTFS in Windows Setup to prep the partition). After that was done, I installed Boot Camp drivers from the Mac OS X Leopard Installation DVD.
With Windows installed on your Boot Camp partition, you're ready to now create the DATA partition by using the 'Disk Utility
program on the Mac OS X Installation DVD. Boot the DVD (hold down OPTION while restarting), then choose the installation language and continue until you see the TOOLS menu appear. This is where you'll findDisk Utility`.With
Disk Utility, I resized the Macintosh HD partition so it was 70G, which left the 90GB or so left as unpartitioned space. Select the hard drive from the list at the left of the screen (not the partitions, but the entire disk) and click thePartitiontab. On this screen you'll be able to drag the bottom of the Macintosh HD partition. Choose it to be as close to 70GB as you can (or any size you like), and clickApplyto make the change. The display may be slightly confusing afterwards, with the Macintosh HD partition appearing in the middle of the partition list, but ignore that.Still in
Disk Utility, select the UNPARTITIONED SPACE and create a new FAT32 partition in it by using the drop-down menu. This will become the new DATA drive. I used Disk Utility to ERASE and NAME the new partition as DATA. Apply the changes, then quit Disk Utility.I then rebooted into Mac OS X on the HD. I did this by choosing "Start Disk" from the TOOLS menu. If you try to boot Windows, you'll find that it will give you an error about not finding a disk. We're going to fix this by editing a system file,
BOOT.INI, to allow Windows to find the disk again.To start the editing process, put the Mac into Target Disk Mode. I did this by going to System Preferences and choosing "Start Disk", and selected Target Disk Mode. This will reboot the Macintosh and make it appear as a "firewire hard disk" that you can connect to with another PC.
Why doesn't Windows XP boot? It's because the number of partitions on the disk has changed from 2 (Macintosh HD and BOOTCAMP) to 3 (Macintosh HD, DATA, and BOOTCAMP). Windows XP's bootup procedure refers to the number of the partition when it starts, so we need to update that information in the secret Windows XP
BOOT.INIfile. By putting the Mac into Target Disk Mode, I can mount the Mac on a Windows XP PC through a firewire port, find the BOOT.INI file, and manually edit it. If I'd left my Windows HD partition as FAT32, then I could have edited it from Mac OS X, but since my boot partition is NTFS I need to edit it from another Windows XP computer (NTFS is read-only in Mac OS X, FAT32 is read and write).To edit the
BOOT.INIfile on my PC, I opened the volume with the Windows installation on it in Windows Explorer. It's a hidden system file, so you have to go to TOOLS > FOLDER OPTIONS > VIEW, check the ADVANCED settings for show hidden files and folders, and uncheck Hide extensions for known file types and also uncheck hide protected operating system files. After you do that, you should see BOOT.INI. Just make sure you're not editing the one on your PC...you should be editing the one on your Macintosh, mounted as a Firewire drive.You'll see something that looks like this in your
BOOT.INIfile:[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /NOEXECUTE=OPTINWhen you added that new DATA partition, you renumbered them. What used to be partition (2) is now partition (3). So you have to update the (2) to (3), save the file, close it, then safely unmount the disk.
If you DON'T do this and try to boot Windows, you'll find that it crashes with the "I'm sorry, we couldn't start up Windows. Do you want to start in Safe Mode?" screen. You'll also see a flicker of the BLUE SCREEN OF DEATH, which flashes an
UNMOUNTABLE_BOOT_VOLUMEerror so quickly you won't have a chance to read it. This was the hint that the BOOT.INI entries were incorrect; this used to be a problem for me back in the Windows NT days when I would create dual-boot Windows systems. Some things never change.
If you're lucky, everything has worked just fine
There is one irritating side effect of adding the Data drive after installing windows: it has been labeled as drive E:\ instead of drive D:. This is a personal preference of mine, and it can be rectified by going into Windows XP's Disk Manager control panel (under Computer Administration) and changing the assigned drive letters. However, there are some side effects, like being unable to mount that drive in Target Disk Mode afterwards. Oh well. You can leave it alone if you like.
More Information
The research for this article is contained in Mac OS X Boot Camp Background Research. You'll find the links and informational nuggets that I harvested to create this guide.
