Mar 26, '09 07:30:00AM • Contributed by: Gymnae
- Use at least two NTFS (or otherwise formatted) partitions on a hard drive.
- Be able to read and write to these partitions from OS X and the guest OS using NTFS-3G.
- Use the same software installations whether virtualizing, using natively via Boot Camp, or via Crossover.
- Have the same set of partitions in Parallels and in native Windows (via Boot Camp).
- Do all of that without starting from scratch or reformatting the entire disk.
This is my setup now, after the following process has been implemented:
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *465.8 Gi disk0
1: EFI 200.0 Mi disk0s1
2: Apple_HFS Maintosh HD 374.9 Gi disk0s2
3: Microsoft Basic Data .Windoof 25.5 Gi disk0s4
4: Microsoft Basic Data Data 65.1 Gi disk0s3
The . in front of Windoof makes the partition invisible in OS X; I just like to have Windows out of my sight while in OS X.
What I wanted to do was to split the Boot Camp partition created by the Boot Camp Assistant into two partitions: one System partition and one Data partition. While the use of partitioning in OS X can be argued, I always found it smart and safe to partition a Windows hard drive into at least two partitions. When I was a Windows user, I split up my hard drive into districts, like a city. The dirty industrial district, where all Downloads and scrap Data went; the working District with all my Documents; the urban district for Media files; and the cleaned-up, efficient, and seldom-changed Downtown, the System partition.
For Boot Camp, I went for a two partition solution. Now Apple and many forums say you cannot split the Boot Camp Partition, because the Master Boot Record (MBR)/GUID Partition scheme hybrid only allows two System partitions. The common setup consists of:
- EFI partition (200MB)
- OS X Partition
- Boot Camp Partition
Don't partition using Windows!
Now, if you use the Windows Installer to create a new partition, Windows overrides the MBR and breaks itself. The MBR should not be written to by Windows, or any utility you can use inside Windows. No, no Partition Magic to split up the big fat Boot Camp partition. While this may sound like a nice idea, but it's not. You know that you messed things up once you start getting the "missing HAL.DLL" messages at boot time. Even the commands for restoring the MBR or bootcfg via the Windows Install Disc repair console won't do the trick. So just don't partition inside Windows
How to partition and split?
Thanks to a very lovely program called iPartition, you can actually do this trick. After buying and installing the program, launch it. Once in the program, adjust the size of your Boot Camp partition -- you can do this before or after you install Windows.
Just be sure to have a clean partition (run chkdsk) and be sure to have it defragmented if it was already in use. Once you have adjusted the size of the original Boot Camp partiton (for XP, I went for 30GB, which is fine for the System alone), then you can create another partition -- select Windows FAT/NTFS as a format. Note: iPartition won't format your newly-created partition. If you go for 30GB here as well, be sure to move the My Documents folder to the new partition, and to install all programs there. You can even change the standard installation path for programs using RegEdit, but Microsoft doesn't recommend it.
After you adjust your old partition and create a new one, don't leave iPartition yet. Now comes the most important step to fix a problem which made me go nuts. Click on Tools or Extras in the the menu bar and select Fix MBR (or something of that sort). Don't know exactly what it's name is, but there is a menu item sounding like that. Now do that. [robg says: In iPartition 3.1.1, I believe the correct menu item is Partition Map » Write MBR Code, at least based on the description of this feature in the program's help file.]
After that, you can try to boot Windows (assuming you've installed it); it should boot just fine. If you don't fix the MBR, Windows may look for itself on the wrong partition, which results in yet some more "missing HAL.DLL" screens. Very nice, very helping.
A Possible Free Solution
There is also a way that might work without buying iPartiton. You have to download a program called rEFIt. rEFIt is an alternaitve EFI boot screen, not a replacement bootloader. Once installed, you can press Alt/Option while booting up to select the OS and tools. There you can also fix the MBR.
But how to partition your drive first is another question where I can be of limited assistance. You might want to try doing it using the Windows Install CD then, but I am not sure. All I know you can use rEFIt to fix the MBR scheme. A good idea would be to try the open source Parted Magic, which builds upons a number of good partitioning tools. Basically it's the same stuff that drives the partitioning done by Disk Utility in OS X. Parted Magic is a bootable disc, and should allow you to resize the Boot Camp partition, and create new partitions. However, I haven't tested this myself.
Congratulations, you should by now have a non-standard setup for Boot Camp up and running. From now on, the Boot Camp Assistant will not work if you try to use it!
Over to the Mac side now, we want to use that newly created partition for good stuff in OS X. However, NTFS is a nice Microsoft file system which they like so much that they kept all knowledge to themselves, forcing the Open Source devs to reverse engineer it and work around it. Now thanks to MacFuse, every Mac User can download and install for free a (and stable) driver which enables you to safely read and write NTFS partitions at a great speed. It's like a very old dream coming true. After rebooting following these installations, you can mount your NTFS partitions and write to them. Think of it, you can install Crossover Office or Crossover Games, and use symbolic links to point to the very same installations of software you have on your Boot Camp partitions. What I did, for example, was to install Steam in Crossover Games. Then, after installation, I deleted the Steam folder inside the Crossover c_drive, and replaced it with a symbolic link pointing to the Steam Install I made in Boot Camp. This works flawlessly.
Parallels won't see the new partition correctly, or fails to set up
I can only help you with Parallels; I only recently switched to them from VMware Fusion. Parallels will not recognize the the second Boot Camp parttition correctly, and if it allows you to boot up the Boot Camp installation, then it will show you the new partition as not formatted. You can get around this by mapping your new partition as a network folder, but that's far from ideal -- autostart applications fail, your Documents folder will be mapped wrong, etc.
Therefore you should do it as shown in this post on Parallels' forums. I know, it's another guide, but if you follow it, you are in heaven of virtualization: space preserving and effective multi-OS computing. I tried it, and it worked for me.
Note to VMware Fusion users: As far I can tell, there is a way to alter some files in the VMware Boot Camp config files to do the same trick. If you are a VMware user, you might want to Google it for yourself.
[robg adds: I haven't tested this one, beyond checking a menu entry in iPartition.]
