1#------------------------------------------------------------------------------ 2# $File: filesystems,v 1.114 2016/09/05 08:34:25 christos Exp $ 3# filesystems: file(1) magic for different filesystems 4# 50 name partid 6>0 ubyte 0x00 Unused 7>0 ubyte 0x01 12-bit FAT 8>0 ubyte 0x02 XENIX / 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 22>0 ubyte 0x10 OPUS 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 36>0 ubyte 0x24 NEC DOS 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 44>0 ubyte 0x38 Theos 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 51>0 ubyte 0x41 PReP 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 61>0 ubyte 0x4d QNX4.x 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 68>0 ubyte 0x54 DM6 DDO 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 78>0 ubyte 0x67 Novell 79>0 ubyte 0x68 Novell 80>0 ubyte 0x69 Novell 81>0 ubyte 0x70 DiskSecure Multi-Boot 82>0 ubyte 0x71 reserved 83>0 ubyte 0x73 reserved 84>0 ubyte 0x74 reserved 85>0 ubyte 0x75 PC/IX 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 113>0 ubyte 0x9f BSDI? 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 137>0 ubyte 0xc0 CTOS 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 169>0 ubyte 0xeb BeOS 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 186 1870 string \366\366\366\366 PC formatted floppy with no filesystem 188# Sun disk labels 189# From /usr/include/sun/dklabel.h: 1900774 beshort 0xdabe 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 194>>0 string x '%s 195>>>31 string >\0 \b%s 196>>>>63 string >\0 \b%s 197>>>>>95 string >\0 \b%s 198>>0 string x \b' 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 211 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) 2140 string SBMBAKUP_ Smart Boot Manager backup file 215>9 string x \b, version %-5.5s 216>>14 string =_ 217>>>15 string x %-.1s 218>>>>16 string =_ \b. 219>>>>>17 string x \b%-.1s 220>>>>>>18 string =_ \b. 221>>>>>>>19 string x \b%-.1s 222>>>22 ubyte 0 223>>>>21 ubyte x \b, from drive 0x%x 224>>>22 ubyte >0 225>>>>21 string x \b, from drive %s 226>>>535 search/17 \x55\xAA 227>>>>&-512 indirect x \b; contains 228 229# updated by Joerg Jenderek at Nov 2012 230# DOS Emulator image is 128 byte, null right padded header + harddisc image 2310 string DOSEMU\0 232>0x27E leshort 0xAA55 233#offset is 128 234>>19 ubyte 128 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 240 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 2440 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 2490 string PNCIUNDO Norton Disk Doctor UnDo file 250# 251 252# DOS/MBR boot sector updated by Joerg Jenderek at Sep 2007,May 2011,2013 253# for any allowed sector sizes 25430 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 257!:strength +65 258# for sector sizes < 512 Bytes 259>11 uleshort <512 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 263 264# keep old DOS/MBR boot sector as dummy for mbr and bootloader displaying 265# only for sector sizes with 512 or more Bytes 2660x1FE leshort 0xAA55 DOS/MBR boot sector 267# 268# to display information (50) before DOS BPB (strength=70) and after DOS floppy (120) like in old file version 269!:strength +65 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" 284>>>0x16 ubyte 0xF2 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 405>>0xDA uleshort 0 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 419 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 430>295 string NEWLDR\0 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) 438# 439# tests for different MS-DOS Master Boot Records (MBR) moved and merged 440# 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 446#>>>>382 string FAT3 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 458#2.38,2.42,2.44 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 465>>>>>420 ubyte x \b) 466# 467# SYSLINUX MBR moved 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 480>0x40 string SBML 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" 485#>>>>3 strings 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 497>>0x41 ubyte <2 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 523# unknown version 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 531>3 string BCDL 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 535>3 string !IHISK 536# skip Linux style boot sector starting with assember instructions mov 0x7c0,ax; 537>>0 belong !0xb8c0078e 538# not Linux kernel 539>>>514 string !HdrS 540# not BeOS 541>>>>422 string !Be\ Boot\ Loader 542# jump over BPB instruction implies DOS bootsector or AdvanceMAME mbr 543>>>>>0 ubelong&0xFD000000 =0xE9000000 544# AdvanceMAME mbr 545>>>>>>(1.b+2) ubequad 0xfa31c08ed88ec08e 546>>>>>>>446 use partition-table 547# mbr, Norton Utilities disc image data, or 2nd,etc. sector of x86 bootloader 548>>>>>0 ubelong&0xFD000000 !0xE9000000 549# skip FSInfosector 550>>>>>>0 string !RRaA 551# skip 3rd sector of MS x86 bootloader with assember instructions cli;MOVZX EAX,BYTE PTR [BP+10];MOV ECX, 552# http://thestarman.pcministry.com/asm/mbr/MSWIN41.htm 553>>>>>>>0 ubequad !0xfa660fb64610668b 554# skip 13rd sector of MS x86 bootloader 555>>>>>>>>0 ubequad !0x660fb64610668b4e 556# skip sector starting with DOS new line 557>>>>>>>>>0 string !\r\n 558# allowed active flag 0,80h-FFh 559>>>>>>>>>>446 ubyte 0 560>>>>>>>>>>>446 use partition-table 561>>>>>>>>>>446 ubyte >0x7F 562>>>>>>>>>>>446 use partition-table 563# TODO: test for extended bootrecord (ebr) moved and merged with mbr partition table entries 564# mbr partition table entries end 565# http://www.acronis.de/ 566#FAT label=ACRONIS\ SZ 567#OEM-ID=BOOTWIZ0 568>442 string Non-system\ disk,\ 569>>459 string press\ any\ key...\x7\0 \b, Acronis Startup Recovery Loader 570# updated by Joerg Jenderek at Nov 2012, Sep 2013 571# DOS names like F11.SYS or BOOTWIZ.SYS are 8 right space padded bytes+3 bytes 572# display 1 space 573>>>447 ubyte x \b 574>>>477 use DOS-filename 575# 576>185 string FDBOOT\ Version\ 577>>204 string \rNo\ Systemdisk.\ 578>>>220 string Booting\ from\ harddisk.\n\r 579>>>245 string Cannot\ load\ from\ harddisk.\n\r 580>>>>273 string Insert\ Systemdisk\ 581>>>>>291 string and\ press\ any\ key.\n\r \b, FDBOOT harddisk Bootloader 582>>>>>>200 string >\0 \b, version %-3s 583>242 string Bootsector\ from\ C.H.\ Hochst\204 584# http://freecode.com/projects/dosfstools dosfstools-n.m/src/mkdosfs.c 585# updated by Joerg Jenderek at Nov 2012. Use search directive with offset instead of string 586# skip name "C.H. Hochstaetter" partly because it is sometimes written without umlaut 587>242 search/127 Bootsector\ from\ C.H.\ Hochst 588>>278 search/127 No\ Systemdisk.\ Booting\ from\ harddisk 589# followed by variants with point,CR-NL or NL-CR 590>>>208 search/261 Cannot\ load\ from\ harddisk. 591# followed by variants CR-NL or NL-CR 592>>>>236 search/235 Insert\ Systemdisk\ and\ press\ any\ key. 593# followed by variants with point,CR-NL or NL-CR 594>>>>>180 search/96 Disk\ formatted\ with\ WinImage\ \b, WinImage harddisk Bootloader 595# followed by string like "6.50 (c) 1993-2004 Gilles Vollant" 596>>>>>>&0 string x \b, version %-4.4s 597>(1.b+2) ubyte 0xe 598>>(1.b+3) ubyte 0x1f 599>>>(1.b+4) ubyte 0xbe 600# message offset found at (1.b+5) is 0x77 for FAT32 or 0x5b for others 601>>>>(1.b+5) ubyte&0xd3 0x53 602>>>>>(1.b+6) ubyte 0x7c 603# assembler instructions: lodsb;and al,al;jz 0xb;push si;mov ah, 604>>>>>>(1.b+7) ubyte 0xac 605>>>>>>>(1.b+8) ubyte 0x22 606>>>>>>>>(1.b+9) ubyte 0xc0 607>>>>>>>>>(1.b+10) ubyte 0x74 608>>>>>>>>>>(1.b+11) ubyte 0x0b 609>>>>>>>>>>>(1.b+12) ubyte 0x56 610>>>>>>>>>>>>(1.b+13) ubyte 0xb4 \b, mkdosfs boot message display 611# FAT1X version 612>>>>>>>>>>>>>(1.b+5) ubyte 0x5b 613>>>>>>>>>>>>>>0x5b string >\0 "%-s" 614# FAT32 version 615>>>>>>>>>>>>>(1.b+5) ubyte 0x77 616>>>>>>>>>>>>>>0x77 string >\0 "%-s" 617>214 string Please\ try\ to\ install\ FreeDOS\ \b, DOS Emulator boot message display 618#>>244 string from\ dosemu-freedos-*-bin.tgz\r 619#>>>170 string Sorry,\ could\ not\ load\ an\ 620#>>>>195 string operating\ system.\r\n 621# 622>103 string This\ is\ not\ a\ bootable\ disk.\ 623>>132 string Please\ insert\ a\ bootable\ 624>>>157 string floppy\ and\r\n 625>>>>169 string press\ any\ key\ to\ try\ again...\r \b, FREE-DOS message display 626# 627>66 string Solaris\ Boot\ Sector 628>>99 string Incomplete\ MDBoot\ load. 629>>>89 string Version \b, Sun Solaris Bootloader 630>>>>97 byte x version %c 631# 632>408 string OS/2\ !!\ SYS01475\r\0 633>>429 string OS/2\ !!\ SYS02025\r\0 634>>>450 string OS/2\ !!\ SYS02027\r\0 635>>>469 string OS2BOOT\ \ \ \ \b, IBM OS/2 Warp bootloader 636# 637>409 string OS/2\ !!\ SYS01475\r\0 638>>430 string OS/2\ !!\ SYS02025\r\0 639>>>451 string OS/2\ !!\ SYS02027\r\0 640>>>470 string OS2BOOT\ \ \ \ \b, IBM OS/2 Warp Bootloader 641>112 string This\ disk\ is\ not\ bootable\r 642>>142 string If\ you\ wish\ to\ make\ it\ bootable 643>>>176 string run\ the\ DOS\ program\ SYS\ 644>>>200 string after\ the\r 645>>>>216 string system\ has\ been\ loaded\r\n 646>>>>>242 string Please\ insert\ a\ DOS\ diskette\ 647>>>>>271 string into\r\n\ the\ drive\ and\ 648>>>>>>292 string strike\ any\ key...\0 \b, IBM OS/2 Warp message display 649# XP 650>430 string NTLDR\ is\ missing\xFF\r\n 651>>449 string Disk\ error\xFF\r\n 652>>>462 string Press\ any\ key\ to\ restart\r \b, Microsoft Windows XP Bootloader 653# DOS names like NTLDR,CMLDR,$LDR$ are 8 right space padded bytes+3 bytes 654>>>>417 ubyte&0xDF >0 655>>>>>417 string x %-.5s 656>>>>>>422 ubyte&0xDF >0 657>>>>>>>422 string x \b%-.3s 658>>>>>425 ubyte&0xDF >0 659>>>>>>425 string >\ \b.%-.3s 660# 661>>>>371 ubyte >0x20 662>>>>>368 ubyte&0xDF >0 663>>>>>>368 string x %-.5s 664>>>>>>>373 ubyte&0xDF >0 665>>>>>>>>373 string x \b%-.3s 666>>>>>>376 ubyte&0xDF >0 667>>>>>>>376 string x \b.%-.3s 668# 669>430 string NTLDR\ nicht\ gefunden\xFF\r\n 670>>453 string Datentr\204gerfehler\xFF\r\n 671>>>473 string Neustart\ mit\ beliebiger\ Taste\r \b, Microsoft Windows XP Bootloader (german) 672>>>>417 ubyte&0xDF >0 673>>>>>417 string x %-.5s 674>>>>>>422 ubyte&0xDF >0 675>>>>>>>422 string x \b%-.3s 676>>>>>425 ubyte&0xDF >0 677>>>>>>425 string >\ \b.%-.3s 678# offset variant 679>>>>379 string \0 680>>>>>368 ubyte&0xDF >0 681>>>>>>368 string x %-.5s 682>>>>>>>373 ubyte&0xDF >0 683>>>>>>>>373 string x \b%-.3s 684# 685>430 string NTLDR\ fehlt\xFF\r\n 686>>444 string Datentr\204gerfehler\xFF\r\n 687>>>464 string Neustart\ mit\ beliebiger\ Taste\r \b, Microsoft Windows XP Bootloader (2.german) 688>>>>417 ubyte&0xDF >0 689>>>>>417 string x %-.5s 690>>>>>>422 ubyte&0xDF >0 691>>>>>>>422 string x \b%-.3s 692>>>>>425 ubyte&0xDF >0 693>>>>>>425 string >\ \b.%-.3s 694# variant 695>>>>371 ubyte >0x20 696>>>>>368 ubyte&0xDF >0 697>>>>>>368 string x %-.5s 698>>>>>>>373 ubyte&0xDF >0 699>>>>>>>>373 string x \b%-.3s 700>>>>>>376 ubyte&0xDF >0 701>>>>>>>376 string x \b.%-.3s 702# 703>430 string NTLDR\ fehlt\xFF\r\n 704>>444 string Medienfehler\xFF\r\n 705>>>459 string Neustart:\ Taste\ dr\201cken\r \b, Microsoft Windows XP Bootloader (3.german) 706>>>>371 ubyte >0x20 707>>>>>368 ubyte&0xDF >0 708>>>>>>368 string x %-.5s 709>>>>>>>373 ubyte&0xDF >0 710>>>>>>>>373 string x \b%-.3s 711>>>>>>376 ubyte&0xDF >0 712>>>>>>>376 string x \b.%-.3s 713# variant 714>>>>417 ubyte&0xDF >0 715>>>>>417 string x %-.5s 716>>>>>>422 ubyte&0xDF >0 717>>>>>>>422 string x \b%-.3s 718>>>>>425 ubyte&0xDF >0 719>>>>>>425 string >\ \b.%-.3s 720# 721>430 string Datentr\204ger\ entfernen\xFF\r\n 722>>454 string Medienfehler\xFF\r\n 723>>>469 string Neustart:\ Taste\ dr\201cken\r \b, Microsoft Windows XP Bootloader (4.german) 724>>>>379 string \0 725>>>>>368 ubyte&0xDF >0 726>>>>>>368 string x %-.5s 727>>>>>>>373 ubyte&0xDF >0 728>>>>>>>>373 string x \b%-.3s 729>>>>>>376 ubyte&0xDF >0 730>>>>>>>376 string x \b.%-.3s 731# variant 732>>>>417 ubyte&0xDF >0 733>>>>>417 string x %-.5s 734>>>>>>422 ubyte&0xDF >0 735>>>>>>>422 string x \b%-.3s 736>>>>>425 ubyte&0xDF >0 737>>>>>>425 string >\ \b.%-.3s 738# 739 740#>3 string NTFS\ \ \ \ 741>389 string Fehler\ beim\ Lesen\ 742>>407 string des\ Datentr\204gers 743>>>426 string NTLDR\ fehlt 744>>>>440 string NTLDR\ ist\ komprimiert 745>>>>>464 string Neustart\ mit\ Strg+Alt+Entf\r \b, Microsoft Windows XP Bootloader NTFS (german) 746#>3 string NTFS\ \ \ \ 747>313 string A\ disk\ read\ error\ occurred.\r 748>>345 string A\ kernel\ file\ is\ missing\ 749>>>370 string from\ the\ disk.\r 750>>>>484 string NTLDR\ is\ compressed 751>>>>>429 string Insert\ a\ system\ diskette\ 752>>>>>>454 string and\ restart\r\nthe\ system.\r \b, Microsoft Windows XP Bootloader NTFS 753# DOS loader variants different languages,offsets 754>472 ubyte&0xDF >0 755>>389 string Invalid\ system\ disk\xFF\r\n 756>>>411 string Disk\ I/O\ error 757>>>>428 string Replace\ the\ disk,\ and\ 758>>>>>455 string press\ any\ key \b, Microsoft Windows 98 Bootloader 759#IO.SYS 760>>>>>>472 ubyte&0xDF >0 761>>>>>>>472 string x \b %-.2s 762>>>>>>>>474 ubyte&0xDF >0 763>>>>>>>>>474 string x \b%-.5s 764>>>>>>>>>>479 ubyte&0xDF >0 765>>>>>>>>>>>479 string x \b%-.1s 766>>>>>>>480 ubyte&0xDF >0 767>>>>>>>>480 string x \b.%-.3s 768#MSDOS.SYS 769>>>>>>>483 ubyte&0xDF >0 \b+ 770>>>>>>>>483 string x \b%-.5s 771>>>>>>>>>488 ubyte&0xDF >0 772>>>>>>>>>>488 string x \b%-.3s 773>>>>>>>>491 ubyte&0xDF >0 774>>>>>>>>>491 string x \b.%-.3s 775# 776>>390 string Invalid\ system\ disk\xFF\r\n 777>>>412 string Disk\ I/O\ error\xFF\r\n 778>>>>429 string Replace\ the\ disk,\ and\ 779>>>>>451 string then\ press\ any\ key\r \b, Microsoft Windows 98 Bootloader 780>>388 string Ungueltiges\ System\ \xFF\r\n 781>>>410 string E/A-Fehler\ \ \ \ \xFF\r\n 782>>>>427 string Datentraeger\ wechseln\ und\ 783>>>>>453 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (german) 784#WINBOOT.SYS only not spaces (0xDF) 785>>>>>>497 ubyte&0xDF >0 786>>>>>>>497 string x %-.5s 787>>>>>>>>502 ubyte&0xDF >0 788>>>>>>>>>502 string x \b%-.1s 789>>>>>>>>>>503 ubyte&0xDF >0 790>>>>>>>>>>>503 string x \b%-.1s 791>>>>>>>>>>>>504 ubyte&0xDF >0 792>>>>>>>>>>>>>504 string x \b%-.1s 793>>>>>>505 ubyte&0xDF >0 794>>>>>>>505 string x \b.%-.3s 795#IO.SYS 796>>>>>>472 ubyte&0xDF >0 or 797>>>>>>>472 string x \b %-.2s 798>>>>>>>>474 ubyte&0xDF >0 799>>>>>>>>>474 string x \b%-.5s 800>>>>>>>>>>479 ubyte&0xDF >0 801>>>>>>>>>>>479 string x \b%-.1s 802>>>>>>>480 ubyte&0xDF >0 803>>>>>>>>480 string x \b.%-.3s 804#MSDOS.SYS 805>>>>>>>483 ubyte&0xDF >0 \b+ 806>>>>>>>>483 string x \b%-.5s 807>>>>>>>>>488 ubyte&0xDF >0 808>>>>>>>>>>488 string x \b%-.3s 809>>>>>>>>491 ubyte&0xDF >0 810>>>>>>>>>491 string x \b.%-.3s 811# 812>>390 string Ungueltiges\ System\ \xFF\r\n 813>>>412 string E/A-Fehler\ \ \ \ \xFF\r\n 814>>>>429 string Datentraeger\ wechseln\ und\ 815>>>>>455 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (German) 816#WINBOOT.SYS only not spaces (0xDF) 817>>>>>>497 ubyte&0xDF >0 818>>>>>>>497 string x %-.7s 819>>>>>>>>504 ubyte&0xDF >0 820>>>>>>>>>504 string x \b%-.1s 821>>>>>>505 ubyte&0xDF >0 822>>>>>>>505 string x \b.%-.3s 823#IO.SYS 824>>>>>>472 ubyte&0xDF >0 or 825>>>>>>>472 string x \b %-.2s 826>>>>>>>>474 ubyte&0xDF >0 827>>>>>>>>>474 string x \b%-.6s 828>>>>>>>480 ubyte&0xDF >0 829>>>>>>>>480 string x \b.%-.3s 830#MSDOS.SYS 831>>>>>>>483 ubyte&0xDF >0 \b+ 832>>>>>>>>483 string x \b%-.5s 833>>>>>>>>>488 ubyte&0xDF >0 834>>>>>>>>>>488 string x \b%-.3s 835>>>>>>>>491 ubyte&0xDF >0 836>>>>>>>>>491 string x \b.%-.3s 837# 838>>389 string Ungueltiges\ System\ \xFF\r\n 839>>>411 string E/A-Fehler\ \ \ \ \xFF\r\n 840>>>>428 string Datentraeger\ wechseln\ und\ 841>>>>>454 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (GERMAN) 842# DOS names like IO.SYS,WINBOOT.SYS,MSDOS.SYS,WINBOOT.INI are 8 right space padded bytes+3 bytes 843>>>>>>472 string x %-.2s 844>>>>>>>474 ubyte&0xDF >0 845>>>>>>>>474 string x \b%-.5s 846>>>>>>>>479 ubyte&0xDF >0 847>>>>>>>>>479 string x \b%-.1s 848>>>>>>480 ubyte&0xDF >0 849>>>>>>>480 string x \b.%-.3s 850>>>>>>483 ubyte&0xDF >0 \b+ 851>>>>>>>483 string x \b%-.5s 852>>>>>>>488 ubyte&0xDF >0 853>>>>>>>>488 string x \b%-.2s 854>>>>>>>>490 ubyte&0xDF >0 855>>>>>>>>>490 string x \b%-.1s 856>>>>>>>491 ubyte&0xDF >0 857>>>>>>>>491 string x \b.%-.3s 858>479 ubyte&0xDF >0 859>>416 string Kein\ System\ oder\ 860>>>433 string Laufwerksfehler 861>>>>450 string Wechseln\ und\ Taste\ dr\201cken \b, Microsoft DOS Bootloader (german) 862#IO.SYS 863>>>>>479 string x \b %-.2s 864>>>>>>481 ubyte&0xDF >0 865>>>>>>>481 string x \b%-.6s 866>>>>>487 ubyte&0xDF >0 867>>>>>>487 string x \b.%-.3s 868#MSDOS.SYS 869>>>>>>490 ubyte&0xDF >0 \b+ 870>>>>>>>490 string x \b%-.5s 871>>>>>>>>495 ubyte&0xDF >0 872>>>>>>>>>495 string x \b%-.3s 873>>>>>>>498 ubyte&0xDF >0 874>>>>>>>>498 string x \b.%-.3s 875# 876>376 search/41 Non-System\ disk\ or\ 877>>395 search/41 disk\ error\r 878>>>407 search/41 Replace\ and\ 879>>>>419 search/41 press\ \b, 880>>>>419 search/41 strike\ \b, old 881>>>>426 search/41 any\ key\ when\ ready\r MS or PC-DOS bootloader 882#449 Disk\ Boot\ failure\r MS 3.21 883#466 Boot\ Failure\r MS 3.30 884>>>>>468 search/18 \0 885#IO.SYS,IBMBIO.COM 886>>>>>>&0 string x \b %-.2s 887>>>>>>>&-20 ubyte&0xDF >0 888>>>>>>>>&-1 string x \b%-.4s 889>>>>>>>>>&-16 ubyte&0xDF >0 890>>>>>>>>>>&-1 string x \b%-.2s 891>>>>>>&8 ubyte&0xDF >0 \b. 892>>>>>>>&-1 string x \b%-.3s 893#MSDOS.SYS,IBMDOS.COM 894>>>>>>&11 ubyte&0xDF >0 \b+ 895>>>>>>>&-1 string x \b%-.5s 896>>>>>>>>&-6 ubyte&0xDF >0 897>>>>>>>>>&-1 string x \b%-.1s 898>>>>>>>>>>&-5 ubyte&0xDF >0 899>>>>>>>>>>>&-1 string x \b%-.2s 900>>>>>>>&7 ubyte&0xDF >0 \b. 901>>>>>>>>&-1 string x \b%-.3s 902>441 string Cannot\ load\ from\ harddisk.\n\r 903>>469 string Insert\ Systemdisk\ 904>>>487 string and\ press\ any\ key.\n\r \b, MS (2.11) DOS bootloader 905#>43 string \224R-LOADER\ \ SYS =label 906>54 string SYS 907>>324 string VASKK 908>>>495 string NEWLDR\0 \b, DR-DOS Bootloader (LOADER.SYS) 909# 910>98 string Press\ a\ key\ to\ retry\0\r 911>>120 string Cannot\ find\ file\ \0\r 912>>>139 string Disk\ read\ error\0\r 913>>>>156 string Loading\ ...\0 \b, DR-DOS (3.41) Bootloader 914#DRBIOS.SYS 915>>>>>44 ubyte&0xDF >0 916>>>>>>44 string x \b %-.6s 917>>>>>>>50 ubyte&0xDF >0 918>>>>>>>>50 string x \b%-.2s 919>>>>>>52 ubyte&0xDF >0 920>>>>>>>52 string x \b.%-.3s 921# 922>70 string IBMBIO\ \ COM 923>>472 string Cannot\ load\ DOS!\ 924>>>489 string Any\ key\ to\ retry \b, DR-DOS Bootloader 925>>471 string Cannot\ load\ DOS\ 926>>487 string press\ key\ to\ retry \b, Open-DOS Bootloader 927#?? 928>444 string KERNEL\ \ SYS 929>>314 string BOOT\ error! \b, FREE-DOS Bootloader 930>499 string KERNEL\ \ SYS 931>>305 string BOOT\ err!\0 \b, Free-DOS Bootloader 932>449 string KERNEL\ \ SYS 933>>319 string BOOT\ error! \b, FREE-DOS 0.5 Bootloader 934# 935>449 string Loading\ FreeDOS 936>>0x1AF ulelong >0 \b, FREE-DOS 0.95,1.0 Bootloader 937>>>497 ubyte&0xDF >0 938>>>>497 string x \b %-.6s 939>>>>>503 ubyte&0xDF >0 940>>>>>>503 string x \b%-.1s 941>>>>>>>504 ubyte&0xDF >0 942>>>>>>>>504 string x \b%-.1s 943>>>>505 ubyte&0xDF >0 944>>>>>505 string x \b.%-.3s 945# 946>331 string Error!.0 \b, FREE-DOS 1.0 bootloader 947# 948>125 string Loading\ FreeDOS...\r 949>>311 string BOOT\ error!\r \b, FREE-DOS bootloader 950>>>441 ubyte&0xDF >0 951>>>>441 string x \b %-.6s 952>>>>>447 ubyte&0xDF >0 953>>>>>>447 string x \b%-.1s 954>>>>>>>448 ubyte&0xDF >0 955>>>>>>>>448 string x \b%-.1s 956>>>>449 ubyte&0xDF >0 957>>>>>449 string x \b.%-.3s 958>124 string FreeDOS\0 959>>331 string \ err\0 \b, FREE-DOS BETa 0.9 Bootloader 960# DOS names like KERNEL.SYS,KERNEL16.SYS,KERNEL32.SYS,METAKERN.SYS are 8 right space padded bytes+3 bytes 961>>>497 ubyte&0xDF >0 962>>>>497 string x \b %-.6s 963>>>>>503 ubyte&0xDF >0 964>>>>>>503 string x \b%-.1s 965>>>>>>>504 ubyte&0xDF >0 966>>>>>>>>504 string x \b%-.1s 967>>>>505 ubyte&0xDF >0 968>>>>>505 string x \b.%-.3s 969>>333 string \ err\0 \b, FREE-DOS BEta 0.9 Bootloader 970>>>497 ubyte&0xDF >0 971>>>>497 string x \b %-.6s 972>>>>>503 ubyte&0xDF >0 973>>>>>>503 string x \b%-.1s 974>>>>>>>504 ubyte&0xDF >0 975>>>>>>>>504 string x \b%-.1s 976>>>>505 ubyte&0xDF >0 977>>>>>505 string x \b.%-.3s 978>>334 string \ err\0 \b, FREE-DOS Beta 0.9 Bootloader 979>>>497 ubyte&0xDF >0 980>>>>497 string x \b %-.6s 981>>>>>503 ubyte&0xDF >0 982>>>>>>503 string x \b%-.1s 983>>>>>>>504 ubyte&0xDF >0 984>>>>>>>>504 string x \b%-.1s 985>>>>505 ubyte&0xDF >0 986>>>>>505 string x \b.%-.3s 987>336 string Error!\ 988>>343 string Hit\ a\ key\ to\ reboot. \b, FREE-DOS Beta 0.9sr1 Bootloader 989>>>497 ubyte&0xDF >0 990>>>>497 string x \b %-.6s 991>>>>>503 ubyte&0xDF >0 992>>>>>>503 string x \b%-.1s 993>>>>>>>504 ubyte&0xDF >0 994>>>>>>>>504 string x \b%-.1s 995>>>>505 ubyte&0xDF >0 996>>>>>505 string x \b.%-.3s 997# added by Joerg Jenderek 998# http://www.visopsys.org/ 999# http://partitionlogic.org.uk/ 1000# OEM-ID=Visopsys 1001>478 ulelong 0 1002>>(1.b+326) string I/O\ Error\ reading\ 1003>>>(1.b+344) string Visopsys\ loader\r 1004>>>>(1.b+361) string Press\ any\ key\ to\ continue.\r \b, Visopsys loader 1005# http://alexfru.chat.ru/epm.html#bootprog 1006>494 ubyte >0x4D 1007>>495 string >E 1008>>>495 string <S 1009#OEM-ID is not reliable 1010>>>>3 string BootProg 1011# It just looks for a program file name at the root directory 1012# and loads corresponding file with following execution. 1013# DOS names like STARTUP.BIN,STARTUPC.COM,STARTUPE.EXE are 8 right space padded bytes+3 bytes 1014>>>>499 ubyte&0xDF >0 \b, COM/EXE Bootloader 1015>>>>>499 use DOS-filename 1016#If the boot sector fails to read any other sector, 1017#it prints a very short message ("RE") to the screen and hangs the computer. 1018#If the boot sector fails to find needed program in the root directory, 1019#it also hangs with another message ("NF"). 1020>>>>>492 string RENF \b, FAT (12 bit) 1021>>>>>495 string RENF \b, FAT (16 bit) 1022#If the boot sector fails to read any other sector, 1023#it prints a very short message ("RE") to the screen and hangs the computer. 1024# x86 bootloader end 1025 1026# added by Joerg Jenderek at Feb 2013 according to http://thestarman.pcministry.com/asm/mbr/MSWIN41.htm#FSINFO 1027# and http://en.wikipedia.org/wiki/File_Allocation_Table#FS_Information_Sector 1028>0 string RRaA 1029>>0x1E4 string rrAa \b, FSInfosector 1030#>>0x1FC uleshort =0 SHOULD BE ZERO 1031>>>0x1E8 ulelong <0xffffffff \b, %u free clusters 1032>>>0x1EC ulelong <0xffffffff \b, last allocated cluster %u 1033 1034# updated by Joerg Jenderek at Sep 2007 1035>3 ubyte 0 1036#no active flag 1037>>446 ubyte 0 1038# partition 1 not empty 1039>>>450 ubyte >0 1040# partitions 3,4 empty 1041>>>>482 ubyte 0 1042>>>>>498 ubyte 0 1043# partition 2 ID=0,5,15 1044>>>>>>466 ubyte <0x10 1045>>>>>>>466 ubyte 0x05 \b, extended partition table 1046>>>>>>>466 ubyte 0x0F \b, extended partition table (LBA) 1047>>>>>>>466 ubyte 0x0 \b, extended partition table (last) 1048 1049# DOS x86 sector separated and moved from "DOS/MBR boot sector" by Joerg Jenderek at May 2011 1050 1051>0x200 lelong 0x82564557 \b, BSD disklabel 1052 1053# by Joerg Jenderek at Apr 2013 1054# Print the DOS filenames from directory entry form with 8 right space padded bytes + 3 bytes for extension 1055# like IO.SYS. MSDOS.SYS , KERNEL.SYS , DRBIO.SYS 10560 name DOS-filename 1057# space=0x20 (00100000b) means empty 1058>0 ubyte&0xDF >0 1059>>0 ubyte x \b%c 1060>>>1 ubyte&0xDF >0 1061>>>>1 ubyte x \b%c 1062>>>>>2 ubyte&0xDF >0 1063>>>>>>2 ubyte x \b%c 1064>>>>>>>3 ubyte&0xDF >0 1065>>>>>>>>3 ubyte x \b%c 1066>>>>>>>>>4 ubyte&0xDF >0 1067>>>>>>>>>>4 ubyte x \b%c 1068>>>>>>>>>>>5 ubyte&0xDF >0 1069>>>>>>>>>>>>5 ubyte x \b%c 1070>>>>>>>>>>>>>6 ubyte&0xDF >0 1071>>>>>>>>>>>>>>6 ubyte x \b%c 1072>>>>>>>>>>>>>>>7 ubyte&0xDF >0 1073>>>>>>>>>>>>>>>>7 ubyte x \b%c 1074# DOS filename extension 1075>>8 ubyte&0xDF >0 \b. 1076>>>8 ubyte x \b%c 1077>>>>9 ubyte&0xDF >0 1078>>>>>9 ubyte x \b%c 1079>>>>>>10 ubyte&0xDF >0 1080>>>>>>>10 ubyte x \b%c 1081# Print 2 following DOS filenames from directory entry form 1082# like IO.SYS+MSDOS.SYS or ibmbio.com+ibmdos.com 10830 name 2xDOS-filename 1084# display 1 space 1085>0 ubyte x \b 1086>0 use DOS-filename 1087>11 ubyte x \b+ 1088>11 use DOS-filename 1089 1090# http://en.wikipedia.org/wiki/Master_boot_record#PTE 1091# display standard partition table 10920 name partition-table 1093#>0 ubyte x PARTITION-TABLE 1094# test and display 1st til 4th partition table entry 1095>0 use partition-entry-test 1096>16 use partition-entry-test 1097>32 use partition-entry-test 1098>48 use partition-entry-test 1099# test for entry of partition table 11000 name partition-entry-test 1101# partition type ID > 0 1102>4 ubyte >0 1103# active flag 0 1104>>0 ubyte 0 1105>>>0 use partition-entry 1106# active flag 0x80, 0x81, ... 1107>>0 ubyte >0x7F 1108>>>0 use partition-entry 1109# Print entry of partition table 11100 name partition-entry 1111# partition type ID > 0 1112>4 ubyte >0 \b; partition 1113>>64 leshort 0xAA55 1 1114>>48 leshort 0xAA55 2 1115>>32 leshort 0xAA55 3 1116>>16 leshort 0xAA55 4 1117>>4 ubyte x : ID=0x%x 1118>>0 ubyte&0x80 0x80 \b, active 1119>>0 ubyte >0x80 0x%x 1120>>1 ubyte x \b, start-CHS ( 1121>>1 use partition-chs 1122>>5 ubyte x \b), end-CHS ( 1123>>5 use partition-chs 1124>>8 ulelong x \b), startsector %u 1125>>12 ulelong x \b, %u sectors 1126# Print cylinder,head,sector (CHS) of partition entry 11270 name partition-chs 1128# cylinder 1129>1 ubyte x \b0x 1130>1 ubyte&0xC0 0x40 \b1 1131>1 ubyte&0xC0 0x80 \b2 1132>1 ubyte&0xC0 0xC0 \b3 1133>2 ubyte x \b%x 1134# head 1135>0 ubyte x \b,%u 1136# sector 1137>1 ubyte&0x3F x \b,%u 1138 1139# FATX 11400 string FATX FATX filesystem data 1141 1142# romfs filesystems - Juan Cespedes <cespedes@debian.org> 11430 string -rom1fs- romfs filesystem, version 1 1144>8 belong x %d bytes, 1145>16 string x named %s. 1146 1147# netboot image - Juan Cespedes <cespedes@debian.org> 11480 lelong 0x1b031336L Netboot image, 1149>4 lelong&0xFFFFFF00 0 1150>>4 lelong&0x100 0x000 mode 2 1151>>4 lelong&0x100 0x100 mode 3 1152>4 lelong&0xFFFFFF00 !0 unknown mode 1153 11540x18b string OS/2 OS/2 Boot Manager 1155 1156# updated by Joerg Jenderek at Oct 2008 and Sep 2012 1157# http://syslinux.zytor.com/iso.php 1158# 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 1159# assembler instructions: cli;jmp 0:7Cyy (yy=0x40,0x5e,0x6c,0x6e,0x77);nop;nop 11600 ulequad&0x909000007cc0eafa 0x909000007c40eafa 1161>631 search/689 ISOLINUX\ isolinux Loader 1162>>&0 string x (version %-4.4s) 1163# http://syslinux.zytor.com/pxe.php 1164# assembler instructions: jmp 7C05 11650 ulelong 0x007c05ea pxelinux loader (version 2.13 or older) 1166# assembler instructions: pushfd;pushad 11670 ulelong 0x60669c66 pxelinux loader 1168# assembler instructions: jmp 05 11690 ulelong 0xc00005ea pxelinux loader (version 3.70 or newer) 1170# http://syslinux.zytor.com/wiki/index.php/SYSLINUX 11710 string LDLINUX\ SYS\ SYSLINUX loader 1172>12 string x (older version %-4.4s) 11730 string \r\nSYSLINUX\ SYSLINUX loader 1174>11 string x (version %-4.4s) 1175# syslinux updated and separated from "DOS/MBR boot sector" by Joerg Jenderek at Sep 2012 1176# assembler instructions: jmp yy (yy=0x3c,0x58);nop;"SYSLINUX" 11770 ulelong&0x80909bEB 0x009018EB 1178# OEM-ID not always "SYSLINUX" 1179>434 search/47 Boot\ failed 1180# followed by \r\n\0 or :\ 1181>>482 search/132 \0LDLINUX\ SYS Syslinux bootloader (version 2.13 or older) 1182>>1 ubyte 0x58 Syslinux bootloader (version 3.0-3.9) 1183>459 search/30 Boot\ error\r\n\0 1184>>1 ubyte 0x58 Syslinux bootloader (version 3.10 or newer) 1185# SYSLINUX MBR updated and separated from "DOS/MBR boot sector" by Joerg Jenderek at Sep 2012 1186# assembler instructions: mov di,0600h;mov cx,0100h 118716 search/4 \xbf\x00\x06\xb9\x00\x01 1188# to display SYSLINUX MBR (36) before old DOS/MBR boot sector one with partition table (strength=50+21) 1189!:strength +36 1190>94 search/249 Missing\ operating\ system 1191# followed by \r for versions older 3.35 , .\r for versions newer 3.52 and point for other 1192# skip Ranish MBR 1193>>408 search/4 HD1/\0 1194>>408 default x 1195>>>250 search/118 \0Operating\ system\ load SYSLINUX MBR 1196# followed by "ing " or space 1197>>>>292 search/98 error 1198>>>>>&0 string \r (version 3.35 or older) 1199>>>>>&0 string .\r (version 3.52 or newer) 1200>>>>>&0 default x (version 3.36-3.51 ) 1201>368 search/106 \0Disk\ error\ on\ boot\r\n SYSLINUX GPT-MBR 1202>>156 search/10 \0Boot\ partition\ not\ found\r\n 1203>>>270 search/10 \0OS\ not\ bootable\r\n (version 3.86 or older) 1204>>174 search/10 \0Missing\ OS\r\n 1205>>>189 search/10 \0Multiple\ active\ partitions\r\n (version 4.00 or newer) 1206# SYSLINUX END 1207 1208# NetBSD mbr variants (master-boot-code version 1.22) added by Joerg Jenderek at Nov 2012 1209# assembler instructions: xor ax,ax;mov ax,ss;mov sp,0x7c00;mov ax, 12100 ubequad 0x31c08ed0bc007c8e 1211# mbr_bootsel magic before partition table not reliable with small ipl fragments 1212#>444 uleshort 0xb5e1 1213>0004 uleshort x 1214# ERRorTeXT 1215>>181 search/166 Error\ \0\r\n NetBSD mbr 1216# NT Drive Serial Number http://thestarman.pcministry.com/asm/mbr/Win2kmbr.htm#DS 1217>>>0x1B8 ubelong >0 \b,Serial 0x%-.8x 1218# BOOTSEL definitions contains assembler instructions: int 0x13;pop dx;push dx;push dx 1219>>>0xbb search/71 \xcd\x13\x5a\x52\x52 \b,bootselector 1220# BOOT_EXTENDED definitions contains assembler instructions: 1221# xchg ecx,edx;addl ecx,edx;movw lba_info,si;movb 0x42,ah;pop dx;push dx;int 0x13 1222>>>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 1223# COM_PORT_VAL definitions contains assembler instructions: outb al,dx;add 5,dl;inb %dx;test 0x40,al 1224>>>0x130 search/55 \xee\x80\xc2\x05\xec\xa8\x40 \b,serial IO 1225# not TERSE_ERROR 1226>>>196 search/106 No\ active\ partition\0 1227>>>>&0 string Disk\ read\ error\0 1228>>>>>&0 string No\ operating\ system\0 \b,verbose 1229# not NO_CHS definitions contains assembler instructions: pop dx;push dx;movb $8,ah;int0x13 1230>>>0x7d search/7 \x5a\x52\xb4\x08\xcd\x13 \b,CHS 1231# not NO_LBA_CHECK definitions contains assembler instructions: movw 0x55aa,bx;movb 0x41,ah;pop dx;push dx;int 0x13 1232>>>0xa4 search/84 \xbb\xaa\x55\xb4\x41\x5a\x52\xcd\x13 \b,LBA-check 1233# assembler instructions: movw nametab,bx 1234>>>0x26 search/21 \xBB\x94\x07 1235# not NO_BANNER definitions contains assembler instructions: mov banner,si;call message_crlf 1236>>>>&-9 ubequad&0xBE00f0E800febb94 0xBE0000E80000bb94 1237>>>>>181 search/166 Error\ \0 1238# "a: disk" , "Fn: diskn" or "NetBSD MBR boot" 1239>>>>>>&3 string x \b,"%s" 1240>>>446 use partition-table 1241# Andrea Mazzoleni AdvanceCD mbr loader of http://advancemame.sourceforge.net/boot-readme.html 1242# added by Joerg Jenderek at Nov 2012 for versions 1.3 - 1.4 1243# assembler instructions: jmp short 0x58;nop;ASCII 12440 ubequad&0xeb58908000000000 0xeb58900000000000 1245# assembler instructions: cli;xor ax,ax;mov ds,ax;mov es,ax;mov ss, 1246>(1.b+2) ubequad 0xfa31c08ed88ec08e 1247# Error messages at end of code 1248>>376 string No\ operating\ system\r\n\0 1249>>>398 string Disk\ error\r\n\0FDD\0HDD\0 1250>>>>419 string \ EBIOS\r\n\0 AdvanceMAME mbr 1251 1252# Neil Turton mbr loader variant of http://www.chiark.greenend.org.uk/~neilt/mbr/ 1253# added by Joerg Jenderek at Mar 2011 for versions 1.0.0 - 1.1.11 1254# for 1st version assembler instructions: cld;xor ax,ax;mov DS,ax;MOV ES,AX;mov SI, 1255# or cld;xor ax,ax;mov SS,ax;XOR SP,SP;mov DS, 12560 ulequad&0xcE1b40D48EC031FC 0x8E0000D08EC031FC 1257# pointer to the data starting with Neil Turton signature string 1258>(0x1BC.s) string NDTmbr 1259>>&-14 string 1234F\0 Turton mbr ( 1260# parameters also viewed by install-mbr --list 1261>>>(0x1BC.s+7) ubyte x \b%u<= 1262>>>(0x1BC.s+9) ubyte x \bVersion<=%u 1263#>>>(0x1BC.s+8) ubyte x asm_flag_%x 1264>>>(0x1BC.s+8) ubyte&1 1 \b,Y2K-Fix 1265# variant used by testdisk of http://www.cgsecurity.org/wiki/Menu_MBRCode 1266>>>(0x1BC.s+8) ubyte&2 2 \b,TestDisk 1267#0x1~1,..,0x8~4,0x10~F,0x80~A enabled 1268#>>>(0x1BC.s+10) ubyte x \b,flags 0x%x 1269#0x0~1,0x1~2,...,0x3~4,0x4~F,0x7~D default boot 1270#>>>(0x1BC.s+11) ubyte x \b,cfg_def 0x%x 1271# for older versions 1272>>>(0x1BC.s+9) ubyte <2 1273#>>>>(0x1BC.s+12) ubyte 18 \b,%hhu/18 seconds 1274>>>>(0x1BC.s+12) ubyte !18 \b,%u/18 seconds 1275# floppy A: or B: 1276>>>>(0x1BC.s+13) ubyte <2 \b,floppy 0x%x 1277>>>>(0x1BC.s+13) ubyte >1 1278# 1st hard disc 1279#>>>>>(0x1BC.s+13) ubyte 0x80 \b,drive 0x%x 1280# not 1st hard disc 1281>>>>>(0x1BC.s+13) ubyte !0x80 \b,drive 0x%x 1282# for version >= 2 maximal timeout can be 65534 1283>>>(0x1BC.s+9) ubyte >1 1284#>>>>(0x1BC.s+12) uleshort 18 \b,%u/18 seconds 1285>>>>(0x1BC.s+12) uleshort !18 \b,%u/18 seconds 1286# floppy A: or B: 1287>>>>(0x1BC.s+14) ubyte <2 \b,floppy 0x%x 1288>>>>(0x1BC.s+14) ubyte >1 1289# 1st hard disc 1290#>>>>>(0x1BC.s+14) ubyte 0x80 \b,drive 0x%x 1291# not 1st hard disc 1292>>>>>(0x1BC.s+14) ubyte !0x80 \b,drive 0x%x 1293>>>0 ubyte x \b) 1294 1295# added by Joerg Jenderek 1296# In the second sector (+0x200) are variables according to grub-0.97/stage2/asm.S or 1297# grub-1.94/kern/i386/pc/startup.S 1298# http://www.gnu.org/software/grub/manual/grub.html#Embedded-data 1299# usual values are marked with comments to get only informations of strange GRUB loaders 13000x200 uleshort 0x70EA 1301# found only version 3.{1,2} 1302>0x206 ubeshort >0x0300 1303# GRUB version (0.5.)95,0.93,0.94,0.96,0.97 > "00" 1304>>0x212 ubyte >0x29 1305>>>0x213 ubyte >0x29 1306# not iso9660_stage1_5 1307#>>>0 ulelong&0x00BE5652 0x00BE5652 1308>>>>0x213 ubyte >0x29 GRand Unified Bootloader 1309# config_file for stage1_5 is 0xffffffff + default "/boot/grub/stage2" 1310>>>>0x217 ubyte 0xFF stage1_5 1311>>>>0x217 ubyte <0xFF stage2 1312>>>>0x206 ubyte x \b version %u 1313>>>>0x207 ubyte x \b.%u 1314# module_size for 1.94 1315>>>>0x208 ulelong <0xffffff \b, installed partition %u 1316#>>>>0x208 ulelong =0xffffff \b, %lu (default) 1317>>>>0x208 ulelong >0xffffff \b, installed partition %u 1318# GRUB 0.5.95 unofficial 1319>>>>0x20C ulelong&0x2E300000 0x2E300000 1320# 0=stage2 1=ffs 2=e2fs 3=fat 4=minix 5=reiserfs 1321>>>>>0x20C ubyte x \b, identifier 0x%x 1322#>>>>>0x20D ubyte =0 \b, LBA flag 0x%x (default) 1323>>>>>0x20D ubyte >0 \b, LBA flag 0x%x 1324# GRUB version as string 1325>>>>>0x20E string >\0 \b, GRUB version %-s 1326# for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default 1327>>>>>>0x215 ulong 0xffffffff 1328>>>>>>>0x219 string >\0 \b, configuration file %-s 1329>>>>>>0x215 ulong !0xffffffff 1330>>>>>>>0x215 string >\0 \b, configuration file %-s 1331# newer GRUB versions 1332>>>>0x20C ulelong&0x2E300000 !0x2E300000 1333##>>>>>0x20C ulelong =0 \b, saved entry %d (usual) 1334>>>>>0x20C ulelong >0 \b, saved entry %d 1335# for 1.94 contains kernel image size 1336# for 0.93,0.94,0.96,0.97 1337# 0=stage2 1=ffs 2=e2fs 3=fat 4=minix 5=reiserfs 6=vstafs 7=jfs 8=xfs 9=iso9660 a=ufs2 1338>>>>>0x210 ubyte x \b, identifier 0x%x 1339# The flag for LBA forcing is in most cases 0 1340#>>>>>0x211 ubyte =0 \b, LBA flag 0x%x (default) 1341>>>>>0x211 ubyte >0 \b, LBA flag 0x%x 1342# GRUB version as string 1343>>>>>0x212 string >\0 \b, GRUB version %-s 1344# for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default 1345>>>>>0x217 ulong 0xffffffff 1346>>>>>>0x21b string >\0 \b, configuration file %-s 1347>>>>>0x217 ulong !0xffffffff 1348>>>>>>0x217 string >\0 \b, configuration file %-s 1349 1350# DOS x86 sector updated and separated from "DOS/MBR boot sector" by Joerg Jenderek at May 2011 1351# JuMP short bootcodeoffset NOP assembler instructions will usually be EB xx 90 1352# over BIOS parameter block (BPB) 1353# http://thestarman.pcministry.com/asm/2bytejumps.htm#FWD 1354# older drives may use Near JuMP instruction E9 xx xx 1355# minimal short forward jump found 0x29 for bootloaders or 0x0 1356# maximal short forward jump is 0x7f 1357# OEM-ID is empty or contain readable bytes 13580 ulelong&0x804000E9 0x000000E9 1359!:strength +60 1360# mtools-3.9.8/msdos.h 1361# usual values are marked with comments to get only informations of strange FAT systems 1362# valid sectorsize must be a power of 2 from 32 to 32768 1363>11 uleshort&0x001f 0 1364>>11 uleshort <32769 1365>>>11 uleshort >31 1366>>>>21 ubyte&0xf0 0xF0 1367>>>>>0 ubyte 0xEB DOS/MBR boot sector 1368>>>>>>1 ubyte x \b, code offset 0x%x+2 1369>>>>>0 ubyte 0xE9 1370>>>>>>1 uleshort x \b, code offset 0x%x+3 1371>>>>>3 string >\0 \b, OEM-ID "%-.8s" 1372#http://mirror.href.com/thestarman/asm/debug/debug2.htm#IHC 1373>>>>>>8 string IHC \b cached by Windows 9M 1374>>>>>11 uleshort >512 \b, Bytes/sector %u 1375#>>>>>11 uleshort =512 \b, Bytes/sector %u=512 (usual) 1376>>>>>11 uleshort <512 \b, Bytes/sector %u 1377>>>>>13 ubyte >1 \b, sectors/cluster %u 1378#>>>>>13 ubyte =1 \b, sectors/cluster %u (usual on Floppies) 1379# for lazy FAT32 implementation like Transcend digital photo frame PF830 1380>>>>>82 string/c fat32 1381>>>>>>14 uleshort !32 \b, reserved sectors %u 1382#>>>>>>14 uleshort =32 \b, reserved sectors %u (usual Fat32) 1383>>>>>82 string/c !fat32 1384>>>>>>14 uleshort >1 \b, reserved sectors %u 1385#>>>>>>14 uleshort =1 \b, reserved sectors %u (usual FAT12,FAT16) 1386#>>>>>>14 uleshort 0 \b, reserved sectors %u (usual NTFS) 1387>>>>>16 ubyte >2 \b, FATs %u 1388#>>>>>16 ubyte =2 \b, FATs %u (usual) 1389>>>>>16 ubyte =1 \b, FAT %u 1390>>>>>16 ubyte >0 1391>>>>>17 uleshort >0 \b, root entries %u 1392#>>>>>17 uleshort =0 \b, root entries %hu=0 (usual Fat32) 1393>>>>>19 uleshort >0 \b, sectors %u (volumes <=32 MB) 1394#>>>>>19 uleshort =0 \b, sectors %hu=0 (usual Fat32) 1395>>>>>21 ubyte >0xF0 \b, Media descriptor 0x%x 1396#>>>>>21 ubyte =0xF0 \b, Media descriptor 0x%x (usual floppy) 1397>>>>>21 ubyte <0xF0 \b, Media descriptor 0x%x 1398>>>>>22 uleshort >0 \b, sectors/FAT %u 1399#>>>>>22 uleshort =0 \b, sectors/FAT %hu=0 (usual Fat32) 1400>>>>>24 uleshort x \b, sectors/track %u 1401>>>>>26 ubyte >2 \b, heads %u 1402#>>>>>26 ubyte =2 \b, heads %u (usual floppy) 1403>>>>>26 ubyte =1 \b, heads %u 1404# valid only for sector sizes with more then 32 Bytes 1405>>>>>11 uleshort >32 1406# http://en.wikipedia.org/wiki/Design_of_the_FAT_file_system#Extended_BIOS_Parameter_Block 1407# skip for values 2,2Ah,70h,73h,DFh 1408# and continue for extended boot signature values 0,28h,29h,80h 1409>>>>>>38 ubyte&0x56 =0 1410>>>>>>>28 ulelong >0 \b, hidden sectors %u 1411#>>>>>>>28 ulelong =0 \b, hidden sectors %u (usual floppy) 1412>>>>>>>32 ulelong >0 \b, sectors %u (volumes > 32 MB) 1413#>>>>>>>32 ulelong =0 \b, sectors %u (volumes > 32 MB) 1414# FAT<32 bit specific 1415>>>>>>>82 string/c !fat32 1416#>>>>>>>>36 ubyte 0x80 \b, physical drive 0x%x=0x80 (usual harddisk) 1417#>>>>>>>>36 ubyte 0 \b, physical drive 0x%x=0 (usual floppy) 1418>>>>>>>>36 ubyte !0x80 1419>>>>>>>>>36 ubyte !0 \b, physical drive 0x%x 1420# VGA-copy CRC or 1421# in Windows NT bit 0 is a dirty flag to request chkdsk at boot time. bit 1 requests surface scan too 1422>>>>>>>>37 ubyte >0 \b, reserved 0x%x 1423#>>>>>>>>37 ubyte =0 \b, reserved 0x%x 1424# extended boot signatur value is 0x80 for NTFS, 0x28 or 0x29 for others 1425>>>>>>>>38 ubyte !0x29 \b, dos < 4.0 BootSector (0x%x) 1426>>>>>>>>38 ubyte&0xFE =0x28 1427>>>>>>>>>39 ulelong x \b, serial number 0x%x 1428>>>>>>>>38 ubyte =0x29 1429>>>>>>>>>43 string <NO\ NAME \b, label: "%11.11s" 1430>>>>>>>>>43 string >NO\ NAME \b, label: "%11.11s" 1431>>>>>>>>>43 string =NO\ NAME \b, unlabeled 1432# there exist some old floppies without word FAT at offset 54 1433# a word like "FATnm " is only a hint for a FAT size on nm-bits 1434# Normally the number of clusters is calculated by the values of BPP. 1435# if it is small enough FAT is 12 bit, if it is too big enough FAT is 32 bit, 1436# otherwise FAT is 16 bit. 1437# http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/determining-fat-widths.html 1438>>>>>82 string/c !fat32 1439>>>>>>54 string FAT12 \b, FAT (12 bit) 1440>>>>>>54 string FAT16 \b, FAT (16 bit) 1441>>>>>>54 default x 1442# determinate FAT bit size by media descriptor 1443# small floppies implies FAT12 1444>>>>>>>21 ubyte <0xF0 \b, FAT (12 bit by descriptor) 1445# with media descriptor F0h floppy or maybe superfloppy with FAT16 1446>>>>>>>21 ubyte =0xF0 1447# superfloppy (many sectors) implies FAT16 1448>>>>>>>>32 ulelong >0xFFFF \b, FAT (16 bit by descriptor+sectors) 1449# no superfloppy with media descriptor F0h implies FAT12 1450>>>>>>>>32 default x \b, FAT (12 bit by descriptor+sectors) 1451# with media descriptor F8h floppy or hard disc with FAT12 or FAT16 1452>>>>>>>21 ubyte =0xF8 1453# 360 KiB with media descriptor F8h, 9 sectors per track ,single sided floppy implies FAT12 1454>>>>>>>>19 ubequad 0xd002f80300090001 \b, FAT (12 bit by descriptor+geometry) 1455# hard disc with FAT12 or FAT16 1456>>>>>>>>19 default x \b, FAT (1Y bit by descriptor) 1457# with media descriptor FAh floppy, RAM disc with FAT12 or FAT16 or Tandy hard disc 1458>>>>>>>21 ubyte =0xFA 1459# 320 KiB with media descriptor FAh, 8 sectors per track ,single sided floppy implies FAT12 1460>>>>>>>>19 ubequad 0x8002fa0200080001 \b, FAT (12 bit by descriptor+geometry) 1461# RAM disc with FAT12 or FAT16 or Tandy hard disc 1462>>>>>>>>19 default x \b, FAT (1Y bit by descriptor) 1463# others are floppy 1464>>>>>>>21 default x \b, FAT (12 bit by descriptor) 1465# FAT32 bit specific 1466>>>>>82 string/c fat32 \b, FAT (32 bit) 1467>>>>>>36 ulelong x \b, sectors/FAT %u 1468# http://technet.microsoft.com/en-us/library/cc977221.aspx 1469>>>>>>40 uleshort >0 \b, extension flags 0x%x 1470#>>>>>>40 uleshort =0 \b, extension flags %hu 1471>>>>>>42 uleshort >0 \b, fsVersion %u 1472#>>>>>>42 uleshort =0 \b, fsVersion %u (usual) 1473>>>>>>44 ulelong >2 \b, rootdir cluster %u 1474#>>>>>>44 ulelong =2 \b, rootdir cluster %u 1475#>>>>>>44 ulelong =1 \b, rootdir cluster %u 1476>>>>>>48 uleshort >1 \b, infoSector %u 1477#>>>>>>48 uleshort =1 \b, infoSector %u (usual) 1478>>>>>>48 uleshort <1 \b, infoSector %u 1479# 0 or 0xFFFF instead of usual 6 means no backup sector 1480>>>>>>50 uleshort =0xFFFF \b, no Backup boot sector 1481>>>>>>50 uleshort =0 \b, no Backup boot sector 1482#>>>>>>50 uleshort =6 \b, Backup boot sector %u (usual) 1483>>>>>>50 default x 1484>>>>>>>50 uleshort x \b, Backup boot sector %u 1485# corrected by Joerg Jenderek at Feb 2011 according to http://thestarman.pcministry.com/asm/mbr/MSWIN41.htm#FSINFO 1486>>>>>>52 ulelong >0 \b, reserved1 0x%x 1487>>>>>>56 ulelong >0 \b, reserved2 0x%x 1488>>>>>>60 ulelong >0 \b, reserved3 0x%x 1489# same structure as FAT1X 1490#>>>>>>64 ubyte =0x80 \b, physical drive 0x%x=80 (usual harddisk) 1491#>>>>>>64 ubyte =0 \b, physical drive 0x%x=0 (usual floppy) 1492>>>>>>64 ubyte !0x80 1493>>>>>>>64 ubyte >0 \b, physical drive 0x%x 1494# in Windows NT bit 0 is a dirty flag to request chkdsk at boot time. bit 1 requests surface scan too 1495>>>>>>65 ubyte >0 \b, reserved 0x%x 1496>>>>>>66 ubyte !0x29 \b, dos < 4.0 BootSector (0x%x) 1497>>>>>>66 ubyte =0x29 1498>>>>>>>67 ulelong x \b, serial number 0x%x 1499>>>>>>>71 string <NO\ NAME \b, label: "%11.11s" 1500>>>>>>>71 string >NO\ NAME \b, label: "%11.11s" 1501>>>>>>>71 string =NO\ NAME \b, unlabeled 1502# additional tests for floppy image added by Joerg Jenderek 1503# no fixed disk 1504>>>>>21 ubyte !0xF8 1505# floppy media with 12 bit FAT 1506>>>>>>54 string !FAT16 1507# test for FAT after bootsector 1508>>>>>>>(11.s) ulelong&0x00ffffF0 0x00ffffF0 \b, followed by FAT 1509# floppy image 1510!:mime application/x-ima 1511# NTFS specific added by Joerg Jenderek at Mar 2011 according to http://thestarman.pcministry.com/asm/mbr/NTFSBR.htm 1512# and http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/bios-parameter-block.html 1513# 0 FATs 1514>>>>>16 ubyte =0 1515# 0 root entries 1516>>>>>>17 uleshort =0 1517# 0 DOS sectors 1518>>>>>>>19 uleshort =0 1519# 0 sectors/FAT 1520# dos < 4.0 BootSector value found is 0x80 1521#38 ubyte =0x80 \b, dos < 4.0 BootSector (0x%x) 1522>>>>>>>>22 uleshort =0 \b; NTFS 1523>>>>>>>>>24 uleshort >0 \b, sectors/track %u 1524>>>>>>>>>36 ulelong !0x800080 \b, physical drive 0x%x 1525>>>>>>>>>40 ulequad >0 \b, sectors %lld 1526>>>>>>>>>48 ulequad >0 \b, $MFT start cluster %lld 1527>>>>>>>>>56 ulequad >0 \b, $MFTMirror start cluster %lld 1528# Values 0 to 127 represent MFT record sizes of 0 to 127 clusters. 1529# Values 128 to 255 represent MFT record sizes of 2^(256-N) bytes. 1530>>>>>>>>>64 lelong <256 1531>>>>>>>>>>64 lelong <128 \b, clusters/RecordSegment %d 1532>>>>>>>>>>64 ubyte >127 \b, bytes/RecordSegment 2^(-1*%i) 1533# Values 0 to 127 represent index block sizes of 0 to 127 clusters. 1534# Values 128 to 255 represent index block sizes of 2^(256-N) byte 1535>>>>>>>>>68 ulelong <256 1536>>>>>>>>>>68 ulelong <128 \b, clusters/index block %d 1537#>>>>>>>>>>68 ulelong >127 \b, bytes/index block 2^(256-%d) 1538>>>>>>>>>>68 ubyte >127 \b, bytes/index block 2^(-1*%i) 1539>>>>>>>>>72 ulequad x \b, serial number 0%llx 1540>>>>>>>>>80 ulelong >0 \b, checksum 0x%x 1541#>>>>>>>>>80 ulelong =0 \b, checksum 0x%x=0 (usual) 1542>>>>>>>>>0x258 ulelong&0x00009090 =0x00009090 1543>>>>>>>>>>&-92 indirect x \b; contains 1544# For 2nd NTFS sector added by Joerg Jenderek at Jan 2013 1545# http://thestarman.pcministry.com/asm/mbr/NTFSbrHexEd.htm 1546# unused assembler instructions JMP y2;NOP;NOP 15470x056 ulelong&0xFFFF0FFF 0x909002EB 1548# unicode loadername terminated by CTRL-D 1549>(0.s*2) ulelong&0xFFFFFF00 0x00040000 1550# loadernames are NTLDR,CMLDR,PELDR,$LDR$ or BOOTMGR 1551>>0x002 lestring16 x Microsoft Windows XP/VISTA bootloader %-5.5s 1552>>0x12 string $ 1553>>>0x0c lestring16 x \b%-2.2s 1554### DOS,NTFS boot sectors end 1555 15569564 lelong 0x00011954 Unix Fast File system [v1] (little-endian), 1557>8404 string x last mounted on %s, 1558#>9504 ledate x last checked at %s, 1559>8224 ledate x last written at %s, 1560>8401 byte x clean flag %d, 1561>8228 lelong x number of blocks %d, 1562>8232 lelong x number of data blocks %d, 1563>8236 lelong x number of cylinder groups %d, 1564>8240 lelong x block size %d, 1565>8244 lelong x fragment size %d, 1566>8252 lelong x minimum percentage of free blocks %d, 1567>8256 lelong x rotational delay %dms, 1568>8260 lelong x disk rotational speed %drps, 1569>8320 lelong 0 TIME optimization 1570>8320 lelong 1 SPACE optimization 1571 157242332 lelong 0x19540119 Unix Fast File system [v2] (little-endian) 1573>&-1164 string x last mounted on %s, 1574>&-696 string >\0 volume name %s, 1575>&-304 leqldate x last written at %s, 1576>&-1167 byte x clean flag %d, 1577>&-1168 byte x readonly flag %d, 1578>&-296 lequad x number of blocks %lld, 1579>&-288 lequad x number of data blocks %lld, 1580>&-1332 lelong x number of cylinder groups %d, 1581>&-1328 lelong x block size %d, 1582>&-1324 lelong x fragment size %d, 1583>&-180 lelong x average file size %d, 1584>&-176 lelong x average number of files in dir %d, 1585>&-272 lequad x pending blocks to free %lld, 1586>&-264 lelong x pending inodes to free %d, 1587>&-664 lequad x system-wide uuid %0llx, 1588>&-1316 lelong x minimum percentage of free blocks %d, 1589>&-1248 lelong 0 TIME optimization 1590>&-1248 lelong 1 SPACE optimization 1591 159266908 lelong 0x19540119 Unix Fast File system [v2] (little-endian) 1593>&-1164 string x last mounted on %s, 1594>&-696 string >\0 volume name %s, 1595>&-304 leqldate x last written at %s, 1596>&-1167 byte x clean flag %d, 1597>&-1168 byte x readonly flag %d, 1598>&-296 lequad x number of blocks %lld, 1599>&-288 lequad x number of data blocks %lld, 1600>&-1332 lelong x number of cylinder groups %d, 1601>&-1328 lelong x block size %d, 1602>&-1324 lelong x fragment size %d, 1603>&-180 lelong x average file size %d, 1604>&-176 lelong x average number of files in dir %d, 1605>&-272 lequad x pending blocks to free %lld, 1606>&-264 lelong x pending inodes to free %d, 1607>&-664 lequad x system-wide uuid %0llx, 1608>&-1316 lelong x minimum percentage of free blocks %d, 1609>&-1248 lelong 0 TIME optimization 1610>&-1248 lelong 1 SPACE optimization 1611 16129564 belong 0x00011954 Unix Fast File system [v1] (big-endian), 1613>7168 belong 0x4c41424c Apple UFS Volume 1614>>7186 string x named %s, 1615>>7176 belong x volume label version %d, 1616>>7180 bedate x created on %s, 1617>8404 string x last mounted on %s, 1618#>9504 bedate x last checked at %s, 1619>8224 bedate x last written at %s, 1620>8401 byte x clean flag %d, 1621>8228 belong x number of blocks %d, 1622>8232 belong x number of data blocks %d, 1623>8236 belong x number of cylinder groups %d, 1624>8240 belong x block size %d, 1625>8244 belong x fragment size %d, 1626>8252 belong x minimum percentage of free blocks %d, 1627>8256 belong x rotational delay %dms, 1628>8260 belong x disk rotational speed %drps, 1629>8320 belong 0 TIME optimization 1630>8320 belong 1 SPACE optimization 1631 163242332 belong 0x19540119 Unix Fast File system [v2] (big-endian) 1633>&-1164 string x last mounted on %s, 1634>&-696 string >\0 volume name %s, 1635>&-304 beqldate x last written at %s, 1636>&-1167 byte x clean flag %d, 1637>&-1168 byte x readonly flag %d, 1638>&-296 bequad x number of blocks %lld, 1639>&-288 bequad x number of data blocks %lld, 1640>&-1332 belong x number of cylinder groups %d, 1641>&-1328 belong x block size %d, 1642>&-1324 belong x fragment size %d, 1643>&-180 belong x average file size %d, 1644>&-176 belong x average number of files in dir %d, 1645>&-272 bequad x pending blocks to free %lld, 1646>&-264 belong x pending inodes to free %d, 1647>&-664 bequad x system-wide uuid %0llx, 1648>&-1316 belong x minimum percentage of free blocks %d, 1649>&-1248 belong 0 TIME optimization 1650>&-1248 belong 1 SPACE optimization 1651 165266908 belong 0x19540119 Unix Fast File system [v2] (big-endian) 1653>&-1164 string x last mounted on %s, 1654>&-696 string >\0 volume name %s, 1655>&-304 beqldate x last written at %s, 1656>&-1167 byte x clean flag %d, 1657>&-1168 byte x readonly flag %d, 1658>&-296 bequad x number of blocks %lld, 1659>&-288 bequad x number of data blocks %lld, 1660>&-1332 belong x number of cylinder groups %d, 1661>&-1328 belong x block size %d, 1662>&-1324 belong x fragment size %d, 1663>&-180 belong x average file size %d, 1664>&-176 belong x average number of files in dir %d, 1665>&-272 bequad x pending blocks to free %lld, 1666>&-264 belong x pending inodes to free %d, 1667>&-664 bequad x system-wide uuid %0llx, 1668>&-1316 belong x minimum percentage of free blocks %d, 1669>&-1248 belong 0 TIME optimization 1670>&-1248 belong 1 SPACE optimization 1671 1672# ext2/ext3 filesystems - Andreas Dilger <adilger@dilger.ca> 1673# ext4 filesystem - Eric Sandeen <sandeen@sandeen.net> 1674# volume label and UUID Russell Coker 1675# http://etbe.coker.com.au/2008/07/08/label-vs-uuid-vs-device/ 16760x438 leshort 0xEF53 Linux 1677>0x44c lelong x rev %d 1678>0x43e leshort x \b.%d 1679# No journal? ext2 1680>0x45c lelong ^0x0000004 ext2 filesystem data 1681>>0x43a leshort ^0x0000001 (mounted or unclean) 1682# Has a journal? ext3 or ext4 1683>0x45c lelong &0x0000004 1684# and small INCOMPAT? 1685>>0x460 lelong <0x0000040 1686# and small RO_COMPAT? 1687>>>0x464 lelong <0x0000008 ext3 filesystem data 1688# else large RO_COMPAT? 1689>>>0x464 lelong >0x0000007 ext4 filesystem data 1690# else large INCOMPAT? 1691>>0x460 lelong >0x000003f ext4 filesystem data 1692>0x468 belong x \b, UUID=%08x 1693>0x46c beshort x \b-%04x 1694>0x46e beshort x \b-%04x 1695>0x470 beshort x \b-%04x 1696>0x472 belong x \b-%08x 1697>0x476 beshort x \b%04x 1698>0x478 string >0 \b, volume name "%s" 1699# General flags for any ext* fs 1700>0x460 lelong &0x0000004 (needs journal recovery) 1701>0x43a leshort &0x0000002 (errors) 1702# INCOMPAT flags 1703>0x460 lelong &0x0000001 (compressed) 1704#>0x460 lelong &0x0000002 (filetype) 1705#>0x460 lelong &0x0000010 (meta bg) 1706>0x460 lelong &0x0000040 (extents) 1707>0x460 lelong &0x0000080 (64bit) 1708#>0x460 lelong &0x0000100 (mmp) 1709#>0x460 lelong &0x0000200 (flex bg) 1710# RO_INCOMPAT flags 1711#>0x464 lelong &0x0000001 (sparse super) 1712>0x464 lelong &0x0000002 (large files) 1713>0x464 lelong &0x0000008 (huge files) 1714#>0x464 lelong &0x0000010 (gdt checksum) 1715#>0x464 lelong &0x0000020 (many subdirs) 1716#>0x463 lelong &0x0000040 (extra isize) 1717 1718# Minix filesystems - Juan Cespedes <cespedes@debian.org> 17190x410 leshort 0x137f 1720!:strength / 2 1721>0x402 beshort < 100 1722>0x402 beshort > -1 Minix filesystem, V1, 14 char names, %d zones 1723>0x1e string minix \b, bootable 17240x410 beshort 0x137f 1725!:strength / 2 1726>0x402 beshort < 100 1727>0x402 beshort > -1 Minix filesystem, V1 (big endian), %d zones 1728>0x1e string minix \b, bootable 17290x410 leshort 0x138f 1730!:strength / 2 1731>0x402 beshort < 100 1732>0x402 beshort > -1 Minix filesystem, V1, 30 char names, %d zones 1733>0x1e string minix \b, bootable 17340x410 beshort 0x138f 1735!:strength / 2 1736>0x402 beshort < 100 1737>0x402 beshort > -1 Minix filesystem, V1, 30 char names (big endian), %d zones 1738>0x1e string minix \b, bootable 1739# Weak Magic: this is $x 1740#0x410 leshort 0x2468 1741#>0x402 beshort < 100 1742#>>0x402 beshort > -1 Minix filesystem, V2, 14 char names 1743#>0x1e string minix \b, bootable 1744#0x410 beshort 0x2468 1745#>0x402 beshort < 100 1746#>0x402 beshort > -1 Minix filesystem, V2 (big endian) 1747#>0x1e string minix \b, bootable 1748#0x410 leshort 0x2478 1749#>0x402 beshort < 100 1750#>0x402 beshort > -1 Minix filesystem, V2, 30 char names 1751#>0x1e string minix \b, bootable 1752#0x410 leshort 0x2478 1753#>0x402 beshort < 100 1754#>0x402 beshort > -1 Minix filesystem, V2, 30 char names 1755#>0x1e string minix \b, bootable 1756#0x410 beshort 0x2478 1757#>0x402 beshort !0 Minix filesystem, V2, 30 char names (big endian) 1758#>0x1e string minix \b, bootable 1759# Weak Magic! this is MD 1760#0x418 leshort 0x4d5a 1761#>0x402 beshort <100 1762#>>0x402 beshort > -1 Minix filesystem, V3, 60 char names 1763 1764# SGI disk labels - Nathan Scott <nathans@debian.org> 17650 belong 0x0BE5A941 SGI disk label (volume header) 1766 1767# SGI XFS filesystem - Nathan Scott <nathans@debian.org> 17680 belong 0x58465342 SGI XFS filesystem data 1769>0x4 belong x (blksz %d, 1770>0x68 beshort x inosz %d, 1771>0x64 beshort ^0x2004 v1 dirs) 1772>0x64 beshort &0x2004 v2 dirs) 1773 1774############################################################################ 1775# Minix-ST kernel floppy 17760x800 belong 0x46fc2700 Atari-ST Minix kernel image 1777# http://en.wikipedia.org/wiki/BIOS_parameter_block 1778# floppies with valid BPB and any instruction at beginning 1779>19 string \240\005\371\005\0\011\0\2\0 \b, 720k floppy 1780>19 string \320\002\370\005\0\011\0\1\0 \b, 360k floppy 1781 1782############################################################################ 1783# Hmmm, is this a better way of detecting _standard_ floppy images ? 178419 string \320\002\360\003\0\011\0\1\0 DOS floppy 360k 1785>0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector 178619 string \240\005\371\003\0\011\0\2\0 DOS floppy 720k 1787>0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector 178819 string \100\013\360\011\0\022\0\2\0 DOS floppy 1440k 1789>0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector 1790 179119 string \240\005\371\005\0\011\0\2\0 DOS floppy 720k, IBM 1792>0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector 179319 string \100\013\371\005\0\011\0\2\0 DOS floppy 1440k, mkdosfs 1794>0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector 1795 179619 string \320\002\370\005\0\011\0\1\0 Atari-ST floppy 360k 179719 string \240\005\371\005\0\011\0\2\0 Atari-ST floppy 720k 1798# | | | | | 1799# | | | | heads 1800# | | | sectors/track 1801# | | sectors/FAT 1802# | media descriptor 1803# BPB: sectors 1804 1805# Valid media descriptor bytes for MS-DOS: 1806# 1807# Byte Capacity Media Size and Type 1808# ------------------------------------------------- 1809# 1810# F0 2.88 MB 3.5-inch, 2-sided, 36-sector 1811# F0 1.44 MB 3.5-inch, 2-sided, 18-sector 1812# F9 720K 3.5-inch, 2-sided, 9-sector 1813# F9 1.2 MB 5.25-inch, 2-sided, 15-sector 1814# FD 360K 5.25-inch, 2-sided, 9-sector 1815# FF 320K 5.25-inch, 2-sided, 8-sector 1816# FC 180K 5.25-inch, 1-sided, 9-sector 1817# FE 160K 5.25-inch, 1-sided, 8-sector 1818# FE 250K 8-inch, 1-sided, single-density 1819# FD 500K 8-inch, 2-sided, single-density 1820# FE 1.2 MB 8-inch, 2-sided, double-density 1821# F8 ----- Fixed disk 1822# 1823# FC xxxK Apricot 70x1x9 boot disk. 1824# 1825# Originally a bitmap: 1826# xxxxxxx0 Not two sided 1827# xxxxxxx1 Double sided 1828# xxxxxx0x Not 8 SPT 1829# xxxxxx1x 8 SPT 1830# xxxxx0xx Not Removable drive 1831# xxxxx1xx Removable drive 1832# 11111xxx Must be one. 1833# 1834# But now it's rather random: 1835# 111111xx Low density disk 1836# 00 SS, Not 8 SPT 1837# 01 DS, Not 8 SPT 1838# 10 SS, 8 SPT 1839# 11 DS, 8 SPT 1840# 1841# 11111001 Double density 3 1/2 floppy disk, high density 5 1/4 1842# 11110000 High density 3 1/2 floppy disk 1843# 11111000 Hard disk any format 1844# 1845 1846# all FAT12 (strength=70) floppies with sectorsize 512 added by Joerg Jenderek at Jun 2013 1847# http://en.wikipedia.org/wiki/File_Allocation_Table#Exceptions 1848# Too Weak. 1849#512 ubelong&0xE0ffff00 0xE0ffff00 1850# without valid Media descriptor in place of BPB, cases with are done at other places 1851#>21 ubyte <0xE5 floppy with old FAT filesystem 1852# but valid Media descriptor at begin of FAT 1853#>>512 ubyte =0xed 720k 1854#>>512 ubyte =0xf0 1440k 1855#>>512 ubyte =0xf8 720k 1856#>>512 ubyte =0xf9 1220k 1857#>>512 ubyte =0xfa 320k 1858#>>512 ubyte =0xfb 640k 1859#>>512 ubyte =0xfc 180k 1860# look like an an old DOS directory entry 1861#>>>0xA0E ubequad 0 1862#>>>>0xA00 ubequad !0 1863#!:mime application/x-ima 1864#>>512 ubyte =0xfd 1865# look for 2nd FAT at different location to distinguish between 360k and 500k 1866#>>>0x600 ubelong&0xE0ffff00 0xE0ffff00 360k 1867#>>>0x500 ubelong&0xE0ffff00 0xE0ffff00 500k 1868#>>>0xA0E ubequad 0 1869#!:mime application/x-ima 1870#>>512 ubyte =0xfe 1871#>>>0x400 ubelong&0xE0ffff00 0xE0ffff00 160k 1872#>>>>0x60E ubequad 0 1873#>>>>>0x600 ubequad !0 1874#!:mime application/x-ima 1875#>>>0xC00 ubelong&0xE0ffff00 0xE0ffff00 1200k 1876#>>512 ubyte =0xff 320k 1877#>>>0x60E ubequad 0 1878#>>>>0x600 ubequad !0 1879#!:mime application/x-ima 1880#>>512 ubyte x \b, Media descriptor 0x%x 1881# without x86 jump instruction 1882#>>0 ulelong&0x804000E9 !0x000000E9 1883# assembler instructions: CLI;MOV SP,1E7;MOV AX;07c0;MOV 1884#>>>0 ubequad 0xfabce701b8c0078e \b, MS-DOS 1.12 bootloader 1885# IOSYS.COM+MSDOS.COM 1886#>>>>0xc4 use 2xDOS-filename 1887#>>0 ulelong&0x804000E9 =0x000000E9 1888# only x86 short jump instruction found 1889#>>>0 ubyte =0xEB 1890#>>>>1 ubyte x \b, code offset 0x%x+2 1891# http://thestarman.pcministry.com/DOS/ibm100/Boot.htm 1892# assembler instructions: CLI;MOV AX,CS;MOV DS,AX;MOV DX,0 1893#>>>>(1.b+2) ubequad 0xfa8cc88ed8ba0000 \b, PC-DOS 1.0 bootloader 1894# ibmbio.com+ibmdos.com 1895#>>>>>0x176 use DOS-filename 1896#>>>>>0x181 ubyte x \b+ 1897#>>>>>0x182 use DOS-filename 1898# http://thestarman.pcministry.com/DOS/ibm110/Boot.htm 1899# assembler instructions: CLI;MOV AX,CS;MOV DS,AX;XOR DX,DX;MOV 1900#>>>>(1.b+2) ubequad 0xfa8cc88ed833d28e \b, PC-DOS 1.1 bootloader 1901# ibmbio.com+ibmdos.com 1902#>>>>>0x18b use DOS-filename 1903#>>>>>0x196 ubyte x \b+ 1904#>>>>>0x197 use DOS-filename 1905# http://en.wikipedia.org/wiki/Zenith_Data_Systems 1906# assembler instructions: MOV BX,07c0;MOV SS,BX;MOV SP,01c6 1907#>>>>(1.b+2) ubequad 0xbbc0078ed3bcc601 \b, Zenith Data Systems MS-DOS 1.25 bootloader 1908# IO.SYS+MSDOS.SYS 1909#>>>>>0x20 use 2xDOS-filename 1910# http://en.wikipedia.org/wiki/Corona_Data_Systems 1911# assembler instructions: MOV AX,CS;MOV DS,AX;CLI;MOV SS,AX; 1912#>>>>(1.b+2) ubequad 0x8cc88ed8fa8ed0bc \b, MS-DOS 1.25 bootloader 1913# IO.SYS+MSDOS.SYS 1914#>>>>>0x69 use 2xDOS-filename 1915# assembler instructions: CLI;PUSH CS;POP SS;MOV SP,7c00; 1916#>>>>(1.b+2) ubequad 0xfa0e17bc007cb860 \b, MS-DOS 2.11 bootloader 1917# defect IO.SYS+MSDOS.SYS ? 1918#>>>>>0x162 use 2xDOS-filename 1919 19200 name cdrom 1921>38913 string !NSR0 ISO 9660 CD-ROM filesystem data 1922!:mime application/x-iso9660-image 1923>38913 string NSR0 UDF filesystem data 1924!:mime application/x-iso9660-image 1925>>38917 string 1 (version 1.0) 1926>>38917 string 2 (version 1.5) 1927>>38917 string 3 (version 2.0) 1928>>38917 byte >0x33 (unknown version, ID 0x%X) 1929>>38917 byte <0x31 (unknown version, ID 0x%X) 1930# The next line is not necessary because the MBR staff is done looking for boot signature 1931>0x1FE leshort 0xAA55 (DOS/MBR boot sector) 1932# "application id" which appears to be used as a volume label 1933>32808 string/T >\0 '%s' 1934>34816 string \000CD001\001EL\ TORITO\ SPECIFICATION (bootable) 193537633 string CD001 ISO 9660 CD-ROM filesystem data (raw 2352 byte sectors) 1936!:mime application/x-iso9660-image 193732777 string CDROM High Sierra CD-ROM filesystem data 1938 1939# CDROM Filesystems 1940# https://en.wikipedia.org/wiki/ISO_9660 1941# Modified for UDF by gerardo.cacciari@gmail.com 194232769 string CD001 1943# mime line at that position does not work 1944# 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!:strength -11 1946# to display CD-ROM (114=81+33) before MBR (113=40+72+1), partition-table (71=50+21) and Apple Driver Map (51) 1947# does not work 1948#!:strength +33 1949>0 use cdrom 1950 1951# .cso files 19520 string CISO Compressed ISO CD image 1953 1954# cramfs filesystem - russell@coker.com.au 19550 lelong 0x28cd3d45 Linux Compressed ROM File System data, little endian 1956>4 lelong x size %u 1957>8 lelong &1 version #2 1958>8 lelong &2 sorted_dirs 1959>8 lelong &4 hole_support 1960>32 lelong x CRC 0x%x, 1961>36 lelong x edition %u, 1962>40 lelong x %u blocks, 1963>44 lelong x %u files 1964 19650 belong 0x28cd3d45 Linux Compressed ROM File System data, big endian 1966>4 belong x size %u 1967>8 belong &1 version #2 1968>8 belong &2 sorted_dirs 1969>8 belong &4 hole_support 1970>32 belong x CRC 0x%x, 1971>36 belong x edition %u, 1972>40 belong x %u blocks, 1973>44 belong x %u files 1974 1975# reiserfs - russell@coker.com.au 19760x10034 string ReIsErFs ReiserFS V3.5 19770x10034 string ReIsEr2Fs ReiserFS V3.6 19780x10034 string ReIsEr3Fs ReiserFS V3.6.19 1979>0x1002c leshort x block size %d 1980>0x10032 leshort &2 (mounted or unclean) 1981>0x10000 lelong x num blocks %d 1982>0x10040 lelong 1 tea hash 1983>0x10040 lelong 2 yura hash 1984>0x10040 lelong 3 r5 hash 1985 1986# JFFS - russell@coker.com.au 19870 lelong 0x34383931 Linux Journalled Flash File system, little endian 19880 belong 0x34383931 Linux Journalled Flash File system, big endian 1989 1990# EST flat binary format (which isn't, but anyway) 1991# From: Mark Brown <broonie@sirena.org.uk> 19920 string ESTFBINR EST flat binary 1993 1994# Aculab VoIP firmware 1995# From: Mark Brown <broonie@sirena.org.uk> 19960 string VoIP\ Startup\ and Aculab VoIP firmware 1997>35 string x format %s 1998 1999# From: Mark Brown <broonie@sirena.org.uk> [old] 2000# From: Behan Webster <behanw@websterwood.com> 20010 belong 0x27051956 u-boot legacy uImage, 2002>32 string x %s, 2003>28 byte 0 Invalid os/ 2004>28 byte 1 OpenBSD/ 2005>28 byte 2 NetBSD/ 2006>28 byte 3 FreeBSD/ 2007>28 byte 4 4.4BSD/ 2008>28 byte 5 Linux/ 2009>28 byte 6 SVR4/ 2010>28 byte 7 Esix/ 2011>28 byte 8 Solaris/ 2012>28 byte 9 Irix/ 2013>28 byte 10 SCO/ 2014>28 byte 11 Dell/ 2015>28 byte 12 NCR/ 2016>28 byte 13 LynxOS/ 2017>28 byte 14 VxWorks/ 2018>28 byte 15 pSOS/ 2019>28 byte 16 QNX/ 2020>28 byte 17 Firmware/ 2021>28 byte 18 RTEMS/ 2022>28 byte 19 ARTOS/ 2023>28 byte 20 Unity OS/ 2024>28 byte 21 INTEGRITY/ 2025>29 byte 0 \bInvalid CPU, 2026>29 byte 1 \bAlpha, 2027>29 byte 2 \bARM, 2028>29 byte 3 \bIntel x86, 2029>29 byte 4 \bIA64, 2030>29 byte 5 \bMIPS, 2031>29 byte 6 \bMIPS 64-bit, 2032>29 byte 7 \bPowerPC, 2033>29 byte 8 \bIBM S390, 2034>29 byte 9 \bSuperH, 2035>29 byte 10 \bSparc, 2036>29 byte 11 \bSparc 64-bit, 2037>29 byte 12 \bM68K, 2038>29 byte 13 \bNios-32, 2039>29 byte 14 \bMicroBlaze, 2040>29 byte 15 \bNios-II, 2041>29 byte 16 \bBlackfin, 2042>29 byte 17 \bAVR32, 2043>29 byte 18 \bSTMicroelectronics ST200, 2044>30 byte 0 Invalid Image 2045>30 byte 1 Standalone Program 2046>30 byte 2 OS Kernel Image 2047>30 byte 3 RAMDisk Image 2048>30 byte 4 Multi-File Image 2049>30 byte 5 Firmware Image 2050>30 byte 6 Script File 2051>30 byte 7 Filesystem Image (any type) 2052>30 byte 8 Binary Flat Device Tree BLOB 2053>31 byte 0 (Not compressed), 2054>31 byte 1 (gzip), 2055>31 byte 2 (bzip2), 2056>31 byte 3 (lzma), 2057>12 belong x %d bytes, 2058>8 bedate x %s, 2059>16 belong x Load Address: 0x%08X, 2060>20 belong x Entry Point: 0x%08X, 2061>4 belong x Header CRC: 0x%08X, 2062>24 belong x Data CRC: 0x%08X 2063 2064# JFFS2 file system 20650 leshort 0x1984 Linux old jffs2 filesystem data little endian 20660 leshort 0x1985 Linux jffs2 filesystem data little endian 2067 2068# Squashfs 20690 string sqsh Squashfs filesystem, big endian, 2070>28 beshort x version %d. 2071>30 beshort x \b%d, 2072>28 beshort <3 2073>>8 belong x %d bytes, 2074>28 beshort >2 2075>>28 beshort <4 2076>>>63 bequad x %lld bytes, 2077>>28 beshort >3 2078>>>40 bequad x %lld bytes, 2079#>>67 belong x %d bytes, 2080>4 belong x %d inodes, 2081>28 beshort <2 2082>>32 beshort x blocksize: %d bytes, 2083>28 beshort >1 2084>>28 beshort <4 2085>>>51 belong x blocksize: %d bytes, 2086>>28 beshort >3 2087>>>12 belong x blocksize: %d bytes, 2088>28 beshort <4 2089>>39 bedate x created: %s 2090>28 beshort >3 2091>>8 bedate x created: %s 20920 string hsqs Squashfs filesystem, little endian, 2093>28 leshort x version %d. 2094>30 leshort x \b%d, 2095>28 leshort <3 2096>>8 lelong x %d bytes, 2097>28 leshort >2 2098>>28 leshort <4 2099>>>63 lequad x %lld bytes, 2100>>28 leshort >3 2101>>>40 lequad x %lld bytes, 2102#>>63 lelong x %d bytes, 2103>4 lelong x %d inodes, 2104>28 leshort <2 2105>>32 leshort x blocksize: %d bytes, 2106>28 leshort >1 2107>>28 leshort <4 2108>>>51 lelong x blocksize: %d bytes, 2109>>28 leshort >3 2110>>>12 lelong x blocksize: %d bytes, 2111>28 leshort <4 2112>>39 ledate x created: %s 2113>28 leshort >3 2114>>8 ledate x created: %s 2115 2116# AFS Dump Magic 2117# From: Ty Sarna <tsarna@sarna.org> 21180 string \x01\xb3\xa1\x13\x22 AFS Dump 2119>&0 belong x (v%d) 2120>>&0 byte 0x76 2121>>>&0 belong x Vol %d, 2122>>>>&0 byte 0x6e 2123>>>>>&0 string x %s 2124>>>>>>&1 byte 0x74 2125>>>>>>>&0 beshort 2 2126>>>>>>>>&4 bedate x on: %s 2127>>>>>>>>&0 bedate =0 full dump 2128>>>>>>>>&0 bedate !0 incremental since: %s 2129 2130#---------------------------------------------------------- 2131#delta ISO Daniel Novotny (dnovotny@redhat.com) 21320 string DISO Delta ISO data 2133!:strength +50 2134>4 belong x version %d 2135 2136# VMS backup savesets - gerardo.cacciari@gmail.com 2137# 21384 string \x01\x00\x01\x00\x01\x00 2139>(0.s+16) string \x01\x01 2140>>&(&0.b+8) byte 0x42 OpenVMS backup saveset data 2141>>>40 lelong x (block size %d, 2142>>>49 string >\0 original name '%s', 2143>>>2 short 1024 VAX generated) 2144>>>2 short 2048 AXP generated) 2145>>>2 short 4096 I64 generated) 2146 2147# Summary: Oracle Clustered Filesystem 2148# Created by: Aaron Botsis <redhat@digitalmafia.org> 21498 string OracleCFS Oracle Clustered Filesystem, 2150>4 long x rev %d 2151>0 long x \b.%d, 2152>560 string x label: %.64s, 2153>136 string x mountpoint: %.128s 2154 2155# Summary: Oracle ASM tagged volume 2156# Created by: Aaron Botsis <redhat@digitalmafia.org> 215732 string ORCLDISK Oracle ASM Volume, 2158>40 string x Disk Name: %0.12s 215932 string ORCLCLRD Oracle ASM Volume (cleared), 2160>40 string x Disk Name: %0.12s 2161 2162# Oracle Clustered Filesystem - Aaron Botsis <redhat@digitalmafia.org> 21638 string OracleCFS Oracle Clustered Filesystem, 2164>4 long x rev %d 2165>0 long x \b.%d, 2166>560 string x label: %.64s, 2167>136 string x mountpoint: %.128s 2168 2169# Oracle ASM tagged volume - Aaron Botsis <redhat@digitalmafia.org> 217032 string ORCLDISK Oracle ASM Volume, 2171>40 string x Disk Name: %0.12s 217232 string ORCLCLRD Oracle ASM Volume (cleared), 2173>40 string x Disk Name: %0.12s 2174 2175# Compaq/HP RILOE floppy image 2176# From: Dirk Jagdmann <doj@cubic.org> 21770 string CPQRFBLO Compaq/HP RILOE floppy image 2178 2179#------------------------------------------------------------------------------ 2180# Files-11 On-Disk Structure (File system for various RSX-11 and VMS flavours). 2181# These bits come from LBN 1 (home block) of ODS-1, ODS-2 and ODS-5 volumes, 2182# which is mapped to VBN 2 of [000000]INDEXF.SYS;1 - gerardo.cacciari@gmail.com 2183# 21841008 string DECFILE11 Files-11 On-Disk Structure 2185>525 byte x (ODS-%d); 2186>1017 string A RSX-11, VAX/VMS or OpenVMS VAX file system; 2187>1017 string B 2188>>525 byte 2 VAX/VMS or OpenVMS file system; 2189>>525 byte 5 OpenVMS Alpha or Itanium file system; 2190>984 string x volume label is '%-12.12s' 2191 2192# From: Thomas Klausner <wiz@NetBSD.org> 2193# http://filext.com/file-extension/DAA 2194# describes the daa file format. The magic would be: 21950 string DAA\x0\x0\x0\x0\x0 PowerISO Direct-Access-Archive 2196 2197# From Albert Cahalan <acahalan@gmail.com> 2198# really le32 operation,destination,payloadsize (but quite predictable) 2199# 01 00 00 00 00 00 00 c0 00 02 00 00 22000 string \1\0\0\0\0\0\0\300\0\2\0\0 Marvell Libertas firmware 2201 2202# From Eric Sandeen 2203# GFS2 22040x10000 belong 0x01161970 2205>0x10018 belong 0x0000051d GFS1 Filesystem 2206>>0x10024 belong x (blocksize %d, 2207>>0x10060 string >\0 lockproto %s) 2208>0x10018 belong 0x00000709 GFS2 Filesystem 2209>>0x10024 belong x (blocksize %d, 2210>>0x10060 string >\0 lockproto %s) 2211 2212# Russell Coker <russell@coker.com.au> 22130x10040 string _BHRfS_M BTRFS Filesystem 2214>0x1012b string >\0 label "%s", 2215>0x10090 lelong x sectorsize %d, 2216>0x10094 lelong x nodesize %d, 2217>0x10098 lelong x leafsize %d, 2218>0x10020 belong x UUID=%08x- 2219>0x10024 beshort x \b%04x- 2220>0x10026 beshort x \b%04x- 2221>0x10028 beshort x \b%04x- 2222>0x1002a beshort x \b%04x 2223>0x1002c belong x \b%08x, 2224>0x10078 lequad x %lld/ 2225>0x10070 lequad x \b%lld bytes used, 2226>0x10088 lequad x %lld devices 2227 2228# dvdisaster's .ecc 2229# From: "Nelson A. de Oliveira" <naoliv@gmail.com> 22300 string *dvdisaster* dvdisaster error correction file 2231 2232# xfs metadump image 2233# mb_magic XFSM at 0; superblock magic XFSB at 1 << mb_blocklog 2234# but can we do the << ? For now it's always 512 (0x200) anyway. 22350 string XFSM 2236>0x200 string XFSB XFS filesystem metadump image 2237 2238# Type: CROM filesystem 2239# From: Werner Fink <werner@suse.de> 22400 string CROMFS CROMFS 2241>6 string >\0 \b version %2.2s, 2242>8 ulequad >0 \b block data at %lld, 2243>16 ulequad >0 \b fblock table at %lld, 2244>24 ulequad >0 \b inode table at %lld, 2245>32 ulequad >0 \b root at %lld, 2246>40 ulelong >0 \b fblock size = %d, 2247>44 ulelong >0 \b block size = %d, 2248>48 ulequad >0 \b bytes = %lld 2249 2250# Type: xfs metadump image 2251# From: Daniel Novotny <dnovotny@redhat.com> 2252# mb_magic XFSM at 0; superblock magic XFSB at 1 << mb_blocklog 2253# but can we do the << ? For now it's always 512 (0x200) anyway. 22540 string XFSM 2255>0x200 string XFSB XFS filesystem metadump image 2256 2257# Type: delta ISO 2258# From: Daniel Novotny <dnovotny@redhat.com> 22590 string DISO Delta ISO data, 2260>4 belong x version %d 2261 2262# JFS2 (Journaling File System) image. (Old JFS1 has superblock at 0x1000.) 2263# See linux/fs/jfs/jfs_superblock.h for layout; see jfs_filsys.h for flags. 2264# From: Adam Buchbinder <adam.buchbinder@gmail.com> 22650x8000 string JFS1 2266# Because it's text-only magic, check a binary value (version) to be sure. 2267# Should always be 2, but mkfs.jfs writes it as 1. Needs to be 2 or 1 to be 2268# mountable. 2269>&0 lelong <3 JFS2 filesystem image 2270# Label is followed by a UUID; we have to limit string length to avoid 2271# appending the UUID in the case of a 16-byte label. 2272>>&144 regex [\x20-\x7E]{1,16} (label "%s") 2273>>&0 lequad x \b, %lld blocks 2274>>&8 lelong x \b, blocksize %d 2275>>&32 lelong&0x00000006 >0 (dirty) 2276>>&36 lelong >0 (compressed) 2277 2278# LFS 22790 lelong 0x070162 LFS filesystem image 2280>4 lelong 1 version 1, 2281>>8 lelong x \b blocks %u, 2282>>12 lelong x \b blocks per segment %u, 2283>4 lelong 2 version 2, 2284>>8 lelong x \b fragments %u, 2285>>12 lelong x \b bytes per segment %u, 2286>16 lelong x \b disk blocks %u, 2287>20 lelong x \b block size %u, 2288>24 lelong x \b fragment size %u, 2289>28 lelong x \b fragments per block %u, 2290>32 lelong x \b start for free list %u, 2291>36 lelong x \b number of free blocks %d, 2292>40 lelong x \b number of files %u, 2293>44 lelong x \b blocks available for writing %d, 2294>48 lelong x \b inodes in cache %d, 2295>52 lelong x \b inode file disk address 0x%x, 2296>56 lelong x \b inode file inode number %u, 2297>60 lelong x \b address of last segment written 0x%x, 2298>64 lelong x \b address of next segment to write 0x%x, 2299>68 lelong x \b address of current segment written 0x%x 2300 23010 string td\000 floppy image data (TeleDisk, compressed) 23020 string TD\000 floppy image data (TeleDisk) 2303 23040 string CQ\024 floppy image data (CopyQM, 2305>16 leshort x %d sectors, 2306>18 leshort x %d heads.) 2307 23080 string ACT\020Apricot\020disk\020image\032\004 floppy image data (ApriDisk) 2309 23100 beshort 0xAA58 floppy image data (IBM SaveDskF, old) 23110 beshort 0xAA59 floppy image data (IBM SaveDskF) 23120 beshort 0xAA5A floppy image data (IBM SaveDskF, compressed) 2313 23140 string \074CPM_Disk\076 disk image data (YAZE) 2315 2316# ReFS 2317# Richard W.M. Jones <rjones@redhat.com> 23180 string \0\0\0ReFS\0 ReFS filesystem image 2319 2320# EFW encase image file format: 2321# Gregoire Passault 2322# http://www.forensicswiki.org/wiki/Encase_image_file_format 23230 string EVF\x09\x0d\x0a\xff\x00 EWF/Expert Witness/EnCase image file format 2324 2325# UBIfs 2326# Linux kernel sources: fs/ubifs/ubifs-media.h 23270 lelong 0x06101831 2328>0x16 leshort 0 UBIfs image 2329>0x08 lequad x \b, sequence number %llu 2330>0x10 leshort x \b, length %u 2331>0x04 lelong x \b, CRC 0x%08x 2332 23330 lelong 0x23494255 2334>0x04 leshort <2 2335>0x05 string \0\0\0 2336>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 2337>0x04 leshort x UBI image, version %u 2338 2339# NEC PC-88 2D disk image 2340# From Fabio R. Schmidlin <sd-snatcher@users.sourceforge.net> 23410x20 ulelong&0xFFFFFEFF 0x2A0 2342>0x10 string \0\0\0\0\0\0\0\0\0\0 2343>>0x280 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 2344>>>0x1A ubyte&0xEF 0 2345>>>>0x1B ubyte&0x8F 0 2346>>>>>0x1B ubyte&70 <0x40 2347>>>>>>0x1C ulelong >0x21 2348>>>>>>>0 regex [[:print:]]* NEC PC-88 disk image, name=%s 2349>>>>>>>>0x1B ubyte 0 \b, media=2D 2350>>>>>>>>0x1B ubyte 0x10 \b, media=2DD 2351>>>>>>>>0x1B ubyte 0x20 \b, media=2HD 2352>>>>>>>>0x1B ubyte 0x30 \b, media=1D 2353>>>>>>>>0x1B ubyte 0x40 \b, media=1DD 2354>>>>>>>>0x1A ubyte 0x10 \b, write-protected 2355