Page 1 of 1

How to save the data from a VDI image?

Posted: 18. Nov 2008, 15:43
by Aprilgogo
Hi,

I'm using vbox on WinXP, running a Ubuntu8.10 system. Today when I tried to run Ubuntu, it showed:

Code: Select all

virtualbox fatal could not read from the boot medium
I remembered I shut down the system properly yesterday, so i really don't know what's wrong with it. My first response was to try to export my data files from the VDI image.

I searched the related posts about mounting a VDI image on host system. The imdisk method didn't work. So I copied the VID image to a Linux system, and runned vditool:

Code: Select all

vditool DUMP Ubuntu8.10.vdi 
vditool    Copyright (c) 2004-2005 InnoTek Systemberatung GmbH.

Dumping VDI image file="Ubuntu8.10.vdi" into the log file...
Log created: 2008-11-18T06:38:09.712582000Z
Executable: /home/xcyao/vbox/vditool
Arg[0]: vbox/vditool
Arg[1]: DUMP
Arg[2]: Ubuntu8.10.vdi
--- Dumping VDI Disk, Images=1
Dumping VDI image "Ubuntu8.10.vdi" mode=r/o fOpen=1 File=00000003
Header: Version=00010001 Type=1 Flags=0 Size=8589934592
Header: cbBlock=1048576 cbBlockExtra=0 cBlocks=8192 cBlocksAllocated=4623
Header: offBlocks=512 offData=33280
Header: Geometry: C/H/S=0/0/0 cbSector=512 Mode=0
Header: uuidCreation={4c550c18-8b9f-4fe1-a07a-4a37ed3e76d8}
Header: uuidModification={9214dad1-6916-4b3f-bd99-0c8bcf3358cc}
Header: uuidParent={00000000-0000-0000-0000-000000000000}
Header: uuidParentModification={00000000-0000-0000-0000-000000000000}
Image:  fFlags=00000000 offStartBlocks=512 offStartData=33280
Image:  uBlockMask=000FFFFF uShiftIndex2Offset=20 uShiftOffset2Index=20 offStartBlockData=0
!! WARNING: 8192 blocks actually allocated (cBlocksAllocated=4623) !!
!! WARNING: 6627 bad blocks found !!
The operation completed successfully!
Unfortunately, I have a dynamic file image. And it seems there's something wrong with the image. So even if I tried the 'COPYDD' option of vditool to convert into a fixed one, it didn't work (the image file is about 4.6GB):

Code: Select all

vditool COPYDD Ubuntu8.10.vdi ~/u.dd
vditool    Copyright (c) 2004-2005 InnoTek Systemberatung GmbH.

Copying VDI image file="Ubuntu8.10.vdi" to DD file="/home/xcyao/u.dd"...
FAILURE: Invalid parameter. (aka SUPDRV_ERR_INVALID_PARAM). (VERR_INVALID_PARAMETER)
I'm now very frustrated because I stored a lot of data in the VDI image and never expected a boot failure! Could somebody help? Thank you very much!

Posted: 18. Nov 2008, 19:58
by mpack
The copyright notice in VDItool makes it seem quite old. Can it even handle dynamic VDIs from Suns recent VBox versions?

Rather than being led down the garden path, I suggest leaving VDItool aside for now. Have you done anything that might have changed the file name or path, getting VBox confused about the file location?

It's a bit late now, and I hate to rub it in, but you should of course keep backup copies of important VDI files.

Posted: 18. Nov 2008, 21:41
by Aprilgogo
I don't know. I can not see the source code. But I guess it was written for the 1.x version vbox.

I didn't realize I would have a problem as serious as not booting. Now it's too late for everything. Alas, my data...

Thank you mpack.
mpack wrote:The copyright notice in VDItool makes it seem quite old. Can it even handle dynamic VDIs from Suns recent VBox versions?

Rather than being led down the garden path, I suggest leaving VDItool aside for now. Have you done anything that might have changed the file name or path, getting VBox confused about the file location?

It's a bit late now, and I hate to rub it in, but you should of course keep backup copies of important VDI files.

Posted: 19. Nov 2008, 13:40
by mpack
Well, if you have important data then I wouldn't give up on the VDI just yet. "Unable to read" could just mean that VBox is looking in the wrong place somehow. You could try detaching the VDI from the VDI, unregister the VDI, then reregister and reattach. If the problem is just the path then that should fix it.

Posted: 19. Nov 2008, 16:07
by isrc
thought that vditool was now deprecated in favor of VboxManage command ?

HTH,
Thanks