Research | Writing | Digital Humanities | Biblical Studies

Parallels and a Third Partition

Problem: When I run Windows XP in Parallels, I cannot run a program (in my case, Logos) which is on a partition separate from the one from which Parallels runs. (I split my hard drive into 3 partitions: (1) mac osx; (2) extra stuff (FAT32); and (3) Windows XP. Logos is on “extra stuff” drive, but Windows would not recognize it properly when running inside the Parallels program.)

Solution:

Best instructions are found here. Instructions were written for Parallels Desktop 4, but they worked for me in PD5.

In this scenario, the Mac’s hard disk is partitioned into 3 volumes:
– Macintosh HD (HFS+, Mac OS default)
– Data (NTFS)
– Windows (NTFS, created by Boot Camp Assistant)
[I set this up like this…]
The output for Terminal’s command “diskutil list” is as follows:

Code:

/dev/disk0
   #:                   TYPE NAME           SIZE       IDENTIFIER
   0:  GUID_partition_scheme               *298.1 Gi   disk0
   1:                    EFI                200.0 Mi   disk0s1
   2:              Apple_HFS Macintosh HD   145.5 Gi   disk0s2
   3:   Microsoft Basic Data Data           50.2 Gi    disk0s3
   4:   Microsoft Basic Data Windows        101.9 Gi   disk0s4

MacFUSE and NTFS-3G for Mac are installed in Mac OSX. They are required for read/write at the Data partition from the Mac side, but they wouldn’t be neccesary if the Data partition is FAT32.

When Windows boots natively it can read and write the Data volume perfectly. However, when running the Boot Camp Windows inside a Virtual Machine the partition is detected but it cannot be accessed. Here’s the procedure for allowing it.

1- Locate the file of your Boot Camp virtual machine in Finder (~/Documents/Parallels), i.e. BootCamp.pvm. Ctrl-click the file, then “Show package contents”.

2- Locate a file with extension .hdd, in my case Hitachi HTS543232L9SA02.hdd. Ctrl-click this file, then “Show package contents”.

3- There’s a file named DiskDescriptor.xml. First, make a duplicate as backup (cmd-D), then open it with TextEdit (ctrl-click, Open with…)

The <StorageData> section has several <Storage> sub-sections. The last one should be pointing to the current Boot Camp partition:

Code:

<StorageData>
    ....

    <Storage>
        <Start>411453440</Start>
        <End>625141759</End>
        <Blocksize>1008</Blocksize>
        <Image>
            <GUID>{5fbaabe3-6958-40ff-92a7-860e329aab41}</GUID>
            <Type>Bootcamp</Type>
            <Flags/>
            <File>/dev/disk0s4</File>
        </Image>
    </Storage>
</StorageData>

In order to grant access to our Data partition we need to add a new <Storage> section after that one. First we need to gather some data:

Start, End:
Use the Partition Inspector application included with the rEFIt package. You don’t need to install rEFIt, simply download the DMG file and run the Partition Inspector application located inside. It produces an output like this:

Code:

*** Report for internal hard disk ***

Current GPT partition table:
 #      Start LBA      End LBA  Type
 1             40       409639  EFI System (FAT)
 2         409640    305620663  Mac OS X HFS+
 3      305882808    411191295  Basic Data
 4      411453440    625141759  Basic Data

Current MBR partition table:
 # A    Start LBA      End LBA  Type
 1              1       409639  ee  EFI Protective
 2         409640    305620663  af  Mac OS X HFS+
 3      305882808    411191295  07  NTFS/HPFS
 4 *    411453440    625141759  07  NTFS/HPFS

...

The Data partition is number 3, so the Start and End values are 305882808 and 411191295 respectively.

File:
The Data partition is disk0s3 (see the output of “diskutil list” above). So the <File> tag for the Data partition is /dev/disk0s3

Now, back to DiskDescriptor.xml file, duplicate the last <Storage> section and change the Start, End and File values in the copied section leaving all other values unchanged. The result for the <StorageData> section will be this:

Code:

<StorageData>
    ....

    <Storage>
        <Start>411453440</Start>
        <End>625141759</End>
        <Blocksize>1008</Blocksize>
        <Image>
            <GUID>{5fbaabe3-6958-40ff-92a7-860e329aab41}</GUID>
            <Type>Bootcamp</Type>
            <Flags/>
            <File>/dev/disk0s4</File>
        </Image>
    </Storage>
    <Storage>
        <Start>305882808</Start>
        <End>411191295</End>
        <Blocksize>1008</Blocksize>
        <Image>
            <GUID>{5fbaabe3-6958-40ff-92a7-860e329aab41}</GUID>
            <Type>Bootcamp</Type>
            <Flags/>
            <File>/dev/disk0s3</File>
        </Image>
    </Storage>
</StorageData>

Save the file, open Parallels Desktop and start the BootCamp virtual machine. Now the Data partition will be fully available.

One Response to Parallels and a Third Partition

  1. This looks pretty handy. Doesn’t work for me thought. My DiskDescriptor.xml looks like this:

    262144512
    260064
    16
    63
    1

    level2
    1
    0
    5.0.9344

    0
    262145016
    504

    {5fbaabe3-6958-40ff-92a7-860e329aab41}
    Compressed

    Windows XP Virtual-0.hdd.0.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds

    1430669312
    1953523711
    504

    {5fbaabe3-6958-40ff-92a7-860e329aab41}
    Bootcamp

    /dev/disk0s3

    {5fbaabe3-6958-40ff-92a7-860e329aab41}
    {00000000-0000-0000-0000-000000000000}

    where I added the last entry … manually. I also tried Blocksize 1008. If it would work, where can I find the Bootcamp hdd in my virtual windows xp?

    Thanks in advance

Leave a reply