1ef01931fSBen Gras#------------------------------------------------------------------------------ 2*0a6a1f1dSLionel Sambuc# $File: filesystems,v 1.108 2015/01/01 17:43:47 christos Exp $ 3ef01931fSBen Gras# filesystems: file(1) magic for different filesystems 4ef01931fSBen Gras# 5*0a6a1f1dSLionel Sambuc0 name partid 6*0a6a1f1dSLionel Sambuc>0 ubyte 0x00 Unused 7*0a6a1f1dSLionel Sambuc>0 ubyte 0x01 12-bit FAT 8*0a6a1f1dSLionel Sambuc>0 ubyte 0x02 XENIX / 9*0a6a1f1dSLionel Sambuc>0 ubyte 0x03 XENIX /usr 10*0a6a1f1dSLionel Sambuc>0 ubyte 0x04 16-bit FAT, less than 32M 11*0a6a1f1dSLionel Sambuc>0 ubyte 0x05 extended partition 12*0a6a1f1dSLionel Sambuc>0 ubyte 0x06 16-bit FAT, more than 32M 13*0a6a1f1dSLionel Sambuc>0 ubyte 0x07 OS/2 HPFS, NTFS, QNX2, Adv. UNIX 14*0a6a1f1dSLionel Sambuc>0 ubyte 0x08 AIX or os, or etc. 15*0a6a1f1dSLionel Sambuc>0 ubyte 0x09 AIX boot partition or Coherent 16*0a6a1f1dSLionel Sambuc>0 ubyte 0x0a O/2 boot manager or Coherent swap 17*0a6a1f1dSLionel Sambuc>0 ubyte 0x0b 32-bit FAT 18*0a6a1f1dSLionel Sambuc>0 ubyte 0x0c 32-bit FAT, LBA-mapped 19*0a6a1f1dSLionel Sambuc>0 ubyte 0x0d 7XXX, LBA-mapped 20*0a6a1f1dSLionel Sambuc>0 ubyte 0x0e 16-bit FAT, LBA-mapped 21*0a6a1f1dSLionel Sambuc>0 ubyte 0x0f extended partition, LBA-mapped 22*0a6a1f1dSLionel Sambuc>0 ubyte 0x10 OPUS 23*0a6a1f1dSLionel Sambuc>0 ubyte 0x11 OS/2 DOS 12-bit FAT 24*0a6a1f1dSLionel Sambuc>0 ubyte 0x12 Compaq diagnostics 25*0a6a1f1dSLionel Sambuc>0 ubyte 0x14 OS/2 DOS 16-bit FAT <32M 26*0a6a1f1dSLionel Sambuc>0 ubyte 0x16 OS/2 DOS 16-bit FAT >=32M 27*0a6a1f1dSLionel Sambuc>0 ubyte 0x17 OS/2 hidden IFS 28*0a6a1f1dSLionel Sambuc>0 ubyte 0x18 AST Windows swapfile 29*0a6a1f1dSLionel Sambuc>0 ubyte 0x19 Willowtech Photon coS 30*0a6a1f1dSLionel Sambuc>0 ubyte 0x1b hidden win95 fat 32 31*0a6a1f1dSLionel Sambuc>0 ubyte 0x1c hidden win95 fat 32 lba 32*0a6a1f1dSLionel Sambuc>0 ubyte 0x1d hidden win95 fat 16 lba 33*0a6a1f1dSLionel Sambuc>0 ubyte 0x20 Willowsoft OFS1 34*0a6a1f1dSLionel Sambuc>0 ubyte 0x21 reserved 35*0a6a1f1dSLionel Sambuc>0 ubyte 0x23 reserved 36*0a6a1f1dSLionel Sambuc>0 ubyte 0x24 NEC DOS 37*0a6a1f1dSLionel Sambuc>0 ubyte 0x26 reserved 38*0a6a1f1dSLionel Sambuc>0 ubyte 0x31 reserved 39*0a6a1f1dSLionel Sambuc>0 ubyte 0x32 Alien Internet Services NOS 40*0a6a1f1dSLionel Sambuc>0 ubyte 0x33 reserved 41*0a6a1f1dSLionel Sambuc>0 ubyte 0x34 reserved 42*0a6a1f1dSLionel Sambuc>0 ubyte 0x35 JFS on OS2 43*0a6a1f1dSLionel Sambuc>0 ubyte 0x36 reserved 44*0a6a1f1dSLionel Sambuc>0 ubyte 0x38 Theos 45*0a6a1f1dSLionel Sambuc>0 ubyte 0x39 Plan 9, or Theos spanned 46*0a6a1f1dSLionel Sambuc>0 ubyte 0x3a Theos ver 4 4gb partition 47*0a6a1f1dSLionel Sambuc>0 ubyte 0x3b Theos ve 4 extended partition 48*0a6a1f1dSLionel Sambuc>0 ubyte 0x3c PartitionMagic recovery 49*0a6a1f1dSLionel Sambuc>0 ubyte 0x3d Hidden Netware 50*0a6a1f1dSLionel Sambuc>0 ubyte 0x40 VENIX 286 or LynxOS 51*0a6a1f1dSLionel Sambuc>0 ubyte 0x41 PReP 52*0a6a1f1dSLionel Sambuc>0 ubyte 0x42 linux swap sharing DRDOS disk 53*0a6a1f1dSLionel Sambuc>0 ubyte 0x43 linux sharing DRDOS disk 54*0a6a1f1dSLionel Sambuc>0 ubyte 0x44 GoBack change utility 55*0a6a1f1dSLionel Sambuc>0 ubyte 0x45 Boot US Boot manager 56*0a6a1f1dSLionel Sambuc>0 ubyte 0x46 EUMEL/Elan or Ergos 3 57*0a6a1f1dSLionel Sambuc>0 ubyte 0x47 EUMEL/Elan or Ergos 3 58*0a6a1f1dSLionel Sambuc>0 ubyte 0x48 EUMEL/Elan or Ergos 3 59*0a6a1f1dSLionel Sambuc>0 ubyte 0x4a ALFX/THIN filesystem for DOS 60*0a6a1f1dSLionel Sambuc>0 ubyte 0x4c Oberon partition 61*0a6a1f1dSLionel Sambuc>0 ubyte 0x4d QNX4.x 62*0a6a1f1dSLionel Sambuc>0 ubyte 0x4e QNX4.x 2nd part 63*0a6a1f1dSLionel Sambuc>0 ubyte 0x4f QNX4.x 3rd part 64*0a6a1f1dSLionel Sambuc>0 ubyte 0x50 DM (disk manager) 65*0a6a1f1dSLionel Sambuc>0 ubyte 0x51 DM6 Aux1 (or Novell) 66*0a6a1f1dSLionel Sambuc>0 ubyte 0x52 CP/M or Microport SysV/AT 67*0a6a1f1dSLionel Sambuc>0 ubyte 0x53 DM6 Aux3 68*0a6a1f1dSLionel Sambuc>0 ubyte 0x54 DM6 DDO 69*0a6a1f1dSLionel Sambuc>0 ubyte 0x55 EZ-Drive (disk manager) 70*0a6a1f1dSLionel Sambuc>0 ubyte 0x56 Golden Bow (disk manager) 71*0a6a1f1dSLionel Sambuc>0 ubyte 0x57 Drive PRO 72*0a6a1f1dSLionel Sambuc>0 ubyte 0x5c Priam Edisk (disk manager) 73*0a6a1f1dSLionel Sambuc>0 ubyte 0x61 SpeedStor 74*0a6a1f1dSLionel Sambuc>0 ubyte 0x63 GNU HURD or Mach or Sys V/386 75*0a6a1f1dSLionel Sambuc>0 ubyte 0x64 Novell Netware 2.xx or Speedstore 76*0a6a1f1dSLionel Sambuc>0 ubyte 0x65 Novell Netware 3.xx 77*0a6a1f1dSLionel Sambuc>0 ubyte 0x66 Novell 386 Netware 78*0a6a1f1dSLionel Sambuc>0 ubyte 0x67 Novell 79*0a6a1f1dSLionel Sambuc>0 ubyte 0x68 Novell 80*0a6a1f1dSLionel Sambuc>0 ubyte 0x69 Novell 81*0a6a1f1dSLionel Sambuc>0 ubyte 0x70 DiskSecure Multi-Boot 82*0a6a1f1dSLionel Sambuc>0 ubyte 0x71 reserved 83*0a6a1f1dSLionel Sambuc>0 ubyte 0x73 reserved 84*0a6a1f1dSLionel Sambuc>0 ubyte 0x74 reserved 85*0a6a1f1dSLionel Sambuc>0 ubyte 0x75 PC/IX 86*0a6a1f1dSLionel Sambuc>0 ubyte 0x76 reserved 87*0a6a1f1dSLionel Sambuc>0 ubyte 0x77 M2FS/M2CS partition 88*0a6a1f1dSLionel Sambuc>0 ubyte 0x78 XOSL boot loader filesystem 89*0a6a1f1dSLionel Sambuc>0 ubyte 0x80 MINIX until 1.4a 90*0a6a1f1dSLionel Sambuc>0 ubyte 0x81 MINIX since 1.4b 91*0a6a1f1dSLionel Sambuc>0 ubyte 0x82 Linux swap or Solaris 92*0a6a1f1dSLionel Sambuc>0 ubyte 0x83 Linux native 93*0a6a1f1dSLionel Sambuc>0 ubyte 0x84 OS/2 hidden C: drive 94*0a6a1f1dSLionel Sambuc>0 ubyte 0x85 Linux extended partition 95*0a6a1f1dSLionel Sambuc>0 ubyte 0x86 NT FAT volume set 96*0a6a1f1dSLionel Sambuc>0 ubyte 0x87 NTFS volume set or HPFS mirrored 97*0a6a1f1dSLionel Sambuc>0 ubyte 0x8a Linux Kernel AiR-BOOT partition 98*0a6a1f1dSLionel Sambuc>0 ubyte 0x8b Legacy Fault tolerant FAT32 99*0a6a1f1dSLionel Sambuc>0 ubyte 0x8c Legacy Fault tolerant FAT32 ext 100*0a6a1f1dSLionel Sambuc>0 ubyte 0x8d Hidden free FDISK FAT12 101*0a6a1f1dSLionel Sambuc>0 ubyte 0x8e Linux Logical Volume Manager 102*0a6a1f1dSLionel Sambuc>0 ubyte 0x90 Hidden free FDISK FAT16 103*0a6a1f1dSLionel Sambuc>0 ubyte 0x91 Hidden free FDISK DOS EXT 104*0a6a1f1dSLionel Sambuc>0 ubyte 0x92 Hidden free FDISK FAT16 Big 105*0a6a1f1dSLionel Sambuc>0 ubyte 0x93 Amoeba filesystem 106*0a6a1f1dSLionel Sambuc>0 ubyte 0x94 Amoeba bad block table 107*0a6a1f1dSLionel Sambuc>0 ubyte 0x95 MIT EXOPC native partitions 108*0a6a1f1dSLionel Sambuc>0 ubyte 0x97 Hidden free FDISK FAT32 109*0a6a1f1dSLionel Sambuc>0 ubyte 0x98 Datalight ROM-DOS Super-Boot 110*0a6a1f1dSLionel Sambuc>0 ubyte 0x99 Mylex EISA SCSI 111*0a6a1f1dSLionel Sambuc>0 ubyte 0x9a Hidden free FDISK FAT16 LBA 112*0a6a1f1dSLionel Sambuc>0 ubyte 0x9b Hidden free FDISK EXT LBA 113*0a6a1f1dSLionel Sambuc>0 ubyte 0x9f BSDI? 114*0a6a1f1dSLionel Sambuc>0 ubyte 0xa0 IBM Thinkpad hibernation 115*0a6a1f1dSLionel Sambuc>0 ubyte 0xa1 HP Volume expansion (SpeedStor) 116*0a6a1f1dSLionel Sambuc>0 ubyte 0xa3 HP Volume expansion (SpeedStor) 117*0a6a1f1dSLionel Sambuc>0 ubyte 0xa4 HP Volume expansion (SpeedStor) 118*0a6a1f1dSLionel Sambuc>0 ubyte 0xa5 386BSD partition type 119*0a6a1f1dSLionel Sambuc>0 ubyte 0xa6 OpenBSD partition type 120*0a6a1f1dSLionel Sambuc>0 ubyte 0xa7 NeXTSTEP 486 121*0a6a1f1dSLionel Sambuc>0 ubyte 0xa8 Apple UFS 122*0a6a1f1dSLionel Sambuc>0 ubyte 0xa9 NetBSD partition type 123*0a6a1f1dSLionel Sambuc>0 ubyte 0xaa Olivetty Fat12 1.44MB Service part 124*0a6a1f1dSLionel Sambuc>0 ubyte 0xab Apple Boot 125*0a6a1f1dSLionel Sambuc>0 ubyte 0xae SHAG OS filesystem 126*0a6a1f1dSLionel Sambuc>0 ubyte 0xaf Apple HFS 127*0a6a1f1dSLionel Sambuc>0 ubyte 0xb0 BootStar Dummy 128*0a6a1f1dSLionel Sambuc>0 ubyte 0xb1 reserved 129*0a6a1f1dSLionel Sambuc>0 ubyte 0xb3 reserved 130*0a6a1f1dSLionel Sambuc>0 ubyte 0xb4 reserved 131*0a6a1f1dSLionel Sambuc>0 ubyte 0xb6 reserved 132*0a6a1f1dSLionel Sambuc>0 ubyte 0xb7 BSDI BSD/386 filesystem 133*0a6a1f1dSLionel Sambuc>0 ubyte 0xb8 BSDI BSD/386 swap 134*0a6a1f1dSLionel Sambuc>0 ubyte 0xbb Boot Wizard Hidden 135*0a6a1f1dSLionel Sambuc>0 ubyte 0xbe Solaris 8 partition type 136*0a6a1f1dSLionel Sambuc>0 ubyte 0xbf Solaris partition type 137*0a6a1f1dSLionel Sambuc>0 ubyte 0xc0 CTOS 138*0a6a1f1dSLionel Sambuc>0 ubyte 0xc1 DRDOS/sec (FAT-12) 139*0a6a1f1dSLionel Sambuc>0 ubyte 0xc2 Hidden Linux 140*0a6a1f1dSLionel Sambuc>0 ubyte 0xc3 Hidden Linux swap 141*0a6a1f1dSLionel Sambuc>0 ubyte 0xc4 DRDOS/sec (FAT-16, < 32M) 142*0a6a1f1dSLionel Sambuc>0 ubyte 0xc5 DRDOS/sec (EXT) 143*0a6a1f1dSLionel Sambuc>0 ubyte 0xc6 DRDOS/sec (FAT-16, >= 32M) 144*0a6a1f1dSLionel Sambuc>0 ubyte 0xc7 Syrinx (Cyrnix?) or HPFS disabled 145*0a6a1f1dSLionel Sambuc>0 ubyte 0xc8 Reserved for DR-DOS 8.0+ 146*0a6a1f1dSLionel Sambuc>0 ubyte 0xc9 Reserved for DR-DOS 8.0+ 147*0a6a1f1dSLionel Sambuc>0 ubyte 0xca Reserved for DR-DOS 8.0+ 148*0a6a1f1dSLionel Sambuc>0 ubyte 0xcb DR-DOS 7.04+ Secured FAT32 CHS 149*0a6a1f1dSLionel Sambuc>0 ubyte 0xcc DR-DOS 7.04+ Secured FAT32 LBA 150*0a6a1f1dSLionel Sambuc>0 ubyte 0xcd CTOS Memdump 151*0a6a1f1dSLionel Sambuc>0 ubyte 0xce DR-DOS 7.04+ FAT16X LBA 152*0a6a1f1dSLionel Sambuc>0 ubyte 0xcf DR-DOS 7.04+ EXT LBA 153*0a6a1f1dSLionel Sambuc>0 ubyte 0xd0 REAL/32 secure big partition 154*0a6a1f1dSLionel Sambuc>0 ubyte 0xd1 Old Multiuser DOS FAT12 155*0a6a1f1dSLionel Sambuc>0 ubyte 0xd4 Old Multiuser DOS FAT16 Small 156*0a6a1f1dSLionel Sambuc>0 ubyte 0xd5 Old Multiuser DOS Extended 157*0a6a1f1dSLionel Sambuc>0 ubyte 0xd6 Old Multiuser DOS FAT16 Big 158*0a6a1f1dSLionel Sambuc>0 ubyte 0xd8 CP/M 86 159*0a6a1f1dSLionel Sambuc>0 ubyte 0xdb CP/M or Concurrent CP/M 160*0a6a1f1dSLionel Sambuc>0 ubyte 0xdd Hidden CTOS Memdump 161*0a6a1f1dSLionel Sambuc>0 ubyte 0xde Dell PowerEdge Server utilities 162*0a6a1f1dSLionel Sambuc>0 ubyte 0xdf DG/UX virtual disk manager 163*0a6a1f1dSLionel Sambuc>0 ubyte 0xe0 STMicroelectronics ST AVFS 164*0a6a1f1dSLionel Sambuc>0 ubyte 0xe1 DOS access or SpeedStor 12-bit 165*0a6a1f1dSLionel Sambuc>0 ubyte 0xe3 DOS R/O or Storage Dimensions 166*0a6a1f1dSLionel Sambuc>0 ubyte 0xe4 SpeedStor 16-bit FAT < 1024 cyl. 167*0a6a1f1dSLionel Sambuc>0 ubyte 0xe5 reserved 168*0a6a1f1dSLionel Sambuc>0 ubyte 0xe6 reserved 169*0a6a1f1dSLionel Sambuc>0 ubyte 0xeb BeOS 170*0a6a1f1dSLionel Sambuc>0 ubyte 0xee GPT Protective MBR 171*0a6a1f1dSLionel Sambuc>0 ubyte 0xef EFI system partition 172*0a6a1f1dSLionel Sambuc>0 ubyte 0xf0 Linux PA-RISC boot loader 173*0a6a1f1dSLionel Sambuc>0 ubyte 0xf1 SpeedStor or Storage Dimensions 174*0a6a1f1dSLionel Sambuc>0 ubyte 0xf2 DOS 3.3+ Secondary 175*0a6a1f1dSLionel Sambuc>0 ubyte 0xf3 reserved 176*0a6a1f1dSLionel Sambuc>0 ubyte 0xf4 SpeedStor large partition 177*0a6a1f1dSLionel Sambuc>0 ubyte 0xf5 Prologue multi-volumen partition 178*0a6a1f1dSLionel Sambuc>0 ubyte 0xf6 reserved 179*0a6a1f1dSLionel Sambuc>0 ubyte 0xf9 pCache: ext2/ext3 persistent cache 180*0a6a1f1dSLionel Sambuc>0 ubyte 0xfa Bochs x86 emulator 181*0a6a1f1dSLionel Sambuc>0 ubyte 0xfb VMware File System 182*0a6a1f1dSLionel Sambuc>0 ubyte 0xfc VMware Swap 183*0a6a1f1dSLionel Sambuc>0 ubyte 0xfd Linux RAID partition persistent sb 184*0a6a1f1dSLionel Sambuc>0 ubyte 0xfe LANstep or IBM PS/2 IML 185*0a6a1f1dSLionel Sambuc>0 ubyte 0xff Xenix Bad Block Table 186*0a6a1f1dSLionel Sambuc 187ef01931fSBen Gras0 string \366\366\366\366 PC formatted floppy with no filesystem 188ef01931fSBen Gras# Sun disk labels 189ef01931fSBen Gras# From /usr/include/sun/dklabel.h: 190ef01931fSBen Gras0774 beshort 0xdabe 191ef01931fSBen Gras# modified by Joerg Jenderek, because original test 192ef01931fSBen Gras# succeeds for Cabinet archive dao360.dl_ with negative blocks 193ef01931fSBen Gras>0770 long >0 Sun disk label 194ef01931fSBen Gras>>0 string x '%s 195ef01931fSBen Gras>>>31 string >\0 \b%s 196ef01931fSBen Gras>>>>63 string >\0 \b%s 197ef01931fSBen Gras>>>>>95 string >\0 \b%s 198ef01931fSBen Gras>>0 string x \b' 199ef01931fSBen Gras>>0734 short >0 %d rpm, 200ef01931fSBen Gras>>0736 short >0 %d phys cys, 201ef01931fSBen Gras>>0740 short >0 %d alts/cyl, 202ef01931fSBen Gras>>0746 short >0 %d interleave, 203ef01931fSBen Gras>>0750 short >0 %d data cyls, 204ef01931fSBen Gras>>0752 short >0 %d alt cyls, 205ef01931fSBen Gras>>0754 short >0 %d heads/partition, 206ef01931fSBen Gras>>0756 short >0 %d sectors/track, 207*0a6a1f1dSLionel Sambuc>>0764 long >0 start cyl %d, 208*0a6a1f1dSLionel Sambuc>>0770 long x %d blocks 209ef01931fSBen Gras# Is there a boot block written 1 sector in? 210ef01931fSBen Gras>512 belong&077777777 0600407 \b, boot block present 21184d9c625SLionel Sambuc 21284d9c625SLionel Sambuc# Joerg Jenderek: Smart Boot Manager backup file is 25 (MSDOS) or 41 (LINUX) byte header + first sectors of disk 213ef01931fSBen Gras# (http://btmgr.sourceforge.net/docs/user-guide-3.html) 214ef01931fSBen Gras0 string SBMBAKUP_ Smart Boot Manager backup file 215ef01931fSBen Gras>9 string x \b, version %-5.5s 216ef01931fSBen Gras>>14 string =_ 217ef01931fSBen Gras>>>15 string x %-.1s 218ef01931fSBen Gras>>>>16 string =_ \b. 219ef01931fSBen Gras>>>>>17 string x \b%-.1s 220ef01931fSBen Gras>>>>>>18 string =_ \b. 221ef01931fSBen Gras>>>>>>>19 string x \b%-.1s 222ef01931fSBen Gras>>>22 ubyte 0 223ef01931fSBen Gras>>>>21 ubyte x \b, from drive 0x%x 224ef01931fSBen Gras>>>22 ubyte >0 225ef01931fSBen Gras>>>>21 string x \b, from drive %s 22684d9c625SLionel Sambuc>>>535 search/17 \x55\xAA 22784d9c625SLionel Sambuc>>>>&-512 indirect x \b; contains 228ef01931fSBen Gras 22984d9c625SLionel Sambuc# updated by Joerg Jenderek at Nov 2012 230ef01931fSBen Gras# DOS Emulator image is 128 byte, null right padded header + harddisc image 231ef01931fSBen Gras0 string DOSEMU\0 232ef01931fSBen Gras>0x27E leshort 0xAA55 233ef01931fSBen Gras#offset is 128 234ef01931fSBen Gras>>19 ubyte 128 235ef01931fSBen Gras>>>(19.b-1) ubyte 0x0 DOS Emulator image 236ef01931fSBen Gras>>>>7 ulelong >0 \b, %u heads 237ef01931fSBen Gras>>>>11 ulelong >0 \b, %d sectors/track 238ef01931fSBen Gras>>>>15 ulelong >0 \b, %d cylinders 23984d9c625SLionel Sambuc>>>>128 indirect x \b; contains 240ef01931fSBen Gras 241*0a6a1f1dSLionel Sambuc# added by Joerg Jenderek at Nov 2012 242*0a6a1f1dSLionel Sambuc# http://www.thenakedpc.com/articles/v04/08/0408-05.html 243*0a6a1f1dSLionel Sambuc# Symantec (Peter Norton) Image.dat file consists of variable header, bootrecord, part of FAT and root directory data 244*0a6a1f1dSLionel Sambuc0 string PNCIHISK\0 Norton Utilities disc image data 245*0a6a1f1dSLionel Sambuc# real x86 boot sector with jump instruction 246*0a6a1f1dSLionel Sambuc>509 search/1026 \x55\xAA\xeb 247*0a6a1f1dSLionel Sambuc>>&-1 indirect x \b; contains 248*0a6a1f1dSLionel Sambuc# http://file-extension.net/seeker/file_extension_dat 249*0a6a1f1dSLionel Sambuc0 string PNCIUNDO Norton Disk Doctor UnDo file 250*0a6a1f1dSLionel Sambuc# 251*0a6a1f1dSLionel Sambuc 252*0a6a1f1dSLionel Sambuc# DOS/MBR boot sector updated by Joerg Jenderek at Sep 2007,May 2011,2013 25384d9c625SLionel Sambuc# for any allowed sector sizes 25484d9c625SLionel Sambuc30 search/481 \x55\xAA 255*0a6a1f1dSLionel Sambuc# 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) 25684d9c625SLionel Sambuc# DOS BPB information (70) and after DOS floppy (120) like in previous file version 257*0a6a1f1dSLionel Sambuc!:strength +65 25884d9c625SLionel Sambuc# for sector sizes < 512 Bytes 25984d9c625SLionel Sambuc>11 uleshort <512 260*0a6a1f1dSLionel Sambuc>>(11.s-2) uleshort 0xAA55 DOS/MBR boot sector 26184d9c625SLionel Sambuc# for sector sizes with 512 or more Bytes 262*0a6a1f1dSLionel Sambuc>0x1FE leshort 0xAA55 DOS/MBR boot sector 263*0a6a1f1dSLionel Sambuc 264*0a6a1f1dSLionel Sambuc# keep old DOS/MBR boot sector as dummy for mbr and bootloader displaying 265ef01931fSBen Gras# only for sector sizes with 512 or more Bytes 266*0a6a1f1dSLionel Sambuc0x1FE leshort 0xAA55 DOS/MBR boot sector 267*0a6a1f1dSLionel Sambuc# 26884d9c625SLionel Sambuc# to display information (50) before DOS BPB (strength=70) and after DOS floppy (120) like in old file version 269*0a6a1f1dSLionel Sambuc!:strength +65 270*0a6a1f1dSLionel Sambuc>2 string OSBS OS/BS MBR 27184d9c625SLionel Sambuc# added by Joerg Jenderek at Feb 2013 according to http://thestarman.pcministry.com/asm/mbr/ 27284d9c625SLionel Sambuc# and http://en.wikipedia.org/wiki/Master_Boot_Record 27384d9c625SLionel Sambuc# test for nearly all MS-DOS Master Boot Record initial program loader (IPL) is now done by 27484d9c625SLionel Sambuc# characteristic assembler instructions: xor ax,ax;mov ss,ax;mov sp,7c00 27584d9c625SLionel Sambuc>0 search/2 \x33\xc0\x8e\xd0\xbc\x00\x7c MS-MBR 27684d9c625SLionel Sambuc# Microsoft Windows 95A and early ( http://thestarman.pcministry.com/asm/mbr/STDMBR.htm ) 27784d9c625SLionel Sambuc# assembler instructions: mov si,sp;push ax;pop es;push ax;pop ds;sti;cld 27884d9c625SLionel Sambuc>>8 ubequad 0x8bf45007501ffbfc 27984d9c625SLionel Sambuc# http://thestarman.pcministry.com/asm/mbr/200MBR.htm 28084d9c625SLionel Sambuc>>>0x16 ubyte 0xF3 \b,DOS 2 28184d9c625SLionel Sambuc>>>>219 regex Author\ -\ Author: 28284d9c625SLionel Sambuc# found "David Litton" , "A Pehrsson " 28384d9c625SLionel Sambuc>>>>>&0 string x "%s" 28484d9c625SLionel Sambuc>>>0x16 ubyte 0xF2 28584d9c625SLionel Sambuc# NEC MS-DOS 3.30 Rev. 3 . See http://thestarman.pcministry.com/asm/mbr/DOS33MBR.htm 28684d9c625SLionel Sambuc# assembler instructions: mov di,077c;cmp word ptrl[di],a55a;jnz 28784d9c625SLionel Sambuc>>>>0x22 ubequad 0xbf7c07813d5aa575 \b,NEC 3.3 28884d9c625SLionel Sambuc# version MS-DOS 3.30 til MS-Windows 95A (WinVer=4.00.1111) 28984d9c625SLionel Sambuc>>>>0x22 default x \b,D0S version 3.3-7.0 29084d9c625SLionel Sambuc# error messages are printed by assembler instructions: mov si,06nn;...;int 10 (0xBEnn06;...) 29184d9c625SLionel Sambuc# where nn is string offset varying for different languages 29284d9c625SLionel Sambuc# "Invalid partition table" nn=0x8b for english version 29384d9c625SLionel Sambuc>>>>>(0x49.b) string Invalid\ partition\ table english 29484d9c625SLionel Sambuc>>>>>(0x49.b) string Ung\201ltige\ Partitionstabelle german 29584d9c625SLionel Sambuc>>>>>(0x49.b) string Table\ de\ partition\ invalide french 29684d9c625SLionel Sambuc>>>>>(0x49.b) string Tabela\ de\ parti\207ao\ inv\240lida portuguese 29784d9c625SLionel Sambuc>>>>>(0x49.b) string Tabla\ de\ partici\242n\ no\ v\240lida spanish 29884d9c625SLionel Sambuc>>>>>(0x49.b) string Tavola\ delle\ partizioni\ non\ valida italian 29984d9c625SLionel Sambuc>>>>>0x49 ubyte >0 at offset 0x%x 30084d9c625SLionel Sambuc>>>>>>(0x49.b) string >\0 "%s" 30184d9c625SLionel Sambuc# "Error loading operating system" nn=0xa3 for english version 30284d9c625SLionel Sambuc# "Fehler beim Laden des Betriebssystems" nn=0xa7 for german version 30384d9c625SLionel Sambuc# "Erreur en chargeant syst\212me d'exploitation" nn=0xa7 for french version 30484d9c625SLionel Sambuc# "Erro na inicializa\207ao do sistema operacional" nn=0xa7 for portuguese Brazilian version 30584d9c625SLionel Sambuc# "Error al cargar sistema operativo" nn=0xa8 for spanish version 30684d9c625SLionel Sambuc# "Errore durante il caricamento del sistema operativo" nn=0xae for italian version 30784d9c625SLionel Sambuc>>>>>0x74 ubyte >0 at offset 0x%x 30884d9c625SLionel Sambuc>>>>>>(0x74.b) string >\0 "%s" 30984d9c625SLionel Sambuc# "Missing operating system" nn=0xc2 for english version 31084d9c625SLionel Sambuc# "Betriebssystem fehlt" nn=0xcd for german version 31184d9c625SLionel Sambuc# "Syst\212me d'exploitation absent" nn=0xd2 for french version 31284d9c625SLionel Sambuc# "Sistema operacional nao encontrado" nn=0xd4 for portuguese Brazilian version 31384d9c625SLionel Sambuc# "Falta sistema operativo" nn=0xca for spanish version 31484d9c625SLionel Sambuc# "Sistema operativo mancante" nn=0xe2 for italian version 31584d9c625SLionel Sambuc>>>>>0x79 ubyte >0 at offset 0x%x 31684d9c625SLionel Sambuc>>>>>>(0x79.b) string >\0 "%s" 31784d9c625SLionel Sambuc# Microsoft Windows 95B to XP (http://thestarman.pcministry.com/asm/mbr/95BMEMBR.htm) 31884d9c625SLionel Sambuc# assembler instructions: push ax;pop es;push ax;pop ds;cld;mov si,7c1b 31984d9c625SLionel Sambuc>>8 ubequad 0x5007501ffcbe1b7c 32084d9c625SLionel Sambuc# assembler instructions: rep;movsb;retf;mov si,07be;mov cl,04 32184d9c625SLionel Sambuc>>>24 ubequad 0xf3a4cbbebe07b104 9M 32284d9c625SLionel Sambuc# "Invalid partition table" nn=0x10F for english version 323*0a6a1f1dSLionel Sambuc# "Ung\201ltige Partitionstabelle" nn=0x10F for german version 324*0a6a1f1dSLionel Sambuc# "Table de partition erron\202e" nn=0x10F for french version 32584d9c625SLionel Sambuc# "\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 32684d9c625SLionel Sambuc>>>>(0x3C.b+0x0FF) string Invalid\ partition\ table english 32784d9c625SLionel Sambuc>>>>(0x3C.b+0x0FF) string Ung\201ltige\ Partitionstabelle german 32884d9c625SLionel Sambuc>>>>(0x3C.b+0x0FF) string Table\ de\ partition\ erron\202e french 32984d9c625SLionel Sambuc>>>>(0x3C.b+0x0FF) string \215\245\257\340\240\242\250\253\354\255\240\357\ \342\240\241\253\250\346\240 russian 33084d9c625SLionel Sambuc>>>>0x3C ubyte x at offset 0x%x+0xFF 33184d9c625SLionel Sambuc>>>>(0x3C.b+0x0FF) string >\0 "%s" 33284d9c625SLionel Sambuc# "Error loading operating system" nn=0x127 for english version 33384d9c625SLionel Sambuc# "Fehler beim Laden des Betriebssystems" nn=0x12b for german version 334*0a6a1f1dSLionel Sambuc# "Erreur lors du chargement du syst\212me d'exploitation" nn=0x12a for french version 33584d9c625SLionel Sambuc# "\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 33684d9c625SLionel Sambuc>>>>0xBD ubyte x at offset 0x1%x 33784d9c625SLionel Sambuc>>>>(0xBD.b+0x100) string >\0 "%s" 33884d9c625SLionel Sambuc# "Missing operating system" nn=0x146 for english version 33984d9c625SLionel Sambuc# "Betriebssystem fehlt" nn=0x151 for german version 340*0a6a1f1dSLionel Sambuc# "Syst\212me d'exploitation manquant" nn=0x15e for french version 34184d9c625SLionel Sambuc# "\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 34284d9c625SLionel Sambuc>>>>0xA9 ubyte x at offset 0x1%x 34384d9c625SLionel Sambuc>>>>(0xA9.b+0x100) string >\0 "%s" 34484d9c625SLionel Sambuc# http://thestarman.pcministry.com/asm/mbr/Win2kmbr.htm 34584d9c625SLionel Sambuc# assembler instructions: rep;movsb;retf;mov BP,07be;mov cl,04 34684d9c625SLionel Sambuc>>>24 ubequad 0xf3a4cbbdbe07b104 XP 34784d9c625SLionel Sambuc# where xxyyzz are lower bits from offsets of error messages varying for different languages 34884d9c625SLionel Sambuc>>>>0x1B4 ubelong&0x00FFFFFF 0x002c4463 english 34984d9c625SLionel Sambuc>>>>0x1B4 ubelong&0x00FFFFFF 0x002c486e german 35084d9c625SLionel Sambuc# "Invalid partition table" xx=0x12C for english version 351*0a6a1f1dSLionel Sambuc# "Ung\201ltige Partitionstabelle" xx=0x12C for german version 35284d9c625SLionel Sambuc>>>>0x1b5 ubyte >0 at offset 0x1%x 35384d9c625SLionel Sambuc>>>>(0x1b5.b+0x100) string >\0 "%s" 35484d9c625SLionel Sambuc# "Error loading operating system" yy=0x144 for english version 35584d9c625SLionel Sambuc# "Fehler beim Laden des Betriebssystems" yy=0x148 for german version 35684d9c625SLionel Sambuc>>>>0x1b6 ubyte >0 at offset 0x1%x 35784d9c625SLionel Sambuc>>>>(0x1b6.b+0x100) string >\0 "%s" 35884d9c625SLionel Sambuc# "Missing operating system" zz=0x163 for english version 35984d9c625SLionel Sambuc# "Betriebssystem nicht vorhanden" zz=0x16e for german version 36084d9c625SLionel Sambuc>>>>0x1b7 ubyte >0 at offset 0x1%x 36184d9c625SLionel Sambuc>>>>(0x1b7.b+0x100) string >\0 "%s" 36284d9c625SLionel Sambuc# Microsoft Windows Vista or 7 36384d9c625SLionel Sambuc# assembler instructions: ..;mov ds,ax;mov si,7c00;mov di,..00 36484d9c625SLionel Sambuc>>8 ubequad 0xc08ed8be007cbf00 36584d9c625SLionel Sambuc# Microsoft Windows Vista (http://thestarman.pcministry.com/asm/mbr/VistaMBR.htm) 36684d9c625SLionel Sambuc# assembler instructions: jnz 0729;cmp ebx,"TCPA" 36784d9c625SLionel Sambuc>>>0xEC ubequad 0x753b6681fb544350 Vista 36884d9c625SLionel Sambuc# where xxyyzz are lower bits from offsets of error messages varying for different languages 36984d9c625SLionel Sambuc>>>>0x1B4 ubelong&0x00FFFFFF 0x00627a99 english 37084d9c625SLionel Sambuc#>>>>0x1B4 ubelong&0x00FFFFFF ? german 37184d9c625SLionel Sambuc# "Invalid partition table" xx=0x162 for english version 372*0a6a1f1dSLionel Sambuc# "Ung\201ltige Partitionstabelle" xx=0x1?? for german version 37384d9c625SLionel Sambuc>>>>0x1b5 ubyte >0 at offset 0x1%x 37484d9c625SLionel Sambuc>>>>(0x1b5.b+0x100) string >\0 "%s" 37584d9c625SLionel Sambuc# "Error loading operating system" yy=0x17a for english version 37684d9c625SLionel Sambuc# "Fehler beim Laden des Betriebssystems" yy= 0x1?? for german version 37784d9c625SLionel Sambuc>>>>0x1b6 ubyte >0 at offset 0x1%x 37884d9c625SLionel Sambuc>>>>(0x1b6.b+0x100) string >\0 "%s" 37984d9c625SLionel Sambuc# "Missing operating system" zz=0x199 for english version 38084d9c625SLionel Sambuc# "Betriebssystem nicht vorhanden" zz=0x1?? for german version 38184d9c625SLionel Sambuc>>>>0x1b7 ubyte >0 at offset 0x1%x 38284d9c625SLionel Sambuc>>>>(0x1b7.b+0x100) string >\0 "%s" 38384d9c625SLionel Sambuc# Microsoft Windows 7 (http://thestarman.pcministry.com/asm/mbr/W7MBR.htm) 38484d9c625SLionel Sambuc# assembler instructions: cmp ebx,"TCPA";cmp 38584d9c625SLionel Sambuc>>>0xEC ubequad 0x6681fb5443504175 Windows 7 38684d9c625SLionel Sambuc# where xxyyzz are lower bits from offsets of error messages varying for different languages 38784d9c625SLionel Sambuc>>>>0x1B4 ubelong&0x00FFFFFF 0x00637b9a english 38884d9c625SLionel Sambuc#>>>>0x1B4 ubelong&0x00FFFFFF ? german 38984d9c625SLionel Sambuc# "Invalid partition table" xx=0x163 for english version 390*0a6a1f1dSLionel Sambuc# "Ung\201ltige Partitionstabelle" xx=0x1?? for german version 39184d9c625SLionel Sambuc>>>>0x1b5 ubyte >0 at offset 0x1%x 39284d9c625SLionel Sambuc>>>>(0x1b5.b+0x100) string >\0 "%s" 39384d9c625SLionel Sambuc# "Error loading operating system" yy=0x17b for english version 39484d9c625SLionel Sambuc# "Fehler beim Laden des Betriebssystems" yy=0x1?? for german version 39584d9c625SLionel Sambuc>>>>0x1b6 ubyte >0 at offset 0x1%x 39684d9c625SLionel Sambuc>>>>(0x1b6.b+0x100) string >\0 "%s" 39784d9c625SLionel Sambuc# "Missing operating system" zz=0x19a for english version 39884d9c625SLionel Sambuc# "Betriebssystem nicht vorhanden" zz=0x1?? for german version 39984d9c625SLionel Sambuc>>>>0x1b7 ubyte >0 at offset 0x1%x 40084d9c625SLionel Sambuc>>>>(0x1b7.b+0x100) string >\0 "%s" 40184d9c625SLionel Sambuc# http://thestarman.pcministry.com/asm/mbr/Win2kmbr.htm#DiskSigs 40284d9c625SLionel Sambuc# http://en.wikipedia.org/wiki/MBR_disk_signature#ID 40384d9c625SLionel Sambuc>>0x1b8 ulelong >0 \b, disk signature 0x%-.4x 40484d9c625SLionel Sambuc# driveID/timestamp for Win 95B,98,98SE and ME. See http://thestarman.pcministry.com/asm/mbr/mystery.htm 40584d9c625SLionel Sambuc>>0xDA uleshort 0 40684d9c625SLionel Sambuc>>>0xDC ulelong >0 \b, created 40784d9c625SLionel Sambuc# physical drive number (0x80-0xFF) when the Windows wrote that byte to the drive 40884d9c625SLionel Sambuc>>>>0xDC ubyte x with driveID 0x%x 40984d9c625SLionel Sambuc# hours, minutes and seconds 41084d9c625SLionel Sambuc>>>>0xDf ubyte x at %x 41184d9c625SLionel Sambuc>>>>0xDe ubyte x \b:%x 41284d9c625SLionel Sambuc>>>>0xDd ubyte x \b:%x 41384d9c625SLionel Sambuc# special case for Microsoft MS-DOS 3.21 spanish 41484d9c625SLionel Sambuc# assembler instructions: cli;mov $0x30,%ax;mov %ax,%ss;mov 41584d9c625SLionel Sambuc>0 ubequad 0xfab830008ed0bc00 41684d9c625SLionel Sambuc# assembler instructions: $0x1f00,%sp;mov $0x80cb,%di;add %cl,(%bx,%si);in (%dx),%ax;mov 41784d9c625SLionel Sambuc>>8 ubequad 0x1fbfcb800008ed8 MS-MBR,D0S version 3.21 spanish 41884d9c625SLionel Sambuc# Microsoft MBR IPL end 41984d9c625SLionel Sambuc 420ef01931fSBen Gras# dr-dos with some upper-, lowercase variants 421ef01931fSBen Gras>0x9D string Invalid\ partition\ table$ 422ef01931fSBen Gras>>181 string No\ Operating\ System$ 423ef01931fSBen Gras>>>201 string Operating\ System\ load\ error$ \b, DR-DOS MBR, Version 7.01 to 7.03 424ef01931fSBen Gras>0x9D string Invalid\ partition\ table$ 425ef01931fSBen Gras>>181 string No\ operating\ system$ 426ef01931fSBen Gras>>>201 string Operating\ system\ load\ error$ \b, DR-DOS MBR, Version 7.01 to 7.03 427ef01931fSBen Gras>342 string Invalid\ partition\ table$ 428ef01931fSBen Gras>>366 string No\ operating\ system$ 429ef01931fSBen Gras>>>386 string Operating\ system\ load\ error$ \b, DR-DOS MBR, version 7.01 to 7.03 430ef01931fSBen Gras>295 string NEWLDR\0 431ef01931fSBen Gras>>302 string Bad\ PT\ $ 432ef01931fSBen Gras>>>310 string No\ OS\ $ 433ef01931fSBen Gras>>>>317 string OS\ load\ err$ 434ef01931fSBen Gras>>>>>329 string Moved\ or\ missing\ IBMBIO.LDR\n\r 435ef01931fSBen Gras>>>>>>358 string Press\ any\ key\ to\ continue.\n\r$ 436ef01931fSBen Gras>>>>>>>387 string Copyright\ (c)\ 1984,1998 437ef01931fSBen Gras>>>>>>>>411 string Caldera\ Inc.\0 \b, DR-DOS MBR (IBMBIO.LDR) 438ef01931fSBen Gras# 43984d9c625SLionel Sambuc# tests for different MS-DOS Master Boot Records (MBR) moved and merged 44084d9c625SLionel Sambuc# 441ef01931fSBen Gras#>0x145 string Default:\ F \b, FREE-DOS MBR 442ef01931fSBen Gras#>0x14B string Default:\ F \b, FREE-DOS 1.0 MBR 443ef01931fSBen Gras>0x145 search/7 Default:\ F \b, FREE-DOS MBR 444ef01931fSBen Gras#>>313 string F0\ .\ .\ . 445ef01931fSBen Gras#>>>322 string disk\ 1 446ef01931fSBen Gras#>>>>382 string FAT3 447ef01931fSBen Gras>64 string no\ active\ partition\ found 448ef01931fSBen Gras>>96 string read\ error\ while\ reading\ drive \b, FREE-DOS Beta 0.9 MBR 449ef01931fSBen Gras# Ranish Partition Manager http://www.ranish.com/part/ 450ef01931fSBen Gras>387 search/4 \0\ Error!\r 451ef01931fSBen Gras>>378 search/7 Virus! 452ef01931fSBen Gras>>>397 search/4 Booting\ 453ef01931fSBen Gras>>>>408 search/4 HD1/\0 \b, Ranish MBR ( 454ef01931fSBen Gras>>>>>416 string Writing\ changes... \b2.37 455ef01931fSBen Gras>>>>>>438 ubyte x \b,0x%x dots 456ef01931fSBen Gras>>>>>>440 ubyte >0 \b,virus check 457ef01931fSBen Gras>>>>>>441 ubyte >0 \b,partition %c 458ef01931fSBen Gras#2.38,2.42,2.44 459ef01931fSBen Gras>>>>>416 string !Writing\ changes... \b 460ef01931fSBen Gras>>>>>>418 ubyte 1 \bvirus check, 461ef01931fSBen Gras>>>>>>419 ubyte x \b0x%x seconds 462ef01931fSBen Gras>>>>>>420 ubyte&0x0F >0 \b,partition 463ef01931fSBen Gras>>>>>>>420 ubyte&0x0F <5 \b %x 464ef01931fSBen Gras>>>>>>>420 ubyte&0x0F 0Xf \b ask 465ef01931fSBen Gras>>>>>420 ubyte x \b) 466ef01931fSBen Gras# 46784d9c625SLionel Sambuc# SYSLINUX MBR moved 468ef01931fSBen Gras# http://www.acronis.de/ 469ef01931fSBen Gras>362 string MBR\ Error\ \0\r 470ef01931fSBen Gras>>376 string ress\ any\ key\ to\ 471ef01931fSBen Gras>>>392 string boot\ from\ floppy...\0 \b, Acronis MBR 472ef01931fSBen Gras# added by Joerg Jenderek 473ef01931fSBen Gras# http://www.visopsys.org/ 474ef01931fSBen Gras# http://partitionlogic.org.uk/ 475ef01931fSBen Gras>309 string No\ bootable\ partition\ found\r 476ef01931fSBen Gras>>339 string I/O\ Error\ reading\ boot\ sector\r \b, Visopsys MBR 477ef01931fSBen Gras>349 string No\ bootable\ partition\ found\r 478ef01931fSBen Gras>>379 string I/O\ Error\ reading\ boot\ sector\r \b, simple Visopsys MBR 479ef01931fSBen Gras# bootloader, bootmanager 480ef01931fSBen Gras>0x40 string SBML 481ef01931fSBen Gras# label with 11 characters of FAT 12 bit filesystem 482ef01931fSBen Gras>>43 string SMART\ BTMGR 483ef01931fSBen Gras>>>430 string SBMK\ Bad!\r \b, Smart Boot Manager 484ef01931fSBen Gras# OEM-ID not always "SBM" 485ef01931fSBen Gras#>>>>3 strings SBM 486ef01931fSBen Gras>>>>6 string >\0 \b, version %s 487ef01931fSBen Gras>382 string XOSLLOADXCF \b, eXtended Operating System Loader 488ef01931fSBen Gras>6 string LILO \b, LInux i386 boot LOader 489ef01931fSBen Gras>>120 string LILO \b, version 22.3.4 SuSe 490ef01931fSBen Gras>>172 string LILO \b, version 22.5.8 Debian 491ef01931fSBen Gras# updated by Joerg Jenderek at Oct 2008 492ef01931fSBen Gras# variables according to grub-0.97/stage1/stage1.S or 493ef01931fSBen Gras# http://www.gnu.org/software/grub/manual/grub.html#Embedded-data 494ef01931fSBen Gras# usual values are marked with comments to get only informations of strange GRUB loaders 495ef01931fSBen Gras>342 search/60 \0Geom\0 496ef01931fSBen Gras#>0 ulelong x %x=0x009048EB , 0x2a9048EB 0 497ef01931fSBen Gras>>0x41 ubyte <2 498ef01931fSBen Gras>>>0x3E ubyte >2 \b; GRand Unified Bootloader 499ef01931fSBen Gras# 0x3 for 0.5.95,0.93,0.94,0.96 0x4 for 1.90 500ef01931fSBen Gras>>>>0x3E ubyte x \b, stage1 version 0x%x 501ef01931fSBen Gras#If it is 0xFF, use a drive passed by BIOS 502ef01931fSBen Gras>>>>0x40 ubyte <0xFF \b, boot drive 0x%x 503ef01931fSBen Gras# in most case 0,1,0x2e for GRUB 0.5.95 504ef01931fSBen Gras>>>>0x41 ubyte >0 \b, LBA flag 0x%x 505ef01931fSBen Gras>>>>0x42 uleshort <0x8000 \b, stage2 address 0x%x 506ef01931fSBen Gras#>>>>0x42 uleshort =0x8000 \b, stage2 address 0x%x (usual) 507ef01931fSBen Gras>>>>0x42 uleshort >0x8000 \b, stage2 address 0x%x 508ef01931fSBen Gras#>>>>0x44 ulelong =1 \b, 1st sector stage2 0x%x (default) 509ef01931fSBen Gras>>>>0x44 ulelong >1 \b, 1st sector stage2 0x%x 510ef01931fSBen Gras>>>>0x48 uleshort <0x800 \b, stage2 segment 0x%x 511ef01931fSBen Gras#>>>>0x48 uleshort =0x800 \b, stage2 segment 0x%x (usual) 512ef01931fSBen Gras>>>>0x48 uleshort >0x800 \b, stage2 segment 0x%x 513ef01931fSBen Gras>>>>402 string Geom\0Hard\ Disk\0Read\0\ Error\0 514ef01931fSBen Gras>>>>>394 string stage1 \b, GRUB version 0.5.95 515ef01931fSBen Gras>>>>382 string Geom\0Hard\ Disk\0Read\0\ Error\0 516ef01931fSBen Gras>>>>>376 string GRUB\ \0 \b, GRUB version 0.93 or 1.94 517ef01931fSBen Gras>>>>383 string Geom\0Hard\ Disk\0Read\0\ Error\0 518ef01931fSBen Gras>>>>>377 string GRUB\ \0 \b, GRUB version 0.94 519ef01931fSBen Gras>>>>385 string Geom\0Hard\ Disk\0Read\0\ Error\0 520ef01931fSBen Gras>>>>>379 string GRUB\ \0 \b, GRUB version 0.95 or 0.96 521ef01931fSBen Gras>>>>391 string Geom\0Hard\ Disk\0Read\0\ Error\0 522ef01931fSBen Gras>>>>>385 string GRUB\ \0 \b, GRUB version 0.97 523*0a6a1f1dSLionel Sambuc# unknown version 524ef01931fSBen Gras>>>343 string Geom\0Read\0\ Error\0 525ef01931fSBen Gras>>>>321 string Loading\ stage1.5 \b, GRUB version x.y 526ef01931fSBen Gras>>>380 string Geom\0Hard\ Disk\0Read\0\ Error\0 527ef01931fSBen Gras>>>>374 string GRUB\ \0 \b, GRUB version n.m 52884d9c625SLionel Sambuc# SYSLINUX bootloader moved 529ef01931fSBen Gras>395 string chksum\0\ ERROR!\0 \b, Gujin bootloader 530ef01931fSBen Gras# http://www.bcdwb.de/bcdw/index_e.htm 531ef01931fSBen Gras>3 string BCDL 532ef01931fSBen Gras>>498 string BCDL\ \ \ \ BIN \b, Bootable CD Loader (1.50Z) 533*0a6a1f1dSLionel Sambuc# mbr partition table entries updated by Joerg Jenderek at Sep 2013 534*0a6a1f1dSLionel Sambuc# skip Norton Utilities disc image data 535*0a6a1f1dSLionel Sambuc>3 string !IHISK 536*0a6a1f1dSLionel Sambuc# skip Linux style boot sector starting with assember instructions mov 0x7c0,ax; 537*0a6a1f1dSLionel Sambuc>>0 belong !0xb8c0078e 538ef01931fSBen Gras# not Linux kernel 539*0a6a1f1dSLionel Sambuc>>>514 string !HdrS 540ef01931fSBen Gras# not BeOS 541*0a6a1f1dSLionel Sambuc>>>>422 string !Be\ Boot\ Loader 542*0a6a1f1dSLionel Sambuc>>>>>32769 string CD001 543*0a6a1f1dSLionel Sambuc>>>>>>0 use cdrom 544*0a6a1f1dSLionel Sambuc# jump over BPB instruction implies DOS bootsector or AdvanceMAME mbr 545*0a6a1f1dSLionel Sambuc>>>>>0 ubelong&0xFD000000 =0xE9000000 546*0a6a1f1dSLionel Sambuc# AdvanceMAME mbr 547*0a6a1f1dSLionel Sambuc>>>>>>(1.b+2) ubequad 0xfa31c08ed88ec08e 548*0a6a1f1dSLionel Sambuc>>>>>>>446 use partition-table 549*0a6a1f1dSLionel Sambuc# mbr, Norton Utilities disc image data, or 2nd,etc. sector of x86 bootloader 550*0a6a1f1dSLionel Sambuc>>>>>0 ubelong&0xFD000000 !0xE9000000 551*0a6a1f1dSLionel Sambuc# skip FSInfosector 552*0a6a1f1dSLionel Sambuc>>>>>>0 string !RRaA 553*0a6a1f1dSLionel Sambuc# skip 3rd sector of MS x86 bootloader with assember instructions cli;MOVZX EAX,BYTE PTR [BP+10];MOV ECX, 554*0a6a1f1dSLionel Sambuc# http://thestarman.pcministry.com/asm/mbr/MSWIN41.htm 555*0a6a1f1dSLionel Sambuc>>>>>>>0 ubequad !0xfa660fb64610668b 556*0a6a1f1dSLionel Sambuc# skip 13rd sector of MS x86 bootloader 557*0a6a1f1dSLionel Sambuc>>>>>>>>0 ubequad !0x660fb64610668b4e 558*0a6a1f1dSLionel Sambuc# skip sector starting with DOS new line 559*0a6a1f1dSLionel Sambuc>>>>>>>>>0 string !\r\n 560*0a6a1f1dSLionel Sambuc# allowed active flag 0,80h-FFh 561*0a6a1f1dSLionel Sambuc>>>>>>>>>>446 ubyte 0 562*0a6a1f1dSLionel Sambuc>>>>>>>>>>>446 use partition-table 563*0a6a1f1dSLionel Sambuc>>>>>>>>>>446 ubyte >0x7F 564*0a6a1f1dSLionel Sambuc>>>>>>>>>>>446 use partition-table 565*0a6a1f1dSLionel Sambuc# TODO: test for extended bootrecord (ebr) moved and merged with mbr partition table entries 566ef01931fSBen Gras# mbr partition table entries end 567ef01931fSBen Gras# http://www.acronis.de/ 568ef01931fSBen Gras#FAT label=ACRONIS\ SZ 569ef01931fSBen Gras#OEM-ID=BOOTWIZ0 570ef01931fSBen Gras>442 string Non-system\ disk,\ 571ef01931fSBen Gras>>459 string press\ any\ key...\x7\0 \b, Acronis Startup Recovery Loader 572*0a6a1f1dSLionel Sambuc# updated by Joerg Jenderek at Nov 2012, Sep 2013 57384d9c625SLionel Sambuc# DOS names like F11.SYS or BOOTWIZ.SYS are 8 right space padded bytes+3 bytes 574*0a6a1f1dSLionel Sambuc# display 1 space 575*0a6a1f1dSLionel Sambuc>>>447 ubyte x \b 576*0a6a1f1dSLionel Sambuc>>>477 use DOS-filename 577ef01931fSBen Gras# 578ef01931fSBen Gras>185 string FDBOOT\ Version\ 579ef01931fSBen Gras>>204 string \rNo\ Systemdisk.\ 580ef01931fSBen Gras>>>220 string Booting\ from\ harddisk.\n\r 581ef01931fSBen Gras>>>245 string Cannot\ load\ from\ harddisk.\n\r 582ef01931fSBen Gras>>>>273 string Insert\ Systemdisk\ 583ef01931fSBen Gras>>>>>291 string and\ press\ any\ key.\n\r \b, FDBOOT harddisk Bootloader 584ef01931fSBen Gras>>>>>>200 string >\0 \b, version %-3s 585ef01931fSBen Gras>242 string Bootsector\ from\ C.H.\ Hochst\204 58684d9c625SLionel Sambuc# http://freecode.com/projects/dosfstools dosfstools-n.m/src/mkdosfs.c 58784d9c625SLionel Sambuc# updated by Joerg Jenderek at Nov 2012. Use search directive with offset instead of string 58884d9c625SLionel Sambuc# skip name "C.H. Hochstaetter" partly because it is sometimes written without umlaut 58984d9c625SLionel Sambuc>242 search/127 Bootsector\ from\ C.H.\ Hochst 59084d9c625SLionel Sambuc>>278 search/127 No\ Systemdisk.\ Booting\ from\ harddisk 59184d9c625SLionel Sambuc# followed by variants with point,CR-NL or NL-CR 59284d9c625SLionel Sambuc>>>208 search/261 Cannot\ load\ from\ harddisk. 59384d9c625SLionel Sambuc# followed by variants CR-NL or NL-CR 59484d9c625SLionel Sambuc>>>>236 search/235 Insert\ Systemdisk\ and\ press\ any\ key. 59584d9c625SLionel Sambuc# followed by variants with point,CR-NL or NL-CR 59684d9c625SLionel Sambuc>>>>>180 search/96 Disk\ formatted\ with\ WinImage\ \b, WinImage harddisk Bootloader 59784d9c625SLionel Sambuc# followed by string like "6.50 (c) 1993-2004 Gilles Vollant" 59884d9c625SLionel Sambuc>>>>>>&0 string x \b, version %-4.4s 599ef01931fSBen Gras>(1.b+2) ubyte 0xe 600ef01931fSBen Gras>>(1.b+3) ubyte 0x1f 601ef01931fSBen Gras>>>(1.b+4) ubyte 0xbe 60284d9c625SLionel Sambuc# message offset found at (1.b+5) is 0x77 for FAT32 or 0x5b for others 60384d9c625SLionel Sambuc>>>>(1.b+5) ubyte&0xd3 0x53 60484d9c625SLionel Sambuc>>>>>(1.b+6) ubyte 0x7c 60584d9c625SLionel Sambuc# assembler instructions: lodsb;and al,al;jz 0xb;push si;mov ah, 60684d9c625SLionel Sambuc>>>>>>(1.b+7) ubyte 0xac 60784d9c625SLionel Sambuc>>>>>>>(1.b+8) ubyte 0x22 60884d9c625SLionel Sambuc>>>>>>>>(1.b+9) ubyte 0xc0 60984d9c625SLionel Sambuc>>>>>>>>>(1.b+10) ubyte 0x74 61084d9c625SLionel Sambuc>>>>>>>>>>(1.b+11) ubyte 0x0b 61184d9c625SLionel Sambuc>>>>>>>>>>>(1.b+12) ubyte 0x56 61284d9c625SLionel Sambuc>>>>>>>>>>>>(1.b+13) ubyte 0xb4 \b, mkdosfs boot message display 61384d9c625SLionel Sambuc# FAT1X version 61484d9c625SLionel Sambuc>>>>>>>>>>>>>(1.b+5) ubyte 0x5b 61584d9c625SLionel Sambuc>>>>>>>>>>>>>>0x5b string >\0 "%-s" 61684d9c625SLionel Sambuc# FAT32 version 61784d9c625SLionel Sambuc>>>>>>>>>>>>>(1.b+5) ubyte 0x77 61884d9c625SLionel Sambuc>>>>>>>>>>>>>>0x77 string >\0 "%-s" 619ef01931fSBen Gras>214 string Please\ try\ to\ install\ FreeDOS\ \b, DOS Emulator boot message display 620ef01931fSBen Gras#>>244 string from\ dosemu-freedos-*-bin.tgz\r 621ef01931fSBen Gras#>>>170 string Sorry,\ could\ not\ load\ an\ 622ef01931fSBen Gras#>>>>195 string operating\ system.\r\n 623ef01931fSBen Gras# 624ef01931fSBen Gras>103 string This\ is\ not\ a\ bootable\ disk.\ 625ef01931fSBen Gras>>132 string Please\ insert\ a\ bootable\ 626ef01931fSBen Gras>>>157 string floppy\ and\r\n 627ef01931fSBen Gras>>>>169 string press\ any\ key\ to\ try\ again...\r \b, FREE-DOS message display 628ef01931fSBen Gras# 629ef01931fSBen Gras>66 string Solaris\ Boot\ Sector 630ef01931fSBen Gras>>99 string Incomplete\ MDBoot\ load. 631ef01931fSBen Gras>>>89 string Version \b, Sun Solaris Bootloader 632ef01931fSBen Gras>>>>97 byte x version %c 633ef01931fSBen Gras# 634ef01931fSBen Gras>408 string OS/2\ !!\ SYS01475\r\0 635ef01931fSBen Gras>>429 string OS/2\ !!\ SYS02025\r\0 636ef01931fSBen Gras>>>450 string OS/2\ !!\ SYS02027\r\0 637ef01931fSBen Gras>>>469 string OS2BOOT\ \ \ \ \b, IBM OS/2 Warp bootloader 638ef01931fSBen Gras# 639ef01931fSBen Gras>409 string OS/2\ !!\ SYS01475\r\0 640ef01931fSBen Gras>>430 string OS/2\ !!\ SYS02025\r\0 641ef01931fSBen Gras>>>451 string OS/2\ !!\ SYS02027\r\0 642ef01931fSBen Gras>>>470 string OS2BOOT\ \ \ \ \b, IBM OS/2 Warp Bootloader 643ef01931fSBen Gras>112 string This\ disk\ is\ not\ bootable\r 644ef01931fSBen Gras>>142 string If\ you\ wish\ to\ make\ it\ bootable 645ef01931fSBen Gras>>>176 string run\ the\ DOS\ program\ SYS\ 646ef01931fSBen Gras>>>200 string after\ the\r 647ef01931fSBen Gras>>>>216 string system\ has\ been\ loaded\r\n 648ef01931fSBen Gras>>>>>242 string Please\ insert\ a\ DOS\ diskette\ 649ef01931fSBen Gras>>>>>271 string into\r\n\ the\ drive\ and\ 650ef01931fSBen Gras>>>>>>292 string strike\ any\ key...\0 \b, IBM OS/2 Warp message display 651ef01931fSBen Gras# XP 652ef01931fSBen Gras>430 string NTLDR\ is\ missing\xFF\r\n 653ef01931fSBen Gras>>449 string Disk\ error\xFF\r\n 654ef01931fSBen Gras>>>462 string Press\ any\ key\ to\ restart\r \b, Microsoft Windows XP Bootloader 655ef01931fSBen Gras# DOS names like NTLDR,CMLDR,$LDR$ are 8 right space padded bytes+3 bytes 656ef01931fSBen Gras>>>>417 ubyte&0xDF >0 657ef01931fSBen Gras>>>>>417 string x %-.5s 658ef01931fSBen Gras>>>>>>422 ubyte&0xDF >0 659ef01931fSBen Gras>>>>>>>422 string x \b%-.3s 660ef01931fSBen Gras>>>>>425 ubyte&0xDF >0 661ef01931fSBen Gras>>>>>>425 string >\ \b.%-.3s 662ef01931fSBen Gras# 663ef01931fSBen Gras>>>>371 ubyte >0x20 664ef01931fSBen Gras>>>>>368 ubyte&0xDF >0 665ef01931fSBen Gras>>>>>>368 string x %-.5s 666ef01931fSBen Gras>>>>>>>373 ubyte&0xDF >0 667ef01931fSBen Gras>>>>>>>>373 string x \b%-.3s 668ef01931fSBen Gras>>>>>>376 ubyte&0xDF >0 669ef01931fSBen Gras>>>>>>>376 string x \b.%-.3s 670ef01931fSBen Gras# 671ef01931fSBen Gras>430 string NTLDR\ nicht\ gefunden\xFF\r\n 672ef01931fSBen Gras>>453 string Datentr\204gerfehler\xFF\r\n 673ef01931fSBen Gras>>>473 string Neustart\ mit\ beliebiger\ Taste\r \b, Microsoft Windows XP Bootloader (german) 674ef01931fSBen Gras>>>>417 ubyte&0xDF >0 675ef01931fSBen Gras>>>>>417 string x %-.5s 676ef01931fSBen Gras>>>>>>422 ubyte&0xDF >0 677ef01931fSBen Gras>>>>>>>422 string x \b%-.3s 678ef01931fSBen Gras>>>>>425 ubyte&0xDF >0 679ef01931fSBen Gras>>>>>>425 string >\ \b.%-.3s 680ef01931fSBen Gras# offset variant 681ef01931fSBen Gras>>>>379 string \0 682ef01931fSBen Gras>>>>>368 ubyte&0xDF >0 683ef01931fSBen Gras>>>>>>368 string x %-.5s 684ef01931fSBen Gras>>>>>>>373 ubyte&0xDF >0 685ef01931fSBen Gras>>>>>>>>373 string x \b%-.3s 686ef01931fSBen Gras# 687ef01931fSBen Gras>430 string NTLDR\ fehlt\xFF\r\n 688ef01931fSBen Gras>>444 string Datentr\204gerfehler\xFF\r\n 689ef01931fSBen Gras>>>464 string Neustart\ mit\ beliebiger\ Taste\r \b, Microsoft Windows XP Bootloader (2.german) 690ef01931fSBen Gras>>>>417 ubyte&0xDF >0 691ef01931fSBen Gras>>>>>417 string x %-.5s 692ef01931fSBen Gras>>>>>>422 ubyte&0xDF >0 693ef01931fSBen Gras>>>>>>>422 string x \b%-.3s 694ef01931fSBen Gras>>>>>425 ubyte&0xDF >0 695ef01931fSBen Gras>>>>>>425 string >\ \b.%-.3s 696ef01931fSBen Gras# variant 697ef01931fSBen Gras>>>>371 ubyte >0x20 698ef01931fSBen Gras>>>>>368 ubyte&0xDF >0 699ef01931fSBen Gras>>>>>>368 string x %-.5s 700ef01931fSBen Gras>>>>>>>373 ubyte&0xDF >0 701ef01931fSBen Gras>>>>>>>>373 string x \b%-.3s 702ef01931fSBen Gras>>>>>>376 ubyte&0xDF >0 703ef01931fSBen Gras>>>>>>>376 string x \b.%-.3s 704ef01931fSBen Gras# 705ef01931fSBen Gras>430 string NTLDR\ fehlt\xFF\r\n 706ef01931fSBen Gras>>444 string Medienfehler\xFF\r\n 707ef01931fSBen Gras>>>459 string Neustart:\ Taste\ dr\201cken\r \b, Microsoft Windows XP Bootloader (3.german) 708ef01931fSBen Gras>>>>371 ubyte >0x20 709ef01931fSBen Gras>>>>>368 ubyte&0xDF >0 710ef01931fSBen Gras>>>>>>368 string x %-.5s 711ef01931fSBen Gras>>>>>>>373 ubyte&0xDF >0 712ef01931fSBen Gras>>>>>>>>373 string x \b%-.3s 713ef01931fSBen Gras>>>>>>376 ubyte&0xDF >0 714ef01931fSBen Gras>>>>>>>376 string x \b.%-.3s 715ef01931fSBen Gras# variant 716ef01931fSBen Gras>>>>417 ubyte&0xDF >0 717ef01931fSBen Gras>>>>>417 string x %-.5s 718ef01931fSBen Gras>>>>>>422 ubyte&0xDF >0 719ef01931fSBen Gras>>>>>>>422 string x \b%-.3s 720ef01931fSBen Gras>>>>>425 ubyte&0xDF >0 721ef01931fSBen Gras>>>>>>425 string >\ \b.%-.3s 722ef01931fSBen Gras# 723ef01931fSBen Gras>430 string Datentr\204ger\ entfernen\xFF\r\n 724ef01931fSBen Gras>>454 string Medienfehler\xFF\r\n 725ef01931fSBen Gras>>>469 string Neustart:\ Taste\ dr\201cken\r \b, Microsoft Windows XP Bootloader (4.german) 726ef01931fSBen Gras>>>>379 string \0 727ef01931fSBen Gras>>>>>368 ubyte&0xDF >0 728ef01931fSBen Gras>>>>>>368 string x %-.5s 729ef01931fSBen Gras>>>>>>>373 ubyte&0xDF >0 730ef01931fSBen Gras>>>>>>>>373 string x \b%-.3s 731ef01931fSBen Gras>>>>>>376 ubyte&0xDF >0 732ef01931fSBen Gras>>>>>>>376 string x \b.%-.3s 733ef01931fSBen Gras# variant 734ef01931fSBen Gras>>>>417 ubyte&0xDF >0 735ef01931fSBen Gras>>>>>417 string x %-.5s 736ef01931fSBen Gras>>>>>>422 ubyte&0xDF >0 737ef01931fSBen Gras>>>>>>>422 string x \b%-.3s 738ef01931fSBen Gras>>>>>425 ubyte&0xDF >0 739ef01931fSBen Gras>>>>>>425 string >\ \b.%-.3s 740ef01931fSBen Gras# 741ef01931fSBen Gras 742ef01931fSBen Gras#>3 string NTFS\ \ \ \ 743ef01931fSBen Gras>389 string Fehler\ beim\ Lesen\ 744ef01931fSBen Gras>>407 string des\ Datentr\204gers 745ef01931fSBen Gras>>>426 string NTLDR\ fehlt 746ef01931fSBen Gras>>>>440 string NTLDR\ ist\ komprimiert 747ef01931fSBen Gras>>>>>464 string Neustart\ mit\ Strg+Alt+Entf\r \b, Microsoft Windows XP Bootloader NTFS (german) 748ef01931fSBen Gras#>3 string NTFS\ \ \ \ 749ef01931fSBen Gras>313 string A\ disk\ read\ error\ occurred.\r 750ef01931fSBen Gras>>345 string A\ kernel\ file\ is\ missing\ 751ef01931fSBen Gras>>>370 string from\ the\ disk.\r 752ef01931fSBen Gras>>>>484 string NTLDR\ is\ compressed 753ef01931fSBen Gras>>>>>429 string Insert\ a\ system\ diskette\ 754ef01931fSBen Gras>>>>>>454 string and\ restart\r\nthe\ system.\r \b, Microsoft Windows XP Bootloader NTFS 755ef01931fSBen Gras# DOS loader variants different languages,offsets 756ef01931fSBen Gras>472 ubyte&0xDF >0 757ef01931fSBen Gras>>389 string Invalid\ system\ disk\xFF\r\n 758ef01931fSBen Gras>>>411 string Disk\ I/O\ error 759ef01931fSBen Gras>>>>428 string Replace\ the\ disk,\ and\ 760ef01931fSBen Gras>>>>>455 string press\ any\ key \b, Microsoft Windows 98 Bootloader 761ef01931fSBen Gras#IO.SYS 762ef01931fSBen Gras>>>>>>472 ubyte&0xDF >0 763ef01931fSBen Gras>>>>>>>472 string x \b %-.2s 764ef01931fSBen Gras>>>>>>>>474 ubyte&0xDF >0 765ef01931fSBen Gras>>>>>>>>>474 string x \b%-.5s 766ef01931fSBen Gras>>>>>>>>>>479 ubyte&0xDF >0 767ef01931fSBen Gras>>>>>>>>>>>479 string x \b%-.1s 768ef01931fSBen Gras>>>>>>>480 ubyte&0xDF >0 769ef01931fSBen Gras>>>>>>>>480 string x \b.%-.3s 770ef01931fSBen Gras#MSDOS.SYS 771ef01931fSBen Gras>>>>>>>483 ubyte&0xDF >0 \b+ 772ef01931fSBen Gras>>>>>>>>483 string x \b%-.5s 773ef01931fSBen Gras>>>>>>>>>488 ubyte&0xDF >0 774ef01931fSBen Gras>>>>>>>>>>488 string x \b%-.3s 775ef01931fSBen Gras>>>>>>>>491 ubyte&0xDF >0 776ef01931fSBen Gras>>>>>>>>>491 string x \b.%-.3s 777ef01931fSBen Gras# 778ef01931fSBen Gras>>390 string Invalid\ system\ disk\xFF\r\n 779ef01931fSBen Gras>>>412 string Disk\ I/O\ error\xFF\r\n 780ef01931fSBen Gras>>>>429 string Replace\ the\ disk,\ and\ 781ef01931fSBen Gras>>>>>451 string then\ press\ any\ key\r \b, Microsoft Windows 98 Bootloader 782ef01931fSBen Gras>>388 string Ungueltiges\ System\ \xFF\r\n 783ef01931fSBen Gras>>>410 string E/A-Fehler\ \ \ \ \xFF\r\n 784ef01931fSBen Gras>>>>427 string Datentraeger\ wechseln\ und\ 785ef01931fSBen Gras>>>>>453 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (german) 786ef01931fSBen Gras#WINBOOT.SYS only not spaces (0xDF) 787ef01931fSBen Gras>>>>>>497 ubyte&0xDF >0 788ef01931fSBen Gras>>>>>>>497 string x %-.5s 789ef01931fSBen Gras>>>>>>>>502 ubyte&0xDF >0 790ef01931fSBen Gras>>>>>>>>>502 string x \b%-.1s 791ef01931fSBen Gras>>>>>>>>>>503 ubyte&0xDF >0 792ef01931fSBen Gras>>>>>>>>>>>503 string x \b%-.1s 793ef01931fSBen Gras>>>>>>>>>>>>504 ubyte&0xDF >0 794ef01931fSBen Gras>>>>>>>>>>>>>504 string x \b%-.1s 795ef01931fSBen Gras>>>>>>505 ubyte&0xDF >0 796ef01931fSBen Gras>>>>>>>505 string x \b.%-.3s 797ef01931fSBen Gras#IO.SYS 798ef01931fSBen Gras>>>>>>472 ubyte&0xDF >0 or 799ef01931fSBen Gras>>>>>>>472 string x \b %-.2s 800ef01931fSBen Gras>>>>>>>>474 ubyte&0xDF >0 801ef01931fSBen Gras>>>>>>>>>474 string x \b%-.5s 802ef01931fSBen Gras>>>>>>>>>>479 ubyte&0xDF >0 803ef01931fSBen Gras>>>>>>>>>>>479 string x \b%-.1s 804ef01931fSBen Gras>>>>>>>480 ubyte&0xDF >0 805ef01931fSBen Gras>>>>>>>>480 string x \b.%-.3s 806ef01931fSBen Gras#MSDOS.SYS 807ef01931fSBen Gras>>>>>>>483 ubyte&0xDF >0 \b+ 808ef01931fSBen Gras>>>>>>>>483 string x \b%-.5s 809ef01931fSBen Gras>>>>>>>>>488 ubyte&0xDF >0 810ef01931fSBen Gras>>>>>>>>>>488 string x \b%-.3s 811ef01931fSBen Gras>>>>>>>>491 ubyte&0xDF >0 812ef01931fSBen Gras>>>>>>>>>491 string x \b.%-.3s 813ef01931fSBen Gras# 814ef01931fSBen Gras>>390 string Ungueltiges\ System\ \xFF\r\n 815ef01931fSBen Gras>>>412 string E/A-Fehler\ \ \ \ \xFF\r\n 816ef01931fSBen Gras>>>>429 string Datentraeger\ wechseln\ und\ 817ef01931fSBen Gras>>>>>455 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (German) 818ef01931fSBen Gras#WINBOOT.SYS only not spaces (0xDF) 819ef01931fSBen Gras>>>>>>497 ubyte&0xDF >0 820ef01931fSBen Gras>>>>>>>497 string x %-.7s 821ef01931fSBen Gras>>>>>>>>504 ubyte&0xDF >0 822ef01931fSBen Gras>>>>>>>>>504 string x \b%-.1s 823ef01931fSBen Gras>>>>>>505 ubyte&0xDF >0 824ef01931fSBen Gras>>>>>>>505 string x \b.%-.3s 825ef01931fSBen Gras#IO.SYS 826ef01931fSBen Gras>>>>>>472 ubyte&0xDF >0 or 827ef01931fSBen Gras>>>>>>>472 string x \b %-.2s 828ef01931fSBen Gras>>>>>>>>474 ubyte&0xDF >0 829ef01931fSBen Gras>>>>>>>>>474 string x \b%-.6s 830ef01931fSBen Gras>>>>>>>480 ubyte&0xDF >0 831ef01931fSBen Gras>>>>>>>>480 string x \b.%-.3s 832ef01931fSBen Gras#MSDOS.SYS 833ef01931fSBen Gras>>>>>>>483 ubyte&0xDF >0 \b+ 834ef01931fSBen Gras>>>>>>>>483 string x \b%-.5s 835ef01931fSBen Gras>>>>>>>>>488 ubyte&0xDF >0 836ef01931fSBen Gras>>>>>>>>>>488 string x \b%-.3s 837ef01931fSBen Gras>>>>>>>>491 ubyte&0xDF >0 838ef01931fSBen Gras>>>>>>>>>491 string x \b.%-.3s 839ef01931fSBen Gras# 840ef01931fSBen Gras>>389 string Ungueltiges\ System\ \xFF\r\n 841ef01931fSBen Gras>>>411 string E/A-Fehler\ \ \ \ \xFF\r\n 842ef01931fSBen Gras>>>>428 string Datentraeger\ wechseln\ und\ 843ef01931fSBen Gras>>>>>454 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (GERMAN) 844ef01931fSBen Gras# DOS names like IO.SYS,WINBOOT.SYS,MSDOS.SYS,WINBOOT.INI are 8 right space padded bytes+3 bytes 845ef01931fSBen Gras>>>>>>472 string x %-.2s 846ef01931fSBen Gras>>>>>>>474 ubyte&0xDF >0 847ef01931fSBen Gras>>>>>>>>474 string x \b%-.5s 848ef01931fSBen Gras>>>>>>>>479 ubyte&0xDF >0 849ef01931fSBen Gras>>>>>>>>>479 string x \b%-.1s 850ef01931fSBen Gras>>>>>>480 ubyte&0xDF >0 851ef01931fSBen Gras>>>>>>>480 string x \b.%-.3s 852ef01931fSBen Gras>>>>>>483 ubyte&0xDF >0 \b+ 853ef01931fSBen Gras>>>>>>>483 string x \b%-.5s 854ef01931fSBen Gras>>>>>>>488 ubyte&0xDF >0 855ef01931fSBen Gras>>>>>>>>488 string x \b%-.2s 856ef01931fSBen Gras>>>>>>>>490 ubyte&0xDF >0 857ef01931fSBen Gras>>>>>>>>>490 string x \b%-.1s 858ef01931fSBen Gras>>>>>>>491 ubyte&0xDF >0 859ef01931fSBen Gras>>>>>>>>491 string x \b.%-.3s 860ef01931fSBen Gras>479 ubyte&0xDF >0 861ef01931fSBen Gras>>416 string Kein\ System\ oder\ 862ef01931fSBen Gras>>>433 string Laufwerksfehler 863ef01931fSBen Gras>>>>450 string Wechseln\ und\ Taste\ dr\201cken \b, Microsoft DOS Bootloader (german) 864ef01931fSBen Gras#IO.SYS 865ef01931fSBen Gras>>>>>479 string x \b %-.2s 866ef01931fSBen Gras>>>>>>481 ubyte&0xDF >0 867ef01931fSBen Gras>>>>>>>481 string x \b%-.6s 868ef01931fSBen Gras>>>>>487 ubyte&0xDF >0 869ef01931fSBen Gras>>>>>>487 string x \b.%-.3s 870ef01931fSBen Gras#MSDOS.SYS 871ef01931fSBen Gras>>>>>>490 ubyte&0xDF >0 \b+ 872ef01931fSBen Gras>>>>>>>490 string x \b%-.5s 873ef01931fSBen Gras>>>>>>>>495 ubyte&0xDF >0 874ef01931fSBen Gras>>>>>>>>>495 string x \b%-.3s 875ef01931fSBen Gras>>>>>>>498 ubyte&0xDF >0 876ef01931fSBen Gras>>>>>>>>498 string x \b.%-.3s 877ef01931fSBen Gras# 878ef01931fSBen Gras>376 search/41 Non-System\ disk\ or\ 879ef01931fSBen Gras>>395 search/41 disk\ error\r 880ef01931fSBen Gras>>>407 search/41 Replace\ and\ 881ef01931fSBen Gras>>>>419 search/41 press\ \b, 882ef01931fSBen Gras>>>>419 search/41 strike\ \b, old 883ef01931fSBen Gras>>>>426 search/41 any\ key\ when\ ready\r MS or PC-DOS bootloader 884ef01931fSBen Gras#449 Disk\ Boot\ failure\r MS 3.21 885ef01931fSBen Gras#466 Boot\ Failure\r MS 3.30 886ef01931fSBen Gras>>>>>468 search/18 \0 887ef01931fSBen Gras#IO.SYS,IBMBIO.COM 888ef01931fSBen Gras>>>>>>&0 string x \b %-.2s 889ef01931fSBen Gras>>>>>>>&-20 ubyte&0xDF >0 890ef01931fSBen Gras>>>>>>>>&-1 string x \b%-.4s 891ef01931fSBen Gras>>>>>>>>>&-16 ubyte&0xDF >0 892ef01931fSBen Gras>>>>>>>>>>&-1 string x \b%-.2s 893ef01931fSBen Gras>>>>>>&8 ubyte&0xDF >0 \b. 894ef01931fSBen Gras>>>>>>>&-1 string x \b%-.3s 895ef01931fSBen Gras#MSDOS.SYS,IBMDOS.COM 896ef01931fSBen Gras>>>>>>&11 ubyte&0xDF >0 \b+ 897ef01931fSBen Gras>>>>>>>&-1 string x \b%-.5s 898ef01931fSBen Gras>>>>>>>>&-6 ubyte&0xDF >0 899ef01931fSBen Gras>>>>>>>>>&-1 string x \b%-.1s 900ef01931fSBen Gras>>>>>>>>>>&-5 ubyte&0xDF >0 901ef01931fSBen Gras>>>>>>>>>>>&-1 string x \b%-.2s 902ef01931fSBen Gras>>>>>>>&7 ubyte&0xDF >0 \b. 903ef01931fSBen Gras>>>>>>>>&-1 string x \b%-.3s 904ef01931fSBen Gras>441 string Cannot\ load\ from\ harddisk.\n\r 905ef01931fSBen Gras>>469 string Insert\ Systemdisk\ 906ef01931fSBen Gras>>>487 string and\ press\ any\ key.\n\r \b, MS (2.11) DOS bootloader 907ef01931fSBen Gras#>43 string \224R-LOADER\ \ SYS =label 908ef01931fSBen Gras>54 string SYS 909ef01931fSBen Gras>>324 string VASKK 910ef01931fSBen Gras>>>495 string NEWLDR\0 \b, DR-DOS Bootloader (LOADER.SYS) 911ef01931fSBen Gras# 912ef01931fSBen Gras>98 string Press\ a\ key\ to\ retry\0\r 913ef01931fSBen Gras>>120 string Cannot\ find\ file\ \0\r 914ef01931fSBen Gras>>>139 string Disk\ read\ error\0\r 915ef01931fSBen Gras>>>>156 string Loading\ ...\0 \b, DR-DOS (3.41) Bootloader 916ef01931fSBen Gras#DRBIOS.SYS 917ef01931fSBen Gras>>>>>44 ubyte&0xDF >0 918ef01931fSBen Gras>>>>>>44 string x \b %-.6s 919ef01931fSBen Gras>>>>>>>50 ubyte&0xDF >0 920ef01931fSBen Gras>>>>>>>>50 string x \b%-.2s 921ef01931fSBen Gras>>>>>>52 ubyte&0xDF >0 922ef01931fSBen Gras>>>>>>>52 string x \b.%-.3s 923ef01931fSBen Gras# 924ef01931fSBen Gras>70 string IBMBIO\ \ COM 925ef01931fSBen Gras>>472 string Cannot\ load\ DOS!\ 926ef01931fSBen Gras>>>489 string Any\ key\ to\ retry \b, DR-DOS Bootloader 927ef01931fSBen Gras>>471 string Cannot\ load\ DOS\ 928ef01931fSBen Gras>>487 string press\ key\ to\ retry \b, Open-DOS Bootloader 929ef01931fSBen Gras#?? 930ef01931fSBen Gras>444 string KERNEL\ \ SYS 931ef01931fSBen Gras>>314 string BOOT\ error! \b, FREE-DOS Bootloader 932ef01931fSBen Gras>499 string KERNEL\ \ SYS 933ef01931fSBen Gras>>305 string BOOT\ err!\0 \b, Free-DOS Bootloader 934ef01931fSBen Gras>449 string KERNEL\ \ SYS 935ef01931fSBen Gras>>319 string BOOT\ error! \b, FREE-DOS 0.5 Bootloader 936ef01931fSBen Gras# 937ef01931fSBen Gras>449 string Loading\ FreeDOS 938ef01931fSBen Gras>>0x1AF ulelong >0 \b, FREE-DOS 0.95,1.0 Bootloader 939ef01931fSBen Gras>>>497 ubyte&0xDF >0 940ef01931fSBen Gras>>>>497 string x \b %-.6s 941ef01931fSBen Gras>>>>>503 ubyte&0xDF >0 942ef01931fSBen Gras>>>>>>503 string x \b%-.1s 943ef01931fSBen Gras>>>>>>>504 ubyte&0xDF >0 944ef01931fSBen Gras>>>>>>>>504 string x \b%-.1s 945ef01931fSBen Gras>>>>505 ubyte&0xDF >0 946ef01931fSBen Gras>>>>>505 string x \b.%-.3s 947ef01931fSBen Gras# 948ef01931fSBen Gras>331 string Error!.0 \b, FREE-DOS 1.0 bootloader 949ef01931fSBen Gras# 950ef01931fSBen Gras>125 string Loading\ FreeDOS...\r 951ef01931fSBen Gras>>311 string BOOT\ error!\r \b, FREE-DOS bootloader 952ef01931fSBen Gras>>>441 ubyte&0xDF >0 953ef01931fSBen Gras>>>>441 string x \b %-.6s 954ef01931fSBen Gras>>>>>447 ubyte&0xDF >0 955ef01931fSBen Gras>>>>>>447 string x \b%-.1s 956ef01931fSBen Gras>>>>>>>448 ubyte&0xDF >0 957ef01931fSBen Gras>>>>>>>>448 string x \b%-.1s 958ef01931fSBen Gras>>>>449 ubyte&0xDF >0 959ef01931fSBen Gras>>>>>449 string x \b.%-.3s 960ef01931fSBen Gras>124 string FreeDOS\0 961ef01931fSBen Gras>>331 string \ err\0 \b, FREE-DOS BETa 0.9 Bootloader 962ef01931fSBen Gras# DOS names like KERNEL.SYS,KERNEL16.SYS,KERNEL32.SYS,METAKERN.SYS are 8 right space padded bytes+3 bytes 963ef01931fSBen Gras>>>497 ubyte&0xDF >0 964ef01931fSBen Gras>>>>497 string x \b %-.6s 965ef01931fSBen Gras>>>>>503 ubyte&0xDF >0 966ef01931fSBen Gras>>>>>>503 string x \b%-.1s 967ef01931fSBen Gras>>>>>>>504 ubyte&0xDF >0 968ef01931fSBen Gras>>>>>>>>504 string x \b%-.1s 969ef01931fSBen Gras>>>>505 ubyte&0xDF >0 970ef01931fSBen Gras>>>>>505 string x \b.%-.3s 971ef01931fSBen Gras>>333 string \ err\0 \b, FREE-DOS BEta 0.9 Bootloader 972ef01931fSBen Gras>>>497 ubyte&0xDF >0 973ef01931fSBen Gras>>>>497 string x \b %-.6s 974ef01931fSBen Gras>>>>>503 ubyte&0xDF >0 975ef01931fSBen Gras>>>>>>503 string x \b%-.1s 976ef01931fSBen Gras>>>>>>>504 ubyte&0xDF >0 977ef01931fSBen Gras>>>>>>>>504 string x \b%-.1s 978ef01931fSBen Gras>>>>505 ubyte&0xDF >0 979ef01931fSBen Gras>>>>>505 string x \b.%-.3s 980ef01931fSBen Gras>>334 string \ err\0 \b, FREE-DOS Beta 0.9 Bootloader 981ef01931fSBen Gras>>>497 ubyte&0xDF >0 982ef01931fSBen Gras>>>>497 string x \b %-.6s 983ef01931fSBen Gras>>>>>503 ubyte&0xDF >0 984ef01931fSBen Gras>>>>>>503 string x \b%-.1s 985ef01931fSBen Gras>>>>>>>504 ubyte&0xDF >0 986ef01931fSBen Gras>>>>>>>>504 string x \b%-.1s 987ef01931fSBen Gras>>>>505 ubyte&0xDF >0 988ef01931fSBen Gras>>>>>505 string x \b.%-.3s 989ef01931fSBen Gras>336 string Error!\ 990ef01931fSBen Gras>>343 string Hit\ a\ key\ to\ reboot. \b, FREE-DOS Beta 0.9sr1 Bootloader 991ef01931fSBen Gras>>>497 ubyte&0xDF >0 992ef01931fSBen Gras>>>>497 string x \b %-.6s 993ef01931fSBen Gras>>>>>503 ubyte&0xDF >0 994ef01931fSBen Gras>>>>>>503 string x \b%-.1s 995ef01931fSBen Gras>>>>>>>504 ubyte&0xDF >0 996ef01931fSBen Gras>>>>>>>>504 string x \b%-.1s 997ef01931fSBen Gras>>>>505 ubyte&0xDF >0 998ef01931fSBen Gras>>>>>505 string x \b.%-.3s 999ef01931fSBen Gras# added by Joerg Jenderek 1000ef01931fSBen Gras# http://www.visopsys.org/ 1001ef01931fSBen Gras# http://partitionlogic.org.uk/ 1002ef01931fSBen Gras# OEM-ID=Visopsys 1003ef01931fSBen Gras>478 ulelong 0 1004ef01931fSBen Gras>>(1.b+326) string I/O\ Error\ reading\ 1005ef01931fSBen Gras>>>(1.b+344) string Visopsys\ loader\r 1006ef01931fSBen Gras>>>>(1.b+361) string Press\ any\ key\ to\ continue.\r \b, Visopsys loader 1007ef01931fSBen Gras# http://alexfru.chat.ru/epm.html#bootprog 1008ef01931fSBen Gras>494 ubyte >0x4D 1009ef01931fSBen Gras>>495 string >E 1010ef01931fSBen Gras>>>495 string <S 1011ef01931fSBen Gras#OEM-ID is not reliable 1012ef01931fSBen Gras>>>>3 string BootProg 1013ef01931fSBen Gras# It just looks for a program file name at the root directory 1014ef01931fSBen Gras# and loads corresponding file with following execution. 1015ef01931fSBen Gras# DOS names like STARTUP.BIN,STARTUPC.COM,STARTUPE.EXE are 8 right space padded bytes+3 bytes 1016ef01931fSBen Gras>>>>499 ubyte&0xDF >0 \b, COM/EXE Bootloader 1017*0a6a1f1dSLionel Sambuc>>>>>499 use DOS-filename 1018ef01931fSBen Gras#If the boot sector fails to read any other sector, 1019ef01931fSBen Gras#it prints a very short message ("RE") to the screen and hangs the computer. 1020ef01931fSBen Gras#If the boot sector fails to find needed program in the root directory, 1021ef01931fSBen Gras#it also hangs with another message ("NF"). 1022ef01931fSBen Gras>>>>>492 string RENF \b, FAT (12 bit) 1023ef01931fSBen Gras>>>>>495 string RENF \b, FAT (16 bit) 1024ef01931fSBen Gras#If the boot sector fails to read any other sector, 1025ef01931fSBen Gras#it prints a very short message ("RE") to the screen and hangs the computer. 1026ef01931fSBen Gras# x86 bootloader end 102784d9c625SLionel Sambuc 102884d9c625SLionel Sambuc# added by Joerg Jenderek at Feb 2013 according to http://thestarman.pcministry.com/asm/mbr/MSWIN41.htm#FSINFO 102984d9c625SLionel Sambuc# and http://en.wikipedia.org/wiki/File_Allocation_Table#FS_Information_Sector 103084d9c625SLionel Sambuc>0 string RRaA 103184d9c625SLionel Sambuc>>0x1E4 string rrAa \b, FSInfosector 103284d9c625SLionel Sambuc#>>0x1FC uleshort =0 SHOULD BE ZERO 103384d9c625SLionel Sambuc>>>0x1E8 ulelong <0xffffffff \b, %u free clusters 103484d9c625SLionel Sambuc>>>0x1EC ulelong <0xffffffff \b, last allocated cluster %u 103584d9c625SLionel Sambuc 1036ef01931fSBen Gras# updated by Joerg Jenderek at Sep 2007 1037ef01931fSBen Gras>3 ubyte 0 1038ef01931fSBen Gras#no active flag 1039ef01931fSBen Gras>>446 ubyte 0 1040ef01931fSBen Gras# partition 1 not empty 1041ef01931fSBen Gras>>>450 ubyte >0 1042ef01931fSBen Gras# partitions 3,4 empty 1043ef01931fSBen Gras>>>>482 ubyte 0 1044ef01931fSBen Gras>>>>>498 ubyte 0 1045ef01931fSBen Gras# partition 2 ID=0,5,15 1046ef01931fSBen Gras>>>>>>466 ubyte <0x10 1047ef01931fSBen Gras>>>>>>>466 ubyte 0x05 \b, extended partition table 1048ef01931fSBen Gras>>>>>>>466 ubyte 0x0F \b, extended partition table (LBA) 1049ef01931fSBen Gras>>>>>>>466 ubyte 0x0 \b, extended partition table (last) 105084d9c625SLionel Sambuc 1051*0a6a1f1dSLionel Sambuc# DOS x86 sector separated and moved from "DOS/MBR boot sector" by Joerg Jenderek at May 2011 105284d9c625SLionel Sambuc 1053ef01931fSBen Gras>0x200 lelong 0x82564557 \b, BSD disklabel 1054*0a6a1f1dSLionel Sambuc 1055*0a6a1f1dSLionel Sambuc# by Joerg Jenderek at Apr 2013 1056*0a6a1f1dSLionel Sambuc# Print the DOS filenames from directory entry form with 8 right space padded bytes + 3 bytes for extension 1057*0a6a1f1dSLionel Sambuc# like IO.SYS. MSDOS.SYS , KERNEL.SYS , DRBIO.SYS 1058*0a6a1f1dSLionel Sambuc0 name DOS-filename 1059*0a6a1f1dSLionel Sambuc# space=0x20 (00100000b) means empty 1060*0a6a1f1dSLionel Sambuc>0 ubyte&0xDF >0 1061*0a6a1f1dSLionel Sambuc>>0 ubyte x \b%c 1062*0a6a1f1dSLionel Sambuc>>>1 ubyte&0xDF >0 1063*0a6a1f1dSLionel Sambuc>>>>1 ubyte x \b%c 1064*0a6a1f1dSLionel Sambuc>>>>>2 ubyte&0xDF >0 1065*0a6a1f1dSLionel Sambuc>>>>>>2 ubyte x \b%c 1066*0a6a1f1dSLionel Sambuc>>>>>>>3 ubyte&0xDF >0 1067*0a6a1f1dSLionel Sambuc>>>>>>>>3 ubyte x \b%c 1068*0a6a1f1dSLionel Sambuc>>>>>>>>>4 ubyte&0xDF >0 1069*0a6a1f1dSLionel Sambuc>>>>>>>>>>4 ubyte x \b%c 1070*0a6a1f1dSLionel Sambuc>>>>>>>>>>>5 ubyte&0xDF >0 1071*0a6a1f1dSLionel Sambuc>>>>>>>>>>>>5 ubyte x \b%c 1072*0a6a1f1dSLionel Sambuc>>>>>>>>>>>>>6 ubyte&0xDF >0 1073*0a6a1f1dSLionel Sambuc>>>>>>>>>>>>>>6 ubyte x \b%c 1074*0a6a1f1dSLionel Sambuc>>>>>>>>>>>>>>>7 ubyte&0xDF >0 1075*0a6a1f1dSLionel Sambuc>>>>>>>>>>>>>>>>7 ubyte x \b%c 1076*0a6a1f1dSLionel Sambuc# DOS filename extension 1077*0a6a1f1dSLionel Sambuc>>8 ubyte&0xDF >0 \b. 1078*0a6a1f1dSLionel Sambuc>>>8 ubyte x \b%c 1079*0a6a1f1dSLionel Sambuc>>>>9 ubyte&0xDF >0 1080*0a6a1f1dSLionel Sambuc>>>>>9 ubyte x \b%c 1081*0a6a1f1dSLionel Sambuc>>>>>>10 ubyte&0xDF >0 1082*0a6a1f1dSLionel Sambuc>>>>>>>10 ubyte x \b%c 1083*0a6a1f1dSLionel Sambuc# Print 2 following DOS filenames from directory entry form 1084*0a6a1f1dSLionel Sambuc# like IO.SYS+MSDOS.SYS or ibmbio.com+ibmdos.com 1085*0a6a1f1dSLionel Sambuc0 name 2xDOS-filename 1086*0a6a1f1dSLionel Sambuc# display 1 space 1087*0a6a1f1dSLionel Sambuc>0 ubyte x \b 1088*0a6a1f1dSLionel Sambuc>0 use DOS-filename 1089*0a6a1f1dSLionel Sambuc>11 ubyte x \b+ 1090*0a6a1f1dSLionel Sambuc>11 use DOS-filename 1091*0a6a1f1dSLionel Sambuc 1092*0a6a1f1dSLionel Sambuc# http://en.wikipedia.org/wiki/Master_boot_record#PTE 1093*0a6a1f1dSLionel Sambuc# display standard partition table 1094*0a6a1f1dSLionel Sambuc0 name partition-table 1095*0a6a1f1dSLionel Sambuc#>0 ubyte x PARTITION-TABLE 1096*0a6a1f1dSLionel Sambuc# test and display 1st til 4th partition table entry 1097*0a6a1f1dSLionel Sambuc>0 use partition-entry-test 1098*0a6a1f1dSLionel Sambuc>16 use partition-entry-test 1099*0a6a1f1dSLionel Sambuc>32 use partition-entry-test 1100*0a6a1f1dSLionel Sambuc>48 use partition-entry-test 1101*0a6a1f1dSLionel Sambuc# test for entry of partition table 1102*0a6a1f1dSLionel Sambuc0 name partition-entry-test 1103*0a6a1f1dSLionel Sambuc# partition type ID > 0 1104*0a6a1f1dSLionel Sambuc>4 ubyte >0 1105*0a6a1f1dSLionel Sambuc# active flag 0 1106*0a6a1f1dSLionel Sambuc>>0 ubyte 0 1107*0a6a1f1dSLionel Sambuc>>>0 use partition-entry 1108*0a6a1f1dSLionel Sambuc# active flag 0x80, 0x81, ... 1109*0a6a1f1dSLionel Sambuc>>0 ubyte >0x7F 1110*0a6a1f1dSLionel Sambuc>>>0 use partition-entry 1111*0a6a1f1dSLionel Sambuc# Print entry of partition table 1112*0a6a1f1dSLionel Sambuc0 name partition-entry 1113*0a6a1f1dSLionel Sambuc# partition type ID > 0 1114*0a6a1f1dSLionel Sambuc>4 ubyte >0 \b; partition 1115*0a6a1f1dSLionel Sambuc>>64 leshort 0xAA55 1 1116*0a6a1f1dSLionel Sambuc>>48 leshort 0xAA55 2 1117*0a6a1f1dSLionel Sambuc>>32 leshort 0xAA55 3 1118*0a6a1f1dSLionel Sambuc>>16 leshort 0xAA55 4 1119*0a6a1f1dSLionel Sambuc>>4 ubyte x : ID=0x%x 1120*0a6a1f1dSLionel Sambuc>>0 ubyte&0x80 0x80 \b, active 1121*0a6a1f1dSLionel Sambuc>>0 ubyte >0x80 0x%x 1122*0a6a1f1dSLionel Sambuc>>1 ubyte x \b, start-CHS ( 1123*0a6a1f1dSLionel Sambuc>>1 use partition-chs 1124*0a6a1f1dSLionel Sambuc>>5 ubyte x \b), end-CHS ( 1125*0a6a1f1dSLionel Sambuc>>5 use partition-chs 1126*0a6a1f1dSLionel Sambuc>>8 ulelong x \b), startsector %u 1127*0a6a1f1dSLionel Sambuc>>12 ulelong x \b, %u sectors 1128*0a6a1f1dSLionel Sambuc# Print cylinder,head,sector (CHS) of partition entry 1129*0a6a1f1dSLionel Sambuc0 name partition-chs 1130*0a6a1f1dSLionel Sambuc# cylinder 1131*0a6a1f1dSLionel Sambuc>1 ubyte x \b0x 1132*0a6a1f1dSLionel Sambuc>1 ubyte&0xC0 0x40 \b1 1133*0a6a1f1dSLionel Sambuc>1 ubyte&0xC0 0x80 \b2 1134*0a6a1f1dSLionel Sambuc>1 ubyte&0xC0 0xC0 \b3 1135*0a6a1f1dSLionel Sambuc>2 ubyte x \b%x 1136*0a6a1f1dSLionel Sambuc# head 1137*0a6a1f1dSLionel Sambuc>0 ubyte x \b,%u 1138*0a6a1f1dSLionel Sambuc# sector 1139*0a6a1f1dSLionel Sambuc>1 ubyte&0x3F x \b,%u 1140*0a6a1f1dSLionel Sambuc 1141ef01931fSBen Gras# FATX 1142ef01931fSBen Gras0 string FATX FATX filesystem data 1143ef01931fSBen Gras 1144ef01931fSBen Gras# romfs filesystems - Juan Cespedes <cespedes@debian.org> 1145ef01931fSBen Gras0 string -rom1fs- romfs filesystem, version 1 1146ef01931fSBen Gras>8 belong x %d bytes, 1147ef01931fSBen Gras>16 string x named %s. 1148ef01931fSBen Gras 1149ef01931fSBen Gras# netboot image - Juan Cespedes <cespedes@debian.org> 1150ef01931fSBen Gras0 lelong 0x1b031336L Netboot image, 1151ef01931fSBen Gras>4 lelong&0xFFFFFF00 0 1152ef01931fSBen Gras>>4 lelong&0x100 0x000 mode 2 1153ef01931fSBen Gras>>4 lelong&0x100 0x100 mode 3 1154ef01931fSBen Gras>4 lelong&0xFFFFFF00 !0 unknown mode 1155ef01931fSBen Gras 1156ef01931fSBen Gras0x18b string OS/2 OS/2 Boot Manager 1157ef01931fSBen Gras 115884d9c625SLionel Sambuc# updated by Joerg Jenderek at Oct 2008 and Sep 2012 1159ef01931fSBen Gras# http://syslinux.zytor.com/iso.php 116084d9c625SLionel Sambuc# 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 116184d9c625SLionel Sambuc# assembler instructions: cli;jmp 0:7Cyy (yy=0x40,0x5e,0x6c,0x6e,0x77);nop;nop 116284d9c625SLionel Sambuc0 ulequad&0x909000007cc0eafa 0x909000007c40eafa 116384d9c625SLionel Sambuc>631 search/689 ISOLINUX\ isolinux Loader 116484d9c625SLionel Sambuc>>&0 string x (version %-4.4s) 1165ef01931fSBen Gras# http://syslinux.zytor.com/pxe.php 116684d9c625SLionel Sambuc# assembler instructions: jmp 7C05 116784d9c625SLionel Sambuc0 ulelong 0x007c05ea pxelinux loader (version 2.13 or older) 116884d9c625SLionel Sambuc# assembler instructions: pushfd;pushad 116984d9c625SLionel Sambuc0 ulelong 0x60669c66 pxelinux loader 117084d9c625SLionel Sambuc# assembler instructions: jmp 05 117184d9c625SLionel Sambuc0 ulelong 0xc00005ea pxelinux loader (version 3.70 or newer) 117284d9c625SLionel Sambuc# http://syslinux.zytor.com/wiki/index.php/SYSLINUX 117384d9c625SLionel Sambuc0 string LDLINUX\ SYS\ SYSLINUX loader 117484d9c625SLionel Sambuc>12 string x (older version %-4.4s) 117584d9c625SLionel Sambuc0 string \r\nSYSLINUX\ SYSLINUX loader 117684d9c625SLionel Sambuc>11 string x (version %-4.4s) 1177*0a6a1f1dSLionel Sambuc# syslinux updated and separated from "DOS/MBR boot sector" by Joerg Jenderek at Sep 2012 117884d9c625SLionel Sambuc# assembler instructions: jmp yy (yy=0x3c,0x58);nop;"SYSLINUX" 117984d9c625SLionel Sambuc0 ulelong&0x80909bEB 0x009018EB 118084d9c625SLionel Sambuc# OEM-ID not always "SYSLINUX" 118184d9c625SLionel Sambuc>434 search/47 Boot\ failed 118284d9c625SLionel Sambuc# followed by \r\n\0 or :\ 118384d9c625SLionel Sambuc>>482 search/132 \0LDLINUX\ SYS Syslinux bootloader (version 2.13 or older) 118484d9c625SLionel Sambuc>>1 ubyte 0x58 Syslinux bootloader (version 3.0-3.9) 118584d9c625SLionel Sambuc>459 search/30 Boot\ error\r\n\0 118684d9c625SLionel Sambuc>>1 ubyte 0x58 Syslinux bootloader (version 3.10 or newer) 1187*0a6a1f1dSLionel Sambuc# SYSLINUX MBR updated and separated from "DOS/MBR boot sector" by Joerg Jenderek at Sep 2012 118884d9c625SLionel Sambuc# assembler instructions: mov di,0600h;mov cx,0100h 118984d9c625SLionel Sambuc16 search/4 \xbf\x00\x06\xb9\x00\x01 1190*0a6a1f1dSLionel Sambuc# to display SYSLINUX MBR (36) before old DOS/MBR boot sector one with partition table (strength=50+21) 119184d9c625SLionel Sambuc!:strength +36 119284d9c625SLionel Sambuc>94 search/249 Missing\ operating\ system 119384d9c625SLionel Sambuc# followed by \r for versions older 3.35 , .\r for versions newer 3.52 and point for other 119484d9c625SLionel Sambuc# skip Ranish MBR 119584d9c625SLionel Sambuc>>408 search/4 HD1/\0 119684d9c625SLionel Sambuc>>408 default x 119784d9c625SLionel Sambuc>>>250 search/118 \0Operating\ system\ load SYSLINUX MBR 119884d9c625SLionel Sambuc# followed by "ing " or space 119984d9c625SLionel Sambuc>>>>292 search/98 error 120084d9c625SLionel Sambuc>>>>>&0 string \r (version 3.35 or older) 120184d9c625SLionel Sambuc>>>>>&0 string .\r (version 3.52 or newer) 120284d9c625SLionel Sambuc>>>>>&0 default x (version 3.36-3.51 ) 120384d9c625SLionel Sambuc>368 search/106 \0Disk\ error\ on\ boot\r\n SYSLINUX GPT-MBR 120484d9c625SLionel Sambuc>>156 search/10 \0Boot\ partition\ not\ found\r\n 120584d9c625SLionel Sambuc>>>270 search/10 \0OS\ not\ bootable\r\n (version 3.86 or older) 120684d9c625SLionel Sambuc>>174 search/10 \0Missing\ OS\r\n 120784d9c625SLionel Sambuc>>>189 search/10 \0Multiple\ active\ partitions\r\n (version 4.00 or newer) 120884d9c625SLionel Sambuc# SYSLINUX END 120984d9c625SLionel Sambuc 121084d9c625SLionel Sambuc# NetBSD mbr variants (master-boot-code version 1.22) added by Joerg Jenderek at Nov 2012 121184d9c625SLionel Sambuc# assembler instructions: xor ax,ax;mov ax,ss;mov sp,0x7c00;mov ax, 121284d9c625SLionel Sambuc0 ubequad 0x31c08ed0bc007c8e 121384d9c625SLionel Sambuc# mbr_bootsel magic before partition table not reliable with small ipl fragments 121484d9c625SLionel Sambuc#>444 uleshort 0xb5e1 121584d9c625SLionel Sambuc>0004 uleshort x 121684d9c625SLionel Sambuc# ERRorTeXT 121784d9c625SLionel Sambuc>>181 search/166 Error\ \0\r\n NetBSD mbr 121884d9c625SLionel Sambuc# NT Drive Serial Number http://thestarman.pcministry.com/asm/mbr/Win2kmbr.htm#DS 121984d9c625SLionel Sambuc>>>0x1B8 ubelong >0 \b,Serial 0x%-.8x 122084d9c625SLionel Sambuc# BOOTSEL definitions contains assembler instructions: int 0x13;pop dx;push dx;push dx 122184d9c625SLionel Sambuc>>>0xbb search/71 \xcd\x13\x5a\x52\x52 \b,bootselector 122284d9c625SLionel Sambuc# BOOT_EXTENDED definitions contains assembler instructions: 122384d9c625SLionel Sambuc# xchg ecx,edx;addl ecx,edx;movw lba_info,si;movb 0x42,ah;pop dx;push dx;int 0x13 122484d9c625SLionel Sambuc>>>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 122584d9c625SLionel Sambuc# COM_PORT_VAL definitions contains assembler instructions: outb al,dx;add 5,dl;inb %dx;test 0x40,al 122684d9c625SLionel Sambuc>>>0x130 search/55 \xee\x80\xc2\x05\xec\xa8\x40 \b,serial IO 122784d9c625SLionel Sambuc# not TERSE_ERROR 122884d9c625SLionel Sambuc>>>196 search/106 No\ active\ partition\0 122984d9c625SLionel Sambuc>>>>&0 string Disk\ read\ error\0 123084d9c625SLionel Sambuc>>>>>&0 string No\ operating\ system\0 \b,verbose 123184d9c625SLionel Sambuc# not NO_CHS definitions contains assembler instructions: pop dx;push dx;movb $8,ah;int0x13 123284d9c625SLionel Sambuc>>>0x7d search/7 \x5a\x52\xb4\x08\xcd\x13 \b,CHS 123384d9c625SLionel Sambuc# not NO_LBA_CHECK definitions contains assembler instructions: movw 0x55aa,bx;movb 0x41,ah;pop dx;push dx;int 0x13 123484d9c625SLionel Sambuc>>>0xa4 search/84 \xbb\xaa\x55\xb4\x41\x5a\x52\xcd\x13 \b,LBA-check 123584d9c625SLionel Sambuc# assembler instructions: movw nametab,bx 123684d9c625SLionel Sambuc>>>0x26 search/21 \xBB\x94\x07 123784d9c625SLionel Sambuc# not NO_BANNER definitions contains assembler instructions: mov banner,si;call message_crlf 123884d9c625SLionel Sambuc>>>>&-9 ubequad&0xBE00f0E800febb94 0xBE0000E80000bb94 123984d9c625SLionel Sambuc>>>>>181 search/166 Error\ \0 124084d9c625SLionel Sambuc# "a: disk" , "Fn: diskn" or "NetBSD MBR boot" 124184d9c625SLionel Sambuc>>>>>>&3 string x \b,"%s" 1242*0a6a1f1dSLionel Sambuc>>>446 use partition-table 124384d9c625SLionel Sambuc# Andrea Mazzoleni AdvanceCD mbr loader of http://advancemame.sourceforge.net/boot-readme.html 124484d9c625SLionel Sambuc# added by Joerg Jenderek at Nov 2012 for versions 1.3 - 1.4 124584d9c625SLionel Sambuc# assembler instructions: jmp short 0x58;nop;ASCII 124684d9c625SLionel Sambuc0 ubequad&0xeb58908000000000 0xeb58900000000000 124784d9c625SLionel Sambuc# assembler instructions: cli;xor ax,ax;mov ds,ax;mov es,ax;mov ss, 124884d9c625SLionel Sambuc>(1.b+2) ubequad 0xfa31c08ed88ec08e 124984d9c625SLionel Sambuc# Error messages at end of code 125084d9c625SLionel Sambuc>>376 string No\ operating\ system\r\n\0 125184d9c625SLionel Sambuc>>>398 string Disk\ error\r\n\0FDD\0HDD\0 125284d9c625SLionel Sambuc>>>>419 string \ EBIOS\r\n\0 AdvanceMAME mbr 125384d9c625SLionel Sambuc 125484d9c625SLionel Sambuc# Neil Turton mbr loader variant of http://www.chiark.greenend.org.uk/~neilt/mbr/ 125584d9c625SLionel Sambuc# added by Joerg Jenderek at Mar 2011 for versions 1.0.0 - 1.1.11 125684d9c625SLionel Sambuc# for 1st version assembler instructions: cld;xor ax,ax;mov DS,ax;MOV ES,AX;mov SI, 125784d9c625SLionel Sambuc# or cld;xor ax,ax;mov SS,ax;XOR SP,SP;mov DS, 125884d9c625SLionel Sambuc0 ulequad&0xcE1b40D48EC031FC 0x8E0000D08EC031FC 125984d9c625SLionel Sambuc# pointer to the data starting with Neil Turton signature string 126084d9c625SLionel Sambuc>(0x1BC.s) string NDTmbr 126184d9c625SLionel Sambuc>>&-14 string 1234F\0 Turton mbr ( 126284d9c625SLionel Sambuc# parameters also viewed by install-mbr --list 126384d9c625SLionel Sambuc>>>(0x1BC.s+7) ubyte x \b%u<= 126484d9c625SLionel Sambuc>>>(0x1BC.s+9) ubyte x \bVersion<=%u 126584d9c625SLionel Sambuc#>>>(0x1BC.s+8) ubyte x asm_flag_%x 126684d9c625SLionel Sambuc>>>(0x1BC.s+8) ubyte&1 1 \b,Y2K-Fix 126784d9c625SLionel Sambuc# variant used by testdisk of http://www.cgsecurity.org/wiki/Menu_MBRCode 126884d9c625SLionel Sambuc>>>(0x1BC.s+8) ubyte&2 2 \b,TestDisk 126984d9c625SLionel Sambuc#0x1~1,..,0x8~4,0x10~F,0x80~A enabled 127084d9c625SLionel Sambuc#>>>(0x1BC.s+10) ubyte x \b,flags 0x%x 127184d9c625SLionel Sambuc#0x0~1,0x1~2,...,0x3~4,0x4~F,0x7~D default boot 127284d9c625SLionel Sambuc#>>>(0x1BC.s+11) ubyte x \b,cfg_def 0x%x 127384d9c625SLionel Sambuc# for older versions 127484d9c625SLionel Sambuc>>>(0x1BC.s+9) ubyte <2 1275*0a6a1f1dSLionel Sambuc#>>>>(0x1BC.s+12) ubyte 18 \b,%hhu/18 seconds 127684d9c625SLionel Sambuc>>>>(0x1BC.s+12) ubyte !18 \b,%u/18 seconds 127784d9c625SLionel Sambuc# floppy A: or B: 127884d9c625SLionel Sambuc>>>>(0x1BC.s+13) ubyte <2 \b,floppy 0x%x 127984d9c625SLionel Sambuc>>>>(0x1BC.s+13) ubyte >1 128084d9c625SLionel Sambuc# 1st hard disc 128184d9c625SLionel Sambuc#>>>>>(0x1BC.s+13) ubyte 0x80 \b,drive 0x%x 128284d9c625SLionel Sambuc# not 1st hard disc 128384d9c625SLionel Sambuc>>>>>(0x1BC.s+13) ubyte !0x80 \b,drive 0x%x 128484d9c625SLionel Sambuc# for version >= 2 maximal timeout can be 65534 128584d9c625SLionel Sambuc>>>(0x1BC.s+9) ubyte >1 128684d9c625SLionel Sambuc#>>>>(0x1BC.s+12) uleshort 18 \b,%u/18 seconds 128784d9c625SLionel Sambuc>>>>(0x1BC.s+12) uleshort !18 \b,%u/18 seconds 128884d9c625SLionel Sambuc# floppy A: or B: 128984d9c625SLionel Sambuc>>>>(0x1BC.s+14) ubyte <2 \b,floppy 0x%x 129084d9c625SLionel Sambuc>>>>(0x1BC.s+14) ubyte >1 129184d9c625SLionel Sambuc# 1st hard disc 129284d9c625SLionel Sambuc#>>>>>(0x1BC.s+14) ubyte 0x80 \b,drive 0x%x 129384d9c625SLionel Sambuc# not 1st hard disc 129484d9c625SLionel Sambuc>>>>>(0x1BC.s+14) ubyte !0x80 \b,drive 0x%x 129584d9c625SLionel Sambuc>>>0 ubyte x \b) 1296ef01931fSBen Gras 1297ef01931fSBen Gras# added by Joerg Jenderek 1298ef01931fSBen Gras# In the second sector (+0x200) are variables according to grub-0.97/stage2/asm.S or 1299ef01931fSBen Gras# grub-1.94/kern/i386/pc/startup.S 1300ef01931fSBen Gras# http://www.gnu.org/software/grub/manual/grub.html#Embedded-data 1301ef01931fSBen Gras# usual values are marked with comments to get only informations of strange GRUB loaders 1302ef01931fSBen Gras0x200 uleshort 0x70EA 1303ef01931fSBen Gras# found only version 3.{1,2} 1304ef01931fSBen Gras>0x206 ubeshort >0x0300 1305ef01931fSBen Gras# GRUB version (0.5.)95,0.93,0.94,0.96,0.97 > "00" 1306ef01931fSBen Gras>>0x212 ubyte >0x29 1307ef01931fSBen Gras>>>0x213 ubyte >0x29 1308ef01931fSBen Gras# not iso9660_stage1_5 1309ef01931fSBen Gras#>>>0 ulelong&0x00BE5652 0x00BE5652 1310ef01931fSBen Gras>>>>0x213 ubyte >0x29 GRand Unified Bootloader 1311ef01931fSBen Gras# config_file for stage1_5 is 0xffffffff + default "/boot/grub/stage2" 1312ef01931fSBen Gras>>>>0x217 ubyte 0xFF stage1_5 1313ef01931fSBen Gras>>>>0x217 ubyte <0xFF stage2 1314ef01931fSBen Gras>>>>0x206 ubyte x \b version %u 1315ef01931fSBen Gras>>>>0x207 ubyte x \b.%u 1316ef01931fSBen Gras# module_size for 1.94 1317ef01931fSBen Gras>>>>0x208 ulelong <0xffffff \b, installed partition %u 1318*0a6a1f1dSLionel Sambuc#>>>>0x208 ulelong =0xffffff \b, %lu (default) 1319ef01931fSBen Gras>>>>0x208 ulelong >0xffffff \b, installed partition %u 1320ef01931fSBen Gras# GRUB 0.5.95 unofficial 1321ef01931fSBen Gras>>>>0x20C ulelong&0x2E300000 0x2E300000 1322ef01931fSBen Gras# 0=stage2 1=ffs 2=e2fs 3=fat 4=minix 5=reiserfs 1323ef01931fSBen Gras>>>>>0x20C ubyte x \b, identifier 0x%x 1324ef01931fSBen Gras#>>>>>0x20D ubyte =0 \b, LBA flag 0x%x (default) 1325ef01931fSBen Gras>>>>>0x20D ubyte >0 \b, LBA flag 0x%x 1326ef01931fSBen Gras# GRUB version as string 1327ef01931fSBen Gras>>>>>0x20E string >\0 \b, GRUB version %-s 1328ef01931fSBen Gras# for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default 1329ef01931fSBen Gras>>>>>>0x215 ulong 0xffffffff 1330ef01931fSBen Gras>>>>>>>0x219 string >\0 \b, configuration file %-s 1331ef01931fSBen Gras>>>>>>0x215 ulong !0xffffffff 1332ef01931fSBen Gras>>>>>>>0x215 string >\0 \b, configuration file %-s 1333ef01931fSBen Gras# newer GRUB versions 1334ef01931fSBen Gras>>>>0x20C ulelong&0x2E300000 !0x2E300000 1335ef01931fSBen Gras##>>>>>0x20C ulelong =0 \b, saved entry %d (usual) 1336ef01931fSBen Gras>>>>>0x20C ulelong >0 \b, saved entry %d 1337ef01931fSBen Gras# for 1.94 contains kernel image size 1338ef01931fSBen Gras# for 0.93,0.94,0.96,0.97 1339ef01931fSBen Gras# 0=stage2 1=ffs 2=e2fs 3=fat 4=minix 5=reiserfs 6=vstafs 7=jfs 8=xfs 9=iso9660 a=ufs2 1340ef01931fSBen Gras>>>>>0x210 ubyte x \b, identifier 0x%x 1341ef01931fSBen Gras# The flag for LBA forcing is in most cases 0 1342ef01931fSBen Gras#>>>>>0x211 ubyte =0 \b, LBA flag 0x%x (default) 1343ef01931fSBen Gras>>>>>0x211 ubyte >0 \b, LBA flag 0x%x 1344ef01931fSBen Gras# GRUB version as string 1345ef01931fSBen Gras>>>>>0x212 string >\0 \b, GRUB version %-s 1346ef01931fSBen Gras# for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default 1347ef01931fSBen Gras>>>>>0x217 ulong 0xffffffff 1348ef01931fSBen Gras>>>>>>0x21b string >\0 \b, configuration file %-s 1349ef01931fSBen Gras>>>>>0x217 ulong !0xffffffff 1350ef01931fSBen Gras>>>>>>0x217 string >\0 \b, configuration file %-s 1351ef01931fSBen Gras 1352*0a6a1f1dSLionel Sambuc# DOS x86 sector updated and separated from "DOS/MBR boot sector" by Joerg Jenderek at May 2011 135384d9c625SLionel Sambuc# JuMP short bootcodeoffset NOP assembler instructions will usually be EB xx 90 135484d9c625SLionel Sambuc# over BIOS parameter block (BPB) 135584d9c625SLionel Sambuc# http://thestarman.pcministry.com/asm/2bytejumps.htm#FWD 135684d9c625SLionel Sambuc# older drives may use Near JuMP instruction E9 xx xx 135784d9c625SLionel Sambuc# minimal short forward jump found 0x29 for bootloaders or 0x0 135884d9c625SLionel Sambuc# maximal short forward jump is 0x7f 135984d9c625SLionel Sambuc# OEM-ID is empty or contain readable bytes 136084d9c625SLionel Sambuc0 ulelong&0x804000E9 0x000000E9 1361*0a6a1f1dSLionel Sambuc!:strength +60 136284d9c625SLionel Sambuc# mtools-3.9.8/msdos.h 136384d9c625SLionel Sambuc# usual values are marked with comments to get only informations of strange FAT systems 136484d9c625SLionel Sambuc# valid sectorsize must be a power of 2 from 32 to 32768 1365*0a6a1f1dSLionel Sambuc>11 uleshort&0x001f 0 136684d9c625SLionel Sambuc>>11 uleshort <32769 136784d9c625SLionel Sambuc>>>11 uleshort >31 136884d9c625SLionel Sambuc>>>>21 ubyte&0xf0 0xF0 1369*0a6a1f1dSLionel Sambuc>>>>>0 ubyte 0xEB DOS/MBR boot sector 137084d9c625SLionel Sambuc>>>>>>1 ubyte x \b, code offset 0x%x+2 137184d9c625SLionel Sambuc>>>>>0 ubyte 0xE9 1372*0a6a1f1dSLionel Sambuc>>>>>>1 uleshort x \b, code offset 0x%x+3 137384d9c625SLionel Sambuc>>>>>3 string >\0 \b, OEM-ID "%-.8s" 137484d9c625SLionel Sambuc#http://mirror.href.com/thestarman/asm/debug/debug2.htm#IHC 137584d9c625SLionel Sambuc>>>>>>8 string IHC \b cached by Windows 9M 137684d9c625SLionel Sambuc>>>>>11 uleshort >512 \b, Bytes/sector %u 137784d9c625SLionel Sambuc#>>>>>11 uleshort =512 \b, Bytes/sector %u=512 (usual) 137884d9c625SLionel Sambuc>>>>>11 uleshort <512 \b, Bytes/sector %u 137984d9c625SLionel Sambuc>>>>>13 ubyte >1 \b, sectors/cluster %u 138084d9c625SLionel Sambuc#>>>>>13 ubyte =1 \b, sectors/cluster %u (usual on Floppies) 1381*0a6a1f1dSLionel Sambuc# for lazy FAT32 implementation like Transcend digital photo frame PF830 1382*0a6a1f1dSLionel Sambuc>>>>>82 string/c fat32 138384d9c625SLionel Sambuc>>>>>>14 uleshort !32 \b, reserved sectors %u 138484d9c625SLionel Sambuc#>>>>>>14 uleshort =32 \b, reserved sectors %u (usual Fat32) 1385*0a6a1f1dSLionel Sambuc>>>>>82 string/c !fat32 138684d9c625SLionel Sambuc>>>>>>14 uleshort >1 \b, reserved sectors %u 138784d9c625SLionel Sambuc#>>>>>>14 uleshort =1 \b, reserved sectors %u (usual FAT12,FAT16) 138884d9c625SLionel Sambuc#>>>>>>14 uleshort 0 \b, reserved sectors %u (usual NTFS) 138984d9c625SLionel Sambuc>>>>>16 ubyte >2 \b, FATs %u 139084d9c625SLionel Sambuc#>>>>>16 ubyte =2 \b, FATs %u (usual) 139184d9c625SLionel Sambuc>>>>>16 ubyte =1 \b, FAT %u 139284d9c625SLionel Sambuc>>>>>16 ubyte >0 139384d9c625SLionel Sambuc>>>>>17 uleshort >0 \b, root entries %u 1394*0a6a1f1dSLionel Sambuc#>>>>>17 uleshort =0 \b, root entries %hu=0 (usual Fat32) 139584d9c625SLionel Sambuc>>>>>19 uleshort >0 \b, sectors %u (volumes <=32 MB) 1396*0a6a1f1dSLionel Sambuc#>>>>>19 uleshort =0 \b, sectors %hu=0 (usual Fat32) 139784d9c625SLionel Sambuc>>>>>21 ubyte >0xF0 \b, Media descriptor 0x%x 139884d9c625SLionel Sambuc#>>>>>21 ubyte =0xF0 \b, Media descriptor 0x%x (usual floppy) 139984d9c625SLionel Sambuc>>>>>21 ubyte <0xF0 \b, Media descriptor 0x%x 140084d9c625SLionel Sambuc>>>>>22 uleshort >0 \b, sectors/FAT %u 1401*0a6a1f1dSLionel Sambuc#>>>>>22 uleshort =0 \b, sectors/FAT %hu=0 (usual Fat32) 140284d9c625SLionel Sambuc>>>>>24 uleshort x \b, sectors/track %u 140384d9c625SLionel Sambuc>>>>>26 ubyte >2 \b, heads %u 140484d9c625SLionel Sambuc#>>>>>26 ubyte =2 \b, heads %u (usual floppy) 140584d9c625SLionel Sambuc>>>>>26 ubyte =1 \b, heads %u 140684d9c625SLionel Sambuc# valid only for sector sizes with more then 32 Bytes 140784d9c625SLionel Sambuc>>>>>11 uleshort >32 1408*0a6a1f1dSLionel Sambuc# http://en.wikipedia.org/wiki/Design_of_the_FAT_file_system#Extended_BIOS_Parameter_Block 1409*0a6a1f1dSLionel Sambuc# skip for values 2,2Ah,70h,73h,DFh 1410*0a6a1f1dSLionel Sambuc# and continue for extended boot signature values 0,28h,29h,80h 1411*0a6a1f1dSLionel Sambuc>>>>>>38 ubyte&0x56 =0 141284d9c625SLionel Sambuc>>>>>>>28 ulelong >0 \b, hidden sectors %u 141384d9c625SLionel Sambuc#>>>>>>>28 ulelong =0 \b, hidden sectors %u (usual floppy) 141484d9c625SLionel Sambuc>>>>>>>32 ulelong >0 \b, sectors %u (volumes > 32 MB) 141584d9c625SLionel Sambuc#>>>>>>>32 ulelong =0 \b, sectors %u (volumes > 32 MB) 141684d9c625SLionel Sambuc# FAT<32 bit specific 1417*0a6a1f1dSLionel Sambuc>>>>>>>82 string/c !fat32 141884d9c625SLionel Sambuc#>>>>>>>>36 ubyte 0x80 \b, physical drive 0x%x=0x80 (usual harddisk) 141984d9c625SLionel Sambuc#>>>>>>>>36 ubyte 0 \b, physical drive 0x%x=0 (usual floppy) 142084d9c625SLionel Sambuc>>>>>>>>36 ubyte !0x80 142184d9c625SLionel Sambuc>>>>>>>>>36 ubyte !0 \b, physical drive 0x%x 1422*0a6a1f1dSLionel Sambuc# VGA-copy CRC or 1423*0a6a1f1dSLionel Sambuc# in Windows NT bit 0 is a dirty flag to request chkdsk at boot time. bit 1 requests surface scan too 142484d9c625SLionel Sambuc>>>>>>>>37 ubyte >0 \b, reserved 0x%x 142584d9c625SLionel Sambuc#>>>>>>>>37 ubyte =0 \b, reserved 0x%x 1426*0a6a1f1dSLionel Sambuc# extended boot signatur value is 0x80 for NTFS, 0x28 or 0x29 for others 142784d9c625SLionel Sambuc>>>>>>>>38 ubyte !0x29 \b, dos < 4.0 BootSector (0x%x) 1428*0a6a1f1dSLionel Sambuc>>>>>>>>38 ubyte&0xFE =0x28 142984d9c625SLionel Sambuc>>>>>>>>>39 ulelong x \b, serial number 0x%x 1430*0a6a1f1dSLionel Sambuc>>>>>>>>38 ubyte =0x29 143184d9c625SLionel Sambuc>>>>>>>>>43 string <NO\ NAME \b, label: "%11.11s" 143284d9c625SLionel Sambuc>>>>>>>>>43 string >NO\ NAME \b, label: "%11.11s" 143384d9c625SLionel Sambuc>>>>>>>>>43 string =NO\ NAME \b, unlabeled 143484d9c625SLionel Sambuc# there exist some old floppies without word FAT at offset 54 143584d9c625SLionel Sambuc# a word like "FATnm " is only a hint for a FAT size on nm-bits 143684d9c625SLionel Sambuc# Normally the number of clusters is calculated by the values of BPP. 143784d9c625SLionel Sambuc# if it is small enough FAT is 12 bit, if it is too big enough FAT is 32 bit, 143884d9c625SLionel Sambuc# otherwise FAT is 16 bit. 143984d9c625SLionel Sambuc# http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/determining-fat-widths.html 1440*0a6a1f1dSLionel Sambuc>>>>>82 string/c !fat32 1441*0a6a1f1dSLionel Sambuc>>>>>>54 string FAT12 \b, FAT (12 bit) 1442*0a6a1f1dSLionel Sambuc>>>>>>54 string FAT16 \b, FAT (16 bit) 1443*0a6a1f1dSLionel Sambuc>>>>>>54 default x 1444*0a6a1f1dSLionel Sambuc# determinate FAT bit size by media descriptor 1445*0a6a1f1dSLionel Sambuc# small floppies implies FAT12 1446*0a6a1f1dSLionel Sambuc>>>>>>>21 ubyte <0xF0 \b, FAT (12 bit by descriptor) 1447*0a6a1f1dSLionel Sambuc# with media descriptor F0h floppy or maybe superfloppy with FAT16 1448*0a6a1f1dSLionel Sambuc>>>>>>>21 ubyte =0xF0 1449*0a6a1f1dSLionel Sambuc# superfloppy (many sectors) implies FAT16 1450*0a6a1f1dSLionel Sambuc>>>>>>>>32 ulelong >0xFFFF \b, FAT (16 bit by descriptor+sectors) 1451*0a6a1f1dSLionel Sambuc# no superfloppy with media descriptor F0h implies FAT12 1452*0a6a1f1dSLionel Sambuc>>>>>>>>32 default x \b, FAT (12 bit by descriptor+sectors) 1453*0a6a1f1dSLionel Sambuc# with media descriptor F8h floppy or hard disc with FAT12 or FAT16 1454*0a6a1f1dSLionel Sambuc>>>>>>>21 ubyte =0xF8 1455*0a6a1f1dSLionel Sambuc# 360 KiB with media descriptor F8h, 9 sectors per track ,single sided floppy implies FAT12 1456*0a6a1f1dSLionel Sambuc>>>>>>>>19 ubequad 0xd002f80300090001 \b, FAT (12 bit by descriptor+geometry) 1457*0a6a1f1dSLionel Sambuc# hard disc with FAT12 or FAT16 1458*0a6a1f1dSLionel Sambuc>>>>>>>>19 default x \b, FAT (1Y bit by descriptor) 1459*0a6a1f1dSLionel Sambuc# with media descriptor FAh floppy, RAM disc with FAT12 or FAT16 or Tandy hard disc 1460*0a6a1f1dSLionel Sambuc>>>>>>>21 ubyte =0xFA 1461*0a6a1f1dSLionel Sambuc# 320 KiB with media descriptor FAh, 8 sectors per track ,single sided floppy implies FAT12 1462*0a6a1f1dSLionel Sambuc>>>>>>>>19 ubequad 0x8002fa0200080001 \b, FAT (12 bit by descriptor+geometry) 1463*0a6a1f1dSLionel Sambuc# RAM disc with FAT12 or FAT16 or Tandy hard disc 1464*0a6a1f1dSLionel Sambuc>>>>>>>>19 default x \b, FAT (1Y bit by descriptor) 1465*0a6a1f1dSLionel Sambuc# others are floppy 1466*0a6a1f1dSLionel Sambuc>>>>>>>21 default x \b, FAT (12 bit by descriptor) 146784d9c625SLionel Sambuc# FAT32 bit specific 1468*0a6a1f1dSLionel Sambuc>>>>>82 string/c fat32 \b, FAT (32 bit) 146984d9c625SLionel Sambuc>>>>>>36 ulelong x \b, sectors/FAT %u 147084d9c625SLionel Sambuc# http://technet.microsoft.com/en-us/library/cc977221.aspx 147184d9c625SLionel Sambuc>>>>>>40 uleshort >0 \b, extension flags 0x%x 1472*0a6a1f1dSLionel Sambuc#>>>>>>40 uleshort =0 \b, extension flags %hu 147384d9c625SLionel Sambuc>>>>>>42 uleshort >0 \b, fsVersion %u 147484d9c625SLionel Sambuc#>>>>>>42 uleshort =0 \b, fsVersion %u (usual) 147584d9c625SLionel Sambuc>>>>>>44 ulelong >2 \b, rootdir cluster %u 147684d9c625SLionel Sambuc#>>>>>>44 ulelong =2 \b, rootdir cluster %u 147784d9c625SLionel Sambuc#>>>>>>44 ulelong =1 \b, rootdir cluster %u 147884d9c625SLionel Sambuc>>>>>>48 uleshort >1 \b, infoSector %u 147984d9c625SLionel Sambuc#>>>>>>48 uleshort =1 \b, infoSector %u (usual) 148084d9c625SLionel Sambuc>>>>>>48 uleshort <1 \b, infoSector %u 1481*0a6a1f1dSLionel Sambuc# 0 or 0xFFFF instead of usual 6 means no backup sector 1482*0a6a1f1dSLionel Sambuc>>>>>>50 uleshort =0xFFFF \b, no Backup boot sector 1483*0a6a1f1dSLionel Sambuc>>>>>>50 uleshort =0 \b, no Backup boot sector 148484d9c625SLionel Sambuc#>>>>>>50 uleshort =6 \b, Backup boot sector %u (usual) 1485*0a6a1f1dSLionel Sambuc>>>>>>50 default x 1486*0a6a1f1dSLionel Sambuc>>>>>>>50 uleshort x \b, Backup boot sector %u 148784d9c625SLionel Sambuc# corrected by Joerg Jenderek at Feb 2011 according to http://thestarman.pcministry.com/asm/mbr/MSWIN41.htm#FSINFO 148884d9c625SLionel Sambuc>>>>>>52 ulelong >0 \b, reserved1 0x%x 148984d9c625SLionel Sambuc>>>>>>56 ulelong >0 \b, reserved2 0x%x 149084d9c625SLionel Sambuc>>>>>>60 ulelong >0 \b, reserved3 0x%x 149184d9c625SLionel Sambuc# same structure as FAT1X 149284d9c625SLionel Sambuc#>>>>>>64 ubyte =0x80 \b, physical drive 0x%x=80 (usual harddisk) 149384d9c625SLionel Sambuc#>>>>>>64 ubyte =0 \b, physical drive 0x%x=0 (usual floppy) 149484d9c625SLionel Sambuc>>>>>>64 ubyte !0x80 149584d9c625SLionel Sambuc>>>>>>>64 ubyte >0 \b, physical drive 0x%x 149684d9c625SLionel Sambuc# in Windows NT bit 0 is a dirty flag to request chkdsk at boot time. bit 1 requests surface scan too 149784d9c625SLionel Sambuc>>>>>>65 ubyte >0 \b, reserved 0x%x 149884d9c625SLionel Sambuc>>>>>>66 ubyte !0x29 \b, dos < 4.0 BootSector (0x%x) 149984d9c625SLionel Sambuc>>>>>>66 ubyte =0x29 150084d9c625SLionel Sambuc>>>>>>>67 ulelong x \b, serial number 0x%x 150184d9c625SLionel Sambuc>>>>>>>71 string <NO\ NAME \b, label: "%11.11s" 150284d9c625SLionel Sambuc>>>>>>>71 string >NO\ NAME \b, label: "%11.11s" 150384d9c625SLionel Sambuc>>>>>>>71 string =NO\ NAME \b, unlabeled 150484d9c625SLionel Sambuc# additional tests for floppy image added by Joerg Jenderek 150584d9c625SLionel Sambuc# no fixed disk 150684d9c625SLionel Sambuc>>>>>21 ubyte !0xF8 150784d9c625SLionel Sambuc# floppy media with 12 bit FAT 150884d9c625SLionel Sambuc>>>>>>54 string !FAT16 150984d9c625SLionel Sambuc# test for FAT after bootsector 151084d9c625SLionel Sambuc>>>>>>>(11.s) ulelong&0x00ffffF0 0x00ffffF0 \b, followed by FAT 151184d9c625SLionel Sambuc# floppy image 151284d9c625SLionel Sambuc!:mime application/x-ima 151384d9c625SLionel Sambuc# NTFS specific added by Joerg Jenderek at Mar 2011 according to http://thestarman.pcministry.com/asm/mbr/NTFSBR.htm 151484d9c625SLionel Sambuc# and http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/bios-parameter-block.html 151584d9c625SLionel Sambuc# 0 FATs 151684d9c625SLionel Sambuc>>>>>16 ubyte =0 151784d9c625SLionel Sambuc# 0 root entries 151884d9c625SLionel Sambuc>>>>>>17 uleshort =0 151984d9c625SLionel Sambuc# 0 DOS sectors 152084d9c625SLionel Sambuc>>>>>>>19 uleshort =0 152184d9c625SLionel Sambuc# 0 sectors/FAT 152284d9c625SLionel Sambuc# dos < 4.0 BootSector value found is 0x80 152384d9c625SLionel Sambuc#38 ubyte =0x80 \b, dos < 4.0 BootSector (0x%x) 152484d9c625SLionel Sambuc>>>>>>>>22 uleshort =0 \b; NTFS 152584d9c625SLionel Sambuc>>>>>>>>>24 uleshort >0 \b, sectors/track %u 152684d9c625SLionel Sambuc>>>>>>>>>36 ulelong !0x800080 \b, physical drive 0x%x 152784d9c625SLionel Sambuc>>>>>>>>>40 ulequad >0 \b, sectors %lld 152884d9c625SLionel Sambuc>>>>>>>>>48 ulequad >0 \b, $MFT start cluster %lld 152984d9c625SLionel Sambuc>>>>>>>>>56 ulequad >0 \b, $MFTMirror start cluster %lld 153084d9c625SLionel Sambuc# Values 0 to 127 represent MFT record sizes of 0 to 127 clusters. 153184d9c625SLionel Sambuc# Values 128 to 255 represent MFT record sizes of 2^(256-N) bytes. 153284d9c625SLionel Sambuc>>>>>>>>>64 lelong <256 153384d9c625SLionel Sambuc>>>>>>>>>>64 lelong <128 \b, clusters/RecordSegment %d 1534*0a6a1f1dSLionel Sambuc>>>>>>>>>>64 ubyte >127 \b, bytes/RecordSegment 2^(-1*%i) 153584d9c625SLionel Sambuc# Values 0 to 127 represent index block sizes of 0 to 127 clusters. 153684d9c625SLionel Sambuc# Values 128 to 255 represent index block sizes of 2^(256-N) byte 153784d9c625SLionel Sambuc>>>>>>>>>68 ulelong <256 153884d9c625SLionel Sambuc>>>>>>>>>>68 ulelong <128 \b, clusters/index block %d 153984d9c625SLionel Sambuc#>>>>>>>>>>68 ulelong >127 \b, bytes/index block 2^(256-%d) 1540*0a6a1f1dSLionel Sambuc>>>>>>>>>>68 ubyte >127 \b, bytes/index block 2^(-1*%i) 154184d9c625SLionel Sambuc>>>>>>>>>72 ulequad x \b, serial number 0%llx 154284d9c625SLionel Sambuc>>>>>>>>>80 ulelong >0 \b, checksum 0x%x 154384d9c625SLionel Sambuc#>>>>>>>>>80 ulelong =0 \b, checksum 0x%x=0 (usual) 154484d9c625SLionel Sambuc>>>>>>>>>0x258 ulelong&0x00009090 =0x00009090 154584d9c625SLionel Sambuc>>>>>>>>>>&-92 indirect x \b; contains 154684d9c625SLionel Sambuc# For 2nd NTFS sector added by Joerg Jenderek at Jan 2013 154784d9c625SLionel Sambuc# http://thestarman.pcministry.com/asm/mbr/NTFSbrHexEd.htm 154884d9c625SLionel Sambuc# unused assembler instructions JMP y2;NOP;NOP 154984d9c625SLionel Sambuc0x056 ulelong&0xFFFF0FFF 0x909002EB 155084d9c625SLionel Sambuc# unicode loadername terminated by CTRL-D 155184d9c625SLionel Sambuc>(0.s*2) ulelong&0xFFFFFF00 0x00040000 155284d9c625SLionel Sambuc# loadernames are NTLDR,CMLDR,PELDR,$LDR$ or BOOTMGR 155384d9c625SLionel Sambuc>>0x002 lestring16 x Microsoft Windows XP/VISTA bootloader %-5.5s 155484d9c625SLionel Sambuc>>0x12 string $ 155584d9c625SLionel Sambuc>>>0x0c lestring16 x \b%-2.2s 155684d9c625SLionel Sambuc### DOS,NTFS boot sectors end 155784d9c625SLionel Sambuc 1558ef01931fSBen Gras9564 lelong 0x00011954 Unix Fast File system [v1] (little-endian), 1559ef01931fSBen Gras>8404 string x last mounted on %s, 1560ef01931fSBen Gras#>9504 ledate x last checked at %s, 1561ef01931fSBen Gras>8224 ledate x last written at %s, 1562ef01931fSBen Gras>8401 byte x clean flag %d, 1563ef01931fSBen Gras>8228 lelong x number of blocks %d, 1564ef01931fSBen Gras>8232 lelong x number of data blocks %d, 1565ef01931fSBen Gras>8236 lelong x number of cylinder groups %d, 1566ef01931fSBen Gras>8240 lelong x block size %d, 1567ef01931fSBen Gras>8244 lelong x fragment size %d, 1568ef01931fSBen Gras>8252 lelong x minimum percentage of free blocks %d, 1569ef01931fSBen Gras>8256 lelong x rotational delay %dms, 1570ef01931fSBen Gras>8260 lelong x disk rotational speed %drps, 1571ef01931fSBen Gras>8320 lelong 0 TIME optimization 1572ef01931fSBen Gras>8320 lelong 1 SPACE optimization 1573ef01931fSBen Gras 1574ef01931fSBen Gras42332 lelong 0x19540119 Unix Fast File system [v2] (little-endian) 1575ef01931fSBen Gras>&-1164 string x last mounted on %s, 1576ef01931fSBen Gras>&-696 string >\0 volume name %s, 1577ef01931fSBen Gras>&-304 leqldate x last written at %s, 1578ef01931fSBen Gras>&-1167 byte x clean flag %d, 1579ef01931fSBen Gras>&-1168 byte x readonly flag %d, 1580ef01931fSBen Gras>&-296 lequad x number of blocks %lld, 1581ef01931fSBen Gras>&-288 lequad x number of data blocks %lld, 1582ef01931fSBen Gras>&-1332 lelong x number of cylinder groups %d, 1583ef01931fSBen Gras>&-1328 lelong x block size %d, 1584ef01931fSBen Gras>&-1324 lelong x fragment size %d, 1585ef01931fSBen Gras>&-180 lelong x average file size %d, 1586ef01931fSBen Gras>&-176 lelong x average number of files in dir %d, 1587ef01931fSBen Gras>&-272 lequad x pending blocks to free %lld, 1588*0a6a1f1dSLionel Sambuc>&-264 lelong x pending inodes to free %d, 1589ef01931fSBen Gras>&-664 lequad x system-wide uuid %0llx, 1590ef01931fSBen Gras>&-1316 lelong x minimum percentage of free blocks %d, 1591ef01931fSBen Gras>&-1248 lelong 0 TIME optimization 1592ef01931fSBen Gras>&-1248 lelong 1 SPACE optimization 1593ef01931fSBen Gras 1594ef01931fSBen Gras66908 lelong 0x19540119 Unix Fast File system [v2] (little-endian) 1595ef01931fSBen Gras>&-1164 string x last mounted on %s, 1596ef01931fSBen Gras>&-696 string >\0 volume name %s, 1597ef01931fSBen Gras>&-304 leqldate x last written at %s, 1598ef01931fSBen Gras>&-1167 byte x clean flag %d, 1599ef01931fSBen Gras>&-1168 byte x readonly flag %d, 1600ef01931fSBen Gras>&-296 lequad x number of blocks %lld, 1601ef01931fSBen Gras>&-288 lequad x number of data blocks %lld, 1602ef01931fSBen Gras>&-1332 lelong x number of cylinder groups %d, 1603ef01931fSBen Gras>&-1328 lelong x block size %d, 1604ef01931fSBen Gras>&-1324 lelong x fragment size %d, 1605ef01931fSBen Gras>&-180 lelong x average file size %d, 1606ef01931fSBen Gras>&-176 lelong x average number of files in dir %d, 1607ef01931fSBen Gras>&-272 lequad x pending blocks to free %lld, 1608*0a6a1f1dSLionel Sambuc>&-264 lelong x pending inodes to free %d, 1609ef01931fSBen Gras>&-664 lequad x system-wide uuid %0llx, 1610ef01931fSBen Gras>&-1316 lelong x minimum percentage of free blocks %d, 1611ef01931fSBen Gras>&-1248 lelong 0 TIME optimization 1612ef01931fSBen Gras>&-1248 lelong 1 SPACE optimization 1613ef01931fSBen Gras 1614ef01931fSBen Gras9564 belong 0x00011954 Unix Fast File system [v1] (big-endian), 1615ef01931fSBen Gras>7168 belong 0x4c41424c Apple UFS Volume 1616ef01931fSBen Gras>>7186 string x named %s, 1617ef01931fSBen Gras>>7176 belong x volume label version %d, 1618ef01931fSBen Gras>>7180 bedate x created on %s, 1619ef01931fSBen Gras>8404 string x last mounted on %s, 1620ef01931fSBen Gras#>9504 bedate x last checked at %s, 1621ef01931fSBen Gras>8224 bedate x last written at %s, 1622ef01931fSBen Gras>8401 byte x clean flag %d, 1623ef01931fSBen Gras>8228 belong x number of blocks %d, 1624ef01931fSBen Gras>8232 belong x number of data blocks %d, 1625ef01931fSBen Gras>8236 belong x number of cylinder groups %d, 1626ef01931fSBen Gras>8240 belong x block size %d, 1627ef01931fSBen Gras>8244 belong x fragment size %d, 1628ef01931fSBen Gras>8252 belong x minimum percentage of free blocks %d, 1629ef01931fSBen Gras>8256 belong x rotational delay %dms, 1630ef01931fSBen Gras>8260 belong x disk rotational speed %drps, 1631ef01931fSBen Gras>8320 belong 0 TIME optimization 1632ef01931fSBen Gras>8320 belong 1 SPACE optimization 1633ef01931fSBen Gras 1634ef01931fSBen Gras42332 belong 0x19540119 Unix Fast File system [v2] (big-endian) 1635ef01931fSBen Gras>&-1164 string x last mounted on %s, 1636ef01931fSBen Gras>&-696 string >\0 volume name %s, 1637ef01931fSBen Gras>&-304 beqldate x last written at %s, 1638ef01931fSBen Gras>&-1167 byte x clean flag %d, 1639ef01931fSBen Gras>&-1168 byte x readonly flag %d, 1640ef01931fSBen Gras>&-296 bequad x number of blocks %lld, 1641ef01931fSBen Gras>&-288 bequad x number of data blocks %lld, 1642ef01931fSBen Gras>&-1332 belong x number of cylinder groups %d, 1643ef01931fSBen Gras>&-1328 belong x block size %d, 1644ef01931fSBen Gras>&-1324 belong x fragment size %d, 1645ef01931fSBen Gras>&-180 belong x average file size %d, 1646ef01931fSBen Gras>&-176 belong x average number of files in dir %d, 1647ef01931fSBen Gras>&-272 bequad x pending blocks to free %lld, 1648*0a6a1f1dSLionel Sambuc>&-264 belong x pending inodes to free %d, 1649ef01931fSBen Gras>&-664 bequad x system-wide uuid %0llx, 1650ef01931fSBen Gras>&-1316 belong x minimum percentage of free blocks %d, 1651ef01931fSBen Gras>&-1248 belong 0 TIME optimization 1652ef01931fSBen Gras>&-1248 belong 1 SPACE optimization 1653ef01931fSBen Gras 1654ef01931fSBen Gras66908 belong 0x19540119 Unix Fast File system [v2] (big-endian) 1655ef01931fSBen Gras>&-1164 string x last mounted on %s, 1656ef01931fSBen Gras>&-696 string >\0 volume name %s, 1657ef01931fSBen Gras>&-304 beqldate x last written at %s, 1658ef01931fSBen Gras>&-1167 byte x clean flag %d, 1659ef01931fSBen Gras>&-1168 byte x readonly flag %d, 1660ef01931fSBen Gras>&-296 bequad x number of blocks %lld, 1661ef01931fSBen Gras>&-288 bequad x number of data blocks %lld, 1662ef01931fSBen Gras>&-1332 belong x number of cylinder groups %d, 1663ef01931fSBen Gras>&-1328 belong x block size %d, 1664ef01931fSBen Gras>&-1324 belong x fragment size %d, 1665ef01931fSBen Gras>&-180 belong x average file size %d, 1666ef01931fSBen Gras>&-176 belong x average number of files in dir %d, 1667ef01931fSBen Gras>&-272 bequad x pending blocks to free %lld, 1668*0a6a1f1dSLionel Sambuc>&-264 belong x pending inodes to free %d, 1669ef01931fSBen Gras>&-664 bequad x system-wide uuid %0llx, 1670ef01931fSBen Gras>&-1316 belong x minimum percentage of free blocks %d, 1671ef01931fSBen Gras>&-1248 belong 0 TIME optimization 1672ef01931fSBen Gras>&-1248 belong 1 SPACE optimization 1673ef01931fSBen Gras 1674ef01931fSBen Gras# ext2/ext3 filesystems - Andreas Dilger <adilger@dilger.ca> 1675ef01931fSBen Gras# ext4 filesystem - Eric Sandeen <sandeen@sandeen.net> 1676835f6802SDirk Vogt# volume label and UUID Russell Coker 1677835f6802SDirk Vogt# http://etbe.coker.com.au/2008/07/08/label-vs-uuid-vs-device/ 1678ef01931fSBen Gras0x438 leshort 0xEF53 Linux 1679ef01931fSBen Gras>0x44c lelong x rev %d 1680ef01931fSBen Gras>0x43e leshort x \b.%d 1681ef01931fSBen Gras# No journal? ext2 1682ef01931fSBen Gras>0x45c lelong ^0x0000004 ext2 filesystem data 1683ef01931fSBen Gras>>0x43a leshort ^0x0000001 (mounted or unclean) 1684ef01931fSBen Gras# Has a journal? ext3 or ext4 1685ef01931fSBen Gras>0x45c lelong &0x0000004 1686ef01931fSBen Gras# and small INCOMPAT? 1687ef01931fSBen Gras>>0x460 lelong <0x0000040 1688ef01931fSBen Gras# and small RO_COMPAT? 1689ef01931fSBen Gras>>>0x464 lelong <0x0000008 ext3 filesystem data 1690ef01931fSBen Gras# else large RO_COMPAT? 1691ef01931fSBen Gras>>>0x464 lelong >0x0000007 ext4 filesystem data 1692ef01931fSBen Gras# else large INCOMPAT? 1693ef01931fSBen Gras>>0x460 lelong >0x000003f ext4 filesystem data 1694835f6802SDirk Vogt>0x468 belong x \b, UUID=%08x 1695835f6802SDirk Vogt>0x46c beshort x \b-%04x 1696835f6802SDirk Vogt>0x46e beshort x \b-%04x 1697835f6802SDirk Vogt>0x470 beshort x \b-%04x 1698835f6802SDirk Vogt>0x472 belong x \b-%08x 1699835f6802SDirk Vogt>0x476 beshort x \b%04x 1700835f6802SDirk Vogt>0x478 string >0 \b, volume name "%s" 1701ef01931fSBen Gras# General flags for any ext* fs 1702ef01931fSBen Gras>0x460 lelong &0x0000004 (needs journal recovery) 1703ef01931fSBen Gras>0x43a leshort &0x0000002 (errors) 1704ef01931fSBen Gras# INCOMPAT flags 1705ef01931fSBen Gras>0x460 lelong &0x0000001 (compressed) 1706ef01931fSBen Gras#>0x460 lelong &0x0000002 (filetype) 1707ef01931fSBen Gras#>0x460 lelong &0x0000010 (meta bg) 1708ef01931fSBen Gras>0x460 lelong &0x0000040 (extents) 1709ef01931fSBen Gras>0x460 lelong &0x0000080 (64bit) 1710ef01931fSBen Gras#>0x460 lelong &0x0000100 (mmp) 1711ef01931fSBen Gras#>0x460 lelong &0x0000200 (flex bg) 1712ef01931fSBen Gras# RO_INCOMPAT flags 1713ef01931fSBen Gras#>0x464 lelong &0x0000001 (sparse super) 1714ef01931fSBen Gras>0x464 lelong &0x0000002 (large files) 1715ef01931fSBen Gras>0x464 lelong &0x0000008 (huge files) 1716ef01931fSBen Gras#>0x464 lelong &0x0000010 (gdt checksum) 1717ef01931fSBen Gras#>0x464 lelong &0x0000020 (many subdirs) 1718ef01931fSBen Gras#>0x463 lelong &0x0000040 (extra isize) 1719ef01931fSBen Gras 172084d9c625SLionel Sambuc# Minix filesystems - Juan Cespedes <cespedes@debian.org> 172184d9c625SLionel Sambuc0x410 leshort 0x137f 172284d9c625SLionel Sambuc!:strength / 2 172384d9c625SLionel Sambuc>0x402 beshort < 100 172484d9c625SLionel Sambuc>0x402 beshort > -1 Minix filesystem, V1, %d zones 172584d9c625SLionel Sambuc>0x1e string minix \b, bootable 172684d9c625SLionel Sambuc0x410 beshort 0x137f 172784d9c625SLionel Sambuc!:strength / 2 172884d9c625SLionel Sambuc>0x402 beshort < 100 172984d9c625SLionel Sambuc>0x402 beshort > -1 Minix filesystem, V1 (big endian), %d zones 173084d9c625SLionel Sambuc>0x1e string minix \b, bootable 173184d9c625SLionel Sambuc0x410 leshort 0x138f 173284d9c625SLionel Sambuc!:strength / 2 173384d9c625SLionel Sambuc>0x402 beshort < 100 173484d9c625SLionel Sambuc>0x402 beshort > -1 Minix filesystem, V1, 30 char names, %d zones 173584d9c625SLionel Sambuc>0x1e string minix \b, bootable 173684d9c625SLionel Sambuc0x410 beshort 0x138f 173784d9c625SLionel Sambuc!:strength / 2 173884d9c625SLionel Sambuc>0x402 beshort < 100 173984d9c625SLionel Sambuc>0x402 beshort > -1 Minix filesystem, V1, 30 char names (big endian), %d zones 174084d9c625SLionel Sambuc>0x1e string minix \b, bootable 174184d9c625SLionel Sambuc0x410 leshort 0x2468 174284d9c625SLionel Sambuc>0x402 beshort < 100 174384d9c625SLionel Sambuc>>0x402 beshort > -1 Minix filesystem, V2, %d zones 174484d9c625SLionel Sambuc>0x1e string minix \b, bootable 174584d9c625SLionel Sambuc0x410 beshort 0x2468 174684d9c625SLionel Sambuc>0x402 beshort < 100 174784d9c625SLionel Sambuc>0x402 beshort > -1 Minix filesystem, V2 (big endian), %d zones 174884d9c625SLionel Sambuc>0x1e string minix \b, bootable 174984d9c625SLionel Sambuc 175084d9c625SLionel Sambuc0x410 leshort 0x2478 175184d9c625SLionel Sambuc>0x402 beshort < 100 175284d9c625SLionel Sambuc>0x402 beshort > -1 Minix filesystem, V2, 30 char names, %d zones 175384d9c625SLionel Sambuc>0x1e string minix \b, bootable 175484d9c625SLionel Sambuc0x410 leshort 0x2478 175584d9c625SLionel Sambuc>0x402 beshort < 100 175684d9c625SLionel Sambuc>0x402 beshort > -1 Minix filesystem, V2, 30 char names, %d zones 175784d9c625SLionel Sambuc>0x1e string minix \b, bootable 175884d9c625SLionel Sambuc0x410 beshort 0x2478 175984d9c625SLionel Sambuc>0x402 beshort !0 Minix filesystem, V2, 30 char names (big endian), %d zones 176084d9c625SLionel Sambuc>0x1e string minix \b, bootable 176184d9c625SLionel Sambuc0x410 leshort 0x4d5a 176284d9c625SLionel Sambuc>0x402 beshort !0 Minix filesystem, V3, %d zones 176384d9c625SLionel Sambuc>0x1e string minix \b, bootable 176484d9c625SLionel Sambuc 1765ef01931fSBen Gras# SGI disk labels - Nathan Scott <nathans@debian.org> 1766ef01931fSBen Gras0 belong 0x0BE5A941 SGI disk label (volume header) 1767ef01931fSBen Gras 1768ef01931fSBen Gras# SGI XFS filesystem - Nathan Scott <nathans@debian.org> 1769ef01931fSBen Gras0 belong 0x58465342 SGI XFS filesystem data 1770ef01931fSBen Gras>0x4 belong x (blksz %d, 1771ef01931fSBen Gras>0x68 beshort x inosz %d, 1772ef01931fSBen Gras>0x64 beshort ^0x2004 v1 dirs) 1773ef01931fSBen Gras>0x64 beshort &0x2004 v2 dirs) 1774ef01931fSBen Gras 1775ef01931fSBen Gras############################################################################ 1776ef01931fSBen Gras# Minix-ST kernel floppy 1777ef01931fSBen Gras0x800 belong 0x46fc2700 Atari-ST Minix kernel image 1778*0a6a1f1dSLionel Sambuc# http://en.wikipedia.org/wiki/BIOS_parameter_block 1779*0a6a1f1dSLionel Sambuc# floppies with valid BPB and any instruction at beginning 1780*0a6a1f1dSLionel Sambuc>19 string \240\005\371\005\0\011\0\2\0 \b, 720k floppy 1781*0a6a1f1dSLionel Sambuc>19 string \320\002\370\005\0\011\0\1\0 \b, 360k floppy 1782ef01931fSBen Gras 1783ef01931fSBen Gras############################################################################ 1784ef01931fSBen Gras# Hmmm, is this a better way of detecting _standard_ floppy images ? 1785*0a6a1f1dSLionel Sambuc19 string \320\002\360\003\0\011\0\1\0 DOS floppy 360k 1786*0a6a1f1dSLionel Sambuc>0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector 1787*0a6a1f1dSLionel Sambuc19 string \240\005\371\003\0\011\0\2\0 DOS floppy 720k 1788*0a6a1f1dSLionel Sambuc>0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector 1789ef01931fSBen Gras19 string \100\013\360\011\0\022\0\2\0 DOS floppy 1440k 1790*0a6a1f1dSLionel Sambuc>0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector 1791ef01931fSBen Gras 1792*0a6a1f1dSLionel Sambuc19 string \240\005\371\005\0\011\0\2\0 DOS floppy 720k, IBM 1793*0a6a1f1dSLionel Sambuc>0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector 1794*0a6a1f1dSLionel Sambuc19 string \100\013\371\005\0\011\0\2\0 DOS floppy 1440k, mkdosfs 1795*0a6a1f1dSLionel Sambuc>0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector 1796ef01931fSBen Gras 1797*0a6a1f1dSLionel Sambuc19 string \320\002\370\005\0\011\0\1\0 Atari-ST floppy 360k 1798*0a6a1f1dSLionel Sambuc19 string \240\005\371\005\0\011\0\2\0 Atari-ST floppy 720k 1799*0a6a1f1dSLionel Sambuc# | | | | | 1800*0a6a1f1dSLionel Sambuc# | | | | heads 1801*0a6a1f1dSLionel Sambuc# | | | sectors/track 1802*0a6a1f1dSLionel Sambuc# | | sectors/FAT 1803*0a6a1f1dSLionel Sambuc# | media descriptor 1804*0a6a1f1dSLionel Sambuc# BPB: sectors 1805ef01931fSBen Gras 1806ef01931fSBen Gras# Valid media descriptor bytes for MS-DOS: 1807ef01931fSBen Gras# 1808ef01931fSBen Gras# Byte Capacity Media Size and Type 1809ef01931fSBen Gras# ------------------------------------------------- 1810ef01931fSBen Gras# 1811ef01931fSBen Gras# F0 2.88 MB 3.5-inch, 2-sided, 36-sector 1812ef01931fSBen Gras# F0 1.44 MB 3.5-inch, 2-sided, 18-sector 1813ef01931fSBen Gras# F9 720K 3.5-inch, 2-sided, 9-sector 1814ef01931fSBen Gras# F9 1.2 MB 5.25-inch, 2-sided, 15-sector 1815ef01931fSBen Gras# FD 360K 5.25-inch, 2-sided, 9-sector 1816ef01931fSBen Gras# FF 320K 5.25-inch, 2-sided, 8-sector 1817ef01931fSBen Gras# FC 180K 5.25-inch, 1-sided, 9-sector 1818ef01931fSBen Gras# FE 160K 5.25-inch, 1-sided, 8-sector 1819ef01931fSBen Gras# FE 250K 8-inch, 1-sided, single-density 1820ef01931fSBen Gras# FD 500K 8-inch, 2-sided, single-density 1821ef01931fSBen Gras# FE 1.2 MB 8-inch, 2-sided, double-density 1822ef01931fSBen Gras# F8 ----- Fixed disk 1823ef01931fSBen Gras# 1824ef01931fSBen Gras# FC xxxK Apricot 70x1x9 boot disk. 1825ef01931fSBen Gras# 1826ef01931fSBen Gras# Originally a bitmap: 1827ef01931fSBen Gras# xxxxxxx0 Not two sided 1828ef01931fSBen Gras# xxxxxxx1 Double sided 1829ef01931fSBen Gras# xxxxxx0x Not 8 SPT 1830ef01931fSBen Gras# xxxxxx1x 8 SPT 1831ef01931fSBen Gras# xxxxx0xx Not Removable drive 1832ef01931fSBen Gras# xxxxx1xx Removable drive 1833ef01931fSBen Gras# 11111xxx Must be one. 1834ef01931fSBen Gras# 1835ef01931fSBen Gras# But now it's rather random: 1836ef01931fSBen Gras# 111111xx Low density disk 1837ef01931fSBen Gras# 00 SS, Not 8 SPT 1838ef01931fSBen Gras# 01 DS, Not 8 SPT 1839ef01931fSBen Gras# 10 SS, 8 SPT 1840ef01931fSBen Gras# 11 DS, 8 SPT 1841ef01931fSBen Gras# 184284d9c625SLionel Sambuc# 11111001 Double density 3 1/2 floppy disk, high density 5 1/4 184384d9c625SLionel Sambuc# 11110000 High density 3 1/2 floppy disk 1844ef01931fSBen Gras# 11111000 Hard disk any format 1845ef01931fSBen Gras# 1846ef01931fSBen Gras 1847*0a6a1f1dSLionel Sambuc# all FAT12 (strength=70) floppies with sectorsize 512 added by Joerg Jenderek at Jun 2013 1848*0a6a1f1dSLionel Sambuc# http://en.wikipedia.org/wiki/File_Allocation_Table#Exceptions 1849*0a6a1f1dSLionel Sambuc# Too Weak. 1850*0a6a1f1dSLionel Sambuc#512 ubelong&0xE0ffff00 0xE0ffff00 1851*0a6a1f1dSLionel Sambuc# without valid Media descriptor in place of BPB, cases with are done at other places 1852*0a6a1f1dSLionel Sambuc#>21 ubyte <0xE5 floppy with old FAT filesystem 1853*0a6a1f1dSLionel Sambuc# but valid Media descriptor at begin of FAT 1854*0a6a1f1dSLionel Sambuc#>>512 ubyte =0xed 720k 1855*0a6a1f1dSLionel Sambuc#>>512 ubyte =0xf0 1440k 1856*0a6a1f1dSLionel Sambuc#>>512 ubyte =0xf8 720k 1857*0a6a1f1dSLionel Sambuc#>>512 ubyte =0xf9 1220k 1858*0a6a1f1dSLionel Sambuc#>>512 ubyte =0xfa 320k 1859*0a6a1f1dSLionel Sambuc#>>512 ubyte =0xfb 640k 1860*0a6a1f1dSLionel Sambuc#>>512 ubyte =0xfc 180k 1861*0a6a1f1dSLionel Sambuc# look like an an old DOS directory entry 1862*0a6a1f1dSLionel Sambuc#>>>0xA0E ubequad 0 1863*0a6a1f1dSLionel Sambuc#>>>>0xA00 ubequad !0 1864*0a6a1f1dSLionel Sambuc#!:mime application/x-ima 1865*0a6a1f1dSLionel Sambuc#>>512 ubyte =0xfd 1866*0a6a1f1dSLionel Sambuc# look for 2nd FAT at different location to distinguish between 360k and 500k 1867*0a6a1f1dSLionel Sambuc#>>>0x600 ubelong&0xE0ffff00 0xE0ffff00 360k 1868*0a6a1f1dSLionel Sambuc#>>>0x500 ubelong&0xE0ffff00 0xE0ffff00 500k 1869*0a6a1f1dSLionel Sambuc#>>>0xA0E ubequad 0 1870*0a6a1f1dSLionel Sambuc#!:mime application/x-ima 1871*0a6a1f1dSLionel Sambuc#>>512 ubyte =0xfe 1872*0a6a1f1dSLionel Sambuc#>>>0x400 ubelong&0xE0ffff00 0xE0ffff00 160k 1873*0a6a1f1dSLionel Sambuc#>>>>0x60E ubequad 0 1874*0a6a1f1dSLionel Sambuc#>>>>>0x600 ubequad !0 1875*0a6a1f1dSLionel Sambuc#!:mime application/x-ima 1876*0a6a1f1dSLionel Sambuc#>>>0xC00 ubelong&0xE0ffff00 0xE0ffff00 1200k 1877*0a6a1f1dSLionel Sambuc#>>512 ubyte =0xff 320k 1878*0a6a1f1dSLionel Sambuc#>>>0x60E ubequad 0 1879*0a6a1f1dSLionel Sambuc#>>>>0x600 ubequad !0 1880*0a6a1f1dSLionel Sambuc#!:mime application/x-ima 1881*0a6a1f1dSLionel Sambuc#>>512 ubyte x \b, Media descriptor 0x%x 1882*0a6a1f1dSLionel Sambuc# without x86 jump instruction 1883*0a6a1f1dSLionel Sambuc#>>0 ulelong&0x804000E9 !0x000000E9 1884*0a6a1f1dSLionel Sambuc# assembler instructions: CLI;MOV SP,1E7;MOV AX;07c0;MOV 1885*0a6a1f1dSLionel Sambuc#>>>0 ubequad 0xfabce701b8c0078e \b, MS-DOS 1.12 bootloader 1886*0a6a1f1dSLionel Sambuc# IOSYS.COM+MSDOS.COM 1887*0a6a1f1dSLionel Sambuc#>>>>0xc4 use 2xDOS-filename 1888*0a6a1f1dSLionel Sambuc#>>0 ulelong&0x804000E9 =0x000000E9 1889*0a6a1f1dSLionel Sambuc# only x86 short jump instruction found 1890*0a6a1f1dSLionel Sambuc#>>>0 ubyte =0xEB 1891*0a6a1f1dSLionel Sambuc#>>>>1 ubyte x \b, code offset 0x%x+2 1892*0a6a1f1dSLionel Sambuc# http://thestarman.pcministry.com/DOS/ibm100/Boot.htm 1893*0a6a1f1dSLionel Sambuc# assembler instructions: CLI;MOV AX,CS;MOV DS,AX;MOV DX,0 1894*0a6a1f1dSLionel Sambuc#>>>>(1.b+2) ubequad 0xfa8cc88ed8ba0000 \b, PC-DOS 1.0 bootloader 1895*0a6a1f1dSLionel Sambuc# ibmbio.com+ibmdos.com 1896*0a6a1f1dSLionel Sambuc#>>>>>0x176 use DOS-filename 1897*0a6a1f1dSLionel Sambuc#>>>>>0x181 ubyte x \b+ 1898*0a6a1f1dSLionel Sambuc#>>>>>0x182 use DOS-filename 1899*0a6a1f1dSLionel Sambuc# http://thestarman.pcministry.com/DOS/ibm110/Boot.htm 1900*0a6a1f1dSLionel Sambuc# assembler instructions: CLI;MOV AX,CS;MOV DS,AX;XOR DX,DX;MOV 1901*0a6a1f1dSLionel Sambuc#>>>>(1.b+2) ubequad 0xfa8cc88ed833d28e \b, PC-DOS 1.1 bootloader 1902*0a6a1f1dSLionel Sambuc# ibmbio.com+ibmdos.com 1903*0a6a1f1dSLionel Sambuc#>>>>>0x18b use DOS-filename 1904*0a6a1f1dSLionel Sambuc#>>>>>0x196 ubyte x \b+ 1905*0a6a1f1dSLionel Sambuc#>>>>>0x197 use DOS-filename 1906*0a6a1f1dSLionel Sambuc# http://en.wikipedia.org/wiki/Zenith_Data_Systems 1907*0a6a1f1dSLionel Sambuc# assembler instructions: MOV BX,07c0;MOV SS,BX;MOV SP,01c6 1908*0a6a1f1dSLionel Sambuc#>>>>(1.b+2) ubequad 0xbbc0078ed3bcc601 \b, Zenith Data Systems MS-DOS 1.25 bootloader 1909*0a6a1f1dSLionel Sambuc# IO.SYS+MSDOS.SYS 1910*0a6a1f1dSLionel Sambuc#>>>>>0x20 use 2xDOS-filename 1911*0a6a1f1dSLionel Sambuc# http://en.wikipedia.org/wiki/Corona_Data_Systems 1912*0a6a1f1dSLionel Sambuc# assembler instructions: MOV AX,CS;MOV DS,AX;CLI;MOV SS,AX; 1913*0a6a1f1dSLionel Sambuc#>>>>(1.b+2) ubequad 0x8cc88ed8fa8ed0bc \b, MS-DOS 1.25 bootloader 1914*0a6a1f1dSLionel Sambuc# IO.SYS+MSDOS.SYS 1915*0a6a1f1dSLionel Sambuc#>>>>>0x69 use 2xDOS-filename 1916*0a6a1f1dSLionel Sambuc# assembler instructions: CLI;PUSH CS;POP SS;MOV SP,7c00; 1917*0a6a1f1dSLionel Sambuc#>>>>(1.b+2) ubequad 0xfa0e17bc007cb860 \b, MS-DOS 2.11 bootloader 1918*0a6a1f1dSLionel Sambuc# defect IO.SYS+MSDOS.SYS ? 1919*0a6a1f1dSLionel Sambuc#>>>>>0x162 use 2xDOS-filename 1920*0a6a1f1dSLionel Sambuc 1921*0a6a1f1dSLionel Sambuc0 name cdrom 1922ef01931fSBen Gras>38913 string !NSR0 ISO 9660 CD-ROM filesystem data 1923*0a6a1f1dSLionel Sambuc!:mime application/x-iso9660-image 1924ef01931fSBen Gras>38913 string NSR0 UDF filesystem data 1925*0a6a1f1dSLionel Sambuc!:mime application/x-iso9660-image 1926ef01931fSBen Gras>>38917 string 1 (version 1.0) 1927ef01931fSBen Gras>>38917 string 2 (version 1.5) 1928ef01931fSBen Gras>>38917 string 3 (version 2.0) 1929ef01931fSBen Gras>>38917 byte >0x33 (unknown version, ID 0x%X) 1930ef01931fSBen Gras>>38917 byte <0x31 (unknown version, ID 0x%X) 1931ef01931fSBen Gras# "application id" which appears to be used as a volume label 193284d9c625SLionel Sambuc>32808 string/T >\0 '%s' 1933ef01931fSBen Gras>34816 string \000CD001\001EL\ TORITO\ SPECIFICATION (bootable) 1934ef01931fSBen Gras37633 string CD001 ISO 9660 CD-ROM filesystem data (raw 2352 byte sectors) 1935ef01931fSBen Gras!:mime application/x-iso9660-image 1936*0a6a1f1dSLionel Sambuc32777 string CDROM High Sierra CD-ROM filesystem data 1937*0a6a1f1dSLionel Sambuc 1938*0a6a1f1dSLionel Sambuc# CDROM Filesystems 1939*0a6a1f1dSLionel Sambuc# https://en.wikipedia.org/wiki/ISO_9660 1940*0a6a1f1dSLionel Sambuc# Modified for UDF by gerardo.cacciari@gmail.com 1941*0a6a1f1dSLionel Sambuc32769 string CD001 1942*0a6a1f1dSLionel Sambuc# mime line at that position does not work 1943*0a6a1f1dSLionel Sambuc# to display CD-ROM (70=81-11) after MBR (113=40+72+1), partition-table (71=50+21) and before Apple Driver Map (51) 1944*0a6a1f1dSLionel Sambuc!:strength -11 1945*0a6a1f1dSLionel Sambuc# to display CD-ROM (114=81+33) before MBR (113=40+72+1), partition-table (71=50+21) and Apple Driver Map (51) 1946*0a6a1f1dSLionel Sambuc# does not work 1947*0a6a1f1dSLionel Sambuc#!:strength +33 1948*0a6a1f1dSLionel Sambuc>0 use cdrom 1949ef01931fSBen Gras 1950ef01931fSBen Gras# .cso files 1951ef01931fSBen Gras0 string CISO Compressed ISO CD image 1952ef01931fSBen Gras 1953ef01931fSBen Gras# cramfs filesystem - russell@coker.com.au 1954ef01931fSBen Gras0 lelong 0x28cd3d45 Linux Compressed ROM File System data, little endian 1955*0a6a1f1dSLionel Sambuc>4 lelong x size %u 1956ef01931fSBen Gras>8 lelong &1 version #2 1957ef01931fSBen Gras>8 lelong &2 sorted_dirs 1958ef01931fSBen Gras>8 lelong &4 hole_support 1959ef01931fSBen Gras>32 lelong x CRC 0x%x, 1960*0a6a1f1dSLionel Sambuc>36 lelong x edition %u, 1961*0a6a1f1dSLionel Sambuc>40 lelong x %u blocks, 1962*0a6a1f1dSLionel Sambuc>44 lelong x %u files 1963ef01931fSBen Gras 1964ef01931fSBen Gras0 belong 0x28cd3d45 Linux Compressed ROM File System data, big endian 1965*0a6a1f1dSLionel Sambuc>4 belong x size %u 1966ef01931fSBen Gras>8 belong &1 version #2 1967ef01931fSBen Gras>8 belong &2 sorted_dirs 1968ef01931fSBen Gras>8 belong &4 hole_support 1969ef01931fSBen Gras>32 belong x CRC 0x%x, 1970*0a6a1f1dSLionel Sambuc>36 belong x edition %u, 1971*0a6a1f1dSLionel Sambuc>40 belong x %u blocks, 1972*0a6a1f1dSLionel Sambuc>44 belong x %u files 1973ef01931fSBen Gras 1974ef01931fSBen Gras# reiserfs - russell@coker.com.au 1975ef01931fSBen Gras0x10034 string ReIsErFs ReiserFS V3.5 1976ef01931fSBen Gras0x10034 string ReIsEr2Fs ReiserFS V3.6 1977835f6802SDirk Vogt0x10034 string ReIsEr3Fs ReiserFS V3.6.19 1978ef01931fSBen Gras>0x1002c leshort x block size %d 1979ef01931fSBen Gras>0x10032 leshort &2 (mounted or unclean) 1980ef01931fSBen Gras>0x10000 lelong x num blocks %d 1981ef01931fSBen Gras>0x10040 lelong 1 tea hash 1982ef01931fSBen Gras>0x10040 lelong 2 yura hash 1983ef01931fSBen Gras>0x10040 lelong 3 r5 hash 1984ef01931fSBen Gras 1985ef01931fSBen Gras# JFFS - russell@coker.com.au 1986ef01931fSBen Gras0 lelong 0x34383931 Linux Journalled Flash File system, little endian 1987ef01931fSBen Gras0 belong 0x34383931 Linux Journalled Flash File system, big endian 1988ef01931fSBen Gras 1989ef01931fSBen Gras# EST flat binary format (which isn't, but anyway) 1990ef01931fSBen Gras# From: Mark Brown <broonie@sirena.org.uk> 1991ef01931fSBen Gras0 string ESTFBINR EST flat binary 1992ef01931fSBen Gras 1993ef01931fSBen Gras# Aculab VoIP firmware 1994ef01931fSBen Gras# From: Mark Brown <broonie@sirena.org.uk> 1995ef01931fSBen Gras0 string VoIP\ Startup\ and Aculab VoIP firmware 1996ef01931fSBen Gras>35 string x format %s 1997ef01931fSBen Gras 1998835f6802SDirk Vogt# From: Mark Brown <broonie@sirena.org.uk> [old] 1999835f6802SDirk Vogt# From: Behan Webster <behanw@websterwood.com> 2000835f6802SDirk Vogt0 belong 0x27051956 u-boot legacy uImage, 2001835f6802SDirk Vogt>32 string x %s, 2002835f6802SDirk Vogt>28 byte 0 Invalid os/ 2003835f6802SDirk Vogt>28 byte 1 OpenBSD/ 2004835f6802SDirk Vogt>28 byte 2 NetBSD/ 2005835f6802SDirk Vogt>28 byte 3 FreeBSD/ 2006835f6802SDirk Vogt>28 byte 4 4.4BSD/ 2007835f6802SDirk Vogt>28 byte 5 Linux/ 2008835f6802SDirk Vogt>28 byte 6 SVR4/ 2009835f6802SDirk Vogt>28 byte 7 Esix/ 2010835f6802SDirk Vogt>28 byte 8 Solaris/ 2011835f6802SDirk Vogt>28 byte 9 Irix/ 2012835f6802SDirk Vogt>28 byte 10 SCO/ 2013835f6802SDirk Vogt>28 byte 11 Dell/ 2014835f6802SDirk Vogt>28 byte 12 NCR/ 2015835f6802SDirk Vogt>28 byte 13 LynxOS/ 2016835f6802SDirk Vogt>28 byte 14 VxWorks/ 2017835f6802SDirk Vogt>28 byte 15 pSOS/ 2018835f6802SDirk Vogt>28 byte 16 QNX/ 2019835f6802SDirk Vogt>28 byte 17 Firmware/ 2020835f6802SDirk Vogt>28 byte 18 RTEMS/ 2021835f6802SDirk Vogt>28 byte 19 ARTOS/ 2022835f6802SDirk Vogt>28 byte 20 Unity OS/ 2023835f6802SDirk Vogt>28 byte 21 INTEGRITY/ 2024835f6802SDirk Vogt>29 byte 0 \bInvalid CPU, 2025835f6802SDirk Vogt>29 byte 1 \bAlpha, 2026835f6802SDirk Vogt>29 byte 2 \bARM, 2027835f6802SDirk Vogt>29 byte 3 \bIntel x86, 2028835f6802SDirk Vogt>29 byte 4 \bIA64, 2029835f6802SDirk Vogt>29 byte 5 \bMIPS, 2030835f6802SDirk Vogt>29 byte 6 \bMIPS 64-bit, 2031835f6802SDirk Vogt>29 byte 7 \bPowerPC, 2032835f6802SDirk Vogt>29 byte 8 \bIBM S390, 2033835f6802SDirk Vogt>29 byte 9 \bSuperH, 2034835f6802SDirk Vogt>29 byte 10 \bSparc, 2035835f6802SDirk Vogt>29 byte 11 \bSparc 64-bit, 2036835f6802SDirk Vogt>29 byte 12 \bM68K, 2037835f6802SDirk Vogt>29 byte 13 \bNios-32, 2038835f6802SDirk Vogt>29 byte 14 \bMicroBlaze, 2039835f6802SDirk Vogt>29 byte 15 \bNios-II, 2040835f6802SDirk Vogt>29 byte 16 \bBlackfin, 2041835f6802SDirk Vogt>29 byte 17 \bAVR32, 2042835f6802SDirk Vogt>29 byte 18 \bSTMicroelectronics ST200, 2043835f6802SDirk Vogt>30 byte 0 Invalid Image 2044835f6802SDirk Vogt>30 byte 1 Standalone Program 2045835f6802SDirk Vogt>30 byte 2 OS Kernel Image 2046835f6802SDirk Vogt>30 byte 3 RAMDisk Image 2047835f6802SDirk Vogt>30 byte 4 Multi-File Image 2048835f6802SDirk Vogt>30 byte 5 Firmware Image 2049835f6802SDirk Vogt>30 byte 6 Script File 2050835f6802SDirk Vogt>30 byte 7 Filesystem Image (any type) 2051835f6802SDirk Vogt>30 byte 8 Binary Flat Device Tree BLOB 2052835f6802SDirk Vogt>31 byte 0 (Not compressed), 2053835f6802SDirk Vogt>31 byte 1 (gzip), 2054835f6802SDirk Vogt>31 byte 2 (bzip2), 2055835f6802SDirk Vogt>31 byte 3 (lzma), 2056835f6802SDirk Vogt>12 belong x %d bytes, 2057835f6802SDirk Vogt>8 bedate x %s, 2058835f6802SDirk Vogt>16 belong x Load Address: 0x%08X, 2059835f6802SDirk Vogt>20 belong x Entry Point: 0x%08X, 2060835f6802SDirk Vogt>4 belong x Header CRC: 0x%08X, 2061835f6802SDirk Vogt>24 belong x Data CRC: 0x%08X 2062ef01931fSBen Gras 2063ef01931fSBen Gras# JFFS2 file system 2064ef01931fSBen Gras0 leshort 0x1984 Linux old jffs2 filesystem data little endian 2065ef01931fSBen Gras0 leshort 0x1985 Linux jffs2 filesystem data little endian 2066ef01931fSBen Gras 2067ef01931fSBen Gras# Squashfs 2068ef01931fSBen Gras0 string sqsh Squashfs filesystem, big endian, 2069ef01931fSBen Gras>28 beshort x version %d. 2070ef01931fSBen Gras>30 beshort x \b%d, 2071ef01931fSBen Gras>28 beshort <3 2072ef01931fSBen Gras>>8 belong x %d bytes, 2073ef01931fSBen Gras>28 beshort >2 2074835f6802SDirk Vogt>>28 beshort <4 2075835f6802SDirk Vogt>>>63 bequad x %lld bytes, 2076835f6802SDirk Vogt>>28 beshort >3 2077835f6802SDirk Vogt>>>40 bequad x %lld bytes, 2078ef01931fSBen Gras#>>67 belong x %d bytes, 2079ef01931fSBen Gras>4 belong x %d inodes, 2080ef01931fSBen Gras>28 beshort <2 2081ef01931fSBen Gras>>32 beshort x blocksize: %d bytes, 2082ef01931fSBen Gras>28 beshort >1 2083835f6802SDirk Vogt>>28 beshort <4 2084835f6802SDirk Vogt>>>51 belong x blocksize: %d bytes, 2085835f6802SDirk Vogt>>28 beshort >3 2086835f6802SDirk Vogt>>>12 belong x blocksize: %d bytes, 2087835f6802SDirk Vogt>28 beshort <4 2088835f6802SDirk Vogt>>39 bedate x created: %s 2089835f6802SDirk Vogt>28 beshort >3 2090835f6802SDirk Vogt>>8 bedate x created: %s 2091ef01931fSBen Gras0 string hsqs Squashfs filesystem, little endian, 2092ef01931fSBen Gras>28 leshort x version %d. 2093ef01931fSBen Gras>30 leshort x \b%d, 2094ef01931fSBen Gras>28 leshort <3 2095ef01931fSBen Gras>>8 lelong x %d bytes, 2096ef01931fSBen Gras>28 leshort >2 2097835f6802SDirk Vogt>>28 leshort <4 2098835f6802SDirk Vogt>>>63 lequad x %lld bytes, 2099835f6802SDirk Vogt>>28 leshort >3 2100835f6802SDirk Vogt>>>40 lequad x %lld bytes, 2101ef01931fSBen Gras#>>63 lelong x %d bytes, 2102ef01931fSBen Gras>4 lelong x %d inodes, 2103ef01931fSBen Gras>28 leshort <2 2104ef01931fSBen Gras>>32 leshort x blocksize: %d bytes, 2105ef01931fSBen Gras>28 leshort >1 2106835f6802SDirk Vogt>>28 leshort <4 2107835f6802SDirk Vogt>>>51 lelong x blocksize: %d bytes, 2108835f6802SDirk Vogt>>28 leshort >3 2109835f6802SDirk Vogt>>>12 lelong x blocksize: %d bytes, 2110835f6802SDirk Vogt>28 leshort <4 2111835f6802SDirk Vogt>>39 ledate x created: %s 2112835f6802SDirk Vogt>28 leshort >3 2113835f6802SDirk Vogt>>8 ledate x created: %s 2114ef01931fSBen Gras 2115ef01931fSBen Gras# AFS Dump Magic 2116ef01931fSBen Gras# From: Ty Sarna <tsarna@sarna.org> 2117ef01931fSBen Gras0 string \x01\xb3\xa1\x13\x22 AFS Dump 2118ef01931fSBen Gras>&0 belong x (v%d) 2119ef01931fSBen Gras>>&0 byte 0x76 2120ef01931fSBen Gras>>>&0 belong x Vol %d, 2121ef01931fSBen Gras>>>>&0 byte 0x6e 2122ef01931fSBen Gras>>>>>&0 string x %s 2123ef01931fSBen Gras>>>>>>&1 byte 0x74 2124ef01931fSBen Gras>>>>>>>&0 beshort 2 2125ef01931fSBen Gras>>>>>>>>&4 bedate x on: %s 2126ef01931fSBen Gras>>>>>>>>&0 bedate =0 full dump 2127ef01931fSBen Gras>>>>>>>>&0 bedate !0 incremental since: %s 2128ef01931fSBen Gras 2129ef01931fSBen Gras#---------------------------------------------------------- 2130835f6802SDirk Vogt#delta ISO Daniel Novotny (dnovotny@redhat.com) 2131835f6802SDirk Vogt0 string DISO Delta ISO data 2132*0a6a1f1dSLionel Sambuc!:strength +50 2133835f6802SDirk Vogt>4 belong x version %d 2134835f6802SDirk Vogt 2135ef01931fSBen Gras# VMS backup savesets - gerardo.cacciari@gmail.com 2136ef01931fSBen Gras# 2137ef01931fSBen Gras4 string \x01\x00\x01\x00\x01\x00 2138ef01931fSBen Gras>(0.s+16) string \x01\x01 2139ef01931fSBen Gras>>&(&0.b+8) byte 0x42 OpenVMS backup saveset data 2140ef01931fSBen Gras>>>40 lelong x (block size %d, 2141ef01931fSBen Gras>>>49 string >\0 original name '%s', 2142ef01931fSBen Gras>>>2 short 1024 VAX generated) 2143ef01931fSBen Gras>>>2 short 2048 AXP generated) 2144ef01931fSBen Gras>>>2 short 4096 I64 generated) 2145ef01931fSBen Gras 2146ef01931fSBen Gras# Summary: Oracle Clustered Filesystem 2147ef01931fSBen Gras# Created by: Aaron Botsis <redhat@digitalmafia.org> 2148ef01931fSBen Gras8 string OracleCFS Oracle Clustered Filesystem, 2149ef01931fSBen Gras>4 long x rev %d 2150ef01931fSBen Gras>0 long x \b.%d, 2151ef01931fSBen Gras>560 string x label: %.64s, 2152ef01931fSBen Gras>136 string x mountpoint: %.128s 2153ef01931fSBen Gras 2154ef01931fSBen Gras# Summary: Oracle ASM tagged volume 2155ef01931fSBen Gras# Created by: Aaron Botsis <redhat@digitalmafia.org> 2156ef01931fSBen Gras32 string ORCLDISK Oracle ASM Volume, 2157ef01931fSBen Gras>40 string x Disk Name: %0.12s 2158ef01931fSBen Gras32 string ORCLCLRD Oracle ASM Volume (cleared), 2159ef01931fSBen Gras>40 string x Disk Name: %0.12s 2160ef01931fSBen Gras 2161ef01931fSBen Gras# Oracle Clustered Filesystem - Aaron Botsis <redhat@digitalmafia.org> 2162ef01931fSBen Gras8 string OracleCFS Oracle Clustered Filesystem, 2163ef01931fSBen Gras>4 long x rev %d 2164ef01931fSBen Gras>0 long x \b.%d, 2165ef01931fSBen Gras>560 string x label: %.64s, 2166ef01931fSBen Gras>136 string x mountpoint: %.128s 2167ef01931fSBen Gras 2168ef01931fSBen Gras# Oracle ASM tagged volume - Aaron Botsis <redhat@digitalmafia.org> 2169ef01931fSBen Gras32 string ORCLDISK Oracle ASM Volume, 2170ef01931fSBen Gras>40 string x Disk Name: %0.12s 2171ef01931fSBen Gras32 string ORCLCLRD Oracle ASM Volume (cleared), 2172ef01931fSBen Gras>40 string x Disk Name: %0.12s 2173ef01931fSBen Gras 2174ef01931fSBen Gras# Compaq/HP RILOE floppy image 2175ef01931fSBen Gras# From: Dirk Jagdmann <doj@cubic.org> 2176ef01931fSBen Gras0 string CPQRFBLO Compaq/HP RILOE floppy image 2177ef01931fSBen Gras 2178ef01931fSBen Gras#------------------------------------------------------------------------------ 2179835f6802SDirk Vogt# Files-11 On-Disk Structure (File system for various RSX-11 and VMS flavours). 2180835f6802SDirk Vogt# These bits come from LBN 1 (home block) of ODS-1, ODS-2 and ODS-5 volumes, 2181835f6802SDirk Vogt# which is mapped to VBN 2 of [000000]INDEXF.SYS;1 - gerardo.cacciari@gmail.com 2182ef01931fSBen Gras# 2183835f6802SDirk Vogt1008 string DECFILE11 Files-11 On-Disk Structure 2184835f6802SDirk Vogt>525 byte x (ODS-%d); 2185835f6802SDirk Vogt>1017 string A RSX-11, VAX/VMS or OpenVMS VAX file system; 2186835f6802SDirk Vogt>1017 string B 2187835f6802SDirk Vogt>>525 byte 2 VAX/VMS or OpenVMS file system; 2188835f6802SDirk Vogt>>525 byte 5 OpenVMS Alpha or Itanium file system; 2189ef01931fSBen Gras>984 string x volume label is '%-12.12s' 2190ef01931fSBen Gras 2191ef01931fSBen Gras# From: Thomas Klausner <wiz@NetBSD.org> 2192ef01931fSBen Gras# http://filext.com/file-extension/DAA 2193ef01931fSBen Gras# describes the daa file format. The magic would be: 2194ef01931fSBen Gras0 string DAA\x0\x0\x0\x0\x0 PowerISO Direct-Access-Archive 2195ef01931fSBen Gras 2196ef01931fSBen Gras# From Albert Cahalan <acahalan@gmail.com> 2197ef01931fSBen Gras# really le32 operation,destination,payloadsize (but quite predictable) 2198ef01931fSBen Gras# 01 00 00 00 00 00 00 c0 00 02 00 00 2199ef01931fSBen Gras0 string \1\0\0\0\0\0\0\300\0\2\0\0 Marvell Libertas firmware 2200ef01931fSBen Gras 2201ef01931fSBen Gras# From Eric Sandeen 2202ef01931fSBen Gras# GFS2 2203835f6802SDirk Vogt0x10000 belong 0x01161970 2204835f6802SDirk Vogt>0x10018 belong 0x0000051d GFS1 Filesystem 2205835f6802SDirk Vogt>>0x10024 belong x (blocksize %d, 2206835f6802SDirk Vogt>>0x10060 string >\0 lockproto %s) 2207835f6802SDirk Vogt>0x10018 belong 0x00000709 GFS2 Filesystem 2208835f6802SDirk Vogt>>0x10024 belong x (blocksize %d, 2209835f6802SDirk Vogt>>0x10060 string >\0 lockproto %s) 2210ef01931fSBen Gras 2211ef01931fSBen Gras# BTRFS 2212ef01931fSBen Gras0x10040 string _BHRfS_M BTRFS Filesystem 2213ef01931fSBen Gras>0x1012b string >\0 (label "%s", 2214ef01931fSBen Gras>0x10090 lelong x sectorsize %d, 2215ef01931fSBen Gras>0x10094 lelong x nodesize %d, 2216ef01931fSBen Gras>0x10098 lelong x leafsize %d) 2217ef01931fSBen Gras 2218ef01931fSBen Gras 2219ef01931fSBen Gras# dvdisaster's .ecc 2220ef01931fSBen Gras# From: "Nelson A. de Oliveira" <naoliv@gmail.com> 2221ef01931fSBen Gras0 string *dvdisaster* dvdisaster error correction file 2222835f6802SDirk Vogt 2223835f6802SDirk Vogt# xfs metadump image 2224835f6802SDirk Vogt# mb_magic XFSM at 0; superblock magic XFSB at 1 << mb_blocklog 2225835f6802SDirk Vogt# but can we do the << ? For now it's always 512 (0x200) anyway. 2226835f6802SDirk Vogt0 string XFSM 2227835f6802SDirk Vogt>0x200 string XFSB XFS filesystem metadump image 2228835f6802SDirk Vogt 2229835f6802SDirk Vogt# Type: CROM filesystem 2230835f6802SDirk Vogt# From: Werner Fink <werner@suse.de> 2231835f6802SDirk Vogt0 string CROMFS CROMFS 2232835f6802SDirk Vogt>6 string >\0 \b version %2.2s, 2233835f6802SDirk Vogt>8 ulequad >0 \b block data at %lld, 2234835f6802SDirk Vogt>16 ulequad >0 \b fblock table at %lld, 2235835f6802SDirk Vogt>24 ulequad >0 \b inode table at %lld, 2236835f6802SDirk Vogt>32 ulequad >0 \b root at %lld, 2237*0a6a1f1dSLionel Sambuc>40 ulelong >0 \b fblock size = %d, 2238*0a6a1f1dSLionel Sambuc>44 ulelong >0 \b block size = %d, 2239835f6802SDirk Vogt>48 ulequad >0 \b bytes = %lld 2240835f6802SDirk Vogt 2241835f6802SDirk Vogt# Type: xfs metadump image 2242835f6802SDirk Vogt# From: Daniel Novotny <dnovotny@redhat.com> 2243835f6802SDirk Vogt# mb_magic XFSM at 0; superblock magic XFSB at 1 << mb_blocklog 2244835f6802SDirk Vogt# but can we do the << ? For now it's always 512 (0x200) anyway. 2245835f6802SDirk Vogt0 string XFSM 2246835f6802SDirk Vogt>0x200 string XFSB XFS filesystem metadump image 2247835f6802SDirk Vogt 2248835f6802SDirk Vogt# Type: delta ISO 2249835f6802SDirk Vogt# From: Daniel Novotny <dnovotny@redhat.com> 2250835f6802SDirk Vogt0 string DISO Delta ISO data, 2251835f6802SDirk Vogt>4 belong x version %d 2252835f6802SDirk Vogt 2253835f6802SDirk Vogt# JFS2 (Journaling File System) image. (Old JFS1 has superblock at 0x1000.) 2254835f6802SDirk Vogt# See linux/fs/jfs/jfs_superblock.h for layout; see jfs_filsys.h for flags. 2255835f6802SDirk Vogt# From: Adam Buchbinder <adam.buchbinder@gmail.com> 2256835f6802SDirk Vogt0x8000 string JFS1 2257835f6802SDirk Vogt# Because it's text-only magic, check a binary value (version) to be sure. 2258835f6802SDirk Vogt# Should always be 2, but mkfs.jfs writes it as 1. Needs to be 2 or 1 to be 2259835f6802SDirk Vogt# mountable. 2260835f6802SDirk Vogt>&0 lelong <3 JFS2 filesystem image 2261835f6802SDirk Vogt# Label is followed by a UUID; we have to limit string length to avoid 2262835f6802SDirk Vogt# appending the UUID in the case of a 16-byte label. 2263835f6802SDirk Vogt>>&144 regex [\x20-\x7E]{1,16} (label "%s") 2264835f6802SDirk Vogt>>&0 lequad x \b, %lld blocks 2265835f6802SDirk Vogt>>&8 lelong x \b, blocksize %d 2266835f6802SDirk Vogt>>&32 lelong&0x00000006 >0 (dirty) 2267835f6802SDirk Vogt>>&36 lelong >0 (compressed) 226884d9c625SLionel Sambuc 226984d9c625SLionel Sambuc# LFS 227084d9c625SLionel Sambuc0 lelong 0x070162 LFS filesystem image 227184d9c625SLionel Sambuc>4 lelong 1 version 1, 227284d9c625SLionel Sambuc>>8 lelong x \b blocks %u, 227384d9c625SLionel Sambuc>>12 lelong x \b blocks per segment %u, 227484d9c625SLionel Sambuc>4 lelong 2 version 2, 227584d9c625SLionel Sambuc>>8 lelong x \b fragments %u, 227684d9c625SLionel Sambuc>>12 lelong x \b bytes per segment %u, 227784d9c625SLionel Sambuc>16 lelong x \b disk blocks %u, 227884d9c625SLionel Sambuc>20 lelong x \b block size %u, 227984d9c625SLionel Sambuc>24 lelong x \b fragment size %u, 228084d9c625SLionel Sambuc>28 lelong x \b fragments per block %u, 228184d9c625SLionel Sambuc>32 lelong x \b start for free list %u, 228284d9c625SLionel Sambuc>36 lelong x \b number of free blocks %d, 228384d9c625SLionel Sambuc>40 lelong x \b number of files %u, 228484d9c625SLionel Sambuc>44 lelong x \b blocks available for writing %d, 228584d9c625SLionel Sambuc>48 lelong x \b inodes in cache %d, 228684d9c625SLionel Sambuc>52 lelong x \b inode file disk address 0x%x, 228784d9c625SLionel Sambuc>56 lelong x \b inode file inode number %u, 228884d9c625SLionel Sambuc>60 lelong x \b address of last segment written 0x%x, 228984d9c625SLionel Sambuc>64 lelong x \b address of next segment to write 0x%x, 229084d9c625SLionel Sambuc>68 lelong x \b address of current segment written 0x%x 229184d9c625SLionel Sambuc 229284d9c625SLionel Sambuc0 string td\000 floppy image data (TeleDisk, compressed) 229384d9c625SLionel Sambuc0 string TD\000 floppy image data (TeleDisk) 229484d9c625SLionel Sambuc 229584d9c625SLionel Sambuc0 string CQ\024 floppy image data (CopyQM, 229684d9c625SLionel Sambuc>16 leshort x %d sectors, 229784d9c625SLionel Sambuc>18 leshort x %d heads.) 229884d9c625SLionel Sambuc 229984d9c625SLionel Sambuc0 string ACT\020Apricot\020disk\020image\032\004 floppy image data (ApriDisk) 230084d9c625SLionel Sambuc 230184d9c625SLionel Sambuc0 beshort 0xAA58 floppy image data (IBM SaveDskF, old) 230284d9c625SLionel Sambuc0 beshort 0xAA59 floppy image data (IBM SaveDskF) 230384d9c625SLionel Sambuc0 beshort 0xAA5A floppy image data (IBM SaveDskF, compressed) 230484d9c625SLionel Sambuc 230584d9c625SLionel Sambuc0 string \074CPM_Disk\076 disk image data (YAZE) 2306*0a6a1f1dSLionel Sambuc 2307*0a6a1f1dSLionel Sambuc# ReFS 2308*0a6a1f1dSLionel Sambuc# Richard W.M. Jones <rjones@redhat.com> 2309*0a6a1f1dSLionel Sambuc0 string \0\0\0ReFS\0 ReFS filesystem image 2310*0a6a1f1dSLionel Sambuc 2311*0a6a1f1dSLionel Sambuc# EFW encase image file format: 2312*0a6a1f1dSLionel Sambuc# Gregoire Passault 2313*0a6a1f1dSLionel Sambuc# http://www.forensicswiki.org/wiki/Encase_image_file_format 2314*0a6a1f1dSLionel Sambuc0 string EVF\x09\x0d\x0a\xff\x00 EWF/Expert Witness/EnCase image file format 2315*0a6a1f1dSLionel Sambuc 2316*0a6a1f1dSLionel Sambuc# UBIfs 2317*0a6a1f1dSLionel Sambuc# Linux kernel sources: fs/ubifs/ubifs-media.h 2318*0a6a1f1dSLionel Sambuc0 lelong 0x06101831 2319*0a6a1f1dSLionel Sambuc>0x16 leshort 0 UBIfs image 2320*0a6a1f1dSLionel Sambuc>0x08 lequad x \b, sequence number %llu 2321*0a6a1f1dSLionel Sambuc>0x10 leshort x \b, length %u 2322*0a6a1f1dSLionel Sambuc>0x04 lelong x \b, CRC 0x%08x 2323*0a6a1f1dSLionel Sambuc 2324*0a6a1f1dSLionel Sambuc0 lelong 0x23494255 2325*0a6a1f1dSLionel Sambuc>0x04 leshort <2 2326*0a6a1f1dSLionel Sambuc>0x05 string \0\0\0 2327*0a6a1f1dSLionel Sambuc>0x1c string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 2328*0a6a1f1dSLionel Sambuc>0x04 leshort x UBI image, version %u 2329*0a6a1f1dSLionel Sambuc 2330*0a6a1f1dSLionel Sambuc# NEC PC-88 2D disk image 2331*0a6a1f1dSLionel Sambuc# From Fabio R. Schmidlin <sd-snatcher@users.sourceforge.net> 2332*0a6a1f1dSLionel Sambuc0x20 ulelong&0xFFFFFEFF 0x2A0 2333*0a6a1f1dSLionel Sambuc>0x10 string \0\0\0\0\0\0\0\0\0\0 2334*0a6a1f1dSLionel Sambuc>>0x280 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 2335*0a6a1f1dSLionel Sambuc>>>0x1A ubyte&0xEF 0 2336*0a6a1f1dSLionel Sambuc>>>>0x1B ubyte&0x8F 0 2337*0a6a1f1dSLionel Sambuc>>>>>0x1B ubyte&70 <0x40 2338*0a6a1f1dSLionel Sambuc>>>>>>0x1C ulelong >0x21 2339*0a6a1f1dSLionel Sambuc>>>>>>>0 regex [[:print:]]* NEC PC-88 disk image, name=%s 2340*0a6a1f1dSLionel Sambuc>>>>>>>>0x1B ubyte 0 \b, media=2D 2341*0a6a1f1dSLionel Sambuc>>>>>>>>0x1B ubyte 0x10 \b, media=2DD 2342*0a6a1f1dSLionel Sambuc>>>>>>>>0x1B ubyte 0x20 \b, media=2HD 2343*0a6a1f1dSLionel Sambuc>>>>>>>>0x1B ubyte 0x30 \b, media=1D 2344*0a6a1f1dSLionel Sambuc>>>>>>>>0x1B ubyte 0x40 \b, media=1DD 2345*0a6a1f1dSLionel Sambuc>>>>>>>>0x1A ubyte 0x10 \b, write-protected 2346