1 #------------------------------------------------------------------------------
2 # $File: filesystems,v 1.108 2015/01/01 17:43:47 christos Exp $
3 # filesystems: file(1) magic for different filesystems
7 >0 ubyte 0x01 12-bit FAT
9 >0 ubyte 0x03 XENIX /usr
10 >0 ubyte 0x04 16-bit FAT, less than 32M
11 >0 ubyte 0x05 extended partition
12 >0 ubyte 0x06 16-bit FAT, more than 32M
13 >0 ubyte 0x07 OS/2 HPFS, NTFS, QNX2, Adv. UNIX
14 >0 ubyte 0x08 AIX or os, or etc.
15 >0 ubyte 0x09 AIX boot partition or Coherent
16 >0 ubyte 0x0a O/2 boot manager or Coherent swap
17 >0 ubyte 0x0b 32-bit FAT
18 >0 ubyte 0x0c 32-bit FAT, LBA-mapped
19 >0 ubyte 0x0d 7XXX, LBA-mapped
20 >0 ubyte 0x0e 16-bit FAT, LBA-mapped
21 >0 ubyte 0x0f extended partition, LBA-mapped
23 >0 ubyte 0x11 OS/2 DOS 12-bit FAT
24 >0 ubyte 0x12 Compaq diagnostics
25 >0 ubyte 0x14 OS/2 DOS 16-bit FAT <32M
26 >0 ubyte 0x16 OS/2 DOS 16-bit FAT >=32M
27 >0 ubyte 0x17 OS/2 hidden IFS
28 >0 ubyte 0x18 AST Windows swapfile
29 >0 ubyte 0x19 Willowtech Photon coS
30 >0 ubyte 0x1b hidden win95 fat 32
31 >0 ubyte 0x1c hidden win95 fat 32 lba
32 >0 ubyte 0x1d hidden win95 fat 16 lba
33 >0 ubyte 0x20 Willowsoft OFS1
34 >0 ubyte 0x21 reserved
35 >0 ubyte 0x23 reserved
37 >0 ubyte 0x26 reserved
38 >0 ubyte 0x31 reserved
39 >0 ubyte 0x32 Alien Internet Services NOS
40 >0 ubyte 0x33 reserved
41 >0 ubyte 0x34 reserved
42 >0 ubyte 0x35 JFS on OS2
43 >0 ubyte 0x36 reserved
45 >0 ubyte 0x39 Plan 9, or Theos spanned
46 >0 ubyte 0x3a Theos ver 4 4gb partition
47 >0 ubyte 0x3b Theos ve 4 extended partition
48 >0 ubyte 0x3c PartitionMagic recovery
49 >0 ubyte 0x3d Hidden Netware
50 >0 ubyte 0x40 VENIX 286 or LynxOS
52 >0 ubyte 0x42 linux swap sharing DRDOS disk
53 >0 ubyte 0x43 linux sharing DRDOS disk
54 >0 ubyte 0x44 GoBack change utility
55 >0 ubyte 0x45 Boot US Boot manager
56 >0 ubyte 0x46 EUMEL/Elan or Ergos 3
57 >0 ubyte 0x47 EUMEL/Elan or Ergos 3
58 >0 ubyte 0x48 EUMEL/Elan or Ergos 3
59 >0 ubyte 0x4a ALFX/THIN filesystem for DOS
60 >0 ubyte 0x4c Oberon partition
62 >0 ubyte 0x4e QNX4.x 2nd part
63 >0 ubyte 0x4f QNX4.x 3rd part
64 >0 ubyte 0x50 DM (disk manager)
65 >0 ubyte 0x51 DM6 Aux1 (or Novell)
66 >0 ubyte 0x52 CP/M or Microport SysV/AT
67 >0 ubyte 0x53 DM6 Aux3
69 >0 ubyte 0x55 EZ-Drive (disk manager)
70 >0 ubyte 0x56 Golden Bow (disk manager)
71 >0 ubyte 0x57 Drive PRO
72 >0 ubyte 0x5c Priam Edisk (disk manager)
73 >0 ubyte 0x61 SpeedStor
74 >0 ubyte 0x63 GNU HURD or Mach or Sys V/386
75 >0 ubyte 0x64 Novell Netware 2.xx or Speedstore
76 >0 ubyte 0x65 Novell Netware 3.xx
77 >0 ubyte 0x66 Novell 386 Netware
81 >0 ubyte 0x70 DiskSecure Multi-Boot
82 >0 ubyte 0x71 reserved
83 >0 ubyte 0x73 reserved
84 >0 ubyte 0x74 reserved
86 >0 ubyte 0x76 reserved
87 >0 ubyte 0x77 M2FS/M2CS partition
88 >0 ubyte 0x78 XOSL boot loader filesystem
89 >0 ubyte 0x80 MINIX until 1.4a
90 >0 ubyte 0x81 MINIX since 1.4b
91 >0 ubyte 0x82 Linux swap or Solaris
92 >0 ubyte 0x83 Linux native
93 >0 ubyte 0x84 OS/2 hidden C: drive
94 >0 ubyte 0x85 Linux extended partition
95 >0 ubyte 0x86 NT FAT volume set
96 >0 ubyte 0x87 NTFS volume set or HPFS mirrored
97 >0 ubyte 0x8a Linux Kernel AiR-BOOT partition
98 >0 ubyte 0x8b Legacy Fault tolerant FAT32
99 >0 ubyte 0x8c Legacy Fault tolerant FAT32 ext
100 >0 ubyte 0x8d Hidden free FDISK FAT12
101 >0 ubyte 0x8e Linux Logical Volume Manager
102 >0 ubyte 0x90 Hidden free FDISK FAT16
103 >0 ubyte 0x91 Hidden free FDISK DOS EXT
104 >0 ubyte 0x92 Hidden free FDISK FAT16 Big
105 >0 ubyte 0x93 Amoeba filesystem
106 >0 ubyte 0x94 Amoeba bad block table
107 >0 ubyte 0x95 MIT EXOPC native partitions
108 >0 ubyte 0x97 Hidden free FDISK FAT32
109 >0 ubyte 0x98 Datalight ROM-DOS Super-Boot
110 >0 ubyte 0x99 Mylex EISA SCSI
111 >0 ubyte 0x9a Hidden free FDISK FAT16 LBA
112 >0 ubyte 0x9b Hidden free FDISK EXT LBA
114 >0 ubyte 0xa0 IBM Thinkpad hibernation
115 >0 ubyte 0xa1 HP Volume expansion (SpeedStor)
116 >0 ubyte 0xa3 HP Volume expansion (SpeedStor)
117 >0 ubyte 0xa4 HP Volume expansion (SpeedStor)
118 >0 ubyte 0xa5 386BSD partition type
119 >0 ubyte 0xa6 OpenBSD partition type
120 >0 ubyte 0xa7 NeXTSTEP 486
121 >0 ubyte 0xa8 Apple UFS
122 >0 ubyte 0xa9 NetBSD partition type
123 >0 ubyte 0xaa Olivetty Fat12 1.44MB Service part
124 >0 ubyte 0xab Apple Boot
125 >0 ubyte 0xae SHAG OS filesystem
126 >0 ubyte 0xaf Apple HFS
127 >0 ubyte 0xb0 BootStar Dummy
128 >0 ubyte 0xb1 reserved
129 >0 ubyte 0xb3 reserved
130 >0 ubyte 0xb4 reserved
131 >0 ubyte 0xb6 reserved
132 >0 ubyte 0xb7 BSDI BSD/386 filesystem
133 >0 ubyte 0xb8 BSDI BSD/386 swap
134 >0 ubyte 0xbb Boot Wizard Hidden
135 >0 ubyte 0xbe Solaris 8 partition type
136 >0 ubyte 0xbf Solaris partition type
138 >0 ubyte 0xc1 DRDOS/sec (FAT-12)
139 >0 ubyte 0xc2 Hidden Linux
140 >0 ubyte 0xc3 Hidden Linux swap
141 >0 ubyte 0xc4 DRDOS/sec (FAT-16, < 32M)
142 >0 ubyte 0xc5 DRDOS/sec (EXT)
143 >0 ubyte 0xc6 DRDOS/sec (FAT-16, >= 32M)
144 >0 ubyte 0xc7 Syrinx (Cyrnix?) or HPFS disabled
145 >0 ubyte 0xc8 Reserved for DR-DOS 8.0+
146 >0 ubyte 0xc9 Reserved for DR-DOS 8.0+
147 >0 ubyte 0xca Reserved for DR-DOS 8.0+
148 >0 ubyte 0xcb DR-DOS 7.04+ Secured FAT32 CHS
149 >0 ubyte 0xcc DR-DOS 7.04+ Secured FAT32 LBA
150 >0 ubyte 0xcd CTOS Memdump
151 >0 ubyte 0xce DR-DOS 7.04+ FAT16X LBA
152 >0 ubyte 0xcf DR-DOS 7.04+ EXT LBA
153 >0 ubyte 0xd0 REAL/32 secure big partition
154 >0 ubyte 0xd1 Old Multiuser DOS FAT12
155 >0 ubyte 0xd4 Old Multiuser DOS FAT16 Small
156 >0 ubyte 0xd5 Old Multiuser DOS Extended
157 >0 ubyte 0xd6 Old Multiuser DOS FAT16 Big
158 >0 ubyte 0xd8 CP/M 86
159 >0 ubyte 0xdb CP/M or Concurrent CP/M
160 >0 ubyte 0xdd Hidden CTOS Memdump
161 >0 ubyte 0xde Dell PowerEdge Server utilities
162 >0 ubyte 0xdf DG/UX virtual disk manager
163 >0 ubyte 0xe0 STMicroelectronics ST AVFS
164 >0 ubyte 0xe1 DOS access or SpeedStor 12-bit
165 >0 ubyte 0xe3 DOS R/O or Storage Dimensions
166 >0 ubyte 0xe4 SpeedStor 16-bit FAT < 1024 cyl.
167 >0 ubyte 0xe5 reserved
168 >0 ubyte 0xe6 reserved
170 >0 ubyte 0xee GPT Protective MBR
171 >0 ubyte 0xef EFI system partition
172 >0 ubyte 0xf0 Linux PA-RISC boot loader
173 >0 ubyte 0xf1 SpeedStor or Storage Dimensions
174 >0 ubyte 0xf2 DOS 3.3+ Secondary
175 >0 ubyte 0xf3 reserved
176 >0 ubyte 0xf4 SpeedStor large partition
177 >0 ubyte 0xf5 Prologue multi-volumen partition
178 >0 ubyte 0xf6 reserved
179 >0 ubyte 0xf9 pCache: ext2/ext3 persistent cache
180 >0 ubyte 0xfa Bochs x86 emulator
181 >0 ubyte 0xfb VMware File System
182 >0 ubyte 0xfc VMware Swap
183 >0 ubyte 0xfd Linux RAID partition persistent sb
184 >0 ubyte 0xfe LANstep or IBM PS/2 IML
185 >0 ubyte 0xff Xenix Bad Block Table
187 0 string \366\366\366\366 PC formatted floppy with no filesystem
189 # From /usr/include/sun/dklabel.h:
191 # modified by Joerg Jenderek, because original test
192 # succeeds for Cabinet archive dao360.dl_ with negative blocks
193 >0770 long >0 Sun disk label
195 >>>31 string >\0 \b%s
196 >>>>63 string >\0 \b%s
197 >>>>>95 string >\0 \b%s
199 >>0734 short >0 %d rpm,
200 >>0736 short >0 %d phys cys,
201 >>0740 short >0 %d alts/cyl,
202 >>0746 short >0 %d interleave,
203 >>0750 short >0 %d data cyls,
204 >>0752 short >0 %d alt cyls,
205 >>0754 short >0 %d heads/partition,
206 >>0756 short >0 %d sectors/track,
207 >>0764 long >0 start cyl %d,
208 >>0770 long x %d blocks
209 # Is there a boot block written 1 sector in?
210 >512 belong&077777777 0600407 \b, boot block present
212 # Joerg Jenderek: Smart Boot Manager backup file is 25 (MSDOS) or 41 (LINUX) byte header + first sectors of disk
213 # (http://btmgr.sourceforge.net/docs/user-guide-3.html)
214 0 string SBMBAKUP_ Smart Boot Manager backup file
215 >9 string x \b, version %-5.5s
219 >>>>>17 string x \b%-.1s
220 >>>>>>18 string =_ \b.
221 >>>>>>>19 string x \b%-.1s
223 >>>>21 ubyte x \b, from drive 0x%x
225 >>>>21 string x \b, from drive %s
226 >>>535 search/17 \x55\xAA
227 >>>>&-512 indirect x \b; contains
229 # updated by Joerg Jenderek at Nov 2012
230 # DOS Emulator image is 128 byte, null right padded header + harddisc image
232 >0x27E leshort 0xAA55
235 >>>(19.b-1) ubyte 0x0 DOS Emulator image
236 >>>>7 ulelong >0 \b, %u heads
237 >>>>11 ulelong >0 \b, %d sectors/track
238 >>>>15 ulelong >0 \b, %d cylinders
239 >>>>128 indirect x \b; contains
241 # added by Joerg Jenderek at Nov 2012
242 # http://www.thenakedpc.com/articles/v04/08/0408-05.html
243 # Symantec (Peter Norton) Image.dat file consists of variable header, bootrecord, part of FAT and root directory data
244 0 string PNCIHISK\0 Norton Utilities disc image data
245 # real x86 boot sector with jump instruction
246 >509 search/1026 \x55\xAA\xeb
247 >>&-1 indirect x \b; contains
248 # http://file-extension.net/seeker/file_extension_dat
249 0 string PNCIUNDO Norton Disk Doctor UnDo file
252 # DOS/MBR boot sector updated by Joerg Jenderek at Sep 2007,May 2011,2013
253 # for any allowed sector sizes
254 30 search/481 \x55\xAA
255 # to display DOS/MBR boot sector (40) before old one (strength=50+21),Syslinux bootloader (71),SYSLINUX MBR (37+36),NetBSD mbr (110),AdvanceMAME mbr (111)
256 # DOS BPB information (70) and after DOS floppy (120) like in previous file version
258 # for sector sizes < 512 Bytes
260 >>(11.s-2) uleshort 0xAA55 DOS/MBR boot sector
261 # for sector sizes with 512 or more Bytes
262 >0x1FE leshort 0xAA55 DOS/MBR boot sector
264 # keep old DOS/MBR boot sector as dummy for mbr and bootloader displaying
265 # only for sector sizes with 512 or more Bytes
266 0x1FE leshort 0xAA55 DOS/MBR boot sector
268 # to display information (50) before DOS BPB (strength=70) and after DOS floppy (120) like in old file version
270 >2 string OSBS OS/BS MBR
271 # added by Joerg Jenderek at Feb 2013 according to http://thestarman.pcministry.com/asm/mbr/
272 # and http://en.wikipedia.org/wiki/Master_Boot_Record
273 # test for nearly all MS-DOS Master Boot Record initial program loader (IPL) is now done by
274 # characteristic assembler instructions: xor ax,ax;mov ss,ax;mov sp,7c00
275 >0 search/2 \x33\xc0\x8e\xd0\xbc\x00\x7c MS-MBR
276 # Microsoft Windows 95A and early ( http://thestarman.pcministry.com/asm/mbr/STDMBR.htm )
277 # assembler instructions: mov si,sp;push ax;pop es;push ax;pop ds;sti;cld
278 >>8 ubequad 0x8bf45007501ffbfc
279 # http://thestarman.pcministry.com/asm/mbr/200MBR.htm
280 >>>0x16 ubyte 0xF3 \b,DOS 2
281 >>>>219 regex Author\ -\ Author:
282 # found "David Litton" , "A Pehrsson "
283 >>>>>&0 string x "%s"
285 # NEC MS-DOS 3.30 Rev. 3 . See http://thestarman.pcministry.com/asm/mbr/DOS33MBR.htm
286 # assembler instructions: mov di,077c;cmp word ptrl[di],a55a;jnz
287 >>>>0x22 ubequad 0xbf7c07813d5aa575 \b,NEC 3.3
288 # version MS-DOS 3.30 til MS-Windows 95A (WinVer=4.00.1111)
289 >>>>0x22 default x \b,D0S version 3.3-7.0
290 # error messages are printed by assembler instructions: mov si,06nn;...;int 10 (0xBEnn06;...)
291 # where nn is string offset varying for different languages
292 # "Invalid partition table" nn=0x8b for english version
293 >>>>>(0x49.b) string Invalid\ partition\ table english
294 >>>>>(0x49.b) string Ung\201ltige\ Partitionstabelle german
295 >>>>>(0x49.b) string Table\ de\ partition\ invalide french
296 >>>>>(0x49.b) string Tabela\ de\ parti\207ao\ inv\240lida portuguese
297 >>>>>(0x49.b) string Tabla\ de\ partici\242n\ no\ v\240lida spanish
298 >>>>>(0x49.b) string Tavola\ delle\ partizioni\ non\ valida italian
299 >>>>>0x49 ubyte >0 at offset 0x%x
300 >>>>>>(0x49.b) string >\0 "%s"
301 # "Error loading operating system" nn=0xa3 for english version
302 # "Fehler beim Laden des Betriebssystems" nn=0xa7 for german version
303 # "Erreur en chargeant syst\212me d'exploitation" nn=0xa7 for french version
304 # "Erro na inicializa\207ao do sistema operacional" nn=0xa7 for portuguese Brazilian version
305 # "Error al cargar sistema operativo" nn=0xa8 for spanish version
306 # "Errore durante il caricamento del sistema operativo" nn=0xae for italian version
307 >>>>>0x74 ubyte >0 at offset 0x%x
308 >>>>>>(0x74.b) string >\0 "%s"
309 # "Missing operating system" nn=0xc2 for english version
310 # "Betriebssystem fehlt" nn=0xcd for german version
311 # "Syst\212me d'exploitation absent" nn=0xd2 for french version
312 # "Sistema operacional nao encontrado" nn=0xd4 for portuguese Brazilian version
313 # "Falta sistema operativo" nn=0xca for spanish version
314 # "Sistema operativo mancante" nn=0xe2 for italian version
315 >>>>>0x79 ubyte >0 at offset 0x%x
316 >>>>>>(0x79.b) string >\0 "%s"
317 # Microsoft Windows 95B to XP (http://thestarman.pcministry.com/asm/mbr/95BMEMBR.htm)
318 # assembler instructions: push ax;pop es;push ax;pop ds;cld;mov si,7c1b
319 >>8 ubequad 0x5007501ffcbe1b7c
320 # assembler instructions: rep;movsb;retf;mov si,07be;mov cl,04
321 >>>24 ubequad 0xf3a4cbbebe07b104 9M
322 # "Invalid partition table" nn=0x10F for english version
323 # "Ung\201ltige Partitionstabelle" nn=0x10F for german version
324 # "Table de partition erron\202e" nn=0x10F for french version
325 # "\216\257\245\340\240\346\250\256\255\255\240\357 \341\250\341\342\245\254\240 \255\245 \255\240\251\244\245\255\240" nn=0x10F for russian version
326 >>>>(0x3C.b+0x0FF) string Invalid\ partition\ table english
327 >>>>(0x3C.b+0x0FF) string Ung\201ltige\ Partitionstabelle german
328 >>>>(0x3C.b+0x0FF) string Table\ de\ partition\ erron\202e french
329 >>>>(0x3C.b+0x0FF) string \215\245\257\340\240\242\250\253\354\255\240\357\ \342\240\241\253\250\346\240 russian
330 >>>>0x3C ubyte x at offset 0x%x+0xFF
331 >>>>(0x3C.b+0x0FF) string >\0 "%s"
332 # "Error loading operating system" nn=0x127 for english version
333 # "Fehler beim Laden des Betriebssystems" nn=0x12b for german version
334 # "Erreur lors du chargement du syst\212me d'exploitation" nn=0x12a for french version
335 # "\216\350\250\241\252\240 \257\340\250 \247\240\243\340\343\247\252\245 \256\257\245\340\240\346\250\256\255\255\256\251 \341\250\341\342\245\254\353" nn=0x12d for russian version
336 >>>>0xBD ubyte x at offset 0x1%x
337 >>>>(0xBD.b+0x100) string >\0 "%s"
338 # "Missing operating system" nn=0x146 for english version
339 # "Betriebssystem fehlt" nn=0x151 for german version
340 # "Syst\212me d'exploitation manquant" nn=0x15e for french version
341 # "\216\257\245\340\240\346\250\256\255\255\240\357 \341\250\341\342\245\254\240 \255\245 \255\240\251\244\245\255\240" nn=0x156 for russian version
342 >>>>0xA9 ubyte x at offset 0x1%x
343 >>>>(0xA9.b+0x100) string >\0 "%s"
344 # http://thestarman.pcministry.com/asm/mbr/Win2kmbr.htm
345 # assembler instructions: rep;movsb;retf;mov BP,07be;mov cl,04
346 >>>24 ubequad 0xf3a4cbbdbe07b104 XP
347 # where xxyyzz are lower bits from offsets of error messages varying for different languages
348 >>>>0x1B4 ubelong&0x00FFFFFF 0x002c4463 english
349 >>>>0x1B4 ubelong&0x00FFFFFF 0x002c486e german
350 # "Invalid partition table" xx=0x12C for english version
351 # "Ung\201ltige Partitionstabelle" xx=0x12C for german version
352 >>>>0x1b5 ubyte >0 at offset 0x1%x
353 >>>>(0x1b5.b+0x100) string >\0 "%s"
354 # "Error loading operating system" yy=0x144 for english version
355 # "Fehler beim Laden des Betriebssystems" yy=0x148 for german version
356 >>>>0x1b6 ubyte >0 at offset 0x1%x
357 >>>>(0x1b6.b+0x100) string >\0 "%s"
358 # "Missing operating system" zz=0x163 for english version
359 # "Betriebssystem nicht vorhanden" zz=0x16e for german version
360 >>>>0x1b7 ubyte >0 at offset 0x1%x
361 >>>>(0x1b7.b+0x100) string >\0 "%s"
362 # Microsoft Windows Vista or 7
363 # assembler instructions: ..;mov ds,ax;mov si,7c00;mov di,..00
364 >>8 ubequad 0xc08ed8be007cbf00
365 # Microsoft Windows Vista (http://thestarman.pcministry.com/asm/mbr/VistaMBR.htm)
366 # assembler instructions: jnz 0729;cmp ebx,"TCPA"
367 >>>0xEC ubequad 0x753b6681fb544350 Vista
368 # where xxyyzz are lower bits from offsets of error messages varying for different languages
369 >>>>0x1B4 ubelong&0x00FFFFFF 0x00627a99 english
370 #>>>>0x1B4 ubelong&0x00FFFFFF ? german
371 # "Invalid partition table" xx=0x162 for english version
372 # "Ung\201ltige Partitionstabelle" xx=0x1?? for german version
373 >>>>0x1b5 ubyte >0 at offset 0x1%x
374 >>>>(0x1b5.b+0x100) string >\0 "%s"
375 # "Error loading operating system" yy=0x17a for english version
376 # "Fehler beim Laden des Betriebssystems" yy= 0x1?? for german version
377 >>>>0x1b6 ubyte >0 at offset 0x1%x
378 >>>>(0x1b6.b+0x100) string >\0 "%s"
379 # "Missing operating system" zz=0x199 for english version
380 # "Betriebssystem nicht vorhanden" zz=0x1?? for german version
381 >>>>0x1b7 ubyte >0 at offset 0x1%x
382 >>>>(0x1b7.b+0x100) string >\0 "%s"
383 # Microsoft Windows 7 (http://thestarman.pcministry.com/asm/mbr/W7MBR.htm)
384 # assembler instructions: cmp ebx,"TCPA";cmp
385 >>>0xEC ubequad 0x6681fb5443504175 Windows 7
386 # where xxyyzz are lower bits from offsets of error messages varying for different languages
387 >>>>0x1B4 ubelong&0x00FFFFFF 0x00637b9a english
388 #>>>>0x1B4 ubelong&0x00FFFFFF ? german
389 # "Invalid partition table" xx=0x163 for english version
390 # "Ung\201ltige Partitionstabelle" xx=0x1?? for german version
391 >>>>0x1b5 ubyte >0 at offset 0x1%x
392 >>>>(0x1b5.b+0x100) string >\0 "%s"
393 # "Error loading operating system" yy=0x17b for english version
394 # "Fehler beim Laden des Betriebssystems" yy=0x1?? for german version
395 >>>>0x1b6 ubyte >0 at offset 0x1%x
396 >>>>(0x1b6.b+0x100) string >\0 "%s"
397 # "Missing operating system" zz=0x19a for english version
398 # "Betriebssystem nicht vorhanden" zz=0x1?? for german version
399 >>>>0x1b7 ubyte >0 at offset 0x1%x
400 >>>>(0x1b7.b+0x100) string >\0 "%s"
401 # http://thestarman.pcministry.com/asm/mbr/Win2kmbr.htm#DiskSigs
402 # http://en.wikipedia.org/wiki/MBR_disk_signature#ID
403 >>0x1b8 ulelong >0 \b, disk signature 0x%-.4x
404 # driveID/timestamp for Win 95B,98,98SE and ME. See http://thestarman.pcministry.com/asm/mbr/mystery.htm
406 >>>0xDC ulelong >0 \b, created
407 # physical drive number (0x80-0xFF) when the Windows wrote that byte to the drive
408 >>>>0xDC ubyte x with driveID 0x%x
409 # hours, minutes and seconds
410 >>>>0xDf ubyte x at %x
411 >>>>0xDe ubyte x \b:%x
412 >>>>0xDd ubyte x \b:%x
413 # special case for Microsoft MS-DOS 3.21 spanish
414 # assembler instructions: cli;mov $0x30,%ax;mov %ax,%ss;mov
415 >0 ubequad 0xfab830008ed0bc00
416 # assembler instructions: $0x1f00,%sp;mov $0x80cb,%di;add %cl,(%bx,%si);in (%dx),%ax;mov
417 >>8 ubequad 0x1fbfcb800008ed8 MS-MBR,D0S version 3.21 spanish
418 # Microsoft MBR IPL end
420 # dr-dos with some upper-, lowercase variants
421 >0x9D string Invalid\ partition\ table$
422 >>181 string No\ Operating\ System$
423 >>>201 string Operating\ System\ load\ error$ \b, DR-DOS MBR, Version 7.01 to 7.03
424 >0x9D string Invalid\ partition\ table$
425 >>181 string No\ operating\ system$
426 >>>201 string Operating\ system\ load\ error$ \b, DR-DOS MBR, Version 7.01 to 7.03
427 >342 string Invalid\ partition\ table$
428 >>366 string No\ operating\ system$
429 >>>386 string Operating\ system\ load\ error$ \b, DR-DOS MBR, version 7.01 to 7.03
431 >>302 string Bad\ PT\ $
432 >>>310 string No\ OS\ $
433 >>>>317 string OS\ load\ err$
434 >>>>>329 string Moved\ or\ missing\ IBMBIO.LDR\n\r
435 >>>>>>358 string Press\ any\ key\ to\ continue.\n\r$
436 >>>>>>>387 string Copyright\ (c)\ 1984,1998
437 >>>>>>>>411 string Caldera\ Inc.\0 \b, DR-DOS MBR (IBMBIO.LDR)
439 # tests for different MS-DOS Master Boot Records (MBR) moved and merged
441 #>0x145 string Default:\ F \b, FREE-DOS MBR
442 #>0x14B string Default:\ F \b, FREE-DOS 1.0 MBR
443 >0x145 search/7 Default:\ F \b, FREE-DOS MBR
444 #>>313 string F0\ .\ .\ .
445 #>>>322 string disk\ 1
447 >64 string no\ active\ partition\ found
448 >>96 string read\ error\ while\ reading\ drive \b, FREE-DOS Beta 0.9 MBR
449 # Ranish Partition Manager http://www.ranish.com/part/
450 >387 search/4 \0\ Error!\r
451 >>378 search/7 Virus!
452 >>>397 search/4 Booting\
453 >>>>408 search/4 HD1/\0 \b, Ranish MBR (
454 >>>>>416 string Writing\ changes... \b2.37
455 >>>>>>438 ubyte x \b,0x%x dots
456 >>>>>>440 ubyte >0 \b,virus check
457 >>>>>>441 ubyte >0 \b,partition %c
459 >>>>>416 string !Writing\ changes... \b
460 >>>>>>418 ubyte 1 \bvirus check,
461 >>>>>>419 ubyte x \b0x%x seconds
462 >>>>>>420 ubyte&0x0F >0 \b,partition
463 >>>>>>>420 ubyte&0x0F <5 \b %x
464 >>>>>>>420 ubyte&0x0F 0Xf \b ask
468 # http://www.acronis.de/
469 >362 string MBR\ Error\ \0\r
470 >>376 string ress\ any\ key\ to\
471 >>>392 string boot\ from\ floppy...\0 \b, Acronis MBR
472 # added by Joerg Jenderek
473 # http://www.visopsys.org/
474 # http://partitionlogic.org.uk/
475 >309 string No\ bootable\ partition\ found\r
476 >>339 string I/O\ Error\ reading\ boot\ sector\r \b, Visopsys MBR
477 >349 string No\ bootable\ partition\ found\r
478 >>379 string I/O\ Error\ reading\ boot\ sector\r \b, simple Visopsys MBR
479 # bootloader, bootmanager
481 # label with 11 characters of FAT 12 bit filesystem
482 >>43 string SMART\ BTMGR
483 >>>430 string SBMK\ Bad!\r \b, Smart Boot Manager
484 # OEM-ID not always "SBM"
486 >>>>6 string >\0 \b, version %s
487 >382 string XOSLLOADXCF \b, eXtended Operating System Loader
488 >6 string LILO \b, LInux i386 boot LOader
489 >>120 string LILO \b, version 22.3.4 SuSe
490 >>172 string LILO \b, version 22.5.8 Debian
491 # updated by Joerg Jenderek at Oct 2008
492 # variables according to grub-0.97/stage1/stage1.S or
493 # http://www.gnu.org/software/grub/manual/grub.html#Embedded-data
494 # usual values are marked with comments to get only informations of strange GRUB loaders
495 >342 search/60 \0Geom\0
496 #>0 ulelong x %x=0x009048EB , 0x2a9048EB 0
498 >>>0x3E ubyte >2 \b; GRand Unified Bootloader
499 # 0x3 for 0.5.95,0.93,0.94,0.96 0x4 for 1.90
500 >>>>0x3E ubyte x \b, stage1 version 0x%x
501 #If it is 0xFF, use a drive passed by BIOS
502 >>>>0x40 ubyte <0xFF \b, boot drive 0x%x
503 # in most case 0,1,0x2e for GRUB 0.5.95
504 >>>>0x41 ubyte >0 \b, LBA flag 0x%x
505 >>>>0x42 uleshort <0x8000 \b, stage2 address 0x%x
506 #>>>>0x42 uleshort =0x8000 \b, stage2 address 0x%x (usual)
507 >>>>0x42 uleshort >0x8000 \b, stage2 address 0x%x
508 #>>>>0x44 ulelong =1 \b, 1st sector stage2 0x%x (default)
509 >>>>0x44 ulelong >1 \b, 1st sector stage2 0x%x
510 >>>>0x48 uleshort <0x800 \b, stage2 segment 0x%x
511 #>>>>0x48 uleshort =0x800 \b, stage2 segment 0x%x (usual)
512 >>>>0x48 uleshort >0x800 \b, stage2 segment 0x%x
513 >>>>402 string Geom\0Hard\ Disk\0Read\0\ Error\0
514 >>>>>394 string stage1 \b, GRUB version 0.5.95
515 >>>>382 string Geom\0Hard\ Disk\0Read\0\ Error\0
516 >>>>>376 string GRUB\ \0 \b, GRUB version 0.93 or 1.94
517 >>>>383 string Geom\0Hard\ Disk\0Read\0\ Error\0
518 >>>>>377 string GRUB\ \0 \b, GRUB version 0.94
519 >>>>385 string Geom\0Hard\ Disk\0Read\0\ Error\0
520 >>>>>379 string GRUB\ \0 \b, GRUB version 0.95 or 0.96
521 >>>>391 string Geom\0Hard\ Disk\0Read\0\ Error\0
522 >>>>>385 string GRUB\ \0 \b, GRUB version 0.97
524 >>>343 string Geom\0Read\0\ Error\0
525 >>>>321 string Loading\ stage1.5 \b, GRUB version x.y
526 >>>380 string Geom\0Hard\ Disk\0Read\0\ Error\0
527 >>>>374 string GRUB\ \0 \b, GRUB version n.m
528 # SYSLINUX bootloader moved
529 >395 string chksum\0\ ERROR!\0 \b, Gujin bootloader
530 # http://www.bcdwb.de/bcdw/index_e.htm
532 >>498 string BCDL\ \ \ \ BIN \b, Bootable CD Loader (1.50Z)
533 # mbr partition table entries updated by Joerg Jenderek at Sep 2013
534 # skip Norton Utilities disc image data
536 # skip Linux style boot sector starting with assember instructions mov 0x7c0,ax;
537 >>0 belong !0xb8c0078e
541 >>>>422 string !Be\ Boot\ Loader
542 >>>>>32769 string CD001
544 # jump over BPB instruction implies DOS bootsector or AdvanceMAME mbr
545 >>>>>0 ubelong&0xFD000000 =0xE9000000
547 >>>>>>(1.b+2) ubequad 0xfa31c08ed88ec08e
548 >>>>>>>446 use partition-table
549 # mbr, Norton Utilities disc image data, or 2nd,etc. sector of x86 bootloader
550 >>>>>0 ubelong&0xFD000000 !0xE9000000
553 # skip 3rd sector of MS x86 bootloader with assember instructions cli;MOVZX EAX,BYTE PTR [BP+10];MOV ECX,
554 # http://thestarman.pcministry.com/asm/mbr/MSWIN41.htm
555 >>>>>>>0 ubequad !0xfa660fb64610668b
556 # skip 13rd sector of MS x86 bootloader
557 >>>>>>>>0 ubequad !0x660fb64610668b4e
558 # skip sector starting with DOS new line
559 >>>>>>>>>0 string !\r\n
560 # allowed active flag 0,80h-FFh
561 >>>>>>>>>>446 ubyte 0
562 >>>>>>>>>>>446 use partition-table
563 >>>>>>>>>>446 ubyte >0x7F
564 >>>>>>>>>>>446 use partition-table
565 # TODO: test for extended bootrecord (ebr) moved and merged with mbr partition table entries
566 # mbr partition table entries end
567 # http://www.acronis.de/
568 #FAT label=ACRONIS\ SZ
570 >442 string Non-system\ disk,\
571 >>459 string press\ any\ key...\x7\0 \b, Acronis Startup Recovery Loader
572 # updated by Joerg Jenderek at Nov 2012, Sep 2013
573 # DOS names like F11.SYS or BOOTWIZ.SYS are 8 right space padded bytes+3 bytes
576 >>>477 use DOS-filename
578 >185 string FDBOOT\ Version\
579 >>204 string \rNo\ Systemdisk.\
580 >>>220 string Booting\ from\ harddisk.\n\r
581 >>>245 string Cannot\ load\ from\ harddisk.\n\r
582 >>>>273 string Insert\ Systemdisk\
583 >>>>>291 string and\ press\ any\ key.\n\r \b, FDBOOT harddisk Bootloader
584 >>>>>>200 string >\0 \b, version %-3s
585 >242 string Bootsector\ from\ C.H.\ Hochst\204
586 # http://freecode.com/projects/dosfstools dosfstools-n.m/src/mkdosfs.c
587 # updated by Joerg Jenderek at Nov 2012. Use search directive with offset instead of string
588 # skip name "C.H. Hochstaetter" partly because it is sometimes written without umlaut
589 >242 search/127 Bootsector\ from\ C.H.\ Hochst
590 >>278 search/127 No\ Systemdisk.\ Booting\ from\ harddisk
591 # followed by variants with point,CR-NL or NL-CR
592 >>>208 search/261 Cannot\ load\ from\ harddisk.
593 # followed by variants CR-NL or NL-CR
594 >>>>236 search/235 Insert\ Systemdisk\ and\ press\ any\ key.
595 # followed by variants with point,CR-NL or NL-CR
596 >>>>>180 search/96 Disk\ formatted\ with\ WinImage\ \b, WinImage harddisk Bootloader
597 # followed by string like "6.50 (c) 1993-2004 Gilles Vollant"
598 >>>>>>&0 string x \b, version %-4.4s
601 >>>(1.b+4) ubyte 0xbe
602 # message offset found at (1.b+5) is 0x77 for FAT32 or 0x5b for others
603 >>>>(1.b+5) ubyte&0xd3 0x53
604 >>>>>(1.b+6) ubyte 0x7c
605 # assembler instructions: lodsb;and al,al;jz 0xb;push si;mov ah,
606 >>>>>>(1.b+7) ubyte 0xac
607 >>>>>>>(1.b+8) ubyte 0x22
608 >>>>>>>>(1.b+9) ubyte 0xc0
609 >>>>>>>>>(1.b+10) ubyte 0x74
610 >>>>>>>>>>(1.b+11) ubyte 0x0b
611 >>>>>>>>>>>(1.b+12) ubyte 0x56
612 >>>>>>>>>>>>(1.b+13) ubyte 0xb4 \b, mkdosfs boot message display
614 >>>>>>>>>>>>>(1.b+5) ubyte 0x5b
615 >>>>>>>>>>>>>>0x5b string >\0 "%-s"
617 >>>>>>>>>>>>>(1.b+5) ubyte 0x77
618 >>>>>>>>>>>>>>0x77 string >\0 "%-s"
619 >214 string Please\ try\ to\ install\ FreeDOS\ \b, DOS Emulator boot message display
620 #>>244 string from\ dosemu-freedos-*-bin.tgz\r
621 #>>>170 string Sorry,\ could\ not\ load\ an\
622 #>>>>195 string operating\ system.\r\n
624 >103 string This\ is\ not\ a\ bootable\ disk.\
625 >>132 string Please\ insert\ a\ bootable\
626 >>>157 string floppy\ and\r\n
627 >>>>169 string press\ any\ key\ to\ try\ again...\r \b, FREE-DOS message display
629 >66 string Solaris\ Boot\ Sector
630 >>99 string Incomplete\ MDBoot\ load.
631 >>>89 string Version \b, Sun Solaris Bootloader
632 >>>>97 byte x version %c
634 >408 string OS/2\ !!\ SYS01475\r\0
635 >>429 string OS/2\ !!\ SYS02025\r\0
636 >>>450 string OS/2\ !!\ SYS02027\r\0
637 >>>469 string OS2BOOT\ \ \ \ \b, IBM OS/2 Warp bootloader
639 >409 string OS/2\ !!\ SYS01475\r\0
640 >>430 string OS/2\ !!\ SYS02025\r\0
641 >>>451 string OS/2\ !!\ SYS02027\r\0
642 >>>470 string OS2BOOT\ \ \ \ \b, IBM OS/2 Warp Bootloader
643 >112 string This\ disk\ is\ not\ bootable\r
644 >>142 string If\ you\ wish\ to\ make\ it\ bootable
645 >>>176 string run\ the\ DOS\ program\ SYS\
646 >>>200 string after\ the\r
647 >>>>216 string system\ has\ been\ loaded\r\n
648 >>>>>242 string Please\ insert\ a\ DOS\ diskette\
649 >>>>>271 string into\r\n\ the\ drive\ and\
650 >>>>>>292 string strike\ any\ key...\0 \b, IBM OS/2 Warp message display
652 >430 string NTLDR\ is\ missing\xFF\r\n
653 >>449 string Disk\ error\xFF\r\n
654 >>>462 string Press\ any\ key\ to\ restart\r \b, Microsoft Windows XP Bootloader
655 # DOS names like NTLDR,CMLDR,$LDR$ are 8 right space padded bytes+3 bytes
656 >>>>417 ubyte&0xDF >0
657 >>>>>417 string x %-.5s
658 >>>>>>422 ubyte&0xDF >0
659 >>>>>>>422 string x \b%-.3s
660 >>>>>425 ubyte&0xDF >0
661 >>>>>>425 string >\ \b.%-.3s
664 >>>>>368 ubyte&0xDF >0
665 >>>>>>368 string x %-.5s
666 >>>>>>>373 ubyte&0xDF >0
667 >>>>>>>>373 string x \b%-.3s
668 >>>>>>376 ubyte&0xDF >0
669 >>>>>>>376 string x \b.%-.3s
671 >430 string NTLDR\ nicht\ gefunden\xFF\r\n
672 >>453 string Datentr\204gerfehler\xFF\r\n
673 >>>473 string Neustart\ mit\ beliebiger\ Taste\r \b, Microsoft Windows XP Bootloader (german)
674 >>>>417 ubyte&0xDF >0
675 >>>>>417 string x %-.5s
676 >>>>>>422 ubyte&0xDF >0
677 >>>>>>>422 string x \b%-.3s
678 >>>>>425 ubyte&0xDF >0
679 >>>>>>425 string >\ \b.%-.3s
682 >>>>>368 ubyte&0xDF >0
683 >>>>>>368 string x %-.5s
684 >>>>>>>373 ubyte&0xDF >0
685 >>>>>>>>373 string x \b%-.3s
687 >430 string NTLDR\ fehlt\xFF\r\n
688 >>444 string Datentr\204gerfehler\xFF\r\n
689 >>>464 string Neustart\ mit\ beliebiger\ Taste\r \b, Microsoft Windows XP Bootloader (2.german)
690 >>>>417 ubyte&0xDF >0
691 >>>>>417 string x %-.5s
692 >>>>>>422 ubyte&0xDF >0
693 >>>>>>>422 string x \b%-.3s
694 >>>>>425 ubyte&0xDF >0
695 >>>>>>425 string >\ \b.%-.3s
698 >>>>>368 ubyte&0xDF >0
699 >>>>>>368 string x %-.5s
700 >>>>>>>373 ubyte&0xDF >0
701 >>>>>>>>373 string x \b%-.3s
702 >>>>>>376 ubyte&0xDF >0
703 >>>>>>>376 string x \b.%-.3s
705 >430 string NTLDR\ fehlt\xFF\r\n
706 >>444 string Medienfehler\xFF\r\n
707 >>>459 string Neustart:\ Taste\ dr\201cken\r \b, Microsoft Windows XP Bootloader (3.german)
709 >>>>>368 ubyte&0xDF >0
710 >>>>>>368 string x %-.5s
711 >>>>>>>373 ubyte&0xDF >0
712 >>>>>>>>373 string x \b%-.3s
713 >>>>>>376 ubyte&0xDF >0
714 >>>>>>>376 string x \b.%-.3s
716 >>>>417 ubyte&0xDF >0
717 >>>>>417 string x %-.5s
718 >>>>>>422 ubyte&0xDF >0
719 >>>>>>>422 string x \b%-.3s
720 >>>>>425 ubyte&0xDF >0
721 >>>>>>425 string >\ \b.%-.3s
723 >430 string Datentr\204ger\ entfernen\xFF\r\n
724 >>454 string Medienfehler\xFF\r\n
725 >>>469 string Neustart:\ Taste\ dr\201cken\r \b, Microsoft Windows XP Bootloader (4.german)
727 >>>>>368 ubyte&0xDF >0
728 >>>>>>368 string x %-.5s
729 >>>>>>>373 ubyte&0xDF >0
730 >>>>>>>>373 string x \b%-.3s
731 >>>>>>376 ubyte&0xDF >0
732 >>>>>>>376 string x \b.%-.3s
734 >>>>417 ubyte&0xDF >0
735 >>>>>417 string x %-.5s
736 >>>>>>422 ubyte&0xDF >0
737 >>>>>>>422 string x \b%-.3s
738 >>>>>425 ubyte&0xDF >0
739 >>>>>>425 string >\ \b.%-.3s
742 #>3 string NTFS\ \ \ \
743 >389 string Fehler\ beim\ Lesen\
744 >>407 string des\ Datentr\204gers
745 >>>426 string NTLDR\ fehlt
746 >>>>440 string NTLDR\ ist\ komprimiert
747 >>>>>464 string Neustart\ mit\ Strg+Alt+Entf\r \b, Microsoft Windows XP Bootloader NTFS (german)
748 #>3 string NTFS\ \ \ \
749 >313 string A\ disk\ read\ error\ occurred.\r
750 >>345 string A\ kernel\ file\ is\ missing\
751 >>>370 string from\ the\ disk.\r
752 >>>>484 string NTLDR\ is\ compressed
753 >>>>>429 string Insert\ a\ system\ diskette\
754 >>>>>>454 string and\ restart\r\nthe\ system.\r \b, Microsoft Windows XP Bootloader NTFS
755 # DOS loader variants different languages,offsets
757 >>389 string Invalid\ system\ disk\xFF\r\n
758 >>>411 string Disk\ I/O\ error
759 >>>>428 string Replace\ the\ disk,\ and\
760 >>>>>455 string press\ any\ key \b, Microsoft Windows 98 Bootloader
762 >>>>>>472 ubyte&0xDF >0
763 >>>>>>>472 string x \b %-.2s
764 >>>>>>>>474 ubyte&0xDF >0
765 >>>>>>>>>474 string x \b%-.5s
766 >>>>>>>>>>479 ubyte&0xDF >0
767 >>>>>>>>>>>479 string x \b%-.1s
768 >>>>>>>480 ubyte&0xDF >0
769 >>>>>>>>480 string x \b.%-.3s
771 >>>>>>>483 ubyte&0xDF >0 \b+
772 >>>>>>>>483 string x \b%-.5s
773 >>>>>>>>>488 ubyte&0xDF >0
774 >>>>>>>>>>488 string x \b%-.3s
775 >>>>>>>>491 ubyte&0xDF >0
776 >>>>>>>>>491 string x \b.%-.3s
778 >>390 string Invalid\ system\ disk\xFF\r\n
779 >>>412 string Disk\ I/O\ error\xFF\r\n
780 >>>>429 string Replace\ the\ disk,\ and\
781 >>>>>451 string then\ press\ any\ key\r \b, Microsoft Windows 98 Bootloader
782 >>388 string Ungueltiges\ System\ \xFF\r\n
783 >>>410 string E/A-Fehler\ \ \ \ \xFF\r\n
784 >>>>427 string Datentraeger\ wechseln\ und\
785 >>>>>453 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (german)
786 #WINBOOT.SYS only not spaces (0xDF)
787 >>>>>>497 ubyte&0xDF >0
788 >>>>>>>497 string x %-.5s
789 >>>>>>>>502 ubyte&0xDF >0
790 >>>>>>>>>502 string x \b%-.1s
791 >>>>>>>>>>503 ubyte&0xDF >0
792 >>>>>>>>>>>503 string x \b%-.1s
793 >>>>>>>>>>>>504 ubyte&0xDF >0
794 >>>>>>>>>>>>>504 string x \b%-.1s
795 >>>>>>505 ubyte&0xDF >0
796 >>>>>>>505 string x \b.%-.3s
798 >>>>>>472 ubyte&0xDF >0 or
799 >>>>>>>472 string x \b %-.2s
800 >>>>>>>>474 ubyte&0xDF >0
801 >>>>>>>>>474 string x \b%-.5s
802 >>>>>>>>>>479 ubyte&0xDF >0
803 >>>>>>>>>>>479 string x \b%-.1s
804 >>>>>>>480 ubyte&0xDF >0
805 >>>>>>>>480 string x \b.%-.3s
807 >>>>>>>483 ubyte&0xDF >0 \b+
808 >>>>>>>>483 string x \b%-.5s
809 >>>>>>>>>488 ubyte&0xDF >0
810 >>>>>>>>>>488 string x \b%-.3s
811 >>>>>>>>491 ubyte&0xDF >0
812 >>>>>>>>>491 string x \b.%-.3s
814 >>390 string Ungueltiges\ System\ \xFF\r\n
815 >>>412 string E/A-Fehler\ \ \ \ \xFF\r\n
816 >>>>429 string Datentraeger\ wechseln\ und\
817 >>>>>455 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (German)
818 #WINBOOT.SYS only not spaces (0xDF)
819 >>>>>>497 ubyte&0xDF >0
820 >>>>>>>497 string x %-.7s
821 >>>>>>>>504 ubyte&0xDF >0
822 >>>>>>>>>504 string x \b%-.1s
823 >>>>>>505 ubyte&0xDF >0
824 >>>>>>>505 string x \b.%-.3s
826 >>>>>>472 ubyte&0xDF >0 or
827 >>>>>>>472 string x \b %-.2s
828 >>>>>>>>474 ubyte&0xDF >0
829 >>>>>>>>>474 string x \b%-.6s
830 >>>>>>>480 ubyte&0xDF >0
831 >>>>>>>>480 string x \b.%-.3s
833 >>>>>>>483 ubyte&0xDF >0 \b+
834 >>>>>>>>483 string x \b%-.5s
835 >>>>>>>>>488 ubyte&0xDF >0
836 >>>>>>>>>>488 string x \b%-.3s
837 >>>>>>>>491 ubyte&0xDF >0
838 >>>>>>>>>491 string x \b.%-.3s
840 >>389 string Ungueltiges\ System\ \xFF\r\n
841 >>>411 string E/A-Fehler\ \ \ \ \xFF\r\n
842 >>>>428 string Datentraeger\ wechseln\ und\
843 >>>>>454 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (GERMAN)
844 # DOS names like IO.SYS,WINBOOT.SYS,MSDOS.SYS,WINBOOT.INI are 8 right space padded bytes+3 bytes
845 >>>>>>472 string x %-.2s
846 >>>>>>>474 ubyte&0xDF >0
847 >>>>>>>>474 string x \b%-.5s
848 >>>>>>>>479 ubyte&0xDF >0
849 >>>>>>>>>479 string x \b%-.1s
850 >>>>>>480 ubyte&0xDF >0
851 >>>>>>>480 string x \b.%-.3s
852 >>>>>>483 ubyte&0xDF >0 \b+
853 >>>>>>>483 string x \b%-.5s
854 >>>>>>>488 ubyte&0xDF >0
855 >>>>>>>>488 string x \b%-.2s
856 >>>>>>>>490 ubyte&0xDF >0
857 >>>>>>>>>490 string x \b%-.1s
858 >>>>>>>491 ubyte&0xDF >0
859 >>>>>>>>491 string x \b.%-.3s
861 >>416 string Kein\ System\ oder\
862 >>>433 string Laufwerksfehler
863 >>>>450 string Wechseln\ und\ Taste\ dr\201cken \b, Microsoft DOS Bootloader (german)
865 >>>>>479 string x \b %-.2s
866 >>>>>>481 ubyte&0xDF >0
867 >>>>>>>481 string x \b%-.6s
868 >>>>>487 ubyte&0xDF >0
869 >>>>>>487 string x \b.%-.3s
871 >>>>>>490 ubyte&0xDF >0 \b+
872 >>>>>>>490 string x \b%-.5s
873 >>>>>>>>495 ubyte&0xDF >0
874 >>>>>>>>>495 string x \b%-.3s
875 >>>>>>>498 ubyte&0xDF >0
876 >>>>>>>>498 string x \b.%-.3s
878 >376 search/41 Non-System\ disk\ or\
879 >>395 search/41 disk\ error\r
880 >>>407 search/41 Replace\ and\
881 >>>>419 search/41 press\ \b,
882 >>>>419 search/41 strike\ \b, old
883 >>>>426 search/41 any\ key\ when\ ready\r MS or PC-DOS bootloader
884 #449 Disk\ Boot\ failure\r MS 3.21
885 #466 Boot\ Failure\r MS 3.30
886 >>>>>468 search/18 \0
888 >>>>>>&0 string x \b %-.2s
889 >>>>>>>&-20 ubyte&0xDF >0
890 >>>>>>>>&-1 string x \b%-.4s
891 >>>>>>>>>&-16 ubyte&0xDF >0
892 >>>>>>>>>>&-1 string x \b%-.2s
893 >>>>>>&8 ubyte&0xDF >0 \b.
894 >>>>>>>&-1 string x \b%-.3s
895 #MSDOS.SYS,IBMDOS.COM
896 >>>>>>&11 ubyte&0xDF >0 \b+
897 >>>>>>>&-1 string x \b%-.5s
898 >>>>>>>>&-6 ubyte&0xDF >0
899 >>>>>>>>>&-1 string x \b%-.1s
900 >>>>>>>>>>&-5 ubyte&0xDF >0
901 >>>>>>>>>>>&-1 string x \b%-.2s
902 >>>>>>>&7 ubyte&0xDF >0 \b.
903 >>>>>>>>&-1 string x \b%-.3s
904 >441 string Cannot\ load\ from\ harddisk.\n\r
905 >>469 string Insert\ Systemdisk\
906 >>>487 string and\ press\ any\ key.\n\r \b, MS (2.11) DOS bootloader
907 #>43 string \224R-LOADER\ \ SYS =label
910 >>>495 string NEWLDR\0 \b, DR-DOS Bootloader (LOADER.SYS)
912 >98 string Press\ a\ key\ to\ retry\0\r
913 >>120 string Cannot\ find\ file\ \0\r
914 >>>139 string Disk\ read\ error\0\r
915 >>>>156 string Loading\ ...\0 \b, DR-DOS (3.41) Bootloader
917 >>>>>44 ubyte&0xDF >0
918 >>>>>>44 string x \b %-.6s
919 >>>>>>>50 ubyte&0xDF >0
920 >>>>>>>>50 string x \b%-.2s
921 >>>>>>52 ubyte&0xDF >0
922 >>>>>>>52 string x \b.%-.3s
924 >70 string IBMBIO\ \ COM
925 >>472 string Cannot\ load\ DOS!\
926 >>>489 string Any\ key\ to\ retry \b, DR-DOS Bootloader
927 >>471 string Cannot\ load\ DOS\
928 >>487 string press\ key\ to\ retry \b, Open-DOS Bootloader
930 >444 string KERNEL\ \ SYS
931 >>314 string BOOT\ error! \b, FREE-DOS Bootloader
932 >499 string KERNEL\ \ SYS
933 >>305 string BOOT\ err!\0 \b, Free-DOS Bootloader
934 >449 string KERNEL\ \ SYS
935 >>319 string BOOT\ error! \b, FREE-DOS 0.5 Bootloader
937 >449 string Loading\ FreeDOS
938 >>0x1AF ulelong >0 \b, FREE-DOS 0.95,1.0 Bootloader
940 >>>>497 string x \b %-.6s
941 >>>>>503 ubyte&0xDF >0
942 >>>>>>503 string x \b%-.1s
943 >>>>>>>504 ubyte&0xDF >0
944 >>>>>>>>504 string x \b%-.1s
945 >>>>505 ubyte&0xDF >0
946 >>>>>505 string x \b.%-.3s
948 >331 string Error!.0 \b, FREE-DOS 1.0 bootloader
950 >125 string Loading\ FreeDOS...\r
951 >>311 string BOOT\ error!\r \b, FREE-DOS bootloader
953 >>>>441 string x \b %-.6s
954 >>>>>447 ubyte&0xDF >0
955 >>>>>>447 string x \b%-.1s
956 >>>>>>>448 ubyte&0xDF >0
957 >>>>>>>>448 string x \b%-.1s
958 >>>>449 ubyte&0xDF >0
959 >>>>>449 string x \b.%-.3s
960 >124 string FreeDOS\0
961 >>331 string \ err\0 \b, FREE-DOS BETa 0.9 Bootloader
962 # DOS names like KERNEL.SYS,KERNEL16.SYS,KERNEL32.SYS,METAKERN.SYS are 8 right space padded bytes+3 bytes
964 >>>>497 string x \b %-.6s
965 >>>>>503 ubyte&0xDF >0
966 >>>>>>503 string x \b%-.1s
967 >>>>>>>504 ubyte&0xDF >0
968 >>>>>>>>504 string x \b%-.1s
969 >>>>505 ubyte&0xDF >0
970 >>>>>505 string x \b.%-.3s
971 >>333 string \ err\0 \b, FREE-DOS BEta 0.9 Bootloader
973 >>>>497 string x \b %-.6s
974 >>>>>503 ubyte&0xDF >0
975 >>>>>>503 string x \b%-.1s
976 >>>>>>>504 ubyte&0xDF >0
977 >>>>>>>>504 string x \b%-.1s
978 >>>>505 ubyte&0xDF >0
979 >>>>>505 string x \b.%-.3s
980 >>334 string \ err\0 \b, FREE-DOS Beta 0.9 Bootloader
982 >>>>497 string x \b %-.6s
983 >>>>>503 ubyte&0xDF >0
984 >>>>>>503 string x \b%-.1s
985 >>>>>>>504 ubyte&0xDF >0
986 >>>>>>>>504 string x \b%-.1s
987 >>>>505 ubyte&0xDF >0
988 >>>>>505 string x \b.%-.3s
990 >>343 string Hit\ a\ key\ to\ reboot. \b, FREE-DOS Beta 0.9sr1 Bootloader
992 >>>>497 string x \b %-.6s
993 >>>>>503 ubyte&0xDF >0
994 >>>>>>503 string x \b%-.1s
995 >>>>>>>504 ubyte&0xDF >0
996 >>>>>>>>504 string x \b%-.1s
997 >>>>505 ubyte&0xDF >0
998 >>>>>505 string x \b.%-.3s
999 # added by Joerg Jenderek
1000 # http://www.visopsys.org/
1001 # http://partitionlogic.org.uk/
1004 >>(1.b+326) string I/O\ Error\ reading\
1005 >>>(1.b+344) string Visopsys\ loader\r
1006 >>>>(1.b+361) string Press\ any\ key\ to\ continue.\r \b, Visopsys loader
1007 # http://alexfru.chat.ru/epm.html#bootprog
1011 #OEM-ID is not reliable
1012 >>>>3 string BootProg
1013 # It just looks for a program file name at the root directory
1014 # and loads corresponding file with following execution.
1015 # DOS names like STARTUP.BIN,STARTUPC.COM,STARTUPE.EXE are 8 right space padded bytes+3 bytes
1016 >>>>499 ubyte&0xDF >0 \b, COM/EXE Bootloader
1017 >>>>>499 use DOS-filename
1018 #If the boot sector fails to read any other sector,
1019 #it prints a very short message ("RE") to the screen and hangs the computer.
1020 #If the boot sector fails to find needed program in the root directory,
1021 #it also hangs with another message ("NF").
1022 >>>>>492 string RENF \b, FAT (12 bit)
1023 >>>>>495 string RENF \b, FAT (16 bit)
1024 #If the boot sector fails to read any other sector,
1025 #it prints a very short message ("RE") to the screen and hangs the computer.
1026 # x86 bootloader end
1028 # added by Joerg Jenderek at Feb 2013 according to http://thestarman.pcministry.com/asm/mbr/MSWIN41.htm#FSINFO
1029 # and http://en.wikipedia.org/wiki/File_Allocation_Table#FS_Information_Sector
1031 >>0x1E4 string rrAa \b, FSInfosector
1032 #>>0x1FC uleshort =0 SHOULD BE ZERO
1033 >>>0x1E8 ulelong <0xffffffff \b, %u free clusters
1034 >>>0x1EC ulelong <0xffffffff \b, last allocated cluster %u
1036 # updated by Joerg Jenderek at Sep 2007
1040 # partition 1 not empty
1042 # partitions 3,4 empty
1045 # partition 2 ID=0,5,15
1046 >>>>>>466 ubyte <0x10
1047 >>>>>>>466 ubyte 0x05 \b, extended partition table
1048 >>>>>>>466 ubyte 0x0F \b, extended partition table (LBA)
1049 >>>>>>>466 ubyte 0x0 \b, extended partition table (last)
1051 # DOS x86 sector separated and moved from "DOS/MBR boot sector" by Joerg Jenderek at May 2011
1053 >0x200 lelong 0x82564557 \b, BSD disklabel
1055 # by Joerg Jenderek at Apr 2013
1056 # Print the DOS filenames from directory entry form with 8 right space padded bytes + 3 bytes for extension
1057 # like IO.SYS. MSDOS.SYS , KERNEL.SYS , DRBIO.SYS
1059 # space=0x20 (00100000b) means empty
1064 >>>>>2 ubyte&0xDF >0
1065 >>>>>>2 ubyte x \b%c
1066 >>>>>>>3 ubyte&0xDF >0
1067 >>>>>>>>3 ubyte x \b%c
1068 >>>>>>>>>4 ubyte&0xDF >0
1069 >>>>>>>>>>4 ubyte x \b%c
1070 >>>>>>>>>>>5 ubyte&0xDF >0
1071 >>>>>>>>>>>>5 ubyte x \b%c
1072 >>>>>>>>>>>>>6 ubyte&0xDF >0
1073 >>>>>>>>>>>>>>6 ubyte x \b%c
1074 >>>>>>>>>>>>>>>7 ubyte&0xDF >0
1075 >>>>>>>>>>>>>>>>7 ubyte x \b%c
1076 # DOS filename extension
1077 >>8 ubyte&0xDF >0 \b.
1081 >>>>>>10 ubyte&0xDF >0
1082 >>>>>>>10 ubyte x \b%c
1083 # Print 2 following DOS filenames from directory entry form
1084 # like IO.SYS+MSDOS.SYS or ibmbio.com+ibmdos.com
1085 0 name 2xDOS-filename
1090 >11 use DOS-filename
1092 # http://en.wikipedia.org/wiki/Master_boot_record#PTE
1093 # display standard partition table
1094 0 name partition-table
1095 #>0 ubyte x PARTITION-TABLE
1096 # test and display 1st til 4th partition table entry
1097 >0 use partition-entry-test
1098 >16 use partition-entry-test
1099 >32 use partition-entry-test
1100 >48 use partition-entry-test
1101 # test for entry of partition table
1102 0 name partition-entry-test
1103 # partition type ID > 0
1107 >>>0 use partition-entry
1108 # active flag 0x80, 0x81, ...
1110 >>>0 use partition-entry
1111 # Print entry of partition table
1112 0 name partition-entry
1113 # partition type ID > 0
1114 >4 ubyte >0 \b; partition
1115 >>64 leshort 0xAA55 1
1116 >>48 leshort 0xAA55 2
1117 >>32 leshort 0xAA55 3
1118 >>16 leshort 0xAA55 4
1119 >>4 ubyte x : ID=0x%x
1120 >>0 ubyte&0x80 0x80 \b, active
1121 >>0 ubyte >0x80 0x%x
1122 >>1 ubyte x \b, start-CHS (
1123 >>1 use partition-chs
1124 >>5 ubyte x \b), end-CHS (
1125 >>5 use partition-chs
1126 >>8 ulelong x \b), startsector %u
1127 >>12 ulelong x \b, %u sectors
1128 # Print cylinder,head,sector (CHS) of partition entry
1129 0 name partition-chs
1132 >1 ubyte&0xC0 0x40 \b1
1133 >1 ubyte&0xC0 0x80 \b2
1134 >1 ubyte&0xC0 0xC0 \b3
1139 >1 ubyte&0x3F x \b,%u
1142 0 string FATX FATX filesystem data
1144 # romfs filesystems - Juan Cespedes <cespedes@debian.org>
1145 0 string -rom1fs- romfs filesystem, version 1
1146 >8 belong x %d bytes,
1147 >16 string x named %s.
1149 # netboot image - Juan Cespedes <cespedes@debian.org>
1150 0 lelong 0x1b031336L Netboot image,
1151 >4 lelong&0xFFFFFF00 0
1152 >>4 lelong&0x100 0x000 mode 2
1153 >>4 lelong&0x100 0x100 mode 3
1154 >4 lelong&0xFFFFFF00 !0 unknown mode
1156 0x18b string OS/2 OS/2 Boot Manager
1158 # updated by Joerg Jenderek at Oct 2008 and Sep 2012
1159 # http://syslinux.zytor.com/iso.php
1160 # tested with versions 1.47,1.48,1.49,1.50,1.62,1.76,2.00,2.10;3.00,3.11,3.31,;3.70,3.71,3.73,3.75,3.80,3.82,3.84,3.86,4.01,4.03 and 4.05
1161 # assembler instructions: cli;jmp 0:7Cyy (yy=0x40,0x5e,0x6c,0x6e,0x77);nop;nop
1162 0 ulequad&0x909000007cc0eafa 0x909000007c40eafa
1163 >631 search/689 ISOLINUX\ isolinux Loader
1164 >>&0 string x (version %-4.4s)
1165 # http://syslinux.zytor.com/pxe.php
1166 # assembler instructions: jmp 7C05
1167 0 ulelong 0x007c05ea pxelinux loader (version 2.13 or older)
1168 # assembler instructions: pushfd;pushad
1169 0 ulelong 0x60669c66 pxelinux loader
1170 # assembler instructions: jmp 05
1171 0 ulelong 0xc00005ea pxelinux loader (version 3.70 or newer)
1172 # http://syslinux.zytor.com/wiki/index.php/SYSLINUX
1173 0 string LDLINUX\ SYS\ SYSLINUX loader
1174 >12 string x (older version %-4.4s)
1175 0 string \r\nSYSLINUX\ SYSLINUX loader
1176 >11 string x (version %-4.4s)
1177 # syslinux updated and separated from "DOS/MBR boot sector" by Joerg Jenderek at Sep 2012
1178 # assembler instructions: jmp yy (yy=0x3c,0x58);nop;"SYSLINUX"
1179 0 ulelong&0x80909bEB 0x009018EB
1180 # OEM-ID not always "SYSLINUX"
1181 >434 search/47 Boot\ failed
1182 # followed by \r\n\0 or :\
1183 >>482 search/132 \0LDLINUX\ SYS Syslinux bootloader (version 2.13 or older)
1184 >>1 ubyte 0x58 Syslinux bootloader (version 3.0-3.9)
1185 >459 search/30 Boot\ error\r\n\0
1186 >>1 ubyte 0x58 Syslinux bootloader (version 3.10 or newer)
1187 # SYSLINUX MBR updated and separated from "DOS/MBR boot sector" by Joerg Jenderek at Sep 2012
1188 # assembler instructions: mov di,0600h;mov cx,0100h
1189 16 search/4 \xbf\x00\x06\xb9\x00\x01
1190 # to display SYSLINUX MBR (36) before old DOS/MBR boot sector one with partition table (strength=50+21)
1192 >94 search/249 Missing\ operating\ system
1193 # followed by \r for versions older 3.35 , .\r for versions newer 3.52 and point for other
1195 >>408 search/4 HD1/\0
1197 >>>250 search/118 \0Operating\ system\ load SYSLINUX MBR
1198 # followed by "ing " or space
1199 >>>>292 search/98 error
1200 >>>>>&0 string \r (version 3.35 or older)
1201 >>>>>&0 string .\r (version 3.52 or newer)
1202 >>>>>&0 default x (version 3.36-3.51 )
1203 >368 search/106 \0Disk\ error\ on\ boot\r\n SYSLINUX GPT-MBR
1204 >>156 search/10 \0Boot\ partition\ not\ found\r\n
1205 >>>270 search/10 \0OS\ not\ bootable\r\n (version 3.86 or older)
1206 >>174 search/10 \0Missing\ OS\r\n
1207 >>>189 search/10 \0Multiple\ active\ partitions\r\n (version 4.00 or newer)
1210 # NetBSD mbr variants (master-boot-code version 1.22) added by Joerg Jenderek at Nov 2012
1211 # assembler instructions: xor ax,ax;mov ax,ss;mov sp,0x7c00;mov ax,
1212 0 ubequad 0x31c08ed0bc007c8e
1213 # mbr_bootsel magic before partition table not reliable with small ipl fragments
1214 #>444 uleshort 0xb5e1
1217 >>181 search/166 Error\ \0\r\n NetBSD mbr
1218 # NT Drive Serial Number http://thestarman.pcministry.com/asm/mbr/Win2kmbr.htm#DS
1219 >>>0x1B8 ubelong >0 \b,Serial 0x%-.8x
1220 # BOOTSEL definitions contains assembler instructions: int 0x13;pop dx;push dx;push dx
1221 >>>0xbb search/71 \xcd\x13\x5a\x52\x52 \b,bootselector
1222 # BOOT_EXTENDED definitions contains assembler instructions:
1223 # xchg ecx,edx;addl ecx,edx;movw lba_info,si;movb 0x42,ah;pop dx;push dx;int 0x13
1224 >>>0x96 search/1 \x66\x87\xca\x66\x01\xca\x66\x89\x16\x3a\x07\xbe\x32\x07\xb4\x42\x5a\x52\xcd\x13 \b,boot extended
1225 # COM_PORT_VAL definitions contains assembler instructions: outb al,dx;add 5,dl;inb %dx;test 0x40,al
1226 >>>0x130 search/55 \xee\x80\xc2\x05\xec\xa8\x40 \b,serial IO
1228 >>>196 search/106 No\ active\ partition\0
1229 >>>>&0 string Disk\ read\ error\0
1230 >>>>>&0 string No\ operating\ system\0 \b,verbose
1231 # not NO_CHS definitions contains assembler instructions: pop dx;push dx;movb $8,ah;int0x13
1232 >>>0x7d search/7 \x5a\x52\xb4\x08\xcd\x13 \b,CHS
1233 # not NO_LBA_CHECK definitions contains assembler instructions: movw 0x55aa,bx;movb 0x41,ah;pop dx;push dx;int 0x13
1234 >>>0xa4 search/84 \xbb\xaa\x55\xb4\x41\x5a\x52\xcd\x13 \b,LBA-check
1235 # assembler instructions: movw nametab,bx
1236 >>>0x26 search/21 \xBB\x94\x07
1237 # not NO_BANNER definitions contains assembler instructions: mov banner,si;call message_crlf
1238 >>>>&-9 ubequad&0xBE00f0E800febb94 0xBE0000E80000bb94
1239 >>>>>181 search/166 Error\ \0
1240 # "a: disk" , "Fn: diskn" or "NetBSD MBR boot"
1241 >>>>>>&3 string x \b,"%s"
1242 >>>446 use partition-table
1243 # Andrea Mazzoleni AdvanceCD mbr loader of http://advancemame.sourceforge.net/boot-readme.html
1244 # added by Joerg Jenderek at Nov 2012 for versions 1.3 - 1.4
1245 # assembler instructions: jmp short 0x58;nop;ASCII
1246 0 ubequad&0xeb58908000000000 0xeb58900000000000
1247 # assembler instructions: cli;xor ax,ax;mov ds,ax;mov es,ax;mov ss,
1248 >(1.b+2) ubequad 0xfa31c08ed88ec08e
1249 # Error messages at end of code
1250 >>376 string No\ operating\ system\r\n\0
1251 >>>398 string Disk\ error\r\n\0FDD\0HDD\0
1252 >>>>419 string \ EBIOS\r\n\0 AdvanceMAME mbr
1254 # Neil Turton mbr loader variant of http://www.chiark.greenend.org.uk/~neilt/mbr/
1255 # added by Joerg Jenderek at Mar 2011 for versions 1.0.0 - 1.1.11
1256 # for 1st version assembler instructions: cld;xor ax,ax;mov DS,ax;MOV ES,AX;mov SI,
1257 # or cld;xor ax,ax;mov SS,ax;XOR SP,SP;mov DS,
1258 0 ulequad&0xcE1b40D48EC031FC 0x8E0000D08EC031FC
1259 # pointer to the data starting with Neil Turton signature string
1260 >(0x1BC.s) string NDTmbr
1261 >>&-14 string 1234F\0 Turton mbr (
1262 # parameters also viewed by install-mbr --list
1263 >>>(0x1BC.s+7) ubyte x \b%u<=
1264 >>>(0x1BC.s+9) ubyte x \bVersion<=%u
1265 #>>>(0x1BC.s+8) ubyte x asm_flag_%x
1266 >>>(0x1BC.s+8) ubyte&1 1 \b,Y2K-Fix
1267 # variant used by testdisk of http://www.cgsecurity.org/wiki/Menu_MBRCode
1268 >>>(0x1BC.s+8) ubyte&2 2 \b,TestDisk
1269 #0x1~1,..,0x8~4,0x10~F,0x80~A enabled
1270 #>>>(0x1BC.s+10) ubyte x \b,flags 0x%x
1271 #0x0~1,0x1~2,...,0x3~4,0x4~F,0x7~D default boot
1272 #>>>(0x1BC.s+11) ubyte x \b,cfg_def 0x%x
1273 # for older versions
1274 >>>(0x1BC.s+9) ubyte <2
1275 #>>>>(0x1BC.s+12) ubyte 18 \b,%hhu/18 seconds
1276 >>>>(0x1BC.s+12) ubyte !18 \b,%u/18 seconds
1278 >>>>(0x1BC.s+13) ubyte <2 \b,floppy 0x%x
1279 >>>>(0x1BC.s+13) ubyte >1
1281 #>>>>>(0x1BC.s+13) ubyte 0x80 \b,drive 0x%x
1283 >>>>>(0x1BC.s+13) ubyte !0x80 \b,drive 0x%x
1284 # for version >= 2 maximal timeout can be 65534
1285 >>>(0x1BC.s+9) ubyte >1
1286 #>>>>(0x1BC.s+12) uleshort 18 \b,%u/18 seconds
1287 >>>>(0x1BC.s+12) uleshort !18 \b,%u/18 seconds
1289 >>>>(0x1BC.s+14) ubyte <2 \b,floppy 0x%x
1290 >>>>(0x1BC.s+14) ubyte >1
1292 #>>>>>(0x1BC.s+14) ubyte 0x80 \b,drive 0x%x
1294 >>>>>(0x1BC.s+14) ubyte !0x80 \b,drive 0x%x
1297 # added by Joerg Jenderek
1298 # In the second sector (+0x200) are variables according to grub-0.97/stage2/asm.S or
1299 # grub-1.94/kern/i386/pc/startup.S
1300 # http://www.gnu.org/software/grub/manual/grub.html#Embedded-data
1301 # usual values are marked with comments to get only informations of strange GRUB loaders
1302 0x200 uleshort 0x70EA
1303 # found only version 3.{1,2}
1304 >0x206 ubeshort >0x0300
1305 # GRUB version (0.5.)95,0.93,0.94,0.96,0.97 > "00"
1307 >>>0x213 ubyte >0x29
1308 # not iso9660_stage1_5
1309 #>>>0 ulelong&0x00BE5652 0x00BE5652
1310 >>>>0x213 ubyte >0x29 GRand Unified Bootloader
1311 # config_file for stage1_5 is 0xffffffff + default "/boot/grub/stage2"
1312 >>>>0x217 ubyte 0xFF stage1_5
1313 >>>>0x217 ubyte <0xFF stage2
1314 >>>>0x206 ubyte x \b version %u
1315 >>>>0x207 ubyte x \b.%u
1316 # module_size for 1.94
1317 >>>>0x208 ulelong <0xffffff \b, installed partition %u
1318 #>>>>0x208 ulelong =0xffffff \b, %lu (default)
1319 >>>>0x208 ulelong >0xffffff \b, installed partition %u
1320 # GRUB 0.5.95 unofficial
1321 >>>>0x20C ulelong&0x2E300000 0x2E300000
1322 # 0=stage2 1=ffs 2=e2fs 3=fat 4=minix 5=reiserfs
1323 >>>>>0x20C ubyte x \b, identifier 0x%x
1324 #>>>>>0x20D ubyte =0 \b, LBA flag 0x%x (default)
1325 >>>>>0x20D ubyte >0 \b, LBA flag 0x%x
1326 # GRUB version as string
1327 >>>>>0x20E string >\0 \b, GRUB version %-s
1328 # for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default
1329 >>>>>>0x215 ulong 0xffffffff
1330 >>>>>>>0x219 string >\0 \b, configuration file %-s
1331 >>>>>>0x215 ulong !0xffffffff
1332 >>>>>>>0x215 string >\0 \b, configuration file %-s
1333 # newer GRUB versions
1334 >>>>0x20C ulelong&0x2E300000 !0x2E300000
1335 ##>>>>>0x20C ulelong =0 \b, saved entry %d (usual)
1336 >>>>>0x20C ulelong >0 \b, saved entry %d
1337 # for 1.94 contains kernel image size
1338 # for 0.93,0.94,0.96,0.97
1339 # 0=stage2 1=ffs 2=e2fs 3=fat 4=minix 5=reiserfs 6=vstafs 7=jfs 8=xfs 9=iso9660 a=ufs2
1340 >>>>>0x210 ubyte x \b, identifier 0x%x
1341 # The flag for LBA forcing is in most cases 0
1342 #>>>>>0x211 ubyte =0 \b, LBA flag 0x%x (default)
1343 >>>>>0x211 ubyte >0 \b, LBA flag 0x%x
1344 # GRUB version as string
1345 >>>>>0x212 string >\0 \b, GRUB version %-s
1346 # for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default
1347 >>>>>0x217 ulong 0xffffffff
1348 >>>>>>0x21b string >\0 \b, configuration file %-s
1349 >>>>>0x217 ulong !0xffffffff
1350 >>>>>>0x217 string >\0 \b, configuration file %-s
1352 # DOS x86 sector updated and separated from "DOS/MBR boot sector" by Joerg Jenderek at May 2011
1353 # JuMP short bootcodeoffset NOP assembler instructions will usually be EB xx 90
1354 # over BIOS parameter block (BPB)
1355 # http://thestarman.pcministry.com/asm/2bytejumps.htm#FWD
1356 # older drives may use Near JuMP instruction E9 xx xx
1357 # minimal short forward jump found 0x29 for bootloaders or 0x0
1358 # maximal short forward jump is 0x7f
1359 # OEM-ID is empty or contain readable bytes
1360 0 ulelong&0x804000E9 0x000000E9
1362 # mtools-3.9.8/msdos.h
1363 # usual values are marked with comments to get only informations of strange FAT systems
1364 # valid sectorsize must be a power of 2 from 32 to 32768
1365 >11 uleshort&0x001f 0
1366 >>11 uleshort <32769
1368 >>>>21 ubyte&0xf0 0xF0
1369 >>>>>0 ubyte 0xEB DOS/MBR boot sector
1370 >>>>>>1 ubyte x \b, code offset 0x%x+2
1372 >>>>>>1 uleshort x \b, code offset 0x%x+3
1373 >>>>>3 string >\0 \b, OEM-ID "%-.8s"
1374 #http://mirror.href.com/thestarman/asm/debug/debug2.htm#IHC
1375 >>>>>>8 string IHC \b cached by Windows 9M
1376 >>>>>11 uleshort >512 \b, Bytes/sector %u
1377 #>>>>>11 uleshort =512 \b, Bytes/sector %u=512 (usual)
1378 >>>>>11 uleshort <512 \b, Bytes/sector %u
1379 >>>>>13 ubyte >1 \b, sectors/cluster %u
1380 #>>>>>13 ubyte =1 \b, sectors/cluster %u (usual on Floppies)
1381 # for lazy FAT32 implementation like Transcend digital photo frame PF830
1382 >>>>>82 string/c fat32
1383 >>>>>>14 uleshort !32 \b, reserved sectors %u
1384 #>>>>>>14 uleshort =32 \b, reserved sectors %u (usual Fat32)
1385 >>>>>82 string/c !fat32
1386 >>>>>>14 uleshort >1 \b, reserved sectors %u
1387 #>>>>>>14 uleshort =1 \b, reserved sectors %u (usual FAT12,FAT16)
1388 #>>>>>>14 uleshort 0 \b, reserved sectors %u (usual NTFS)
1389 >>>>>16 ubyte >2 \b, FATs %u
1390 #>>>>>16 ubyte =2 \b, FATs %u (usual)
1391 >>>>>16 ubyte =1 \b, FAT %u
1393 >>>>>17 uleshort >0 \b, root entries %u
1394 #>>>>>17 uleshort =0 \b, root entries %hu=0 (usual Fat32)
1395 >>>>>19 uleshort >0 \b, sectors %u (volumes <=32 MB)
1396 #>>>>>19 uleshort =0 \b, sectors %hu=0 (usual Fat32)
1397 >>>>>21 ubyte >0xF0 \b, Media descriptor 0x%x
1398 #>>>>>21 ubyte =0xF0 \b, Media descriptor 0x%x (usual floppy)
1399 >>>>>21 ubyte <0xF0 \b, Media descriptor 0x%x
1400 >>>>>22 uleshort >0 \b, sectors/FAT %u
1401 #>>>>>22 uleshort =0 \b, sectors/FAT %hu=0 (usual Fat32)
1402 >>>>>24 uleshort x \b, sectors/track %u
1403 >>>>>26 ubyte >2 \b, heads %u
1404 #>>>>>26 ubyte =2 \b, heads %u (usual floppy)
1405 >>>>>26 ubyte =1 \b, heads %u
1406 # valid only for sector sizes with more then 32 Bytes
1407 >>>>>11 uleshort >32
1408 # http://en.wikipedia.org/wiki/Design_of_the_FAT_file_system#Extended_BIOS_Parameter_Block
1409 # skip for values 2,2Ah,70h,73h,DFh
1410 # and continue for extended boot signature values 0,28h,29h,80h
1411 >>>>>>38 ubyte&0x56 =0
1412 >>>>>>>28 ulelong >0 \b, hidden sectors %u
1413 #>>>>>>>28 ulelong =0 \b, hidden sectors %u (usual floppy)
1414 >>>>>>>32 ulelong >0 \b, sectors %u (volumes > 32 MB)
1415 #>>>>>>>32 ulelong =0 \b, sectors %u (volumes > 32 MB)
1416 # FAT<32 bit specific
1417 >>>>>>>82 string/c !fat32
1418 #>>>>>>>>36 ubyte 0x80 \b, physical drive 0x%x=0x80 (usual harddisk)
1419 #>>>>>>>>36 ubyte 0 \b, physical drive 0x%x=0 (usual floppy)
1420 >>>>>>>>36 ubyte !0x80
1421 >>>>>>>>>36 ubyte !0 \b, physical drive 0x%x
1423 # in Windows NT bit 0 is a dirty flag to request chkdsk at boot time. bit 1 requests surface scan too
1424 >>>>>>>>37 ubyte >0 \b, reserved 0x%x
1425 #>>>>>>>>37 ubyte =0 \b, reserved 0x%x
1426 # extended boot signatur value is 0x80 for NTFS, 0x28 or 0x29 for others
1427 >>>>>>>>38 ubyte !0x29 \b, dos < 4.0 BootSector (0x%x)
1428 >>>>>>>>38 ubyte&0xFE =0x28
1429 >>>>>>>>>39 ulelong x \b, serial number 0x%x
1430 >>>>>>>>38 ubyte =0x29
1431 >>>>>>>>>43 string <NO\ NAME \b, label: "%11.11s"
1432 >>>>>>>>>43 string >NO\ NAME \b, label: "%11.11s"
1433 >>>>>>>>>43 string =NO\ NAME \b, unlabeled
1434 # there exist some old floppies without word FAT at offset 54
1435 # a word like "FATnm " is only a hint for a FAT size on nm-bits
1436 # Normally the number of clusters is calculated by the values of BPP.
1437 # if it is small enough FAT is 12 bit, if it is too big enough FAT is 32 bit,
1438 # otherwise FAT is 16 bit.
1439 # http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/determining-fat-widths.html
1440 >>>>>82 string/c !fat32
1441 >>>>>>54 string FAT12 \b, FAT (12 bit)
1442 >>>>>>54 string FAT16 \b, FAT (16 bit)
1444 # determinate FAT bit size by media descriptor
1445 # small floppies implies FAT12
1446 >>>>>>>21 ubyte <0xF0 \b, FAT (12 bit by descriptor)
1447 # with media descriptor F0h floppy or maybe superfloppy with FAT16
1448 >>>>>>>21 ubyte =0xF0
1449 # superfloppy (many sectors) implies FAT16
1450 >>>>>>>>32 ulelong >0xFFFF \b, FAT (16 bit by descriptor+sectors)
1451 # no superfloppy with media descriptor F0h implies FAT12
1452 >>>>>>>>32 default x \b, FAT (12 bit by descriptor+sectors)
1453 # with media descriptor F8h floppy or hard disc with FAT12 or FAT16
1454 >>>>>>>21 ubyte =0xF8
1455 # 360 KiB with media descriptor F8h, 9 sectors per track ,single sided floppy implies FAT12
1456 >>>>>>>>19 ubequad 0xd002f80300090001 \b, FAT (12 bit by descriptor+geometry)
1457 # hard disc with FAT12 or FAT16
1458 >>>>>>>>19 default x \b, FAT (1Y bit by descriptor)
1459 # with media descriptor FAh floppy, RAM disc with FAT12 or FAT16 or Tandy hard disc
1460 >>>>>>>21 ubyte =0xFA
1461 # 320 KiB with media descriptor FAh, 8 sectors per track ,single sided floppy implies FAT12
1462 >>>>>>>>19 ubequad 0x8002fa0200080001 \b, FAT (12 bit by descriptor+geometry)
1463 # RAM disc with FAT12 or FAT16 or Tandy hard disc
1464 >>>>>>>>19 default x \b, FAT (1Y bit by descriptor)
1466 >>>>>>>21 default x \b, FAT (12 bit by descriptor)
1467 # FAT32 bit specific
1468 >>>>>82 string/c fat32 \b, FAT (32 bit)
1469 >>>>>>36 ulelong x \b, sectors/FAT %u
1470 # http://technet.microsoft.com/en-us/library/cc977221.aspx
1471 >>>>>>40 uleshort >0 \b, extension flags 0x%x
1472 #>>>>>>40 uleshort =0 \b, extension flags %hu
1473 >>>>>>42 uleshort >0 \b, fsVersion %u
1474 #>>>>>>42 uleshort =0 \b, fsVersion %u (usual)
1475 >>>>>>44 ulelong >2 \b, rootdir cluster %u
1476 #>>>>>>44 ulelong =2 \b, rootdir cluster %u
1477 #>>>>>>44 ulelong =1 \b, rootdir cluster %u
1478 >>>>>>48 uleshort >1 \b, infoSector %u
1479 #>>>>>>48 uleshort =1 \b, infoSector %u (usual)
1480 >>>>>>48 uleshort <1 \b, infoSector %u
1481 # 0 or 0xFFFF instead of usual 6 means no backup sector
1482 >>>>>>50 uleshort =0xFFFF \b, no Backup boot sector
1483 >>>>>>50 uleshort =0 \b, no Backup boot sector
1484 #>>>>>>50 uleshort =6 \b, Backup boot sector %u (usual)
1486 >>>>>>>50 uleshort x \b, Backup boot sector %u
1487 # corrected by Joerg Jenderek at Feb 2011 according to http://thestarman.pcministry.com/asm/mbr/MSWIN41.htm#FSINFO
1488 >>>>>>52 ulelong >0 \b, reserved1 0x%x
1489 >>>>>>56 ulelong >0 \b, reserved2 0x%x
1490 >>>>>>60 ulelong >0 \b, reserved3 0x%x
1491 # same structure as FAT1X
1492 #>>>>>>64 ubyte =0x80 \b, physical drive 0x%x=80 (usual harddisk)
1493 #>>>>>>64 ubyte =0 \b, physical drive 0x%x=0 (usual floppy)
1494 >>>>>>64 ubyte !0x80
1495 >>>>>>>64 ubyte >0 \b, physical drive 0x%x
1496 # in Windows NT bit 0 is a dirty flag to request chkdsk at boot time. bit 1 requests surface scan too
1497 >>>>>>65 ubyte >0 \b, reserved 0x%x
1498 >>>>>>66 ubyte !0x29 \b, dos < 4.0 BootSector (0x%x)
1499 >>>>>>66 ubyte =0x29
1500 >>>>>>>67 ulelong x \b, serial number 0x%x
1501 >>>>>>>71 string <NO\ NAME \b, label: "%11.11s"
1502 >>>>>>>71 string >NO\ NAME \b, label: "%11.11s"
1503 >>>>>>>71 string =NO\ NAME \b, unlabeled
1504 # additional tests for floppy image added by Joerg Jenderek
1507 # floppy media with 12 bit FAT
1508 >>>>>>54 string !FAT16
1509 # test for FAT after bootsector
1510 >>>>>>>(11.s) ulelong&0x00ffffF0 0x00ffffF0 \b, followed by FAT
1512 !:mime application/x-ima
1513 # NTFS specific added by Joerg Jenderek at Mar 2011 according to http://thestarman.pcministry.com/asm/mbr/NTFSBR.htm
1514 # and http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/bios-parameter-block.html
1518 >>>>>>17 uleshort =0
1520 >>>>>>>19 uleshort =0
1522 # dos < 4.0 BootSector value found is 0x80
1523 #38 ubyte =0x80 \b, dos < 4.0 BootSector (0x%x)
1524 >>>>>>>>22 uleshort =0 \b; NTFS
1525 >>>>>>>>>24 uleshort >0 \b, sectors/track %u
1526 >>>>>>>>>36 ulelong !0x800080 \b, physical drive 0x%x
1527 >>>>>>>>>40 ulequad >0 \b, sectors %lld
1528 >>>>>>>>>48 ulequad >0 \b, $MFT start cluster %lld
1529 >>>>>>>>>56 ulequad >0 \b, $MFTMirror start cluster %lld
1530 # Values 0 to 127 represent MFT record sizes of 0 to 127 clusters.
1531 # Values 128 to 255 represent MFT record sizes of 2^(256-N) bytes.
1532 >>>>>>>>>64 lelong <256
1533 >>>>>>>>>>64 lelong <128 \b, clusters/RecordSegment %d
1534 >>>>>>>>>>64 ubyte >127 \b, bytes/RecordSegment 2^(-1*%i)
1535 # Values 0 to 127 represent index block sizes of 0 to 127 clusters.
1536 # Values 128 to 255 represent index block sizes of 2^(256-N) byte
1537 >>>>>>>>>68 ulelong <256
1538 >>>>>>>>>>68 ulelong <128 \b, clusters/index block %d
1539 #>>>>>>>>>>68 ulelong >127 \b, bytes/index block 2^(256-%d)
1540 >>>>>>>>>>68 ubyte >127 \b, bytes/index block 2^(-1*%i)
1541 >>>>>>>>>72 ulequad x \b, serial number 0%llx
1542 >>>>>>>>>80 ulelong >0 \b, checksum 0x%x
1543 #>>>>>>>>>80 ulelong =0 \b, checksum 0x%x=0 (usual)
1544 >>>>>>>>>0x258 ulelong&0x00009090 =0x00009090
1545 >>>>>>>>>>&-92 indirect x \b; contains
1546 # For 2nd NTFS sector added by Joerg Jenderek at Jan 2013
1547 # http://thestarman.pcministry.com/asm/mbr/NTFSbrHexEd.htm
1548 # unused assembler instructions JMP y2;NOP;NOP
1549 0x056 ulelong&0xFFFF0FFF 0x909002EB
1550 # unicode loadername terminated by CTRL-D
1551 >(0.s*2) ulelong&0xFFFFFF00 0x00040000
1552 # loadernames are NTLDR,CMLDR,PELDR,$LDR$ or BOOTMGR
1553 >>0x002 lestring16 x Microsoft Windows XP/VISTA bootloader %-5.5s
1555 >>>0x0c lestring16 x \b%-2.2s
1556 ### DOS,NTFS boot sectors end
1558 9564 lelong 0x00011954 Unix Fast File system [v1] (little-endian),
1559 >8404 string x last mounted on %s,
1560 #>9504 ledate x last checked at %s,
1561 >8224 ledate x last written at %s,
1562 >8401 byte x clean flag %d,
1563 >8228 lelong x number of blocks %d,
1564 >8232 lelong x number of data blocks %d,
1565 >8236 lelong x number of cylinder groups %d,
1566 >8240 lelong x block size %d,
1567 >8244 lelong x fragment size %d,
1568 >8252 lelong x minimum percentage of free blocks %d,
1569 >8256 lelong x rotational delay %dms,
1570 >8260 lelong x disk rotational speed %drps,
1571 >8320 lelong 0 TIME optimization
1572 >8320 lelong 1 SPACE optimization
1574 42332 lelong 0x19540119 Unix Fast File system [v2] (little-endian)
1575 >&-1164 string x last mounted on %s,
1576 >&-696 string >\0 volume name %s,
1577 >&-304 leqldate x last written at %s,
1578 >&-1167 byte x clean flag %d,
1579 >&-1168 byte x readonly flag %d,
1580 >&-296 lequad x number of blocks %lld,
1581 >&-288 lequad x number of data blocks %lld,
1582 >&-1332 lelong x number of cylinder groups %d,
1583 >&-1328 lelong x block size %d,
1584 >&-1324 lelong x fragment size %d,
1585 >&-180 lelong x average file size %d,
1586 >&-176 lelong x average number of files in dir %d,
1587 >&-272 lequad x pending blocks to free %lld,
1588 >&-264 lelong x pending inodes to free %d,
1589 >&-664 lequad x system-wide uuid %0llx,
1590 >&-1316 lelong x minimum percentage of free blocks %d,
1591 >&-1248 lelong 0 TIME optimization
1592 >&-1248 lelong 1 SPACE optimization
1594 66908 lelong 0x19540119 Unix Fast File system [v2] (little-endian)
1595 >&-1164 string x last mounted on %s,
1596 >&-696 string >\0 volume name %s,
1597 >&-304 leqldate x last written at %s,
1598 >&-1167 byte x clean flag %d,
1599 >&-1168 byte x readonly flag %d,
1600 >&-296 lequad x number of blocks %lld,
1601 >&-288 lequad x number of data blocks %lld,
1602 >&-1332 lelong x number of cylinder groups %d,
1603 >&-1328 lelong x block size %d,
1604 >&-1324 lelong x fragment size %d,
1605 >&-180 lelong x average file size %d,
1606 >&-176 lelong x average number of files in dir %d,
1607 >&-272 lequad x pending blocks to free %lld,
1608 >&-264 lelong x pending inodes to free %d,
1609 >&-664 lequad x system-wide uuid %0llx,
1610 >&-1316 lelong x minimum percentage of free blocks %d,
1611 >&-1248 lelong 0 TIME optimization
1612 >&-1248 lelong 1 SPACE optimization
1614 9564 belong 0x00011954 Unix Fast File system [v1] (big-endian),
1615 >7168 belong 0x4c41424c Apple UFS Volume
1616 >>7186 string x named %s,
1617 >>7176 belong x volume label version %d,
1618 >>7180 bedate x created on %s,
1619 >8404 string x last mounted on %s,
1620 #>9504 bedate x last checked at %s,
1621 >8224 bedate x last written at %s,
1622 >8401 byte x clean flag %d,
1623 >8228 belong x number of blocks %d,
1624 >8232 belong x number of data blocks %d,
1625 >8236 belong x number of cylinder groups %d,
1626 >8240 belong x block size %d,
1627 >8244 belong x fragment size %d,
1628 >8252 belong x minimum percentage of free blocks %d,
1629 >8256 belong x rotational delay %dms,
1630 >8260 belong x disk rotational speed %drps,
1631 >8320 belong 0 TIME optimization
1632 >8320 belong 1 SPACE optimization
1634 42332 belong 0x19540119 Unix Fast File system [v2] (big-endian)
1635 >&-1164 string x last mounted on %s,
1636 >&-696 string >\0 volume name %s,
1637 >&-304 beqldate x last written at %s,
1638 >&-1167 byte x clean flag %d,
1639 >&-1168 byte x readonly flag %d,
1640 >&-296 bequad x number of blocks %lld,
1641 >&-288 bequad x number of data blocks %lld,
1642 >&-1332 belong x number of cylinder groups %d,
1643 >&-1328 belong x block size %d,
1644 >&-1324 belong x fragment size %d,
1645 >&-180 belong x average file size %d,
1646 >&-176 belong x average number of files in dir %d,
1647 >&-272 bequad x pending blocks to free %lld,
1648 >&-264 belong x pending inodes to free %d,
1649 >&-664 bequad x system-wide uuid %0llx,
1650 >&-1316 belong x minimum percentage of free blocks %d,
1651 >&-1248 belong 0 TIME optimization
1652 >&-1248 belong 1 SPACE optimization
1654 66908 belong 0x19540119 Unix Fast File system [v2] (big-endian)
1655 >&-1164 string x last mounted on %s,
1656 >&-696 string >\0 volume name %s,
1657 >&-304 beqldate x last written at %s,
1658 >&-1167 byte x clean flag %d,
1659 >&-1168 byte x readonly flag %d,
1660 >&-296 bequad x number of blocks %lld,
1661 >&-288 bequad x number of data blocks %lld,
1662 >&-1332 belong x number of cylinder groups %d,
1663 >&-1328 belong x block size %d,
1664 >&-1324 belong x fragment size %d,
1665 >&-180 belong x average file size %d,
1666 >&-176 belong x average number of files in dir %d,
1667 >&-272 bequad x pending blocks to free %lld,
1668 >&-264 belong x pending inodes to free %d,
1669 >&-664 bequad x system-wide uuid %0llx,
1670 >&-1316 belong x minimum percentage of free blocks %d,
1671 >&-1248 belong 0 TIME optimization
1672 >&-1248 belong 1 SPACE optimization
1674 # ext2/ext3 filesystems - Andreas Dilger <adilger@dilger.ca>
1675 # ext4 filesystem - Eric Sandeen <sandeen@sandeen.net>
1676 # volume label and UUID Russell Coker
1677 # http://etbe.coker.com.au/2008/07/08/label-vs-uuid-vs-device/
1678 0x438 leshort 0xEF53 Linux
1679 >0x44c lelong x rev %d
1680 >0x43e leshort x \b.%d
1682 >0x45c lelong ^0x0000004 ext2 filesystem data
1683 >>0x43a leshort ^0x0000001 (mounted or unclean)
1684 # Has a journal? ext3 or ext4
1685 >0x45c lelong &0x0000004
1686 # and small INCOMPAT?
1687 >>0x460 lelong <0x0000040
1688 # and small RO_COMPAT?
1689 >>>0x464 lelong <0x0000008 ext3 filesystem data
1690 # else large RO_COMPAT?
1691 >>>0x464 lelong >0x0000007 ext4 filesystem data
1692 # else large INCOMPAT?
1693 >>0x460 lelong >0x000003f ext4 filesystem data
1694 >0x468 belong x \b, UUID=%08x
1695 >0x46c beshort x \b-%04x
1696 >0x46e beshort x \b-%04x
1697 >0x470 beshort x \b-%04x
1698 >0x472 belong x \b-%08x
1699 >0x476 beshort x \b%04x
1700 >0x478 string >0 \b, volume name "%s"
1701 # General flags for any ext* fs
1702 >0x460 lelong &0x0000004 (needs journal recovery)
1703 >0x43a leshort &0x0000002 (errors)
1705 >0x460 lelong &0x0000001 (compressed)
1706 #>0x460 lelong &0x0000002 (filetype)
1707 #>0x460 lelong &0x0000010 (meta bg)
1708 >0x460 lelong &0x0000040 (extents)
1709 >0x460 lelong &0x0000080 (64bit)
1710 #>0x460 lelong &0x0000100 (mmp)
1711 #>0x460 lelong &0x0000200 (flex bg)
1713 #>0x464 lelong &0x0000001 (sparse super)
1714 >0x464 lelong &0x0000002 (large files)
1715 >0x464 lelong &0x0000008 (huge files)
1716 #>0x464 lelong &0x0000010 (gdt checksum)
1717 #>0x464 lelong &0x0000020 (many subdirs)
1718 #>0x463 lelong &0x0000040 (extra isize)
1720 # Minix filesystems - Juan Cespedes <cespedes@debian.org>
1721 0x410 leshort 0x137f
1723 >0x402 beshort < 100
1724 >0x402 beshort > -1 Minix filesystem, V1, %d zones
1725 >0x1e string minix \b, bootable
1726 0x410 beshort 0x137f
1728 >0x402 beshort < 100
1729 >0x402 beshort > -1 Minix filesystem, V1 (big endian), %d zones
1730 >0x1e string minix \b, bootable
1731 0x410 leshort 0x138f
1733 >0x402 beshort < 100
1734 >0x402 beshort > -1 Minix filesystem, V1, 30 char names, %d zones
1735 >0x1e string minix \b, bootable
1736 0x410 beshort 0x138f
1738 >0x402 beshort < 100
1739 >0x402 beshort > -1 Minix filesystem, V1, 30 char names (big endian), %d zones
1740 >0x1e string minix \b, bootable
1741 0x410 leshort 0x2468
1742 >0x402 beshort < 100
1743 >>0x402 beshort > -1 Minix filesystem, V2, %d zones
1744 >0x1e string minix \b, bootable
1745 0x410 beshort 0x2468
1746 >0x402 beshort < 100
1747 >0x402 beshort > -1 Minix filesystem, V2 (big endian), %d zones
1748 >0x1e string minix \b, bootable
1750 0x410 leshort 0x2478
1751 >0x402 beshort < 100
1752 >0x402 beshort > -1 Minix filesystem, V2, 30 char names, %d zones
1753 >0x1e string minix \b, bootable
1754 0x410 leshort 0x2478
1755 >0x402 beshort < 100
1756 >0x402 beshort > -1 Minix filesystem, V2, 30 char names, %d zones
1757 >0x1e string minix \b, bootable
1758 0x410 beshort 0x2478
1759 >0x402 beshort !0 Minix filesystem, V2, 30 char names (big endian), %d zones
1760 >0x1e string minix \b, bootable
1761 0x410 leshort 0x4d5a
1762 >0x402 beshort !0 Minix filesystem, V3, %d zones
1763 >0x1e string minix \b, bootable
1765 # SGI disk labels - Nathan Scott <nathans@debian.org>
1766 0 belong 0x0BE5A941 SGI disk label (volume header)
1768 # SGI XFS filesystem - Nathan Scott <nathans@debian.org>
1769 0 belong 0x58465342 SGI XFS filesystem data
1770 >0x4 belong x (blksz %d,
1771 >0x68 beshort x inosz %d,
1772 >0x64 beshort ^0x2004 v1 dirs)
1773 >0x64 beshort &0x2004 v2 dirs)
1775 ############################################################################
1776 # Minix-ST kernel floppy
1777 0x800 belong 0x46fc2700 Atari-ST Minix kernel image
1778 # http://en.wikipedia.org/wiki/BIOS_parameter_block
1779 # floppies with valid BPB and any instruction at beginning
1780 >19 string \240\005\371\005\0\011\0\2\0 \b, 720k floppy
1781 >19 string \320\002\370\005\0\011\0\1\0 \b, 360k floppy
1783 ############################################################################
1784 # Hmmm, is this a better way of detecting _standard_ floppy images ?
1785 19 string \320\002\360\003\0\011\0\1\0 DOS floppy 360k
1786 >0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector
1787 19 string \240\005\371\003\0\011\0\2\0 DOS floppy 720k
1788 >0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector
1789 19 string \100\013\360\011\0\022\0\2\0 DOS floppy 1440k
1790 >0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector
1792 19 string \240\005\371\005\0\011\0\2\0 DOS floppy 720k, IBM
1793 >0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector
1794 19 string \100\013\371\005\0\011\0\2\0 DOS floppy 1440k, mkdosfs
1795 >0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector
1797 19 string \320\002\370\005\0\011\0\1\0 Atari-ST floppy 360k
1798 19 string \240\005\371\005\0\011\0\2\0 Atari-ST floppy 720k
1801 # | | | sectors/track
1803 # | media descriptor
1806 # Valid media descriptor bytes for MS-DOS:
1808 # Byte Capacity Media Size and Type
1809 # -------------------------------------------------
1811 # F0 2.88 MB 3.5-inch, 2-sided, 36-sector
1812 # F0 1.44 MB 3.5-inch, 2-sided, 18-sector
1813 # F9 720K 3.5-inch, 2-sided, 9-sector
1814 # F9 1.2 MB 5.25-inch, 2-sided, 15-sector
1815 # FD 360K 5.25-inch, 2-sided, 9-sector
1816 # FF 320K 5.25-inch, 2-sided, 8-sector
1817 # FC 180K 5.25-inch, 1-sided, 9-sector
1818 # FE 160K 5.25-inch, 1-sided, 8-sector
1819 # FE 250K 8-inch, 1-sided, single-density
1820 # FD 500K 8-inch, 2-sided, single-density
1821 # FE 1.2 MB 8-inch, 2-sided, double-density
1822 # F8 ----- Fixed disk
1824 # FC xxxK Apricot 70x1x9 boot disk.
1826 # Originally a bitmap:
1827 # xxxxxxx0 Not two sided
1828 # xxxxxxx1 Double sided
1829 # xxxxxx0x Not 8 SPT
1831 # xxxxx0xx Not Removable drive
1832 # xxxxx1xx Removable drive
1833 # 11111xxx Must be one.
1835 # But now it's rather random:
1836 # 111111xx Low density disk
1842 # 11111001 Double density 3 1/2 floppy disk, high density 5 1/4
1843 # 11110000 High density 3 1/2 floppy disk
1844 # 11111000 Hard disk any format
1847 # all FAT12 (strength=70) floppies with sectorsize 512 added by Joerg Jenderek at Jun 2013
1848 # http://en.wikipedia.org/wiki/File_Allocation_Table#Exceptions
1850 #512 ubelong&0xE0ffff00 0xE0ffff00
1851 # without valid Media descriptor in place of BPB, cases with are done at other places
1852 #>21 ubyte <0xE5 floppy with old FAT filesystem
1853 # but valid Media descriptor at begin of FAT
1854 #>>512 ubyte =0xed 720k
1855 #>>512 ubyte =0xf0 1440k
1856 #>>512 ubyte =0xf8 720k
1857 #>>512 ubyte =0xf9 1220k
1858 #>>512 ubyte =0xfa 320k
1859 #>>512 ubyte =0xfb 640k
1860 #>>512 ubyte =0xfc 180k
1861 # look like an an old DOS directory entry
1863 #>>>>0xA00 ubequad !0
1864 #!:mime application/x-ima
1866 # look for 2nd FAT at different location to distinguish between 360k and 500k
1867 #>>>0x600 ubelong&0xE0ffff00 0xE0ffff00 360k
1868 #>>>0x500 ubelong&0xE0ffff00 0xE0ffff00 500k
1870 #!:mime application/x-ima
1872 #>>>0x400 ubelong&0xE0ffff00 0xE0ffff00 160k
1873 #>>>>0x60E ubequad 0
1874 #>>>>>0x600 ubequad !0
1875 #!:mime application/x-ima
1876 #>>>0xC00 ubelong&0xE0ffff00 0xE0ffff00 1200k
1877 #>>512 ubyte =0xff 320k
1879 #>>>>0x600 ubequad !0
1880 #!:mime application/x-ima
1881 #>>512 ubyte x \b, Media descriptor 0x%x
1882 # without x86 jump instruction
1883 #>>0 ulelong&0x804000E9 !0x000000E9
1884 # assembler instructions: CLI;MOV SP,1E7;MOV AX;07c0;MOV
1885 #>>>0 ubequad 0xfabce701b8c0078e \b, MS-DOS 1.12 bootloader
1886 # IOSYS.COM+MSDOS.COM
1887 #>>>>0xc4 use 2xDOS-filename
1888 #>>0 ulelong&0x804000E9 =0x000000E9
1889 # only x86 short jump instruction found
1891 #>>>>1 ubyte x \b, code offset 0x%x+2
1892 # http://thestarman.pcministry.com/DOS/ibm100/Boot.htm
1893 # assembler instructions: CLI;MOV AX,CS;MOV DS,AX;MOV DX,0
1894 #>>>>(1.b+2) ubequad 0xfa8cc88ed8ba0000 \b, PC-DOS 1.0 bootloader
1895 # ibmbio.com+ibmdos.com
1896 #>>>>>0x176 use DOS-filename
1897 #>>>>>0x181 ubyte x \b+
1898 #>>>>>0x182 use DOS-filename
1899 # http://thestarman.pcministry.com/DOS/ibm110/Boot.htm
1900 # assembler instructions: CLI;MOV AX,CS;MOV DS,AX;XOR DX,DX;MOV
1901 #>>>>(1.b+2) ubequad 0xfa8cc88ed833d28e \b, PC-DOS 1.1 bootloader
1902 # ibmbio.com+ibmdos.com
1903 #>>>>>0x18b use DOS-filename
1904 #>>>>>0x196 ubyte x \b+
1905 #>>>>>0x197 use DOS-filename
1906 # http://en.wikipedia.org/wiki/Zenith_Data_Systems
1907 # assembler instructions: MOV BX,07c0;MOV SS,BX;MOV SP,01c6
1908 #>>>>(1.b+2) ubequad 0xbbc0078ed3bcc601 \b, Zenith Data Systems MS-DOS 1.25 bootloader
1910 #>>>>>0x20 use 2xDOS-filename
1911 # http://en.wikipedia.org/wiki/Corona_Data_Systems
1912 # assembler instructions: MOV AX,CS;MOV DS,AX;CLI;MOV SS,AX;
1913 #>>>>(1.b+2) ubequad 0x8cc88ed8fa8ed0bc \b, MS-DOS 1.25 bootloader
1915 #>>>>>0x69 use 2xDOS-filename
1916 # assembler instructions: CLI;PUSH CS;POP SS;MOV SP,7c00;
1917 #>>>>(1.b+2) ubequad 0xfa0e17bc007cb860 \b, MS-DOS 2.11 bootloader
1918 # defect IO.SYS+MSDOS.SYS ?
1919 #>>>>>0x162 use 2xDOS-filename
1922 >38913 string !NSR0 ISO 9660 CD-ROM filesystem data
1923 !:mime application/x-iso9660-image
1924 >38913 string NSR0 UDF filesystem data
1925 !:mime application/x-iso9660-image
1926 >>38917 string 1 (version 1.0)
1927 >>38917 string 2 (version 1.5)
1928 >>38917 string 3 (version 2.0)
1929 >>38917 byte >0x33 (unknown version, ID 0x%X)
1930 >>38917 byte <0x31 (unknown version, ID 0x%X)
1931 # "application id" which appears to be used as a volume label
1932 >32808 string/T >\0 '%s'
1933 >34816 string \000CD001\001EL\ TORITO\ SPECIFICATION (bootable)
1934 37633 string CD001 ISO 9660 CD-ROM filesystem data (raw 2352 byte sectors)
1935 !:mime application/x-iso9660-image
1936 32777 string CDROM High Sierra CD-ROM filesystem data
1939 # https://en.wikipedia.org/wiki/ISO_9660
1940 # Modified for UDF by gerardo.cacciari@gmail.com
1942 # mime line at that position does not work
1943 # to display CD-ROM (70=81-11) after MBR (113=40+72+1), partition-table (71=50+21) and before Apple Driver Map (51)
1945 # to display CD-ROM (114=81+33) before MBR (113=40+72+1), partition-table (71=50+21) and Apple Driver Map (51)
1951 0 string CISO Compressed ISO CD image
1953 # cramfs filesystem - russell@coker.com.au
1954 0 lelong 0x28cd3d45 Linux Compressed ROM File System data, little endian
1956 >8 lelong &1 version #2
1957 >8 lelong &2 sorted_dirs
1958 >8 lelong &4 hole_support
1959 >32 lelong x CRC 0x%x,
1960 >36 lelong x edition %u,
1961 >40 lelong x %u blocks,
1962 >44 lelong x %u files
1964 0 belong 0x28cd3d45 Linux Compressed ROM File System data, big endian
1966 >8 belong &1 version #2
1967 >8 belong &2 sorted_dirs
1968 >8 belong &4 hole_support
1969 >32 belong x CRC 0x%x,
1970 >36 belong x edition %u,
1971 >40 belong x %u blocks,
1972 >44 belong x %u files
1974 # reiserfs - russell@coker.com.au
1975 0x10034 string ReIsErFs ReiserFS V3.5
1976 0x10034 string ReIsEr2Fs ReiserFS V3.6
1977 0x10034 string ReIsEr3Fs ReiserFS V3.6.19
1978 >0x1002c leshort x block size %d
1979 >0x10032 leshort &2 (mounted or unclean)
1980 >0x10000 lelong x num blocks %d
1981 >0x10040 lelong 1 tea hash
1982 >0x10040 lelong 2 yura hash
1983 >0x10040 lelong 3 r5 hash
1985 # JFFS - russell@coker.com.au
1986 0 lelong 0x34383931 Linux Journalled Flash File system, little endian
1987 0 belong 0x34383931 Linux Journalled Flash File system, big endian
1989 # EST flat binary format (which isn't, but anyway)
1990 # From: Mark Brown <broonie@sirena.org.uk>
1991 0 string ESTFBINR EST flat binary
1993 # Aculab VoIP firmware
1994 # From: Mark Brown <broonie@sirena.org.uk>
1995 0 string VoIP\ Startup\ and Aculab VoIP firmware
1996 >35 string x format %s
1998 # From: Mark Brown <broonie@sirena.org.uk> [old]
1999 # From: Behan Webster <behanw@websterwood.com>
2000 0 belong 0x27051956 u-boot legacy uImage,
2002 >28 byte 0 Invalid os/
2016 >28 byte 14 VxWorks/
2019 >28 byte 17 Firmware/
2022 >28 byte 20 Unity OS/
2023 >28 byte 21 INTEGRITY/
2024 >29 byte 0 \bInvalid CPU,
2027 >29 byte 3 \bIntel x86,
2030 >29 byte 6 \bMIPS 64-bit,
2031 >29 byte 7 \bPowerPC,
2032 >29 byte 8 \bIBM S390,
2033 >29 byte 9 \bSuperH,
2034 >29 byte 10 \bSparc,
2035 >29 byte 11 \bSparc 64-bit,
2037 >29 byte 13 \bNios-32,
2038 >29 byte 14 \bMicroBlaze,
2039 >29 byte 15 \bNios-II,
2040 >29 byte 16 \bBlackfin,
2041 >29 byte 17 \bAVR32,
2042 >29 byte 18 \bSTMicroelectronics ST200,
2043 >30 byte 0 Invalid Image
2044 >30 byte 1 Standalone Program
2045 >30 byte 2 OS Kernel Image
2046 >30 byte 3 RAMDisk Image
2047 >30 byte 4 Multi-File Image
2048 >30 byte 5 Firmware Image
2049 >30 byte 6 Script File
2050 >30 byte 7 Filesystem Image (any type)
2051 >30 byte 8 Binary Flat Device Tree BLOB
2052 >31 byte 0 (Not compressed),
2056 >12 belong x %d bytes,
2058 >16 belong x Load Address: 0x%08X,
2059 >20 belong x Entry Point: 0x%08X,
2060 >4 belong x Header CRC: 0x%08X,
2061 >24 belong x Data CRC: 0x%08X
2064 0 leshort 0x1984 Linux old jffs2 filesystem data little endian
2065 0 leshort 0x1985 Linux jffs2 filesystem data little endian
2068 0 string sqsh Squashfs filesystem, big endian,
2069 >28 beshort x version %d.
2072 >>8 belong x %d bytes,
2075 >>>63 bequad x %lld bytes,
2077 >>>40 bequad x %lld bytes,
2078 #>>67 belong x %d bytes,
2079 >4 belong x %d inodes,
2081 >>32 beshort x blocksize: %d bytes,
2084 >>>51 belong x blocksize: %d bytes,
2086 >>>12 belong x blocksize: %d bytes,
2088 >>39 bedate x created: %s
2090 >>8 bedate x created: %s
2091 0 string hsqs Squashfs filesystem, little endian,
2092 >28 leshort x version %d.
2095 >>8 lelong x %d bytes,
2098 >>>63 lequad x %lld bytes,
2100 >>>40 lequad x %lld bytes,
2101 #>>63 lelong x %d bytes,
2102 >4 lelong x %d inodes,
2104 >>32 leshort x blocksize: %d bytes,
2107 >>>51 lelong x blocksize: %d bytes,
2109 >>>12 lelong x blocksize: %d bytes,
2111 >>39 ledate x created: %s
2113 >>8 ledate x created: %s
2116 # From: Ty Sarna <tsarna@sarna.org>
2117 0 string \x01\xb3\xa1\x13\x22 AFS Dump
2120 >>>&0 belong x Vol %d,
2125 >>>>>>>>&4 bedate x on: %s
2126 >>>>>>>>&0 bedate =0 full dump
2127 >>>>>>>>&0 bedate !0 incremental since: %s
2129 #----------------------------------------------------------
2130 #delta ISO Daniel Novotny (dnovotny@redhat.com)
2131 0 string DISO Delta ISO data
2133 >4 belong x version %d
2135 # VMS backup savesets - gerardo.cacciari@gmail.com
2137 4 string \x01\x00\x01\x00\x01\x00
2138 >(0.s+16) string \x01\x01
2139 >>&(&0.b+8) byte 0x42 OpenVMS backup saveset data
2140 >>>40 lelong x (block size %d,
2141 >>>49 string >\0 original name '%s',
2142 >>>2 short 1024 VAX generated)
2143 >>>2 short 2048 AXP generated)
2144 >>>2 short 4096 I64 generated)
2146 # Summary: Oracle Clustered Filesystem
2147 # Created by: Aaron Botsis <redhat@digitalmafia.org>
2148 8 string OracleCFS Oracle Clustered Filesystem,
2151 >560 string x label: %.64s,
2152 >136 string x mountpoint: %.128s
2154 # Summary: Oracle ASM tagged volume
2155 # Created by: Aaron Botsis <redhat@digitalmafia.org>
2156 32 string ORCLDISK Oracle ASM Volume,
2157 >40 string x Disk Name: %0.12s
2158 32 string ORCLCLRD Oracle ASM Volume (cleared),
2159 >40 string x Disk Name: %0.12s
2161 # Oracle Clustered Filesystem - Aaron Botsis <redhat@digitalmafia.org>
2162 8 string OracleCFS Oracle Clustered Filesystem,
2165 >560 string x label: %.64s,
2166 >136 string x mountpoint: %.128s
2168 # Oracle ASM tagged volume - Aaron Botsis <redhat@digitalmafia.org>
2169 32 string ORCLDISK Oracle ASM Volume,
2170 >40 string x Disk Name: %0.12s
2171 32 string ORCLCLRD Oracle ASM Volume (cleared),
2172 >40 string x Disk Name: %0.12s
2174 # Compaq/HP RILOE floppy image
2175 # From: Dirk Jagdmann <doj@cubic.org>
2176 0 string CPQRFBLO Compaq/HP RILOE floppy image
2178 #------------------------------------------------------------------------------
2179 # Files-11 On-Disk Structure (File system for various RSX-11 and VMS flavours).
2180 # These bits come from LBN 1 (home block) of ODS-1, ODS-2 and ODS-5 volumes,
2181 # which is mapped to VBN 2 of [000000]INDEXF.SYS;1 - gerardo.cacciari@gmail.com
2183 1008 string DECFILE11 Files-11 On-Disk Structure
2184 >525 byte x (ODS-%d);
2185 >1017 string A RSX-11, VAX/VMS or OpenVMS VAX file system;
2187 >>525 byte 2 VAX/VMS or OpenVMS file system;
2188 >>525 byte 5 OpenVMS Alpha or Itanium file system;
2189 >984 string x volume label is '%-12.12s'
2191 # From: Thomas Klausner <wiz@NetBSD.org>
2192 # http://filext.com/file-extension/DAA
2193 # describes the daa file format. The magic would be:
2194 0 string DAA\x0\x0\x0\x0\x0 PowerISO Direct-Access-Archive
2196 # From Albert Cahalan <acahalan@gmail.com>
2197 # really le32 operation,destination,payloadsize (but quite predictable)
2198 # 01 00 00 00 00 00 00 c0 00 02 00 00
2199 0 string \1\0\0\0\0\0\0\300\0\2\0\0 Marvell Libertas firmware
2203 0x10000 belong 0x01161970
2204 >0x10018 belong 0x0000051d GFS1 Filesystem
2205 >>0x10024 belong x (blocksize %d,
2206 >>0x10060 string >\0 lockproto %s)
2207 >0x10018 belong 0x00000709 GFS2 Filesystem
2208 >>0x10024 belong x (blocksize %d,
2209 >>0x10060 string >\0 lockproto %s)
2212 0x10040 string _BHRfS_M BTRFS Filesystem
2213 >0x1012b string >\0 (label "%s",
2214 >0x10090 lelong x sectorsize %d,
2215 >0x10094 lelong x nodesize %d,
2216 >0x10098 lelong x leafsize %d)
2220 # From: "Nelson A. de Oliveira" <naoliv@gmail.com>
2221 0 string *dvdisaster* dvdisaster error correction file
2223 # xfs metadump image
2224 # mb_magic XFSM at 0; superblock magic XFSB at 1 << mb_blocklog
2225 # but can we do the << ? For now it's always 512 (0x200) anyway.
2227 >0x200 string XFSB XFS filesystem metadump image
2229 # Type: CROM filesystem
2230 # From: Werner Fink <werner@suse.de>
2231 0 string CROMFS CROMFS
2232 >6 string >\0 \b version %2.2s,
2233 >8 ulequad >0 \b block data at %lld,
2234 >16 ulequad >0 \b fblock table at %lld,
2235 >24 ulequad >0 \b inode table at %lld,
2236 >32 ulequad >0 \b root at %lld,
2237 >40 ulelong >0 \b fblock size = %d,
2238 >44 ulelong >0 \b block size = %d,
2239 >48 ulequad >0 \b bytes = %lld
2241 # Type: xfs metadump image
2242 # From: Daniel Novotny <dnovotny@redhat.com>
2243 # mb_magic XFSM at 0; superblock magic XFSB at 1 << mb_blocklog
2244 # but can we do the << ? For now it's always 512 (0x200) anyway.
2246 >0x200 string XFSB XFS filesystem metadump image
2249 # From: Daniel Novotny <dnovotny@redhat.com>
2250 0 string DISO Delta ISO data,
2251 >4 belong x version %d
2253 # JFS2 (Journaling File System) image. (Old JFS1 has superblock at 0x1000.)
2254 # See linux/fs/jfs/jfs_superblock.h for layout; see jfs_filsys.h for flags.
2255 # From: Adam Buchbinder <adam.buchbinder@gmail.com>
2257 # Because it's text-only magic, check a binary value (version) to be sure.
2258 # Should always be 2, but mkfs.jfs writes it as 1. Needs to be 2 or 1 to be
2260 >&0 lelong <3 JFS2 filesystem image
2261 # Label is followed by a UUID; we have to limit string length to avoid
2262 # appending the UUID in the case of a 16-byte label.
2263 >>&144 regex [\x20-\x7E]{1,16} (label "%s")
2264 >>&0 lequad x \b, %lld blocks
2265 >>&8 lelong x \b, blocksize %d
2266 >>&32 lelong&0x00000006 >0 (dirty)
2267 >>&36 lelong >0 (compressed)
2270 0 lelong 0x070162 LFS filesystem image
2271 >4 lelong 1 version 1,
2272 >>8 lelong x \b blocks %u,
2273 >>12 lelong x \b blocks per segment %u,
2274 >4 lelong 2 version 2,
2275 >>8 lelong x \b fragments %u,
2276 >>12 lelong x \b bytes per segment %u,
2277 >16 lelong x \b disk blocks %u,
2278 >20 lelong x \b block size %u,
2279 >24 lelong x \b fragment size %u,
2280 >28 lelong x \b fragments per block %u,
2281 >32 lelong x \b start for free list %u,
2282 >36 lelong x \b number of free blocks %d,
2283 >40 lelong x \b number of files %u,
2284 >44 lelong x \b blocks available for writing %d,
2285 >48 lelong x \b inodes in cache %d,
2286 >52 lelong x \b inode file disk address 0x%x,
2287 >56 lelong x \b inode file inode number %u,
2288 >60 lelong x \b address of last segment written 0x%x,
2289 >64 lelong x \b address of next segment to write 0x%x,
2290 >68 lelong x \b address of current segment written 0x%x
2292 0 string td\000 floppy image data (TeleDisk, compressed)
2293 0 string TD\000 floppy image data (TeleDisk)
2295 0 string CQ\024 floppy image data (CopyQM,
2296 >16 leshort x %d sectors,
2297 >18 leshort x %d heads.)
2299 0 string ACT\020Apricot\020disk\020image\032\004 floppy image data (ApriDisk)
2301 0 beshort 0xAA58 floppy image data (IBM SaveDskF, old)
2302 0 beshort 0xAA59 floppy image data (IBM SaveDskF)
2303 0 beshort 0xAA5A floppy image data (IBM SaveDskF, compressed)
2305 0 string \074CPM_Disk\076 disk image data (YAZE)
2308 # Richard W.M. Jones <rjones@redhat.com>
2309 0 string \0\0\0ReFS\0 ReFS filesystem image
2311 # EFW encase image file format:
2313 # http://www.forensicswiki.org/wiki/Encase_image_file_format
2314 0 string EVF\x09\x0d\x0a\xff\x00 EWF/Expert Witness/EnCase image file format
2317 # Linux kernel sources: fs/ubifs/ubifs-media.h
2319 >0x16 leshort 0 UBIfs image
2320 >0x08 lequad x \b, sequence number %llu
2321 >0x10 leshort x \b, length %u
2322 >0x04 lelong x \b, CRC 0x%08x
2327 >0x1c string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
2328 >0x04 leshort x UBI image, version %u
2330 # NEC PC-88 2D disk image
2331 # From Fabio R. Schmidlin <sd-snatcher@users.sourceforge.net>
2332 0x20 ulelong&0xFFFFFEFF 0x2A0
2333 >0x10 string \0\0\0\0\0\0\0\0\0\0
2334 >>0x280 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
2335 >>>0x1A ubyte&0xEF 0
2336 >>>>0x1B ubyte&0x8F 0
2337 >>>>>0x1B ubyte&70 <0x40
2338 >>>>>>0x1C ulelong >0x21
2339 >>>>>>>0 regex [[:print:]]* NEC PC-88 disk image, name=%s
2340 >>>>>>>>0x1B ubyte 0 \b, media=2D
2341 >>>>>>>>0x1B ubyte 0x10 \b, media=2DD
2342 >>>>>>>>0x1B ubyte 0x20 \b, media=2HD
2343 >>>>>>>>0x1B ubyte 0x30 \b, media=1D
2344 >>>>>>>>0x1B ubyte 0x40 \b, media=1DD
2345 >>>>>>>>0x1A ubyte 0x10 \b, write-protected