VMware Communities
soebje
Contributor
Contributor
Jump to solution

Failed to grow disk "The capacity of the parent virtual disk and the capacity of the child disk are different"

Hi

I am running VMware Workstation 12 Pro on a Windows 10 Pro

I have a VM running Windows Server 2012 and wanted to upgrade to Windows Server 2012R2 but needed some disk space on the VM

The VM was shut down

I was trying to expand the disk using Settings -> Expand on the VM

It came with a warning saying that this option wasn't possible as the VM has 2 snapshots. They weren't important so i just deleted them via the Snapshot manager.

Then i used the command

F:\VMWare\Windows Server 2012 + SQL 2012>"C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe" -x 120Gb "Windows Server 2012-cl1.vmdk" to extend the vmdk

This took a few minutes and ended with something like "100% Done"

When i tried to reboot the VM after this it came with this error:

"The capacity of the parent virtual disk and the capacity of the child disk are different

Cannot open the disk 'F:\VMWare\Windows Server 2012 + SQL 2012\Windows Server 2012-cl1-000001.vmdk' or one of the snapshot disks it depends on.

Module 'Disk' power on failed.

Failed to start the virtual machine."

I have read a lot of posts on how to revert this issue by editing the descriptor file but can't see that I have one.

The files are:

files.png

Content of vmx is:

.encoding = "windows-1252"

config.version = "8"

virtualHW.version = "8"

vcpu.hotadd = "TRUE"

scsi0.present = "TRUE"

scsi0.virtualDev = "lsisas1068"

memsize = "14264"

mem.hotadd = "TRUE"

scsi0:0.present = "TRUE"

scsi0:0.fileName = "Windows Server 2012-cl1-000001.vmdk"

ide1:0.present = "TRUE"

ide1:0.autodetect = "TRUE"

ide1:0.deviceType = "cdrom-image"

floppy0.startConnected = "FALSE"

floppy0.fileName = ""

floppy0.autodetect = "TRUE"

ethernet0.present = "TRUE"

ethernet0.virtualDev = "e1000"

ethernet0.wakeOnPcktRcv = "FALSE"

ethernet0.addressType = "generated"

usb.present = "TRUE"

ehci.present = "TRUE"

sound.present = "TRUE"

sound.virtualDev = "hdaudio"

sound.fileName = "-1"

sound.autodetect = "TRUE"

serial0.present = "TRUE"

serial0.fileType = "thinprint"

pciBridge0.present = "TRUE"

pciBridge4.present = "TRUE"

pciBridge4.virtualDev = "pcieRootPort"

pciBridge4.functions = "8"

pciBridge5.present = "TRUE"

pciBridge5.virtualDev = "pcieRootPort"

pciBridge5.functions = "8"

pciBridge6.present = "TRUE"

pciBridge6.virtualDev = "pcieRootPort"

pciBridge6.functions = "8"

pciBridge7.present = "TRUE"

pciBridge7.virtualDev = "pcieRootPort"

pciBridge7.functions = "8"

vmci0.present = "TRUE"

hpet0.present = "TRUE"

usb.vbluetooth.startConnected = "TRUE"

displayName = "SharePoint 2013"

guestOS = "windows7srv-64"

nvram = "Windows Server 2012 + SQL 2012.nvram"

virtualHW.productCompatibility = "hosted"

powerType.powerOff = "hard"

powerType.powerOn = "hard"

powerType.suspend = "hard"

powerType.reset = "hard"

extendedConfigFile = "Windows Server 2012 + SQL 2012.vmxf"

ide1:0.fileName = "F:\software\SW_DVD9_NTRL_Windows_Svrs_2012_R2_English_2_FPP_OEM_Std_DC_X19-82429.ISO"

ethernet0.generatedAddress = "00:0C:29:20:F5:91"

vmci0.id = "736627380"

uuid.location = "56 4d 70 78 57 cf ce a1-d8 38 00 dd 08 20 f5 91"

uuid.bios = "56 4d 70 78 57 cf ce a1-d8 38 00 dd 08 20 f5 91"

cleanShutdown = "TRUE"

replay.supported = "FALSE"

replay.filename = ""

scsi0:0.redo = ""

pciBridge0.pciSlotNumber = "17"

pciBridge4.pciSlotNumber = "21"

pciBridge5.pciSlotNumber = "22"

pciBridge6.pciSlotNumber = "23"

pciBridge7.pciSlotNumber = "24"

scsi0.pciSlotNumber = "160"

usb.pciSlotNumber = "32"

ethernet0.pciSlotNumber = "33"

sound.pciSlotNumber = "34"

ehci.pciSlotNumber = "35"

vmci0.pciSlotNumber = "36"

scsi0.sasWWID = "50 05 05 68 57 cf ce a0"

usb:1.present = "TRUE"

ethernet0.generatedAddressOffset = "0"

tools.remindInstall = "FALSE"

vmotion.checkpointFBSize = "134217728"

usb:1.speed = "2"

usb:1.deviceType = "hub"

usb:1.port = "1"

usb:1.parent = "-1"

numvcpus = "4"

cpuid.coresPerSocket = "2"

annotation = "Windows Server 2012|0D|0ADomain: INTELLISOFT|0D|0ASQL Server 2012 BI|0D|0ASP2013|0D|0A|0D|0A"

ide1:0.startConnected = "TRUE"

tools.syncTime = "FALSE"

gui.lastPoweredViewMode = "fullscreen"

gui.viewModeAtPowerOn = "fullscreen"

policy.vm.mvmtid = ""

vc.uuid = ""

mks.enable3d = "TRUE"

checkpoint.vmState = ""

ethernet0.connectionType = "nat"

ethernet0.linkStatePropagation.enable = "FALSE"

softPowerOff = "FALSE"

migrate.hostlog = ".\Windows Server 2012 + SQL 2012-21aa5336.hlog"

monitor.phys_bits_used = "40"

ethernet0.vnet = "VMnet8"

unity.wasCapable = "TRUE"

usb:0.present = "TRUE"

usb:0.deviceType = "hid"

usb:0.port = "0"

usb:0.parent = "-1"

Can someone please help me revert this?

Best regards

Søren

0 Kudos
1 Solution

Accepted Solutions
continuum
Immortal
Immortal
Jump to solution

Hi
with the CID values you have now - you must have launched the VM with the basedisk configured in the vmx- right after you injected the new descriptor for the basedisk.
It should have worked if you had configured the cl1-000001.vmdk for the first start.
Ok - power off the VM again.
Extract all descriptors again and then set new CID-values:
root-disk:
CID=12345678

parentCID=fffffffe
for all others use:
CID=12345678
parentCID=12345678
Save the txt-fles with those values and reinject all.
Then doublecheck that you have cl1-000001.vmdk set in the vmx-file.
Now start again


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

View solution in original post

0 Kudos
7 Replies
continuum
Immortal
Immortal
Jump to solution

You really should not expand virtual disks as long as you have snapshots.
To revert this we need t edit the embedded vmdk descriptorfiles
- see VMDK-Handbook-Basics
Please read that and then extract the descriptors for all vmdk-files you have (5x)Attach the 5 textfiles you will get to your next reply.
By the way - next time dont trust Snapshotmanager !
If the vmx-file references a vmdk with-00000*.vmdk in the name you have snapshots regardless of what the Snapshotmanager says.


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

0 Kudos
soebje
Contributor
Contributor
Jump to solution

First of all I thank you for your help. It is greatly appreaciated.

I downloaded the tool a ran the following commands

dsfo.exe "Windows Server 2012-cl1.vmdk" 512 1024 "cl1.txt"

dsfo.exe "Windows Server 2012-cl1-000001.vmdk" 512 1024 "cl1-000001.txt"

dsfo.exe "Windows Server 2012-cl1-000002.vmdk" 512 1024 "cl1-000002.txt"

dsfo.exe "Windows Server 2012-cl1-000003.vmdk" 512 1024 "cl1-000003.txt"

dsfo.exe "Windows Server 2012-cl1-000004.vmdk" 512 1024 "cl1-000004.txt"

The results are attached. I hope they makes sense to you.

Thanks again

BR Søren

0 Kudos
continuum
Immortal
Immortal
Jump to solution

Yes - that makes sense - exactly as expected.
Use
dsfi.exe "Windows Server 2012-cl1.vmdk" 512 1024 "cl1-new.txt"

when you have reinjected the descriptor please also make sure that you start the VM with the cl1-000001.vmdk configured in the vmx-file.
The VM then should be back in the state before the expand action.
If that worked I recommend to proceed with the following steps:
1. delete the vmsd-file
2. create new snapshot while VM is powered off
3. delete all - using Snapshotmanager
4. now you should have cl1.vmdk in the vmx-file.
Now you can expand again.
I expect no problems - if you run into anything serious - post again or call me via skype.
Ulli


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

0 Kudos
soebje
Contributor
Contributor
Jump to solution

Hi again

Your fix seems to have fixed the initial error.

So now I have this instead:

vmware.png

I can see in the last backup that i made (middle of august) that the settings in the wmx was:

scsi0:0.fileName = "Windows Server 2012-cl1-000001.vmdk" which is still is.

If I try changing it to:

scsi0:0.fileName = "Windows Server 2012-cl1.vmdk"

the VM boots fine but looks as when it was initially installed so that doesn't work.


Do you have ideas how to fix this also.


Thanks so far.


BR Søren

0 Kudos
soebje
Contributor
Contributor
Jump to solution

Hi again

I just did a little more digging and it seems that the ID chains is some how broken:

Here is what i found so far:

"root"   ID: 52c822da parent: fffffff

000001 ID: 8421c459 parent: 452af83d (references: 000004)

000002 ID: bedd2f00 parent: e0a6f4f6 (references: ?????? - shouldn't this be '52c822da')

000003 ID: e664dd1f parent: bedd2f00 (references: 000002)

000004 ID: 452af83d parent: e664dd1f (references: 000003)

I can see in the cl1-new you provided that you did set the ID to: "e0a6f4f" but it looks like it didn't work

Thought it might be important info.

BR Søren

0 Kudos
continuum
Immortal
Immortal
Jump to solution

Hi
with the CID values you have now - you must have launched the VM with the basedisk configured in the vmx- right after you injected the new descriptor for the basedisk.
It should have worked if you had configured the cl1-000001.vmdk for the first start.
Ok - power off the VM again.
Extract all descriptors again and then set new CID-values:
root-disk:
CID=12345678

parentCID=fffffffe
for all others use:
CID=12345678
parentCID=12345678
Save the txt-fles with those values and reinject all.
Then doublecheck that you have cl1-000001.vmdk set in the vmx-file.
Now start again


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

0 Kudos
soebje
Contributor
Contributor
Jump to solution

Hi Ulli

You were absolutely right. I had powered on the VM while trying to make it work with the wrong settings in WMX.

And you where right again in your instructions above.

The VM is now fully functional again and I am in the process of backing up everything and checking in all code.

The VM was my SharePoint 2013 dev mashine and there were some code on it that wasn't checked in to TFS so you just saved me a lot of hours recreating...

Thank a lot for taking your time to get me out of this mess.

You are the man.

Best regards and thanks again

Søren

0 Kudos