1e4d4ce0cSPeter Avalos 2e4d4ce0cSPeter Avalos#------------------------------------------------------------------------------ 3*3b9cdfa3SAntonio Huete Jimenez# $File: virtual,v 1.17 2022/08/23 08:00:54 christos Exp $ 4e4d4ce0cSPeter Avalos# From: James Nobis <quel@quelrod.net> 5e4d4ce0cSPeter Avalos# Microsoft hard disk images for: 6e4d4ce0cSPeter Avalos# Virtual Server 7e4d4ce0cSPeter Avalos# Virtual PC 86fca56fbSSascha Wildner# VirtualBox 96fca56fbSSascha Wildner# URL: http://fileformats.archiveteam.org/wiki/VHD_(Virtual_Hard_Disk) 106fca56fbSSascha Wildner# Reference: https://download.microsoft.com/download/f/f/e/ffef50a5-07dd-4cf8-aaa3-442c0673a029/ 116fca56fbSSascha Wildner# Virtual%20Hard%20Disk%20Format%20Spec_10_18_06.doc 12*3b9cdfa3SAntonio Huete Jimenez0 string conectix Microsoft Disk Image, Virtual Server or Virtual PC 136fca56fbSSascha Wildner# alternative shorter names 14*3b9cdfa3SAntonio Huete Jimenez#0 string conectix Microsoft Virtual Hard Disk image 15*3b9cdfa3SAntonio Huete Jimenez#0 string conectix Microsoft Virtual HD image 166fca56fbSSascha Wildner!:mime application/x-virtualbox-vhd 176fca56fbSSascha Wildner!:ext vhd 186fca56fbSSascha Wildner# Features is a bit field used to indicate specific feature support 19614728caSSascha Wildner#>8 ubelong !0x00000002 \b, Features %#x 206fca56fbSSascha Wildner# Reserved. This bit must always be set to 1. 21614728caSSascha Wildner#>8 ubelong &0x00000002 \b, Reserved %#x 226fca56fbSSascha Wildner# File Format Version for the current specification 0x00010000 23614728caSSascha Wildner#>12 ubelong !0x00010000 \b, Version %#8.8x 246fca56fbSSascha Wildner# Data Offset only found 0x200 25614728caSSascha Wildner#>16 ubequad !0x200 \b, Data Offset %#llx 26614728caSSascha Wildner#>16 ubequad x \b, at %#llx 276fca56fbSSascha Wildner# Dynamic Disk Header cookie like cxsparse 286fca56fbSSascha Wildner#>(16.Q) string x "%-.8s" 296fca56fbSSascha Wildner# This field contains a Unicode string (UTF-16) of the parent hard disk filename 30614728caSSascha Wildner#>(16.Q+64) ubequad x \b, parent name %#llx 316fca56fbSSascha Wildner# Creator Application 326fca56fbSSascha Wildner# vpc~Microsoft Virtual PC, vs~Microsoft Virtual Server, vbox~VirtualBox, d2v~disk2vhd 336fca56fbSSascha Wildner>28 string x \b, Creator %-4.4s 346fca56fbSSascha Wildner# Creator Version: 0x00010000~Virtual Server 2004, 0x00050000~Virtual PC 2004 356fca56fbSSascha Wildner# holds the major/minor version of the application that created the image 366fca56fbSSascha Wildner>32 ubeshort x %x 376fca56fbSSascha Wildner>34 ubeshort x \b.%x 38614728caSSascha Wildner#>32 ubelong x \b, Version %#8.8x 396fca56fbSSascha Wildner# Creator Host OS: 0x5769326B~Windows (Wi2k), 0x4D616320~Macintosh (Mac) 406fca56fbSSascha Wildner>36 ubelong x ( 416fca56fbSSascha Wildner>>36 ubelong 0x5769326B \bW2k 426fca56fbSSascha Wildner>>36 ubelong 0x4D616320 \bMac 436fca56fbSSascha Wildner>>36 default x \b0x 446fca56fbSSascha Wildner>>>36 ubelong x \b%8.8x 456fca56fbSSascha Wildner# creation Time in seconds since 1 Jan 2000 UTC~946684800 sec. since Unix Epoch 466fca56fbSSascha Wildner>24 bedate+946684800 x \b) %s 476fca56fbSSascha Wildner# Original Size 48614728caSSascha Wildner#>40 ubequad x \b, o.-Size %#llx 496fca56fbSSascha Wildner# Current Size is same as original size, but change when disk is expanded 50614728caSSascha Wildner#>48 ubequad x \b, Size %#llx 516fca56fbSSascha Wildner>48 ubequad x \b, %llu bytes 526fca56fbSSascha Wildner# Disk Geometry: cylinder, heads, and sectors/track for hard disk 53614728caSSascha Wildner#>56 ubeshort x \b, Cylinder %#x 546fca56fbSSascha Wildner>56 ubeshort x \b, CHS %u 556fca56fbSSascha Wildner# Heads 56614728caSSascha Wildner#>58 ubyte x \b, Heads %#x 576fca56fbSSascha Wildner>58 ubyte x \b/%u 586fca56fbSSascha Wildner# Sectors per track 59614728caSSascha Wildner#>59 ubyte x \b, Sectors %#x 606fca56fbSSascha Wildner>59 ubyte x \b/%u 616fca56fbSSascha Wildner# Disk Type: 3~Dynamic hard disk 62614728caSSascha Wildner>60 ubelong !0x3 \b, type %#x 636fca56fbSSascha Wildner# Checksum 64614728caSSascha Wildner#>64 ubelong x \b, cksum %#x 656fca56fbSSascha Wildner# universally unique identifier (UUID) to associate a parent with its differencing image 66614728caSSascha Wildner#>68 ubequad x \b, id %#16.16llx 676fca56fbSSascha Wildner#>76 ubequad x \b-%16.16llx 686fca56fbSSascha Wildner# Saved State: 1~Saved State 69614728caSSascha Wildner>84 ubyte !0 \b, State %#x 706fca56fbSSascha Wildner# Reserved 427 bytes with nils 71614728caSSascha Wildner#>85 ubequad !0 \b, Reserved %#16.16llx 72e4d4ce0cSPeter Avalos 736fca56fbSSascha Wildner# From: Joerg Jenderek 746fca56fbSSascha Wildner# URL: https://msdn.microsoft.com/en-us/library/mt740058.aspx 756fca56fbSSascha Wildner# Reference: https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/ 766fca56fbSSascha Wildner# MS-VHDX/[MS-VHDX].pdf 776fca56fbSSascha Wildner# Note: extends the VHD format with new capabilities, such as a 16TB maximum size 786fca56fbSSascha Wildner# TODO: find and display values like virtual size, disk size, cluster_size, etc 796fca56fbSSascha Wildner# display id in GUID format 806fca56fbSSascha Wildner# 816fca56fbSSascha Wildner# VHDX_FILE_IDENTIFIER signature 0x656C696678646876 826fca56fbSSascha Wildner0 string vhdxfile 836fca56fbSSascha Wildner# VHDX_HEADER signature. 1 header is stored at offset 64KB and the other at 128KB 846fca56fbSSascha Wildner>0x10000 string head Microsoft Disk Image eXtended 856fca56fbSSascha Wildner#>0x20000 string head \b, 2nd header 866fca56fbSSascha Wildner#!:mime application/x-virtualbox-vhdx 876fca56fbSSascha Wildner!:ext vhdx 886fca56fbSSascha Wildner# Creator[256] like "QEMU v3.0.0", "Microsoft Windows 6.3.9600.18512" 896fca56fbSSascha Wildner>>8 lestring16 x \b, by %.256s 906fca56fbSSascha Wildner# The Checksum field is a CRC-32C hash over the entire 4 KB structure 91614728caSSascha Wildner#>>0x10004 ulelong x \b, CRC %#x 926fca56fbSSascha Wildner# SequenceNumber 93614728caSSascha Wildner>>0x10008 ulequad x \b, sequence %#llx 946fca56fbSSascha Wildner# FileWriteGuid 95614728caSSascha Wildner#>>0x10010 ubequad x \b, file id %#llx 966fca56fbSSascha Wildner#>>>0x10018 ubequad x \b-%llx 976fca56fbSSascha Wildner# DataWriteGuid 98614728caSSascha Wildner#>>0x10020 ubequad x \b, data id %#llx 996fca56fbSSascha Wildner#>>>0x10028 ubequad x \b-%llx 1006fca56fbSSascha Wildner# LogGuid. If this field is zero, then the log is empty or has no valid entries 101614728caSSascha Wildner>>0x10030 ubequad >0 \b, log id %#llx 1026fca56fbSSascha Wildner>>>0x10038 ubequad x \b-%llx 1036fca56fbSSascha Wildner# LogVersion. If not 0 there is a log to replay 104614728caSSascha Wildner>>0x10040 uleshort >0 \b, LogVersion %#x 1056fca56fbSSascha Wildner# Version. This field must be set to 1 106614728caSSascha Wildner>>0x10042 uleshort !1 \b, Version %#x 1076fca56fbSSascha Wildner# LogLength must be multiples of 1 MB 1086fca56fbSSascha Wildner>>0x10044 ulelong/1048576 >1 \b, LogLength %u MB 1096fca56fbSSascha Wildner# LogOffset (normally 0x100000 when log direct after header); multiples of 1 MB 110614728caSSascha Wildner>>0x10048 ulequad !0x100000 \b, LogOffset %#llx 1116fca56fbSSascha Wildner# Log Entry Signature must be 0x65676F6C~loge 1126fca56fbSSascha Wildner>>(0x10048.q) ulelong !0x65676F6C \b, NO Log Signature 1136fca56fbSSascha Wildner>>(0x10048.q) ulelong =0x65676F6C \b; LOG 1146fca56fbSSascha Wildner# Log Entry Checksum 115614728caSSascha Wildner#>>>(0x10048.q+4) ulelong x \b, Log CRC %#x 1166fca56fbSSascha Wildner# Log Entry Length must be a multiple of 4 KB 1176fca56fbSSascha Wildner>>>(0x10048.q+8) ulelong/1024 >4 \b, EntryLength %u KB 1186fca56fbSSascha Wildner# Log Entry Tail must be a multiple of 4 KB 119614728caSSascha Wildner#>>>(0x10048.q+12) ulelong x \b, Tail %#x 1206fca56fbSSascha Wildner# Log Entry SequenceNumber 121614728caSSascha Wildner#>>>(0x10048.q+16) ulequad x \b, # %#llx 1226fca56fbSSascha Wildner# Log Entry DescriptorCount may be zero. only 4 bytes in other docs instead 8 123614728caSSascha Wildner#>>>(0x10048.q+24) ulelong x \b, DescriptorCount %#llx 1246fca56fbSSascha Wildner# Log Entry Reserved must be set to 0 125614728caSSascha Wildner>>>(0x10048.q+28) ulelong !0 \b, Reserved %#x 1266fca56fbSSascha Wildner# Log Entry LogGuid 127614728caSSascha Wildner#>>>(0x10048.q+32) ubequad x \b, Log id %#llx 1286fca56fbSSascha Wildner#>>>(0x10048.q+40) ubequad x \b-%llx 1296fca56fbSSascha Wildner# Log Entry FlushedFileOffset should VHDX size when entry is written. 1306fca56fbSSascha Wildner#>>>(0x10048.q+48) ulequad x \b, FlushedFileOffset %llu 1316fca56fbSSascha Wildner# Log Entry LastFileOffset 1326fca56fbSSascha Wildner#>>>(0x10048.q+56) ulequad x \b, LastFileOffset %llu 1336fca56fbSSascha Wildner# filling 1346fca56fbSSascha Wildner#>>>(0x10048.q+64) ulequad >0 \b, filling %llx 1356fca56fbSSascha Wildner# Reserved[4016] 136614728caSSascha Wildner#>>0x10050 ulequad >0 \b, Reserved %#llx 1376fca56fbSSascha Wildner# VHDX_REGION_TABLE_HEADER Signature 0x69676572~regi at offset 192 KB and 256 KB 1386fca56fbSSascha Wildner>0x30000 ulelong !0x69676572 \b, 1st region INVALID 1396fca56fbSSascha Wildner>0x30000 ulelong =0x69676572 \b; region 1406fca56fbSSascha Wildner# region Checksum. CRC-32C hash over the entire 64-KB table 141614728caSSascha Wildner#>>0x30004 ulelong x \b, CRC %#x 1426fca56fbSSascha Wildner# The EntryCount specifies number of valid entries; Found 2; This must be =< 2047. 1436fca56fbSSascha Wildner>>0x30008 ulelong x \b, %u entries 1446fca56fbSSascha Wildner# reserved must be zero 145614728caSSascha Wildner#>>0x3000C ulelong !0 \b, RESERVED %#x 1466fca56fbSSascha Wildner# Region Table Entry starts with identifier for the object. often BAT id 1476fca56fbSSascha Wildner>>0x30010 use vhdx-id 1486fca56fbSSascha Wildner# FileOffset 149614728caSSascha Wildner>>0x30020 ulequad x \b, at %#llx 1506fca56fbSSascha Wildner# Length. Specifies the length of the object within the file 151614728caSSascha Wildner#>>0x30028 ulelong x \b, Length %#x 1526fca56fbSSascha Wildner# 1 means region entry is required. if region not recognized, then REFUSE to load VHDX 1536fca56fbSSascha Wildner>>0x3002C ulelong x \b, Required %u 1546fca56fbSSascha Wildner# 2nd region entry often metadata id 1556fca56fbSSascha Wildner>>0x30030 use vhdx-id 1566fca56fbSSascha Wildner# 2nd entry FileOffset 157614728caSSascha Wildner>>0x30040 ulequad x \b, at %#llx 1586fca56fbSSascha Wildner# 1 means region entry is required. if region not recognized, then REFUSE to load VHDX 1596fca56fbSSascha Wildner>>0x3004C ulelong x \b, Required %u 1606fca56fbSSascha Wildner# 2nd region 1616fca56fbSSascha Wildner>>0x40000 ulelong !0x69676572 \b, 2nd region INVALID 1626fca56fbSSascha Wildner# check in vhdx images for known id and show names instead hexadecimal 1636fca56fbSSascha Wildner0 name vhdx-id 1646fca56fbSSascha Wildner# https://www.windowstricks.in/online-windows-guid-converter 1656fca56fbSSascha Wildner# 2DC27766-F623-4200-9D64-115E9BFD4A08 BAT GUID 1666fca56fbSSascha Wildner# 6677C22D23F600429D64115E9BFD4A08 BAT ID 1676fca56fbSSascha Wildner>0 ubequad =0x6677C22D23F60042 1686fca56fbSSascha Wildner>>8 ubequad =0x9D64115E9BFD4A08 \b, id BAT 1696fca56fbSSascha Wildner# no BAT id 1706fca56fbSSascha Wildner>>8 default x 1716fca56fbSSascha Wildner>>>0 use vhdx-id-hex 1726fca56fbSSascha Wildner# 8B7CA206-4790-4B9A-B8FE-575F050F886E Metadata region GUID 1736fca56fbSSascha Wildner# 06A27C8B90479A4BB8FE575F050F886E Metadata region ID 1746fca56fbSSascha Wildner>0 ubequad =0x06A27C8B90479A4B 1756fca56fbSSascha Wildner>>8 ubequad =0xB8FE575F050F886E \b, id Metadata 1766fca56fbSSascha Wildner# no Metadata id 1776fca56fbSSascha Wildner>>8 default x 1786fca56fbSSascha Wildner>>>0 use vhdx-id-hex 1796fca56fbSSascha Wildner# 2FA54224-CD1B-4876-B211-5DBED83BF4B8 Virtual Disk Size GUID 1806fca56fbSSascha Wildner# 2442A52F1BCD7648B2115DBED83BF4B8 Virtual Disk Size ID 1816fca56fbSSascha Wildner# value "virtual size" can be verified by command `qemu-img info ` 1826fca56fbSSascha Wildner>0 ubequad =0x2442A52F1BCD7648 1836fca56fbSSascha Wildner>>8 ubequad =0xB2115DBED83BF4B8 \b, id vsize 1846fca56fbSSascha Wildner# no Virtual Disk Size ID 1856fca56fbSSascha Wildner>>8 default x 1866fca56fbSSascha Wildner>>>0 use vhdx-id-hex 1876fca56fbSSascha Wildner# other ids 1886fca56fbSSascha Wildner>0 default x 1896fca56fbSSascha Wildner>>0 use vhdx-id-hex 1906fca56fbSSascha Wildner# in vhdx images show id as hexadecimal 1916fca56fbSSascha Wildner0 name vhdx-id-hex 192614728caSSascha Wildner>0 ubequad x \b, ID %#16.16llx 1936fca56fbSSascha Wildner>8 ubequad x \b-%16.16llx 1946fca56fbSSascha Wildner# 195e8af9738SPeter Avalos# libvirt 196e8af9738SPeter Avalos# From: Philipp Hahn <hahn@univention.de> 197e8af9738SPeter Avalos0 string LibvirtQemudSave Libvirt QEMU Suspend Image 198e8af9738SPeter Avalos>0x10 lelong x \b, version %u 199e8af9738SPeter Avalos>0x14 lelong x \b, XML length %u 200e8af9738SPeter Avalos>0x18 lelong 1 \b, running 201e8af9738SPeter Avalos>0x1c lelong 1 \b, compressed 202e8af9738SPeter Avalos 203e8af9738SPeter Avalos0 string LibvirtQemudPart Libvirt QEMU partial Suspend Image 20482c5fa3eSPeter Avalos# From: Alex Beregszaszi <alex@fsn.hu> 20582c5fa3eSPeter Avalos0 string/b COWD VMWare3 20682c5fa3eSPeter Avalos>4 byte 3 disk image 20782c5fa3eSPeter Avalos>>32 lelong x (%d/ 20882c5fa3eSPeter Avalos>>36 lelong x \b%d/ 20982c5fa3eSPeter Avalos>>40 lelong x \b%d) 21082c5fa3eSPeter Avalos>4 byte 2 undoable disk image 21182c5fa3eSPeter Avalos>>32 string >\0 (%s) 21282c5fa3eSPeter Avalos 21382c5fa3eSPeter Avalos0 string/b VMDK VMware4 disk image 21482c5fa3eSPeter Avalos0 string/b KDMV VMware4 disk image 21582c5fa3eSPeter Avalos 21682c5fa3eSPeter Avalos#-------------------------------------------------------------------- 21782c5fa3eSPeter Avalos# Qemu Emulator Images 21882c5fa3eSPeter Avalos# Lines written by Friedrich Schwittay (f.schwittay@yousable.de) 21982c5fa3eSPeter Avalos# Updated by Adam Buchbinder (adam.buchbinder@gmail.com) 22082c5fa3eSPeter Avalos# Made by reading sources, reading documentation, and doing trial and error 22182c5fa3eSPeter Avalos# on existing QCOW files 222*3b9cdfa3SAntonio Huete Jimenez0 string/b QFI\xFB QEMU QCOW Image 223*3b9cdfa3SAntonio Huete Jimenez!:mime application/x-qemu-disk 22482c5fa3eSPeter Avalos 22582c5fa3eSPeter Avalos# Uncomment the following line to display Magic (only used for debugging 22682c5fa3eSPeter Avalos# this magic number) 22782c5fa3eSPeter Avalos#>0 string/b x , Magic: %s 22882c5fa3eSPeter Avalos 22982c5fa3eSPeter Avalos# There are currently 2 Versions: "1" and "2". 2306fca56fbSSascha Wildner# https://www.gnome.org/~markmc/qcow-image-format-version-1.html 231*3b9cdfa3SAntonio Huete Jimenez>4 belong x (v%d) 23282c5fa3eSPeter Avalos 23382c5fa3eSPeter Avalos# Using the existence of the Backing File Offset to determine whether 23482c5fa3eSPeter Avalos# to read Backing File Information 23582c5fa3eSPeter Avalos>>12 belong >0 \b, has backing file ( 23682c5fa3eSPeter Avalos# Note that this isn't a null-terminated string; the length is actually 23782c5fa3eSPeter Avalos# (16.L). Assuming a null-terminated string happens to work usually, but it 23882c5fa3eSPeter Avalos# may spew junk until it reaches a \0 in some cases. 23982c5fa3eSPeter Avalos>>>(12.L) string >\0 \bpath %s 24082c5fa3eSPeter Avalos 24182c5fa3eSPeter Avalos# Modification time of the Backing File 24282c5fa3eSPeter Avalos# Really useful if you want to know if your backing 24382c5fa3eSPeter Avalos# file is still usable together with this image 24482c5fa3eSPeter Avalos>>>>20 bedate >0 \b, mtime %s) 24582c5fa3eSPeter Avalos>>>>20 default x \b) 24682c5fa3eSPeter Avalos 24782c5fa3eSPeter Avalos# Size is stored in bytes in a big-endian u64. 24882c5fa3eSPeter Avalos>>24 bequad x \b, %lld bytes 24982c5fa3eSPeter Avalos 25082c5fa3eSPeter Avalos# 1 for AES encryption, 0 for none. 25182c5fa3eSPeter Avalos>>36 belong 1 \b, AES-encrypted 25282c5fa3eSPeter Avalos 2536fca56fbSSascha Wildner# https://www.gnome.org/~markmc/qcow-image-format.html 25482c5fa3eSPeter Avalos>4 belong 2 (v2) 25582c5fa3eSPeter Avalos# Using the existence of the Backing File Offset to determine whether 25682c5fa3eSPeter Avalos# to read Backing File Information 25782c5fa3eSPeter Avalos>>8 bequad >0 \b, has backing file 25882c5fa3eSPeter Avalos# Note that this isn't a null-terminated string; the length is actually 25982c5fa3eSPeter Avalos# (16.L). Assuming a null-terminated string happens to work usually, but it 26082c5fa3eSPeter Avalos# may spew junk until it reaches a \0 in some cases. Also, since there's no 26182c5fa3eSPeter Avalos# .Q modifier, we just use the bottom four bytes as an offset. Note that if 26282c5fa3eSPeter Avalos# the file is over 4G, and the backing file path is stored after the first 4G, 26382c5fa3eSPeter Avalos# the wrong filename will be printed. (This should be (8.Q), when that syntax 26482c5fa3eSPeter Avalos# is introduced.) 26582c5fa3eSPeter Avalos>>>(12.L) string >\0 (path %s) 26682c5fa3eSPeter Avalos>>24 bequad x \b, %lld bytes 26782c5fa3eSPeter Avalos>>32 belong 1 \b, AES-encrypted 26882c5fa3eSPeter Avalos 26982c5fa3eSPeter Avalos>4 belong 3 (v3) 27082c5fa3eSPeter Avalos# Using the existence of the Backing File Offset to determine whether 27182c5fa3eSPeter Avalos# to read Backing File Information 27282c5fa3eSPeter Avalos>>8 bequad >0 \b, has backing file 27382c5fa3eSPeter Avalos# Note that this isn't a null-terminated string; the length is actually 27482c5fa3eSPeter Avalos# (16.L). Assuming a null-terminated string happens to work usually, but it 27582c5fa3eSPeter Avalos# may spew junk until it reaches a \0 in some cases. Also, since there's no 27682c5fa3eSPeter Avalos# .Q modifier, we just use the bottom four bytes as an offset. Note that if 27782c5fa3eSPeter Avalos# the file is over 4G, and the backing file path is stored after the first 4G, 27882c5fa3eSPeter Avalos# the wrong filename will be printed. (This should be (8.Q), when that syntax 27982c5fa3eSPeter Avalos# is introduced.) 28082c5fa3eSPeter Avalos>>>(12.L) string >\0 (path %s) 28182c5fa3eSPeter Avalos>>24 bequad x \b, %lld bytes 28282c5fa3eSPeter Avalos>>32 belong 1 \b, AES-encrypted 28382c5fa3eSPeter Avalos 28482c5fa3eSPeter Avalos>4 default x (unknown version) 28582c5fa3eSPeter Avalos 28682c5fa3eSPeter Avalos0 string/b QEVM QEMU suspend to disk image 28782c5fa3eSPeter Avalos 28882c5fa3eSPeter Avalos# QEMU QED Image 2896fca56fbSSascha Wildner# https://wiki.qemu.org/Features/QED/Specification 29082c5fa3eSPeter Avalos0 string/b QED\0 QEMU QED Image 29182c5fa3eSPeter Avalos 29282c5fa3eSPeter Avalos# VDI Image 29382c5fa3eSPeter Avalos# Sun xVM VirtualBox Disk Image 29482c5fa3eSPeter Avalos# From: Richard W.M. Jones <rich@annexia.org> 29582c5fa3eSPeter Avalos# VirtualBox Disk Image 29682c5fa3eSPeter Avalos0x40 ulelong 0xbeda107f VirtualBox Disk Image 29782c5fa3eSPeter Avalos>0x44 uleshort >0 \b, major %u 29882c5fa3eSPeter Avalos>0x46 uleshort >0 \b, minor %u 29982c5fa3eSPeter Avalos>0 string >\0 (%s) 30082c5fa3eSPeter Avalos>368 lequad x \b, %lld bytes 30182c5fa3eSPeter Avalos 30282c5fa3eSPeter Avalos0 string/b Bochs\ Virtual\ HD\ Image Bochs disk image, 30382c5fa3eSPeter Avalos>32 string x type %s, 30482c5fa3eSPeter Avalos>48 string x subtype %s 30582c5fa3eSPeter Avalos 30682c5fa3eSPeter Avalos0 lelong 0x02468ace Bochs Sparse disk image 30782c5fa3eSPeter Avalos 308