mpack, looking at the parent UUID references in each snapshot, it does seem like there is a break in the chain. I cannot explain it, since the VM worked before I reformatted the HD. I suppose it is possible that somehow, a snapshot at some point was stored elsewhere and I missed backing it up.
I have now attempted twice to change parent UUID references to make a complete chain. As it turns out, I have 2 snapshots that reference the same parent UUID - again I do not know how that could have happened. In attempt 1, I changed the UUID in snapshot E:\Machines\Testbed\Snapshots\{2a31a19b-bc4f-4e56-8d89-44b2ea929334}.vdi from the aforementioned {915e7bdd-fd2c-4c03-be09-10aeca98dfc3} to the base VDI UUID {f43b345e-4ff4-4aa6-a652-bf5033788f37}. Then I ran your CloneVDI program to make a single cloned VDI. The resulting VM would begin to boot, load WinXP, go to the screen with blue background and terminate just before it should have shown the login dialog.
I thought that maybe it failed because of the other potential snapshot that I had left out of the chain, so I restored my snapshot folder from the backup I made so that none had any changes. For attempt 22, I changed the UUID in snapshot E:\Machines\Testbed\Snapshots\{2a31a19b-bc4f-4e56-8d89-44b2ea929334}.vdi from the aforementioned {915e7bdd-fd2c-4c03-be09-10aeca98dfc3} to what may be the Snapshot 1, {f21683f7-09a9-4c3b-8e0c-a4d7bd8b00b7}.vdi. This snapshot also lists "dfc3" as its parent. I changed it to the base VDI UUID {f43b345e-4ff4-4aa6-a652-bf5033788f37}. Then I ran your CloneVDI program to make a single cloned VDI. The resulting VM would begin to boot, load WinXP, go to the screen with blue background and terminate just before it should have shown the login dialog.
After attempt 2, I thought to check some log files. The VBoxSVC.log file in the .VirtualBox folder contains the following error lines:
Code: Select all
00:00:07.313789 ERROR [COM]: aRC=VBOX_E_OBJECT_NOT_FOUND (0x80bb0001) aIID={edba9d10-45d8-b440-1712-46ac0c9bc4c5} aComponent={ExtPackManagerWrap} aText={No extension pack by the name 'Oracle VM VirtualBox Extension Pack' was found}, preserve=false aResultDetail=0
00:00:07.535139 ERROR [COM]: aRC=VBOX_E_IPRT_ERROR (0x80bb0005) aIID={b2547866-a0a1-4391-8b86-6952d82efaa0} aComponent={SessionMachine} aText={Saved screenshot data is not available (VERR_NOT_SUPPORTED)}, preserve=false aResultDetail=0
The VBox.log file in the \VirtualBox VMs\WinXP Clone\Logs folder seems to indicate that the guest requested to power off just past the 20 second mark. Here's an excerpt:
Code: Select all
00:00:18.018019 DSound: Guest source 'Line In' is using host recording device with GUID '{Default device}'
00:00:18.021589 OHCI: Software reset
00:00:18.021811 OHCI: USB Reset
00:00:18.079417 OHCI: USB Operational
00:00:18.383763 Display::handleDisplayResize: uScreenId=0 pvVRAM=00000000098b0000 w=1152 h=864 bpp=32 cbLine=0x1200 flags=0x1
00:00:18.383809 GUI: UIFrameBufferPrivate::NotifyChange: Screen=0, Origin=0x0, Size=1152x864, Sending to async-handler
00:00:18.383866 GUI: UIMachineView::sltHandleNotifyChange: Screen=0, Size=1152x864
00:00:18.383881 GUI: UIFrameBufferPrivate::handleNotifyChange: Size=1152x864
00:00:18.384001 GUI: UIFrameBufferPrivate::performResize: Size=1152x864, Directly using source bitmap content
00:00:18.384276 VMMDev: Guest Log: VBoxDisp[0]: VBVA enabled
00:00:18.384291 VBVA: InfoScreen: [0] @0,0 1152x864, line 0x1200, BPP 32, flags 0x1
00:00:18.384297 Display::handleDisplayResize: uScreenId=0 pvVRAM=00000000098b0000 w=1152 h=864 bpp=32 cbLine=0x1200 flags=0x1
00:00:18.384313 GUI: UIFrameBufferPrivate::NotifyChange: Screen=0, Origin=0x0, Size=1152x864, Sending to async-handler
00:00:18.396387 GUI: UIMachineView::sltHandleNotifyChange: Screen=0, Size=1152x864
00:00:18.396405 GUI: UIFrameBufferPrivate::handleNotifyChange: Size=1152x864
00:00:18.396423 GUI: UIFrameBufferPrivate::performResize: Size=1152x864, Directly using source bitmap content
00:00:19.266461 PIIX3 ATA: LUN#0: IDLE IMMEDIATE, CmdIf=0xe7 (-1 usec ago)
00:00:19.266492 PIIX3 ATA: LUN#0: aborting current command
00:00:19.562199 OHCI: USB Suspended
00:00:20.564172 VMMDev: Guest requests the VM to be turned off
00:00:20.564215 Changing the VM state from 'RUNNING' to 'POWERING_OFF'
00:00:20.564230 ****************** Guest state at power off for VCpu 0 ******************
Any ideas what is going on or is this my Frankenstein?