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