Maybe it was the location or maybe a file in the old .hdd was open or maybe the virtual machine configuration was broken or maybe a file or directory flag was wrong or maybe something else.
Execute is the "x" you see in the permissions when you use the ls -l command. For directories, it means the directory is searchable. For files, it means the file is executable. It should be set for directories, and doesn't matter for files. All my Boot Camp .hdd's contain files that don't have the execute bit but all my virtual hard disk .hdd's contain files that do have the execute flag.
Code:
:~ joevt$ ls -lR /Users/joevt/Documents/Parallels/Windows\ XP.pvm/*.hdd
/Users/joevt/Documents/Parallels/Windows XP.pvm/WDC WD3200JD-22KLB0 (disk2).hdd:
total 104
-rw-r--r-- 1 joevt staff 2119 26 Aug 02:21 DiskDescriptor.xml
-rw-r--r-- 1 joevt staff 2119 26 Aug 02:07 DiskDescriptor.xml.Backup
-rw-r--r-- 1 joevt staff 16896 26 Aug 02:02 PhysicalGpt.hds
-rw-r--r-- 1 joevt staff 16896 26 Aug 02:02 PhysicalGptCopy.hds
-rw-r--r-- 1 joevt staff 512 26 Aug 02:04 PhysicalMbr.hds
-rw-rw-rw- 1 joevt staff 0 26 Aug 02:02 WDC WD3200JD-22KLB0 (disk2).hdd
/Users/joevt/Documents/Parallels/Windows XP.pvm/Windows XP-0.hdd:
total 16778680
-rwx------ 1 joevt staff 1037 21 Jul 18:03 DiskDescriptor.xml
-rwx------ 1 joevt staff 1002 21 Jul 17:54 DiskDescriptor.xml.Backup
-rwx------ 1 joevt staff 0 21 Jul 17:54 Windows XP-0.hdd
-rwx------ 1 joevt staff 8590675968 22 Jul 13:21 Windows XP-0.hdd.0.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds
That's because your .pvm files aren't stored in that location. You need to replace ~/Documents/Parallels/ with the location of your virtual machines. The other default location is /Users/Shared/Parallels/ (this is the default location for shared virtual machines). In Terminal, you can type the start of the command "ls -Rld " then drag the folder containing your .pvm's from the Finder and into the Terminal window where it will automatically paste the path of the folder, then you delete the space at the end and add the "/*.pvm/*.hdd " part and press enter. Note that "*.pvm/*.hdd" assumes that you have .hdd files inside the .pvm files which is not necessarily true since you could have .hdd's stored anywhere just like .pvm's. In that case you can drag each .hdd file to the terminal Window after you type the "ls -Rld " part then when you press enter, the ls command will list each .hdd that you added to the command line.
What upgrade process? Is it talking about Parallels Tools or Windows XP? Did you have Windows XP on the .hdd working in Parallels before? It's probably talking about Parallels Tools. It can't complete the update process because it can't boot. Once you can boot then it should work ok. The Parallels Tools CD is an .iso image at /Library/Parallels/Tools/prl-tools-win.iso Parallels Desktop automatically loads it when it needs to update Parallels Tools or when you select Reinstall Parallels Tools.
When you add a Hard Disk to a virtual machine, the default name is Virtual Machine Name-#.hdd where # increments from 0 for each new hdd. The default location of the .hdd is inside the .pvm. If you select Choose a File in the Location pop-up menu, then you can create an hdd with any name anywhere. I created one called "winxp copy.hdd" in my Parallels folder:
Code:
:~ joevt$ ls -lRd ~/Documents/Parallels/*.hdd ~/Documents/Parallels/*.hdd/*
drwxr-xr-x@ 6 joevt staff 204 8 Sep 22:01 /Users/joevt/Documents/Parallels/winxp copy.hdd
-rw-r--r-- 1 joevt staff 1002 8 Sep 22:01 /Users/joevt/Documents/Parallels/winxp copy.hdd/DiskDescriptor.xml
-rw-r--r-- 1 joevt staff 932 8 Sep 22:01 /Users/joevt/Documents/Parallels/winxp copy.hdd/DiskDescriptor.xml.Backup
-rw-rw-rw- 1 joevt staff 0 8 Sep 22:01 /Users/joevt/Documents/Parallels/winxp copy.hdd/winxp copy.hdd
-rw-r--r-- 1 joevt staff 258048 8 Sep 22:01 /Users/joevt/Documents/Parallels/winxp copy.hdd/winxp copy.hdd.0.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds
:~ joevt$ diff /Users/joevt/Documents/Parallels/winxp\ copy.hdd/DiskDescriptor.xml /Users/joevt/Documents/Parallels/winxp\ copy.hdd/DiskDescriptor.xml.Backup
8,10c8
< <Miscellaneous>
< <CompatLevel>level2</CompatLevel>
< </Miscellaneous>
---
> <Miscellaneous/>
:~ joevt$ cat /Users/joevt/Documents/Parallels/winxp\ copy.hdd/DiskDescriptor.xml
<Parallels_disk_image Version="1.0" >
<Disk_Parameters>
<Disk_size>4195296</Disk_size>
<Cylinders>4162</Cylinders>
<Heads>16</Heads>
<Sectors>63</Sectors>
<Padding>1</Padding>
<Miscellaneous>
<CompatLevel>level2</CompatLevel>
</Miscellaneous>
</Disk_Parameters>
<StorageData>
<Storage>
<Start>0</Start>
<End>4195800</End>
<Blocksize>504</Blocksize>
<Image>
<GUID>{5fbaabe3-6958-40ff-92a7-860e329aab41}</GUID>
<Type>Compressed</Type>
<Flags/>
<File>winxp copy.hdd.0.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds</File>
</Image>
</Storage>
</StorageData>
<Snapshots>
<Shot>
<GUID>{5fbaabe3-6958-40ff-92a7-860e329aab41}</GUID>
<ParentGUID>{00000000-0000-0000-0000-000000000000}</ParentGUID>
</Shot>
</Snapshots>
</Parallels_disk_image>
The Backup is a different size so I used the diff command to compare them. The Backup doesn't have the CompatLevel field - I don't know what that's for. The DiskDescriptor contains the name of the .hds file inside the .hdd so you have to make sure that file exists. I don't know if it's important that the files inside the .hdd have the same name as the .hdd. To be safe, make sure the new .hdd has the same name as the old .hdd (the easiest way to do that is copy the old .hdd to a different folder using the option key).
If you can get the .hdd to work with Parallels Mounter then you can start using it with Parallels Desktop.