virtual 4.3 KB

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