qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] VMDK file unable to open in Qemu but ESXi


From: Peter Lieven
Subject: Re: [Qemu-block] VMDK file unable to open in Qemu but ESXi
Date: Mon, 26 Sep 2016 16:30:14 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0

Am 26.09.2016 um 15:22 schrieb Fam Zheng:
On Mon, 09/26 13:52, Peter Lieven wrote:
Am 26.09.2016 um 13:34 schrieb Fam Zheng:
On Mon, 09/26 12:56, Peter Lieven wrote:
Hi,


i have a VMDK file for a Cisco Prime software appliance that I cannot open in 
Qemu, Virtualbox or any other tool except

for ESXi. Qemu exits with an invalid footer message. At the expected position 
and also at the end of the file seems to be

no footer. The VMDK has a -flex in the filename? Is this anything new that we 
can't handle in Qemu?
Looking at the code path it's possible that the image is not compliant to the
spec, or using a newer version number that QEMU doesn't support. Could you
hexdump the first and the last sectors for me to check?
Sure, here we go

address@hidden:~/git/qemu$ ls -la /work/PI-VA-3.1.0.0.132-flex-disk1.vmdk
-rw------- 1 lieven lieven 3792931840 Apr 11 05:44 
/work/PI-VA-3.1.0.0.132-flex-disk1.vmdk

address@hidden:~/git/qemu$ head -c4096 /work/PI-VA-3.1.0.0.132-flex-disk1.vmdk 
| hexdump -C
00000000  4b 44 4d 56 03 00 00 00  01 00 03 00 00 00 9f 24 |KDMV...........$|
00000010  00 00 00 00 80 00 00 00  00 00 00 00 01 00 00 00 |................|
00000020  00 00 00 00 02 00 00 00  00 00 00 00 00 02 00 00 |................|
00000030  00 00 00 00 00 00 00 00  ff ff ff ff ff ff ff ff |................|
                                      ^^^^^^^^^^^^^^^^^^^^^^^
This offset means a footer is used.

In vmdk_50_technote.pdf:

The footer should be the last block of the disk and immediately followed by
the end‐of‐stream marker so that they together occupy the last two sectors of
the disk.
which is the format of streamOptimized format, matching what the embedded
descriptor says:

00000040  80 00 00 00 00 00 00 00  00 0a 20 0d 0a 01 00 00 |.......... .....|
00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |................|
*
00000200  23 20 44 69 73 6b 20 44  65 73 63 72 69 70 74 6f  |# Disk Descripto|
00000210  72 46 69 6c 65 0a 76 65  72 73 69 6f 6e 3d 31 0a |rFile.version=1.|
00000220  43 49 44 3d 36 65 32 37  64 38 31 65 0a 70 61 72 |CID=6e27d81e.par|
00000230  65 6e 74 43 49 44 3d 66  66 66 66 66 66 66 66 0a |entCID=ffffffff.|
00000240  63 72 65 61 74 65 54 79  70 65 3d 22 73 74 72 65 |createType="stre|
                                                                           ^^^^
00000250  61 6d 4f 70 74 69 6d 69  7a 65 64 22 0a 0a 23 20 |amOptimized"..# |
                                                               ^^^^^^^^^^^

<snip>

00000d00  00 00 00 00 ed 08 71 00  00 00 00 00 00 00 00 00 |......q.........|
00000d10  00 00 00 00 f3 08 71 00  00 00 00 00 00 00 00 00 |......q.........|
00000d20  00 00 00 00 f9 08 71 00  00 00 00 00 00 00 00 00 |......q.........|
00000d30  00 00 00 00 ff 08 71 00  00 00 00 00 00 00 00 00 |......q.........|
00000d40  00 00 00 00 05 09 71 00  00 00 00 00 00 00 00 00 |......q.........|
00000d50  00 00 00 00 0b 09 71 00  00 00 00 00 00 00 00 00 |......q.........|
00000d60  00 00 00 00 11 09 71 00  00 00 00 00 00 00 00 00 |......q.........|
00000d70  00 00 00 00 17 09 71 00  00 00 00 00 00 00 00 00 |......q.........|
00000d80  00 00 00 00 1d 09 71 00  00 00 00 00 00 00 00 00 |......q.........|
00000d90  00 00 00 00 23 09 71 00  00 00 00 00 00 00 00 00 |....#.q.........|
00000da0  00 00 00 00 29 09 71 00  00 00 00 00 00 00 00 00 |....).q.........|
00000db0  00 00 00 00 2f 09 71 00  00 00 00 00 00 00 00 00 |..../.q.........|
00000dc0  00 00 00 00 35 09 71 00  00 00 00 00 00 00 00 00 |....5.q.........|
00000dd0  00 00 00 00 3b 09 71 00  00 00 00 00 00 00 00 00 |....;.q.........|
00000de0  00 00 00 00 41 09 71 00  00 00 00 00 00 00 00 00 |....A.q.........|
00000df0  00 00 00 00 47 09 71 00  00 00 00 00 00 00 00 00 |....G.q.........|
00000e00  00 00 00 00 4d 09 71 00  00 00 00 00 00 00 00 00 |....M.q.........|
But the last sector is not the expected EOS marker.

00000e10  00 00 00 00 53 09 71 00  00 00 00 00 00 00 00 00 |....S.q.........|
00000e20  00 00 00 00 59 09 71 00  00 00 00 00 00 00 00 00 |....Y.q.........|
00000e30  00 00 00 00 5f 09 71 00  00 00 00 00 00 00 00 00 |...._.q.........|
00000e40  00 00 00 00 65 09 71 00  00 00 00 00 00 00 00 00 |....e.q.........|
00000e50  00 00 00 00 6b 09 71 00  00 00 00 00 00 00 00 00 |....k.q.........|
00000e60  00 00 00 00 71 09 71 00  00 00 00 00 00 00 00 00 |....q.q.........|
00000e70  00 00 00 00 77 09 71 00  00 00 00 00 00 00 00 00 |....w.q.........|
00000e80  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |................|
*
00001000

Peter

So it looks like this file is not compliant to the specfication. Is it
recognized and imported by VMware?

Yes, VMware ESXi imports it flawlessly.

Peter




reply via email to

[Prev in Thread] Current Thread [Next in Thread]