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)
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 disk0s4MacFUSE 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/disk0s3Now, 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.
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