Cannot start VM after Upgrade to Parallels Desktop 4.0 for Mac. Receive "Unable to connect Hard Disk " error. What should I do?

Article ID: 5734 
Last Review: Nov,27 2008
Author: Dmitry Romanov
Last updated by: Daria Taranova APPLIES TO:
  • Parallels Desktop for Mac 4.x

Symptoms

You cannot start virtual machine because you see the following message



Most likely you have one of the following cases:


- You have .hdd file mounted in Mac OS using Parallels Mounter, or opened in Parallels Explorer.
- You migrated your virtual machine from a real PC and used it in Parallels Desktop 3.0 for Mac.
- You created snapshots in Parallels Desktop 4.0 for Mac Beta build.
- You used Parallels Transporter or Parallels Image Tool to manage the virtual machine hard drive (increasing the disk capacity, merging the snapshots, etc.) in Parallels Desktop 3.0 for Mac.


Resolution

First of all please do the following:

  1. Start Parallels Desktop 4.0 for Mac
  2. Open the list of the registered virtual machines and right-click any of the VMs that do not work.
  3. Choose the Show in Finder option
  4. Right-click on the appropriate .pvm file and choose Show package content
  5. Right-click on the .hdd file inside .pvm bundle and choose Show package content
  6. Check that the appropriate .hdd bundle and all the files inside it have Read and Write permissions and <user name> owner
Note: To check Ownership and Permissions please right click on the required file and choose Get info option. On the Ownership & Permissions tab you can find permissions combobox and owner combobox inside details tab.

Also, the problem could be caused by incorrect handling of inconsistent Mac OS X networking configuration. To check them, please, refer to the article:

kb.parallels.com/en/5791

If this didn't help, please, opem the parallels.log file inside the .pvm bundle with the TextEdit application from /Applications/
Press Cmd+F and type "OpenDisk" in the Find string

If you see the "Error locking file" error please check your permissions and ownership once again.

Example:
16:20:46.957 F /VirtualDisk:8247/          Error locking file /Leopard/Windows_XP_SP2_32_SMP/Windows XP SP2 32 SMP.hdd/Windows XP SP2 32 SMP.hdd [35]
16:20:46.957 F /VirtualDisk:8247/          Couldn't lock disk: 0x80021037
16:20:46.958 F /VirtualDisk:8247/          OpenDisk() returned error 0x80021037
Conclusion: wrong permissions on the .hdd file


If you see "Unable to find block size" error

Example:
23:14:39.439 F /VirtualDisk:2651/          Start Sector [0] or end
sector [71123954] is unaligned to BlockSize (63)
23:14:39.439 F /VirtualDisk:2651/          Unable to find block size.
23:14:39.440 F /VirtualDisk:2651/          Block size is not correct 1
23:14:39.441 F /VirtualDisk:2651/          OpenDisk() returned error

You should open DiskDescriptor.xml file from the .hdd bundle. Please open DiskDescriptor.xm file with TextEdit application from /Applications/
Note: the virtual machine should be stopped before you start working with the DiskDescriptor.xml file

For example you will see:
<Parallels_disk_image Version="1.0" >
    <Disk_Parameters>
        <Disk_size>131072256</Disk_size>
        <Cylinders>130032</Cylinders>
        <Heads>16</Heads>
        <Sectors>63</Sectors>
        <Miscellaneous>
            <SuspendState>0</SuspendState>
            <ChangeState>0</ChangeState>
            <CompatLevel>level2</CompatLevel>
            <GuestToolsVersion>4.0.3522</GuestToolsVersion>
        </Miscellaneous>
    </Disk_Parameters>
    <StorageData>
        <Storage>
            <Start>0</Start>
            <End>131072256</End>
.....


You should check the values inside DiskDescriptor.xml file and change the specific value in the tag <End> from
"<End>XXXXXX</End>" to "<End>YYYYYY</End>"
Note: If this virtual hard drive is a splitted disk, you should fix it only in the last <End></End> tag (DiskDescriptor.xml for splitted disks has several <End></End> tags)

To count YYYYYY you should do the following:

Start Calculator application from /Application/
Calculate      XXXXXX / 63 value
Add  1
Remove fractional part
Then multiply to 63

Calculated value is the YYYYYY value.

Please replace the values inside the file, save it and try to start your virtual machine again.



Subscription for this article changesSubscription for this article changes

Please provide feedback on this article

Did this article help you solve your issue?
Yes
No
Partially
I do not know yet
 
Strongly Agree   Strongly Disagree
  9 8 7 6 5 4 3 2 1
The article is easy to understand
The article is accurate
Additional Comments:
*Please provide us with your email address in case we need to contact you.
* - required fields