virtual revision 1.1.1.3 1 1.1 christos
2 1.1 christos #------------------------------------------------------------------------------
3 1.1.1.3 christos # $File: virtual,v 1.6 2014/05/07 21:25:41 christos Exp $
4 1.1 christos # From: James Nobis <quel (a] quelrod.net>
5 1.1 christos # Microsoft hard disk images for:
6 1.1 christos # Virtual Server
7 1.1 christos # Virtual PC
8 1.1 christos # http://technet.microsoft.com/en-us/virtualserver/bb676673.aspx
9 1.1 christos # .vhd
10 1.1 christos 0 string conectix Microsoft Disk Image, Virtual Server or Virtual PC
11 1.1 christos
12 1.1.1.3 christos # libvirt
13 1.1.1.3 christos # From: Philipp Hahn <hahn (a] univention.de>
14 1.1.1.3 christos 0 string LibvirtQemudSave Libvirt QEMU Suspend Image
15 1.1.1.3 christos >0x10 lelong x \b, version %u
16 1.1.1.3 christos >0x14 lelong x \b, XML length %u
17 1.1.1.3 christos >0x18 lelong 1 \b, running
18 1.1.1.3 christos >0x1c lelong 1 \b, compressed
19 1.1.1.3 christos
20 1.1.1.3 christos 0 string LibvirtQemudPart Libvirt QEMU partial Suspend Image
21 1.1.1.3 christos # From: Alex Beregszaszi <alex (a] fsn.hu>
22 1.1.1.3 christos 0 string/b COWD VMWare3
23 1.1.1.3 christos >4 byte 3 disk image
24 1.1.1.3 christos >>32 lelong x (%d/
25 1.1.1.3 christos >>36 lelong x \b%d/
26 1.1.1.3 christos >>40 lelong x \b%d)
27 1.1.1.3 christos >4 byte 2 undoable disk image
28 1.1.1.3 christos >>32 string >\0 (%s)
29 1.1.1.3 christos
30 1.1.1.3 christos 0 string/b VMDK VMware4 disk image
31 1.1.1.3 christos 0 string/b KDMV VMware4 disk image
32 1.1.1.3 christos
33 1.1.1.3 christos #--------------------------------------------------------------------
34 1.1.1.3 christos # Qemu Emulator Images
35 1.1.1.3 christos # Lines written by Friedrich Schwittay (f.schwittay (a] yousable.de)
36 1.1.1.3 christos # Updated by Adam Buchbinder (adam.buchbinder (a] gmail.com)
37 1.1.1.3 christos # Made by reading sources, reading documentation, and doing trial and error
38 1.1.1.3 christos # on existing QCOW files
39 1.1.1.3 christos 0 string/b QFI\xFB QEMU QCOW Image
40 1.1.1.3 christos
41 1.1.1.3 christos # Uncomment the following line to display Magic (only used for debugging
42 1.1.1.3 christos # this magic number)
43 1.1.1.3 christos #>0 string/b x , Magic: %s
44 1.1.1.3 christos
45 1.1.1.3 christos # There are currently 2 Versions: "1" and "2".
46 1.1.1.3 christos # http://www.gnome.org/~markmc/qcow-image-format-version-1.html
47 1.1.1.3 christos >4 belong 1 (v1)
48 1.1.1.3 christos
49 1.1.1.3 christos # Using the existence of the Backing File Offset to determine whether
50 1.1.1.3 christos # to read Backing File Information
51 1.1.1.3 christos >>12 belong >0 \b, has backing file (
52 1.1.1.3 christos # Note that this isn't a null-terminated string; the length is actually
53 1.1.1.3 christos # (16.L). Assuming a null-terminated string happens to work usually, but it
54 1.1.1.3 christos # may spew junk until it reaches a \0 in some cases.
55 1.1.1.3 christos >>>(12.L) string >\0 \bpath %s
56 1.1.1.3 christos
57 1.1.1.3 christos # Modification time of the Backing File
58 1.1.1.3 christos # Really useful if you want to know if your backing
59 1.1.1.3 christos # file is still usable together with this image
60 1.1.1.3 christos >>>>20 bedate >0 \b, mtime %s)
61 1.1.1.3 christos >>>>20 default x \b)
62 1.1.1.3 christos
63 1.1.1.3 christos # Size is stored in bytes in a big-endian u64.
64 1.1.1.3 christos >>24 bequad x \b, %lld bytes
65 1.1.1.3 christos
66 1.1.1.3 christos # 1 for AES encryption, 0 for none.
67 1.1.1.3 christos >>36 belong 1 \b, AES-encrypted
68 1.1.1.3 christos
69 1.1.1.3 christos # http://www.gnome.org/~markmc/qcow-image-format.html
70 1.1.1.3 christos >4 belong 2 (v2)
71 1.1.1.3 christos # Using the existence of the Backing File Offset to determine whether
72 1.1.1.3 christos # to read Backing File Information
73 1.1.1.3 christos >>8 bequad >0 \b, has backing file
74 1.1.1.3 christos # Note that this isn't a null-terminated string; the length is actually
75 1.1.1.3 christos # (16.L). Assuming a null-terminated string happens to work usually, but it
76 1.1.1.3 christos # may spew junk until it reaches a \0 in some cases. Also, since there's no
77 1.1.1.3 christos # .Q modifier, we just use the bottom four bytes as an offset. Note that if
78 1.1.1.3 christos # the file is over 4G, and the backing file path is stored after the first 4G,
79 1.1.1.3 christos # the wrong filename will be printed. (This should be (8.Q), when that syntax
80 1.1.1.3 christos # is introduced.)
81 1.1.1.3 christos >>>(12.L) string >\0 (path %s)
82 1.1.1.3 christos >>24 bequad x \b, %lld bytes
83 1.1.1.3 christos >>32 belong 1 \b, AES-encrypted
84 1.1.1.3 christos
85 1.1.1.3 christos >4 belong 3 (v3)
86 1.1.1.3 christos # Using the existence of the Backing File Offset to determine whether
87 1.1.1.3 christos # to read Backing File Information
88 1.1.1.3 christos >>8 bequad >0 \b, has backing file
89 1.1.1.3 christos # Note that this isn't a null-terminated string; the length is actually
90 1.1.1.3 christos # (16.L). Assuming a null-terminated string happens to work usually, but it
91 1.1.1.3 christos # may spew junk until it reaches a \0 in some cases. Also, since there's no
92 1.1.1.3 christos # .Q modifier, we just use the bottom four bytes as an offset. Note that if
93 1.1.1.3 christos # the file is over 4G, and the backing file path is stored after the first 4G,
94 1.1.1.3 christos # the wrong filename will be printed. (This should be (8.Q), when that syntax
95 1.1.1.3 christos # is introduced.)
96 1.1.1.3 christos >>>(12.L) string >\0 (path %s)
97 1.1.1.3 christos >>24 bequad x \b, %lld bytes
98 1.1.1.3 christos >>32 belong 1 \b, AES-encrypted
99 1.1.1.3 christos
100 1.1.1.3 christos >4 default x (unknown version)
101 1.1.1.3 christos
102 1.1.1.3 christos 0 string/b QEVM QEMU suspend to disk image
103 1.1.1.3 christos
104 1.1.1.3 christos # QEMU QED Image
105 1.1.1.3 christos # http://wiki.qemu.org/Features/QED/Specification
106 1.1.1.3 christos 0 string/b QED\0 QEMU QED Image
107 1.1.1.3 christos
108 1.1.1.3 christos # VDI Image
109 1.1 christos # Sun xVM VirtualBox Disk Image
110 1.1.1.2 christos # From: Richard W.M. Jones <rich (a] annexia.org>
111 1.1.1.2 christos # VirtualBox Disk Image
112 1.1.1.2 christos 0x40 ulelong 0xbeda107f VirtualBox Disk Image
113 1.1.1.2 christos >0x44 uleshort >0 \b, major %u
114 1.1.1.2 christos >0x46 uleshort >0 \b, minor %u
115 1.1.1.3 christos >0 string >\0 (%s)
116 1.1.1.3 christos >368 lequad x \b, %lld bytes
117 1.1.1.3 christos
118 1.1.1.3 christos 0 string/b Bochs\ Virtual\ HD\ Image Bochs disk image,
119 1.1.1.3 christos >32 string x type %s,
120 1.1.1.3 christos >48 string x subtype %s
121 1.1.1.3 christos
122 1.1.1.3 christos 0 lelong 0x02468ace Bochs Sparse disk image
123 1.1.1.3 christos
124