1327e51cbSPeter Avalos#------------------------------------------------------------------------------ 2*3b9cdfa3SAntonio Huete Jimenez# $File: filesystems,v 1.150 2022/07/04 16:40:33 christos Exp $ 3327e51cbSPeter Avalos# filesystems: file(1) magic for different filesystems 4327e51cbSPeter Avalos# 5e8af9738SPeter Avalos0 name partid 6e8af9738SPeter Avalos>0 ubyte 0x00 Unused 7e8af9738SPeter Avalos>0 ubyte 0x01 12-bit FAT 8e8af9738SPeter Avalos>0 ubyte 0x02 XENIX / 9e8af9738SPeter Avalos>0 ubyte 0x03 XENIX /usr 10e8af9738SPeter Avalos>0 ubyte 0x04 16-bit FAT, less than 32M 11e8af9738SPeter Avalos>0 ubyte 0x05 extended partition 12e8af9738SPeter Avalos>0 ubyte 0x06 16-bit FAT, more than 32M 13e8af9738SPeter Avalos>0 ubyte 0x07 OS/2 HPFS, NTFS, QNX2, Adv. UNIX 14e8af9738SPeter Avalos>0 ubyte 0x08 AIX or os, or etc. 15e8af9738SPeter Avalos>0 ubyte 0x09 AIX boot partition or Coherent 16e8af9738SPeter Avalos>0 ubyte 0x0a O/2 boot manager or Coherent swap 17e8af9738SPeter Avalos>0 ubyte 0x0b 32-bit FAT 18e8af9738SPeter Avalos>0 ubyte 0x0c 32-bit FAT, LBA-mapped 19e8af9738SPeter Avalos>0 ubyte 0x0d 7XXX, LBA-mapped 20e8af9738SPeter Avalos>0 ubyte 0x0e 16-bit FAT, LBA-mapped 21e8af9738SPeter Avalos>0 ubyte 0x0f extended partition, LBA-mapped 22e8af9738SPeter Avalos>0 ubyte 0x10 OPUS 23e8af9738SPeter Avalos>0 ubyte 0x11 OS/2 DOS 12-bit FAT 24e8af9738SPeter Avalos>0 ubyte 0x12 Compaq diagnostics 25e8af9738SPeter Avalos>0 ubyte 0x14 OS/2 DOS 16-bit FAT <32M 26e8af9738SPeter Avalos>0 ubyte 0x16 OS/2 DOS 16-bit FAT >=32M 27e8af9738SPeter Avalos>0 ubyte 0x17 OS/2 hidden IFS 28e8af9738SPeter Avalos>0 ubyte 0x18 AST Windows swapfile 29e8af9738SPeter Avalos>0 ubyte 0x19 Willowtech Photon coS 30e8af9738SPeter Avalos>0 ubyte 0x1b hidden win95 fat 32 31e8af9738SPeter Avalos>0 ubyte 0x1c hidden win95 fat 32 lba 32e8af9738SPeter Avalos>0 ubyte 0x1d hidden win95 fat 16 lba 33e8af9738SPeter Avalos>0 ubyte 0x20 Willowsoft OFS1 34e8af9738SPeter Avalos>0 ubyte 0x21 reserved 35e8af9738SPeter Avalos>0 ubyte 0x23 reserved 36e8af9738SPeter Avalos>0 ubyte 0x24 NEC DOS 37e8af9738SPeter Avalos>0 ubyte 0x26 reserved 38e8af9738SPeter Avalos>0 ubyte 0x31 reserved 39e8af9738SPeter Avalos>0 ubyte 0x32 Alien Internet Services NOS 40e8af9738SPeter Avalos>0 ubyte 0x33 reserved 41e8af9738SPeter Avalos>0 ubyte 0x34 reserved 42e8af9738SPeter Avalos>0 ubyte 0x35 JFS on OS2 43e8af9738SPeter Avalos>0 ubyte 0x36 reserved 44e8af9738SPeter Avalos>0 ubyte 0x38 Theos 45e8af9738SPeter Avalos>0 ubyte 0x39 Plan 9, or Theos spanned 46e8af9738SPeter Avalos>0 ubyte 0x3a Theos ver 4 4gb partition 47e8af9738SPeter Avalos>0 ubyte 0x3b Theos ve 4 extended partition 48e8af9738SPeter Avalos>0 ubyte 0x3c PartitionMagic recovery 49e8af9738SPeter Avalos>0 ubyte 0x3d Hidden Netware 50e8af9738SPeter Avalos>0 ubyte 0x40 VENIX 286 or LynxOS 51e8af9738SPeter Avalos>0 ubyte 0x41 PReP 52e8af9738SPeter Avalos>0 ubyte 0x42 linux swap sharing DRDOS disk 53e8af9738SPeter Avalos>0 ubyte 0x43 linux sharing DRDOS disk 54e8af9738SPeter Avalos>0 ubyte 0x44 GoBack change utility 55e8af9738SPeter Avalos>0 ubyte 0x45 Boot US Boot manager 56e8af9738SPeter Avalos>0 ubyte 0x46 EUMEL/Elan or Ergos 3 57e8af9738SPeter Avalos>0 ubyte 0x47 EUMEL/Elan or Ergos 3 58e8af9738SPeter Avalos>0 ubyte 0x48 EUMEL/Elan or Ergos 3 59e8af9738SPeter Avalos>0 ubyte 0x4a ALFX/THIN filesystem for DOS 60e8af9738SPeter Avalos>0 ubyte 0x4c Oberon partition 61e8af9738SPeter Avalos>0 ubyte 0x4d QNX4.x 62e8af9738SPeter Avalos>0 ubyte 0x4e QNX4.x 2nd part 63e8af9738SPeter Avalos>0 ubyte 0x4f QNX4.x 3rd part 64e8af9738SPeter Avalos>0 ubyte 0x50 DM (disk manager) 65e8af9738SPeter Avalos>0 ubyte 0x51 DM6 Aux1 (or Novell) 66e8af9738SPeter Avalos>0 ubyte 0x52 CP/M or Microport SysV/AT 67e8af9738SPeter Avalos>0 ubyte 0x53 DM6 Aux3 68e8af9738SPeter Avalos>0 ubyte 0x54 DM6 DDO 69e8af9738SPeter Avalos>0 ubyte 0x55 EZ-Drive (disk manager) 70e8af9738SPeter Avalos>0 ubyte 0x56 Golden Bow (disk manager) 71e8af9738SPeter Avalos>0 ubyte 0x57 Drive PRO 72e8af9738SPeter Avalos>0 ubyte 0x5c Priam Edisk (disk manager) 73e8af9738SPeter Avalos>0 ubyte 0x61 SpeedStor 74e8af9738SPeter Avalos>0 ubyte 0x63 GNU HURD or Mach or Sys V/386 75e8af9738SPeter Avalos>0 ubyte 0x64 Novell Netware 2.xx or Speedstore 76e8af9738SPeter Avalos>0 ubyte 0x65 Novell Netware 3.xx 77e8af9738SPeter Avalos>0 ubyte 0x66 Novell 386 Netware 78e8af9738SPeter Avalos>0 ubyte 0x67 Novell 79e8af9738SPeter Avalos>0 ubyte 0x68 Novell 80e8af9738SPeter Avalos>0 ubyte 0x69 Novell 81e8af9738SPeter Avalos>0 ubyte 0x70 DiskSecure Multi-Boot 82e8af9738SPeter Avalos>0 ubyte 0x71 reserved 83e8af9738SPeter Avalos>0 ubyte 0x73 reserved 84e8af9738SPeter Avalos>0 ubyte 0x74 reserved 85e8af9738SPeter Avalos>0 ubyte 0x75 PC/IX 86e8af9738SPeter Avalos>0 ubyte 0x76 reserved 87e8af9738SPeter Avalos>0 ubyte 0x77 M2FS/M2CS partition 88e8af9738SPeter Avalos>0 ubyte 0x78 XOSL boot loader filesystem 89e8af9738SPeter Avalos>0 ubyte 0x80 MINIX until 1.4a 90e8af9738SPeter Avalos>0 ubyte 0x81 MINIX since 1.4b 91e8af9738SPeter Avalos>0 ubyte 0x82 Linux swap or Solaris 92e8af9738SPeter Avalos>0 ubyte 0x83 Linux native 93e8af9738SPeter Avalos>0 ubyte 0x84 OS/2 hidden C: drive 94e8af9738SPeter Avalos>0 ubyte 0x85 Linux extended partition 95e8af9738SPeter Avalos>0 ubyte 0x86 NT FAT volume set 96e8af9738SPeter Avalos>0 ubyte 0x87 NTFS volume set or HPFS mirrored 97e8af9738SPeter Avalos>0 ubyte 0x8a Linux Kernel AiR-BOOT partition 98e8af9738SPeter Avalos>0 ubyte 0x8b Legacy Fault tolerant FAT32 99e8af9738SPeter Avalos>0 ubyte 0x8c Legacy Fault tolerant FAT32 ext 100e8af9738SPeter Avalos>0 ubyte 0x8d Hidden free FDISK FAT12 101e8af9738SPeter Avalos>0 ubyte 0x8e Linux Logical Volume Manager 102e8af9738SPeter Avalos>0 ubyte 0x90 Hidden free FDISK FAT16 103e8af9738SPeter Avalos>0 ubyte 0x91 Hidden free FDISK DOS EXT 104e8af9738SPeter Avalos>0 ubyte 0x92 Hidden free FDISK FAT16 Big 105e8af9738SPeter Avalos>0 ubyte 0x93 Amoeba filesystem 106e8af9738SPeter Avalos>0 ubyte 0x94 Amoeba bad block table 107e8af9738SPeter Avalos>0 ubyte 0x95 MIT EXOPC native partitions 108e8af9738SPeter Avalos>0 ubyte 0x97 Hidden free FDISK FAT32 109e8af9738SPeter Avalos>0 ubyte 0x98 Datalight ROM-DOS Super-Boot 110e8af9738SPeter Avalos>0 ubyte 0x99 Mylex EISA SCSI 111e8af9738SPeter Avalos>0 ubyte 0x9a Hidden free FDISK FAT16 LBA 112e8af9738SPeter Avalos>0 ubyte 0x9b Hidden free FDISK EXT LBA 113e8af9738SPeter Avalos>0 ubyte 0x9f BSDI? 114e8af9738SPeter Avalos>0 ubyte 0xa0 IBM Thinkpad hibernation 115e8af9738SPeter Avalos>0 ubyte 0xa1 HP Volume expansion (SpeedStor) 116e8af9738SPeter Avalos>0 ubyte 0xa3 HP Volume expansion (SpeedStor) 117e8af9738SPeter Avalos>0 ubyte 0xa4 HP Volume expansion (SpeedStor) 118e8af9738SPeter Avalos>0 ubyte 0xa5 386BSD partition type 119e8af9738SPeter Avalos>0 ubyte 0xa6 OpenBSD partition type 120e8af9738SPeter Avalos>0 ubyte 0xa7 NeXTSTEP 486 121e8af9738SPeter Avalos>0 ubyte 0xa8 Apple UFS 122e8af9738SPeter Avalos>0 ubyte 0xa9 NetBSD partition type 123e8af9738SPeter Avalos>0 ubyte 0xaa Olivetty Fat12 1.44MB Service part 124e8af9738SPeter Avalos>0 ubyte 0xab Apple Boot 125e8af9738SPeter Avalos>0 ubyte 0xae SHAG OS filesystem 126e8af9738SPeter Avalos>0 ubyte 0xaf Apple HFS 127e8af9738SPeter Avalos>0 ubyte 0xb0 BootStar Dummy 128e8af9738SPeter Avalos>0 ubyte 0xb1 reserved 129e8af9738SPeter Avalos>0 ubyte 0xb3 reserved 130e8af9738SPeter Avalos>0 ubyte 0xb4 reserved 131e8af9738SPeter Avalos>0 ubyte 0xb6 reserved 132e8af9738SPeter Avalos>0 ubyte 0xb7 BSDI BSD/386 filesystem 133e8af9738SPeter Avalos>0 ubyte 0xb8 BSDI BSD/386 swap 134e8af9738SPeter Avalos>0 ubyte 0xbb Boot Wizard Hidden 135e8af9738SPeter Avalos>0 ubyte 0xbe Solaris 8 partition type 136e8af9738SPeter Avalos>0 ubyte 0xbf Solaris partition type 137e8af9738SPeter Avalos>0 ubyte 0xc0 CTOS 138e8af9738SPeter Avalos>0 ubyte 0xc1 DRDOS/sec (FAT-12) 139e8af9738SPeter Avalos>0 ubyte 0xc2 Hidden Linux 140e8af9738SPeter Avalos>0 ubyte 0xc3 Hidden Linux swap 141e8af9738SPeter Avalos>0 ubyte 0xc4 DRDOS/sec (FAT-16, < 32M) 142e8af9738SPeter Avalos>0 ubyte 0xc5 DRDOS/sec (EXT) 143e8af9738SPeter Avalos>0 ubyte 0xc6 DRDOS/sec (FAT-16, >= 32M) 144e8af9738SPeter Avalos>0 ubyte 0xc7 Syrinx (Cyrnix?) or HPFS disabled 145e8af9738SPeter Avalos>0 ubyte 0xc8 Reserved for DR-DOS 8.0+ 146e8af9738SPeter Avalos>0 ubyte 0xc9 Reserved for DR-DOS 8.0+ 147e8af9738SPeter Avalos>0 ubyte 0xca Reserved for DR-DOS 8.0+ 148e8af9738SPeter Avalos>0 ubyte 0xcb DR-DOS 7.04+ Secured FAT32 CHS 149e8af9738SPeter Avalos>0 ubyte 0xcc DR-DOS 7.04+ Secured FAT32 LBA 150e8af9738SPeter Avalos>0 ubyte 0xcd CTOS Memdump 151e8af9738SPeter Avalos>0 ubyte 0xce DR-DOS 7.04+ FAT16X LBA 152e8af9738SPeter Avalos>0 ubyte 0xcf DR-DOS 7.04+ EXT LBA 153e8af9738SPeter Avalos>0 ubyte 0xd0 REAL/32 secure big partition 154e8af9738SPeter Avalos>0 ubyte 0xd1 Old Multiuser DOS FAT12 155e8af9738SPeter Avalos>0 ubyte 0xd4 Old Multiuser DOS FAT16 Small 156e8af9738SPeter Avalos>0 ubyte 0xd5 Old Multiuser DOS Extended 157e8af9738SPeter Avalos>0 ubyte 0xd6 Old Multiuser DOS FAT16 Big 158e8af9738SPeter Avalos>0 ubyte 0xd8 CP/M 86 159e8af9738SPeter Avalos>0 ubyte 0xdb CP/M or Concurrent CP/M 160e8af9738SPeter Avalos>0 ubyte 0xdd Hidden CTOS Memdump 161e8af9738SPeter Avalos>0 ubyte 0xde Dell PowerEdge Server utilities 162e8af9738SPeter Avalos>0 ubyte 0xdf DG/UX virtual disk manager 163e8af9738SPeter Avalos>0 ubyte 0xe0 STMicroelectronics ST AVFS 164e8af9738SPeter Avalos>0 ubyte 0xe1 DOS access or SpeedStor 12-bit 165e8af9738SPeter Avalos>0 ubyte 0xe3 DOS R/O or Storage Dimensions 166e8af9738SPeter Avalos>0 ubyte 0xe4 SpeedStor 16-bit FAT < 1024 cyl. 167e8af9738SPeter Avalos>0 ubyte 0xe5 reserved 168e8af9738SPeter Avalos>0 ubyte 0xe6 reserved 169e8af9738SPeter Avalos>0 ubyte 0xeb BeOS 170e8af9738SPeter Avalos>0 ubyte 0xee GPT Protective MBR 171e8af9738SPeter Avalos>0 ubyte 0xef EFI system partition 172e8af9738SPeter Avalos>0 ubyte 0xf0 Linux PA-RISC boot loader 173e8af9738SPeter Avalos>0 ubyte 0xf1 SpeedStor or Storage Dimensions 174e8af9738SPeter Avalos>0 ubyte 0xf2 DOS 3.3+ Secondary 175e8af9738SPeter Avalos>0 ubyte 0xf3 reserved 176e8af9738SPeter Avalos>0 ubyte 0xf4 SpeedStor large partition 177e8af9738SPeter Avalos>0 ubyte 0xf5 Prologue multi-volumen partition 178e8af9738SPeter Avalos>0 ubyte 0xf6 reserved 179e8af9738SPeter Avalos>0 ubyte 0xf9 pCache: ext2/ext3 persistent cache 180e8af9738SPeter Avalos>0 ubyte 0xfa Bochs x86 emulator 181e8af9738SPeter Avalos>0 ubyte 0xfb VMware File System 182e8af9738SPeter Avalos>0 ubyte 0xfc VMware Swap 183e8af9738SPeter Avalos>0 ubyte 0xfd Linux RAID partition persistent sb 184e8af9738SPeter Avalos>0 ubyte 0xfe LANstep or IBM PS/2 IML 185e8af9738SPeter Avalos>0 ubyte 0xff Xenix Bad Block Table 186e8af9738SPeter Avalos 187327e51cbSPeter Avalos0 string \366\366\366\366 PC formatted floppy with no filesystem 188327e51cbSPeter Avalos# Sun disk labels 189327e51cbSPeter Avalos# From /usr/include/sun/dklabel.h: 190327e51cbSPeter Avalos0774 beshort 0xdabe 191327e51cbSPeter Avalos# modified by Joerg Jenderek, because original test 192327e51cbSPeter Avalos# succeeds for Cabinet archive dao360.dl_ with negative blocks 193327e51cbSPeter Avalos>0770 long >0 Sun disk label 194327e51cbSPeter Avalos>>0 string x '%s 195327e51cbSPeter Avalos>>>31 string >\0 \b%s 196327e51cbSPeter Avalos>>>>63 string >\0 \b%s 197327e51cbSPeter Avalos>>>>>95 string >\0 \b%s 198327e51cbSPeter Avalos>>0 string x \b' 199327e51cbSPeter Avalos>>0734 short >0 %d rpm, 200327e51cbSPeter Avalos>>0736 short >0 %d phys cys, 201327e51cbSPeter Avalos>>0740 short >0 %d alts/cyl, 202327e51cbSPeter Avalos>>0746 short >0 %d interleave, 203327e51cbSPeter Avalos>>0750 short >0 %d data cyls, 204327e51cbSPeter Avalos>>0752 short >0 %d alt cyls, 205327e51cbSPeter Avalos>>0754 short >0 %d heads/partition, 206327e51cbSPeter Avalos>>0756 short >0 %d sectors/track, 20782c5fa3eSPeter Avalos>>0764 long >0 start cyl %d, 20882c5fa3eSPeter Avalos>>0770 long x %d blocks 209327e51cbSPeter Avalos# Is there a boot block written 1 sector in? 210327e51cbSPeter Avalos>512 belong&077777777 0600407 \b, boot block present 211e8af9738SPeter Avalos 212e8af9738SPeter Avalos# Joerg Jenderek: Smart Boot Manager backup file is 25 (MSDOS) or 41 (LINUX) byte header + first sectors of disk 213327e51cbSPeter Avalos# (http://btmgr.sourceforge.net/docs/user-guide-3.html) 214327e51cbSPeter Avalos0 string SBMBAKUP_ Smart Boot Manager backup file 215327e51cbSPeter Avalos>9 string x \b, version %-5.5s 216327e51cbSPeter Avalos>>14 string =_ 217327e51cbSPeter Avalos>>>15 string x %-.1s 218327e51cbSPeter Avalos>>>>16 string =_ \b. 219327e51cbSPeter Avalos>>>>>17 string x \b%-.1s 220327e51cbSPeter Avalos>>>>>>18 string =_ \b. 221327e51cbSPeter Avalos>>>>>>>19 string x \b%-.1s 222327e51cbSPeter Avalos>>>22 ubyte 0 223614728caSSascha Wildner>>>>21 ubyte x \b, from drive %#x 224327e51cbSPeter Avalos>>>22 ubyte >0 225327e51cbSPeter Avalos>>>>21 string x \b, from drive %s 226e8af9738SPeter Avalos>>>535 search/17 \x55\xAA 227e8af9738SPeter Avalos>>>>&-512 indirect x \b; contains 228327e51cbSPeter Avalos 229e8af9738SPeter Avalos# updated by Joerg Jenderek at Nov 2012 230327e51cbSPeter Avalos# DOS Emulator image is 128 byte, null right padded header + harddisc image 231327e51cbSPeter Avalos0 string DOSEMU\0 232327e51cbSPeter Avalos>0x27E leshort 0xAA55 233327e51cbSPeter Avalos#offset is 128 234327e51cbSPeter Avalos>>19 ubyte 128 235327e51cbSPeter Avalos>>>(19.b-1) ubyte 0x0 DOS Emulator image 236327e51cbSPeter Avalos>>>>7 ulelong >0 \b, %u heads 237327e51cbSPeter Avalos>>>>11 ulelong >0 \b, %d sectors/track 238327e51cbSPeter Avalos>>>>15 ulelong >0 \b, %d cylinders 239e8af9738SPeter Avalos>>>>128 indirect x \b; contains 240327e51cbSPeter Avalos 241e8af9738SPeter Avalos# added by Joerg Jenderek at Nov 2012 242e8af9738SPeter Avalos# http://www.thenakedpc.com/articles/v04/08/0408-05.html 243e8af9738SPeter Avalos# Symantec (Peter Norton) Image.dat file consists of variable header, bootrecord, part of FAT and root directory data 244e8af9738SPeter Avalos0 string PNCIHISK\0 Norton Utilities disc image data 245e8af9738SPeter Avalos# real x86 boot sector with jump instruction 246e8af9738SPeter Avalos>509 search/1026 \x55\xAA\xeb 247e8af9738SPeter Avalos>>&-1 indirect x \b; contains 248e8af9738SPeter Avalos# http://file-extension.net/seeker/file_extension_dat 249e8af9738SPeter Avalos0 string PNCIUNDO Norton Disk Doctor UnDo file 250e8af9738SPeter Avalos# 251e8af9738SPeter Avalos 25282c5fa3eSPeter Avalos# DOS/MBR boot sector updated by Joerg Jenderek at Sep 2007,May 2011,2013 253e8af9738SPeter Avalos# for any allowed sector sizes 254e8af9738SPeter Avalos30 search/481 \x55\xAA 255e8af9738SPeter Avalos# 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) 256e8af9738SPeter Avalos# DOS BPB information (70) and after DOS floppy (120) like in previous file version 25782c5fa3eSPeter Avalos!:strength +65 258e8af9738SPeter Avalos# for sector sizes < 512 Bytes 259e8af9738SPeter Avalos>11 uleshort <512 260e8af9738SPeter Avalos>>(11.s-2) uleshort 0xAA55 DOS/MBR boot sector 261e8af9738SPeter Avalos# for sector sizes with 512 or more Bytes 262e8af9738SPeter Avalos>0x1FE leshort 0xAA55 DOS/MBR boot sector 26382c5fa3eSPeter Avalos 264970935fdSSascha Wildner# ExFAT 265970935fdSSascha Wildner3 string/w =EXFAT 266970935fdSSascha Wildner>0x1FE leshort 0xAA55 267970935fdSSascha Wildner>>0x6E ubyte 1 268970935fdSSascha Wildner>>>0x6F ubyte 0x80 269970935fdSSascha Wildner>>>0 ubyte 0xEB DOS/MBR boot sector, 270970935fdSSascha Wildner>>>0x69 ubyte x ExFAT Filesystem version %d. 271970935fdSSascha Wildner>>>0x68 ubyte x \b%d 272970935fdSSascha Wildner>>>0x6d ubyte x \b, (1<<%d) sectors per cluster 273970935fdSSascha Wildner>>>0x48 ulequad x \b, sectors %lld 274614728caSSascha Wildner>>>0x64 ulelong x \b, serial number %#x 275970935fdSSascha Wildner 276e8af9738SPeter Avalos# keep old DOS/MBR boot sector as dummy for mbr and bootloader displaying 277327e51cbSPeter Avalos# only for sector sizes with 512 or more Bytes 278e8af9738SPeter Avalos0x1FE leshort 0xAA55 DOS/MBR boot sector 27982c5fa3eSPeter Avalos# 280e8af9738SPeter Avalos# to display information (50) before DOS BPB (strength=70) and after DOS floppy (120) like in old file version 28182c5fa3eSPeter Avalos!:strength +65 28282c5fa3eSPeter Avalos>2 string OSBS OS/BS MBR 2836fca56fbSSascha Wildner# added by Joerg Jenderek at Feb 2013 according to https://thestarman.pcministry.com/asm/mbr/ 2846fca56fbSSascha Wildner# and https://en.wikipedia.org/wiki/Master_Boot_Record 285e8af9738SPeter Avalos# test for nearly all MS-DOS Master Boot Record initial program loader (IPL) is now done by 286e8af9738SPeter Avalos# characteristic assembler instructions: xor ax,ax;mov ss,ax;mov sp,7c00 287e8af9738SPeter Avalos>0 search/2 \x33\xc0\x8e\xd0\xbc\x00\x7c MS-MBR 2886fca56fbSSascha Wildner# Microsoft Windows 95A and early ( https://thestarman.pcministry.com/asm/mbr/STDMBR.htm ) 289e8af9738SPeter Avalos# assembler instructions: mov si,sp;push ax;pop es;push ax;pop ds;sti;cld 290e8af9738SPeter Avalos>>8 ubequad 0x8bf45007501ffbfc 2916fca56fbSSascha Wildner# https://thestarman.pcministry.com/asm/mbr/200MBR.htm 292e8af9738SPeter Avalos>>>0x16 ubyte 0xF3 \b,DOS 2 293e8af9738SPeter Avalos>>>>219 regex Author\ -\ Author: 294e8af9738SPeter Avalos# found "David Litton" , "A Pehrsson " 295e8af9738SPeter Avalos>>>>>&0 string x "%s" 296e8af9738SPeter Avalos>>>0x16 ubyte 0xF2 2976fca56fbSSascha Wildner# NEC MS-DOS 3.30 Rev. 3 . See https://thestarman.pcministry.com/asm/mbr/DOS33MBR.htm 298e8af9738SPeter Avalos# assembler instructions: mov di,077c;cmp word ptrl[di],a55a;jnz 299e8af9738SPeter Avalos>>>>0x22 ubequad 0xbf7c07813d5aa575 \b,NEC 3.3 300e8af9738SPeter Avalos# version MS-DOS 3.30 til MS-Windows 95A (WinVer=4.00.1111) 301e8af9738SPeter Avalos>>>>0x22 default x \b,D0S version 3.3-7.0 302e8af9738SPeter Avalos# error messages are printed by assembler instructions: mov si,06nn;...;int 10 (0xBEnn06;...) 303e8af9738SPeter Avalos# where nn is string offset varying for different languages 304e8af9738SPeter Avalos# "Invalid partition table" nn=0x8b for english version 305e8af9738SPeter Avalos>>>>>(0x49.b) string Invalid\ partition\ table english 306e8af9738SPeter Avalos>>>>>(0x49.b) string Ung\201ltige\ Partitionstabelle german 307e8af9738SPeter Avalos>>>>>(0x49.b) string Table\ de\ partition\ invalide french 308e8af9738SPeter Avalos>>>>>(0x49.b) string Tabela\ de\ parti\207ao\ inv\240lida portuguese 309e8af9738SPeter Avalos>>>>>(0x49.b) string Tabla\ de\ partici\242n\ no\ v\240lida spanish 310e8af9738SPeter Avalos>>>>>(0x49.b) string Tavola\ delle\ partizioni\ non\ valida italian 311614728caSSascha Wildner>>>>>0x49 ubyte >0 at offset %#x 312e8af9738SPeter Avalos>>>>>>(0x49.b) string >\0 "%s" 313e8af9738SPeter Avalos# "Error loading operating system" nn=0xa3 for english version 314e8af9738SPeter Avalos# "Fehler beim Laden des Betriebssystems" nn=0xa7 for german version 315e8af9738SPeter Avalos# "Erreur en chargeant syst\212me d'exploitation" nn=0xa7 for french version 316e8af9738SPeter Avalos# "Erro na inicializa\207ao do sistema operacional" nn=0xa7 for portuguese Brazilian version 317e8af9738SPeter Avalos# "Error al cargar sistema operativo" nn=0xa8 for spanish version 318e8af9738SPeter Avalos# "Errore durante il caricamento del sistema operativo" nn=0xae for italian version 319614728caSSascha Wildner>>>>>0x74 ubyte >0 at offset %#x 320e8af9738SPeter Avalos>>>>>>(0x74.b) string >\0 "%s" 321e8af9738SPeter Avalos# "Missing operating system" nn=0xc2 for english version 322e8af9738SPeter Avalos# "Betriebssystem fehlt" nn=0xcd for german version 323e8af9738SPeter Avalos# "Syst\212me d'exploitation absent" nn=0xd2 for french version 324e8af9738SPeter Avalos# "Sistema operacional nao encontrado" nn=0xd4 for portuguese Brazilian version 325e8af9738SPeter Avalos# "Falta sistema operativo" nn=0xca for spanish version 326e8af9738SPeter Avalos# "Sistema operativo mancante" nn=0xe2 for italian version 327614728caSSascha Wildner>>>>>0x79 ubyte >0 at offset %#x 328e8af9738SPeter Avalos>>>>>>(0x79.b) string >\0 "%s" 3296fca56fbSSascha Wildner# Microsoft Windows 95B to XP (https://thestarman.pcministry.com/asm/mbr/95BMEMBR.htm) 330e8af9738SPeter Avalos# assembler instructions: push ax;pop es;push ax;pop ds;cld;mov si,7c1b 331e8af9738SPeter Avalos>>8 ubequad 0x5007501ffcbe1b7c 332e8af9738SPeter Avalos# assembler instructions: rep;movsb;retf;mov si,07be;mov cl,04 333e8af9738SPeter Avalos>>>24 ubequad 0xf3a4cbbebe07b104 9M 334e8af9738SPeter Avalos# "Invalid partition table" nn=0x10F for english version 33582c5fa3eSPeter Avalos# "Ung\201ltige Partitionstabelle" nn=0x10F for german version 33682c5fa3eSPeter Avalos# "Table de partition erron\202e" nn=0x10F for french version 337e8af9738SPeter Avalos# "\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 338e8af9738SPeter Avalos>>>>(0x3C.b+0x0FF) string Invalid\ partition\ table english 339e8af9738SPeter Avalos>>>>(0x3C.b+0x0FF) string Ung\201ltige\ Partitionstabelle german 340e8af9738SPeter Avalos>>>>(0x3C.b+0x0FF) string Table\ de\ partition\ erron\202e french 341e8af9738SPeter Avalos>>>>(0x3C.b+0x0FF) string \215\245\257\340\240\242\250\253\354\255\240\357\ \342\240\241\253\250\346\240 russian 342614728caSSascha Wildner>>>>0x3C ubyte x at offset %#x+0xFF 343e8af9738SPeter Avalos>>>>(0x3C.b+0x0FF) string >\0 "%s" 344e8af9738SPeter Avalos# "Error loading operating system" nn=0x127 for english version 345e8af9738SPeter Avalos# "Fehler beim Laden des Betriebssystems" nn=0x12b for german version 34682c5fa3eSPeter Avalos# "Erreur lors du chargement du syst\212me d'exploitation" nn=0x12a for french version 347e8af9738SPeter Avalos# "\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 348e8af9738SPeter Avalos>>>>0xBD ubyte x at offset 0x1%x 349e8af9738SPeter Avalos>>>>(0xBD.b+0x100) string >\0 "%s" 350e8af9738SPeter Avalos# "Missing operating system" nn=0x146 for english version 351e8af9738SPeter Avalos# "Betriebssystem fehlt" nn=0x151 for german version 35282c5fa3eSPeter Avalos# "Syst\212me d'exploitation manquant" nn=0x15e for french version 353e8af9738SPeter Avalos# "\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 354e8af9738SPeter Avalos>>>>0xA9 ubyte x at offset 0x1%x 355e8af9738SPeter Avalos>>>>(0xA9.b+0x100) string >\0 "%s" 3566fca56fbSSascha Wildner# https://thestarman.pcministry.com/asm/mbr/Win2kmbr.htm 357e8af9738SPeter Avalos# assembler instructions: rep;movsb;retf;mov BP,07be;mov cl,04 358e8af9738SPeter Avalos>>>24 ubequad 0xf3a4cbbdbe07b104 XP 359e8af9738SPeter Avalos# where xxyyzz are lower bits from offsets of error messages varying for different languages 360e8af9738SPeter Avalos>>>>0x1B4 ubelong&0x00FFFFFF 0x002c4463 english 361e8af9738SPeter Avalos>>>>0x1B4 ubelong&0x00FFFFFF 0x002c486e german 362e8af9738SPeter Avalos# "Invalid partition table" xx=0x12C for english version 36382c5fa3eSPeter Avalos# "Ung\201ltige Partitionstabelle" xx=0x12C for german version 364e8af9738SPeter Avalos>>>>0x1b5 ubyte >0 at offset 0x1%x 365e8af9738SPeter Avalos>>>>(0x1b5.b+0x100) string >\0 "%s" 366e8af9738SPeter Avalos# "Error loading operating system" yy=0x144 for english version 367e8af9738SPeter Avalos# "Fehler beim Laden des Betriebssystems" yy=0x148 for german version 368e8af9738SPeter Avalos>>>>0x1b6 ubyte >0 at offset 0x1%x 369e8af9738SPeter Avalos>>>>(0x1b6.b+0x100) string >\0 "%s" 370e8af9738SPeter Avalos# "Missing operating system" zz=0x163 for english version 371e8af9738SPeter Avalos# "Betriebssystem nicht vorhanden" zz=0x16e for german version 372e8af9738SPeter Avalos>>>>0x1b7 ubyte >0 at offset 0x1%x 373e8af9738SPeter Avalos>>>>(0x1b7.b+0x100) string >\0 "%s" 374e8af9738SPeter Avalos# Microsoft Windows Vista or 7 375e8af9738SPeter Avalos# assembler instructions: ..;mov ds,ax;mov si,7c00;mov di,..00 376e8af9738SPeter Avalos>>8 ubequad 0xc08ed8be007cbf00 3776fca56fbSSascha Wildner# Microsoft Windows Vista (https://thestarman.pcministry.com/asm/mbr/VistaMBR.htm) 378e8af9738SPeter Avalos# assembler instructions: jnz 0729;cmp ebx,"TCPA" 379e8af9738SPeter Avalos>>>0xEC ubequad 0x753b6681fb544350 Vista 380e8af9738SPeter Avalos# where xxyyzz are lower bits from offsets of error messages varying for different languages 381e8af9738SPeter Avalos>>>>0x1B4 ubelong&0x00FFFFFF 0x00627a99 english 382e8af9738SPeter Avalos#>>>>0x1B4 ubelong&0x00FFFFFF ? german 383e8af9738SPeter Avalos# "Invalid partition table" xx=0x162 for english version 38482c5fa3eSPeter Avalos# "Ung\201ltige Partitionstabelle" xx=0x1?? for german version 385e8af9738SPeter Avalos>>>>0x1b5 ubyte >0 at offset 0x1%x 386e8af9738SPeter Avalos>>>>(0x1b5.b+0x100) string >\0 "%s" 387e8af9738SPeter Avalos# "Error loading operating system" yy=0x17a for english version 388e8af9738SPeter Avalos# "Fehler beim Laden des Betriebssystems" yy= 0x1?? for german version 389e8af9738SPeter Avalos>>>>0x1b6 ubyte >0 at offset 0x1%x 390e8af9738SPeter Avalos>>>>(0x1b6.b+0x100) string >\0 "%s" 391e8af9738SPeter Avalos# "Missing operating system" zz=0x199 for english version 392e8af9738SPeter Avalos# "Betriebssystem nicht vorhanden" zz=0x1?? for german version 393e8af9738SPeter Avalos>>>>0x1b7 ubyte >0 at offset 0x1%x 394e8af9738SPeter Avalos>>>>(0x1b7.b+0x100) string >\0 "%s" 3956fca56fbSSascha Wildner# Microsoft Windows 7 (https://thestarman.pcministry.com/asm/mbr/W7MBR.htm) 396e8af9738SPeter Avalos# assembler instructions: cmp ebx,"TCPA";cmp 397e8af9738SPeter Avalos>>>0xEC ubequad 0x6681fb5443504175 Windows 7 398e8af9738SPeter Avalos# where xxyyzz are lower bits from offsets of error messages varying for different languages 399e8af9738SPeter Avalos>>>>0x1B4 ubelong&0x00FFFFFF 0x00637b9a english 400e8af9738SPeter Avalos#>>>>0x1B4 ubelong&0x00FFFFFF ? german 401e8af9738SPeter Avalos# "Invalid partition table" xx=0x163 for english version 40282c5fa3eSPeter Avalos# "Ung\201ltige Partitionstabelle" xx=0x1?? for german version 403e8af9738SPeter Avalos>>>>0x1b5 ubyte >0 at offset 0x1%x 404e8af9738SPeter Avalos>>>>(0x1b5.b+0x100) string >\0 "%s" 405e8af9738SPeter Avalos# "Error loading operating system" yy=0x17b for english version 406e8af9738SPeter Avalos# "Fehler beim Laden des Betriebssystems" yy=0x1?? for german version 407e8af9738SPeter Avalos>>>>0x1b6 ubyte >0 at offset 0x1%x 408e8af9738SPeter Avalos>>>>(0x1b6.b+0x100) string >\0 "%s" 409e8af9738SPeter Avalos# "Missing operating system" zz=0x19a for english version 410e8af9738SPeter Avalos# "Betriebssystem nicht vorhanden" zz=0x1?? for german version 411e8af9738SPeter Avalos>>>>0x1b7 ubyte >0 at offset 0x1%x 412e8af9738SPeter Avalos>>>>(0x1b7.b+0x100) string >\0 "%s" 4136fca56fbSSascha Wildner# https://thestarman.pcministry.com/asm/mbr/Win2kmbr.htm#DiskSigs 4146fca56fbSSascha Wildner# https://en.wikipedia.org/wiki/MBR_disk_signature#ID 415614728caSSascha Wildner>>0x1b8 ulelong >0 \b, disk signature %#-.4x 4166fca56fbSSascha Wildner# driveID/timestamp for Win 95B,98,98SE and ME. See https://thestarman.pcministry.com/asm/mbr/mystery.htm 417e8af9738SPeter Avalos>>0xDA uleshort 0 418e8af9738SPeter Avalos>>>0xDC ulelong >0 \b, created 419e8af9738SPeter Avalos# physical drive number (0x80-0xFF) when the Windows wrote that byte to the drive 420614728caSSascha Wildner>>>>0xDC ubyte x with driveID %#x 421e8af9738SPeter Avalos# hours, minutes and seconds 422e8af9738SPeter Avalos>>>>0xDf ubyte x at %x 423e8af9738SPeter Avalos>>>>0xDe ubyte x \b:%x 424e8af9738SPeter Avalos>>>>0xDd ubyte x \b:%x 425e8af9738SPeter Avalos# special case for Microsoft MS-DOS 3.21 spanish 426e8af9738SPeter Avalos# assembler instructions: cli;mov $0x30,%ax;mov %ax,%ss;mov 427e8af9738SPeter Avalos>0 ubequad 0xfab830008ed0bc00 428e8af9738SPeter Avalos# assembler instructions: $0x1f00,%sp;mov $0x80cb,%di;add %cl,(%bx,%si);in (%dx),%ax;mov 429e8af9738SPeter Avalos>>8 ubequad 0x1fbfcb800008ed8 MS-MBR,D0S version 3.21 spanish 430e8af9738SPeter Avalos# Microsoft MBR IPL end 431e8af9738SPeter Avalos 432327e51cbSPeter Avalos# dr-dos with some upper-, lowercase variants 433327e51cbSPeter Avalos>0x9D string Invalid\ partition\ table$ 434327e51cbSPeter Avalos>>181 string No\ Operating\ System$ 435327e51cbSPeter Avalos>>>201 string Operating\ System\ load\ error$ \b, DR-DOS MBR, Version 7.01 to 7.03 436327e51cbSPeter Avalos>0x9D string Invalid\ partition\ table$ 437327e51cbSPeter Avalos>>181 string No\ operating\ system$ 438327e51cbSPeter Avalos>>>201 string Operating\ system\ load\ error$ \b, DR-DOS MBR, Version 7.01 to 7.03 439327e51cbSPeter Avalos>342 string Invalid\ partition\ table$ 440327e51cbSPeter Avalos>>366 string No\ operating\ system$ 441327e51cbSPeter Avalos>>>386 string Operating\ system\ load\ error$ \b, DR-DOS MBR, version 7.01 to 7.03 442327e51cbSPeter Avalos>295 string NEWLDR\0 443327e51cbSPeter Avalos>>302 string Bad\ PT\ $ 444327e51cbSPeter Avalos>>>310 string No\ OS\ $ 445327e51cbSPeter Avalos>>>>317 string OS\ load\ err$ 446327e51cbSPeter Avalos>>>>>329 string Moved\ or\ missing\ IBMBIO.LDR\n\r 447327e51cbSPeter Avalos>>>>>>358 string Press\ any\ key\ to\ continue.\n\r$ 448327e51cbSPeter Avalos>>>>>>>387 string Copyright\ (c)\ 1984,1998 449327e51cbSPeter Avalos>>>>>>>>411 string Caldera\ Inc.\0 \b, DR-DOS MBR (IBMBIO.LDR) 450327e51cbSPeter Avalos# 451e8af9738SPeter Avalos# tests for different MS-DOS Master Boot Records (MBR) moved and merged 452e8af9738SPeter Avalos# 45379343712SPeter Avalos#>0x145 string Default:\ F \b, FREE-DOS MBR 45479343712SPeter Avalos#>0x14B string Default:\ F \b, FREE-DOS 1.0 MBR 45579343712SPeter Avalos>0x145 search/7 Default:\ F \b, FREE-DOS MBR 45679343712SPeter Avalos#>>313 string F0\ .\ .\ . 45779343712SPeter Avalos#>>>322 string disk\ 1 45879343712SPeter Avalos#>>>>382 string FAT3 459327e51cbSPeter Avalos>64 string no\ active\ partition\ found 460327e51cbSPeter Avalos>>96 string read\ error\ while\ reading\ drive \b, FREE-DOS Beta 0.9 MBR 46179343712SPeter Avalos# Ranish Partition Manager http://www.ranish.com/part/ 46279343712SPeter Avalos>387 search/4 \0\ Error!\r 46379343712SPeter Avalos>>378 search/7 Virus! 464c30bd091SSascha Wildner>>>397 search/4 Booting\040 46579343712SPeter Avalos>>>>408 search/4 HD1/\0 \b, Ranish MBR ( 46679343712SPeter Avalos>>>>>416 string Writing\ changes... \b2.37 467614728caSSascha Wildner>>>>>>438 ubyte x \b,%#x dots 46879343712SPeter Avalos>>>>>>440 ubyte >0 \b,virus check 46979343712SPeter Avalos>>>>>>441 ubyte >0 \b,partition %c 47079343712SPeter Avalos#2.38,2.42,2.44 47179343712SPeter Avalos>>>>>416 string !Writing\ changes... \b 47279343712SPeter Avalos>>>>>>418 ubyte 1 \bvirus check, 473614728caSSascha Wildner>>>>>>419 ubyte x \b%#x seconds 47479343712SPeter Avalos>>>>>>420 ubyte&0x0F >0 \b,partition 47579343712SPeter Avalos>>>>>>>420 ubyte&0x0F <5 \b %x 47679343712SPeter Avalos>>>>>>>420 ubyte&0x0F 0Xf \b ask 47779343712SPeter Avalos>>>>>420 ubyte x \b) 47879343712SPeter Avalos# 479e8af9738SPeter Avalos# SYSLINUX MBR moved 4806fca56fbSSascha Wildner# https://www.acronis.de/ 481327e51cbSPeter Avalos>362 string MBR\ Error\ \0\r 482c30bd091SSascha Wildner>>376 string ress\ any\ key\ to\040 483327e51cbSPeter Avalos>>>392 string boot\ from\ floppy...\0 \b, Acronis MBR 484327e51cbSPeter Avalos# added by Joerg Jenderek 4856fca56fbSSascha Wildner# https://www.visopsys.org/ 4866fca56fbSSascha Wildner# https://partitionlogic.org.uk/ 487327e51cbSPeter Avalos>309 string No\ bootable\ partition\ found\r 488327e51cbSPeter Avalos>>339 string I/O\ Error\ reading\ boot\ sector\r \b, Visopsys MBR 489327e51cbSPeter Avalos>349 string No\ bootable\ partition\ found\r 490327e51cbSPeter Avalos>>379 string I/O\ Error\ reading\ boot\ sector\r \b, simple Visopsys MBR 491327e51cbSPeter Avalos# bootloader, bootmanager 492327e51cbSPeter Avalos>0x40 string SBML 493327e51cbSPeter Avalos# label with 11 characters of FAT 12 bit filesystem 494327e51cbSPeter Avalos>>43 string SMART\ BTMGR 49579343712SPeter Avalos>>>430 string SBMK\ Bad!\r \b, Smart Boot Manager 49679343712SPeter Avalos# OEM-ID not always "SBM" 49779343712SPeter Avalos#>>>>3 strings SBM 49879343712SPeter Avalos>>>>6 string >\0 \b, version %s 499327e51cbSPeter Avalos>382 string XOSLLOADXCF \b, eXtended Operating System Loader 500327e51cbSPeter Avalos>6 string LILO \b, LInux i386 boot LOader 501327e51cbSPeter Avalos>>120 string LILO \b, version 22.3.4 SuSe 502327e51cbSPeter Avalos>>172 string LILO \b, version 22.5.8 Debian 50379343712SPeter Avalos# updated by Joerg Jenderek at Oct 2008 504327e51cbSPeter Avalos# variables according to grub-0.97/stage1/stage1.S or 5056fca56fbSSascha Wildner# https://www.gnu.org/software/grub/manual/grub.html#Embedded-data 506970935fdSSascha Wildner# usual values are marked with comments to get only information of strange GRUB loaders 50779343712SPeter Avalos>342 search/60 \0Geom\0 50879343712SPeter Avalos#>0 ulelong x %x=0x009048EB , 0x2a9048EB 0 509327e51cbSPeter Avalos>>0x41 ubyte <2 510327e51cbSPeter Avalos>>>0x3E ubyte >2 \b; GRand Unified Bootloader 511327e51cbSPeter Avalos# 0x3 for 0.5.95,0.93,0.94,0.96 0x4 for 1.90 512614728caSSascha Wildner>>>>0x3E ubyte x \b, stage1 version %#x 513327e51cbSPeter Avalos#If it is 0xFF, use a drive passed by BIOS 514614728caSSascha Wildner>>>>0x40 ubyte <0xFF \b, boot drive %#x 515327e51cbSPeter Avalos# in most case 0,1,0x2e for GRUB 0.5.95 516614728caSSascha Wildner>>>>0x41 ubyte >0 \b, LBA flag %#x 517614728caSSascha Wildner>>>>0x42 uleshort <0x8000 \b, stage2 address %#x 518614728caSSascha Wildner#>>>>0x42 uleshort =0x8000 \b, stage2 address %#x (usual) 519614728caSSascha Wildner>>>>0x42 uleshort >0x8000 \b, stage2 address %#x 520614728caSSascha Wildner#>>>>0x44 ulelong =1 \b, 1st sector stage2 %#x (default) 521614728caSSascha Wildner>>>>0x44 ulelong >1 \b, 1st sector stage2 %#x 522614728caSSascha Wildner>>>>0x48 uleshort <0x800 \b, stage2 segment %#x 523614728caSSascha Wildner#>>>>0x48 uleshort =0x800 \b, stage2 segment %#x (usual) 524614728caSSascha Wildner>>>>0x48 uleshort >0x800 \b, stage2 segment %#x 525327e51cbSPeter Avalos>>>>402 string Geom\0Hard\ Disk\0Read\0\ Error\0 526327e51cbSPeter Avalos>>>>>394 string stage1 \b, GRUB version 0.5.95 527327e51cbSPeter Avalos>>>>382 string Geom\0Hard\ Disk\0Read\0\ Error\0 528327e51cbSPeter Avalos>>>>>376 string GRUB\ \0 \b, GRUB version 0.93 or 1.94 529327e51cbSPeter Avalos>>>>383 string Geom\0Hard\ Disk\0Read\0\ Error\0 530327e51cbSPeter Avalos>>>>>377 string GRUB\ \0 \b, GRUB version 0.94 531327e51cbSPeter Avalos>>>>385 string Geom\0Hard\ Disk\0Read\0\ Error\0 532327e51cbSPeter Avalos>>>>>379 string GRUB\ \0 \b, GRUB version 0.95 or 0.96 533327e51cbSPeter Avalos>>>>391 string Geom\0Hard\ Disk\0Read\0\ Error\0 534327e51cbSPeter Avalos>>>>>385 string GRUB\ \0 \b, GRUB version 0.97 53582c5fa3eSPeter Avalos# unknown version 536327e51cbSPeter Avalos>>>343 string Geom\0Read\0\ Error\0 537327e51cbSPeter Avalos>>>>321 string Loading\ stage1.5 \b, GRUB version x.y 538327e51cbSPeter Avalos>>>380 string Geom\0Hard\ Disk\0Read\0\ Error\0 539327e51cbSPeter Avalos>>>>374 string GRUB\ \0 \b, GRUB version n.m 540e8af9738SPeter Avalos# SYSLINUX bootloader moved 541327e51cbSPeter Avalos>395 string chksum\0\ ERROR!\0 \b, Gujin bootloader 542327e51cbSPeter Avalos# http://www.bcdwb.de/bcdw/index_e.htm 543327e51cbSPeter Avalos>3 string BCDL 544327e51cbSPeter Avalos>>498 string BCDL\ \ \ \ BIN \b, Bootable CD Loader (1.50Z) 545e8af9738SPeter Avalos# mbr partition table entries updated by Joerg Jenderek at Sep 2013 546e8af9738SPeter Avalos# skip Norton Utilities disc image data 547e8af9738SPeter Avalos>3 string !IHISK 548970935fdSSascha Wildner# skip Linux style boot sector starting with assembler instructions mov 0x7c0,ax; 549e8af9738SPeter Avalos>>0 belong !0xb8c0078e 550327e51cbSPeter Avalos# not Linux kernel 551e8af9738SPeter Avalos>>>514 string !HdrS 552327e51cbSPeter Avalos# not BeOS 553e8af9738SPeter Avalos>>>>422 string !Be\ Boot\ Loader 554e8af9738SPeter Avalos# jump over BPB instruction implies DOS bootsector or AdvanceMAME mbr 555e8af9738SPeter Avalos>>>>>0 ubelong&0xFD000000 =0xE9000000 556e8af9738SPeter Avalos# AdvanceMAME mbr 557e8af9738SPeter Avalos>>>>>>(1.b+2) ubequad 0xfa31c08ed88ec08e 558e8af9738SPeter Avalos>>>>>>>446 use partition-table 559e8af9738SPeter Avalos# mbr, Norton Utilities disc image data, or 2nd,etc. sector of x86 bootloader 560e8af9738SPeter Avalos>>>>>0 ubelong&0xFD000000 !0xE9000000 561e8af9738SPeter Avalos# skip FSInfosector 562e8af9738SPeter Avalos>>>>>>0 string !RRaA 563970935fdSSascha Wildner# skip 3rd sector of MS x86 bootloader with assembler instructions cli;MOVZX EAX,BYTE PTR [BP+10];MOV ECX, 5646fca56fbSSascha Wildner# https://thestarman.pcministry.com/asm/mbr/MSWIN41.htm 565e8af9738SPeter Avalos>>>>>>>0 ubequad !0xfa660fb64610668b 566e8af9738SPeter Avalos# skip 13rd sector of MS x86 bootloader 567e8af9738SPeter Avalos>>>>>>>>0 ubequad !0x660fb64610668b4e 568e8af9738SPeter Avalos# skip sector starting with DOS new line 569e8af9738SPeter Avalos>>>>>>>>>0 string !\r\n 570e8af9738SPeter Avalos# allowed active flag 0,80h-FFh 571e8af9738SPeter Avalos>>>>>>>>>>446 ubyte 0 572e8af9738SPeter Avalos>>>>>>>>>>>446 use partition-table 573e8af9738SPeter Avalos>>>>>>>>>>446 ubyte >0x7F 574e8af9738SPeter Avalos>>>>>>>>>>>446 use partition-table 575e8af9738SPeter Avalos# TODO: test for extended bootrecord (ebr) moved and merged with mbr partition table entries 576f72f8299SJan Lentfer# mbr partition table entries end 5776fca56fbSSascha Wildner# https://www.acronis.de/ 578327e51cbSPeter Avalos#FAT label=ACRONIS\ SZ 579327e51cbSPeter Avalos#OEM-ID=BOOTWIZ0 580c30bd091SSascha Wildner>442 string Non-system\ disk,\040 581327e51cbSPeter Avalos>>459 string press\ any\ key...\x7\0 \b, Acronis Startup Recovery Loader 58282c5fa3eSPeter Avalos# updated by Joerg Jenderek at Nov 2012, Sep 2013 583e8af9738SPeter Avalos# DOS names like F11.SYS or BOOTWIZ.SYS are 8 right space padded bytes+3 bytes 58482c5fa3eSPeter Avalos# display 1 space 58582c5fa3eSPeter Avalos>>>447 ubyte x \b 58682c5fa3eSPeter Avalos>>>477 use DOS-filename 587327e51cbSPeter Avalos# 588c30bd091SSascha Wildner>185 string FDBOOT\ Version\040 589c30bd091SSascha Wildner>>204 string \rNo\ Systemdisk.\040 590327e51cbSPeter Avalos>>>220 string Booting\ from\ harddisk.\n\r 591327e51cbSPeter Avalos>>>245 string Cannot\ load\ from\ harddisk.\n\r 592c30bd091SSascha Wildner>>>>273 string Insert\ Systemdisk\040 593327e51cbSPeter Avalos>>>>>291 string and\ press\ any\ key.\n\r \b, FDBOOT harddisk Bootloader 594327e51cbSPeter Avalos>>>>>>200 string >\0 \b, version %-3s 595327e51cbSPeter Avalos>242 string Bootsector\ from\ C.H.\ Hochst\204 596e8af9738SPeter Avalos# http://freecode.com/projects/dosfstools dosfstools-n.m/src/mkdosfs.c 597e8af9738SPeter Avalos# updated by Joerg Jenderek at Nov 2012. Use search directive with offset instead of string 598e8af9738SPeter Avalos# skip name "C.H. Hochstaetter" partly because it is sometimes written without umlaut 599e8af9738SPeter Avalos>242 search/127 Bootsector\ from\ C.H.\ Hochst 600e8af9738SPeter Avalos>>278 search/127 No\ Systemdisk.\ Booting\ from\ harddisk 601e8af9738SPeter Avalos# followed by variants with point,CR-NL or NL-CR 602e8af9738SPeter Avalos>>>208 search/261 Cannot\ load\ from\ harddisk. 603e8af9738SPeter Avalos# followed by variants CR-NL or NL-CR 604e8af9738SPeter Avalos>>>>236 search/235 Insert\ Systemdisk\ and\ press\ any\ key. 605e8af9738SPeter Avalos# followed by variants with point,CR-NL or NL-CR 606e8af9738SPeter Avalos>>>>>180 search/96 Disk\ formatted\ with\ WinImage\ \b, WinImage harddisk Bootloader 607e8af9738SPeter Avalos# followed by string like "6.50 (c) 1993-2004 Gilles Vollant" 608e8af9738SPeter Avalos>>>>>>&0 string x \b, version %-4.4s 609327e51cbSPeter Avalos>(1.b+2) ubyte 0xe 610327e51cbSPeter Avalos>>(1.b+3) ubyte 0x1f 611327e51cbSPeter Avalos>>>(1.b+4) ubyte 0xbe 612e8af9738SPeter Avalos# message offset found at (1.b+5) is 0x77 for FAT32 or 0x5b for others 613e8af9738SPeter Avalos>>>>(1.b+5) ubyte&0xd3 0x53 614e8af9738SPeter Avalos>>>>>(1.b+6) ubyte 0x7c 615e8af9738SPeter Avalos# assembler instructions: lodsb;and al,al;jz 0xb;push si;mov ah, 616e8af9738SPeter Avalos>>>>>>(1.b+7) ubyte 0xac 617e8af9738SPeter Avalos>>>>>>>(1.b+8) ubyte 0x22 618e8af9738SPeter Avalos>>>>>>>>(1.b+9) ubyte 0xc0 619e8af9738SPeter Avalos>>>>>>>>>(1.b+10) ubyte 0x74 620e8af9738SPeter Avalos>>>>>>>>>>(1.b+11) ubyte 0x0b 621e8af9738SPeter Avalos>>>>>>>>>>>(1.b+12) ubyte 0x56 622e8af9738SPeter Avalos>>>>>>>>>>>>(1.b+13) ubyte 0xb4 \b, mkdosfs boot message display 623e8af9738SPeter Avalos# FAT1X version 624e8af9738SPeter Avalos>>>>>>>>>>>>>(1.b+5) ubyte 0x5b 625e8af9738SPeter Avalos>>>>>>>>>>>>>>0x5b string >\0 "%-s" 626e8af9738SPeter Avalos# FAT32 version 627e8af9738SPeter Avalos>>>>>>>>>>>>>(1.b+5) ubyte 0x77 628e8af9738SPeter Avalos>>>>>>>>>>>>>>0x77 string >\0 "%-s" 62979343712SPeter Avalos>214 string Please\ try\ to\ install\ FreeDOS\ \b, DOS Emulator boot message display 63079343712SPeter Avalos#>>244 string from\ dosemu-freedos-*-bin.tgz\r 631c30bd091SSascha Wildner#>>>170 string Sorry,\ could\ not\ load\ an\040 63279343712SPeter Avalos#>>>>195 string operating\ system.\r\n 63379343712SPeter Avalos# 634c30bd091SSascha Wildner>103 string This\ is\ not\ a\ bootable\ disk.\040 635c30bd091SSascha Wildner>>132 string Please\ insert\ a\ bootable\040 636327e51cbSPeter Avalos>>>157 string floppy\ and\r\n 637327e51cbSPeter Avalos>>>>169 string press\ any\ key\ to\ try\ again...\r \b, FREE-DOS message display 638327e51cbSPeter Avalos# 639327e51cbSPeter Avalos>66 string Solaris\ Boot\ Sector 640327e51cbSPeter Avalos>>99 string Incomplete\ MDBoot\ load. 641327e51cbSPeter Avalos>>>89 string Version \b, Sun Solaris Bootloader 642327e51cbSPeter Avalos>>>>97 byte x version %c 643327e51cbSPeter Avalos# 644327e51cbSPeter Avalos>408 string OS/2\ !!\ SYS01475\r\0 645327e51cbSPeter Avalos>>429 string OS/2\ !!\ SYS02025\r\0 646327e51cbSPeter Avalos>>>450 string OS/2\ !!\ SYS02027\r\0 647327e51cbSPeter Avalos>>>469 string OS2BOOT\ \ \ \ \b, IBM OS/2 Warp bootloader 648327e51cbSPeter Avalos# 649327e51cbSPeter Avalos>409 string OS/2\ !!\ SYS01475\r\0 650327e51cbSPeter Avalos>>430 string OS/2\ !!\ SYS02025\r\0 651327e51cbSPeter Avalos>>>451 string OS/2\ !!\ SYS02027\r\0 652327e51cbSPeter Avalos>>>470 string OS2BOOT\ \ \ \ \b, IBM OS/2 Warp Bootloader 653327e51cbSPeter Avalos>112 string This\ disk\ is\ not\ bootable\r 654327e51cbSPeter Avalos>>142 string If\ you\ wish\ to\ make\ it\ bootable 655c30bd091SSascha Wildner>>>176 string run\ the\ DOS\ program\ SYS\040 656327e51cbSPeter Avalos>>>200 string after\ the\r 657327e51cbSPeter Avalos>>>>216 string system\ has\ been\ loaded\r\n 658c30bd091SSascha Wildner>>>>>242 string Please\ insert\ a\ DOS\ diskette\040 659c30bd091SSascha Wildner>>>>>271 string into\r\n\ the\ drive\ and\040 660327e51cbSPeter Avalos>>>>>>292 string strike\ any\ key...\0 \b, IBM OS/2 Warp message display 661327e51cbSPeter Avalos# XP 662327e51cbSPeter Avalos>430 string NTLDR\ is\ missing\xFF\r\n 663327e51cbSPeter Avalos>>449 string Disk\ error\xFF\r\n 664327e51cbSPeter Avalos>>>462 string Press\ any\ key\ to\ restart\r \b, Microsoft Windows XP Bootloader 665327e51cbSPeter Avalos# DOS names like NTLDR,CMLDR,$LDR$ are 8 right space padded bytes+3 bytes 666327e51cbSPeter Avalos>>>>417 ubyte&0xDF >0 667327e51cbSPeter Avalos>>>>>417 string x %-.5s 668327e51cbSPeter Avalos>>>>>>422 ubyte&0xDF >0 669327e51cbSPeter Avalos>>>>>>>422 string x \b%-.3s 670327e51cbSPeter Avalos>>>>>425 ubyte&0xDF >0 671327e51cbSPeter Avalos>>>>>>425 string >\ \b.%-.3s 672327e51cbSPeter Avalos# 673327e51cbSPeter Avalos>>>>371 ubyte >0x20 674327e51cbSPeter Avalos>>>>>368 ubyte&0xDF >0 675327e51cbSPeter Avalos>>>>>>368 string x %-.5s 676327e51cbSPeter Avalos>>>>>>>373 ubyte&0xDF >0 677327e51cbSPeter Avalos>>>>>>>>373 string x \b%-.3s 678327e51cbSPeter Avalos>>>>>>376 ubyte&0xDF >0 679327e51cbSPeter Avalos>>>>>>>376 string x \b.%-.3s 680327e51cbSPeter Avalos# 681327e51cbSPeter Avalos>430 string NTLDR\ nicht\ gefunden\xFF\r\n 682327e51cbSPeter Avalos>>453 string Datentr\204gerfehler\xFF\r\n 683327e51cbSPeter Avalos>>>473 string Neustart\ mit\ beliebiger\ Taste\r \b, Microsoft Windows XP Bootloader (german) 684327e51cbSPeter Avalos>>>>417 ubyte&0xDF >0 685327e51cbSPeter Avalos>>>>>417 string x %-.5s 686327e51cbSPeter Avalos>>>>>>422 ubyte&0xDF >0 687327e51cbSPeter Avalos>>>>>>>422 string x \b%-.3s 688327e51cbSPeter Avalos>>>>>425 ubyte&0xDF >0 689327e51cbSPeter Avalos>>>>>>425 string >\ \b.%-.3s 690327e51cbSPeter Avalos# offset variant 691327e51cbSPeter Avalos>>>>379 string \0 692327e51cbSPeter Avalos>>>>>368 ubyte&0xDF >0 693327e51cbSPeter Avalos>>>>>>368 string x %-.5s 694327e51cbSPeter Avalos>>>>>>>373 ubyte&0xDF >0 695327e51cbSPeter Avalos>>>>>>>>373 string x \b%-.3s 696327e51cbSPeter Avalos# 697327e51cbSPeter Avalos>430 string NTLDR\ fehlt\xFF\r\n 698327e51cbSPeter Avalos>>444 string Datentr\204gerfehler\xFF\r\n 699327e51cbSPeter Avalos>>>464 string Neustart\ mit\ beliebiger\ Taste\r \b, Microsoft Windows XP Bootloader (2.german) 700327e51cbSPeter Avalos>>>>417 ubyte&0xDF >0 701327e51cbSPeter Avalos>>>>>417 string x %-.5s 702327e51cbSPeter Avalos>>>>>>422 ubyte&0xDF >0 703327e51cbSPeter Avalos>>>>>>>422 string x \b%-.3s 704327e51cbSPeter Avalos>>>>>425 ubyte&0xDF >0 705327e51cbSPeter Avalos>>>>>>425 string >\ \b.%-.3s 706327e51cbSPeter Avalos# variant 707327e51cbSPeter Avalos>>>>371 ubyte >0x20 708327e51cbSPeter Avalos>>>>>368 ubyte&0xDF >0 709327e51cbSPeter Avalos>>>>>>368 string x %-.5s 710327e51cbSPeter Avalos>>>>>>>373 ubyte&0xDF >0 711327e51cbSPeter Avalos>>>>>>>>373 string x \b%-.3s 712327e51cbSPeter Avalos>>>>>>376 ubyte&0xDF >0 713327e51cbSPeter Avalos>>>>>>>376 string x \b.%-.3s 714327e51cbSPeter Avalos# 715327e51cbSPeter Avalos>430 string NTLDR\ fehlt\xFF\r\n 716327e51cbSPeter Avalos>>444 string Medienfehler\xFF\r\n 717327e51cbSPeter Avalos>>>459 string Neustart:\ Taste\ dr\201cken\r \b, Microsoft Windows XP Bootloader (3.german) 718327e51cbSPeter Avalos>>>>371 ubyte >0x20 719327e51cbSPeter Avalos>>>>>368 ubyte&0xDF >0 720327e51cbSPeter Avalos>>>>>>368 string x %-.5s 721327e51cbSPeter Avalos>>>>>>>373 ubyte&0xDF >0 722327e51cbSPeter Avalos>>>>>>>>373 string x \b%-.3s 723327e51cbSPeter Avalos>>>>>>376 ubyte&0xDF >0 724327e51cbSPeter Avalos>>>>>>>376 string x \b.%-.3s 725327e51cbSPeter Avalos# variant 726327e51cbSPeter Avalos>>>>417 ubyte&0xDF >0 727327e51cbSPeter Avalos>>>>>417 string x %-.5s 728327e51cbSPeter Avalos>>>>>>422 ubyte&0xDF >0 729327e51cbSPeter Avalos>>>>>>>422 string x \b%-.3s 730327e51cbSPeter Avalos>>>>>425 ubyte&0xDF >0 731327e51cbSPeter Avalos>>>>>>425 string >\ \b.%-.3s 732327e51cbSPeter Avalos# 733327e51cbSPeter Avalos>430 string Datentr\204ger\ entfernen\xFF\r\n 734327e51cbSPeter Avalos>>454 string Medienfehler\xFF\r\n 735327e51cbSPeter Avalos>>>469 string Neustart:\ Taste\ dr\201cken\r \b, Microsoft Windows XP Bootloader (4.german) 73679343712SPeter Avalos>>>>379 string \0 73779343712SPeter Avalos>>>>>368 ubyte&0xDF >0 73879343712SPeter Avalos>>>>>>368 string x %-.5s 73979343712SPeter Avalos>>>>>>>373 ubyte&0xDF >0 74079343712SPeter Avalos>>>>>>>>373 string x \b%-.3s 74179343712SPeter Avalos>>>>>>376 ubyte&0xDF >0 74279343712SPeter Avalos>>>>>>>376 string x \b.%-.3s 74379343712SPeter Avalos# variant 74479343712SPeter Avalos>>>>417 ubyte&0xDF >0 74579343712SPeter Avalos>>>>>417 string x %-.5s 74679343712SPeter Avalos>>>>>>422 ubyte&0xDF >0 74779343712SPeter Avalos>>>>>>>422 string x \b%-.3s 74879343712SPeter Avalos>>>>>425 ubyte&0xDF >0 74979343712SPeter Avalos>>>>>>425 string >\ \b.%-.3s 75079343712SPeter Avalos# 75179343712SPeter Avalos 752c30bd091SSascha Wildner#>3 string NTFS\ \ \ \040 753c30bd091SSascha Wildner>389 string Fehler\ beim\ Lesen\040 754327e51cbSPeter Avalos>>407 string des\ Datentr\204gers 755327e51cbSPeter Avalos>>>426 string NTLDR\ fehlt 756327e51cbSPeter Avalos>>>>440 string NTLDR\ ist\ komprimiert 757327e51cbSPeter Avalos>>>>>464 string Neustart\ mit\ Strg+Alt+Entf\r \b, Microsoft Windows XP Bootloader NTFS (german) 758c30bd091SSascha Wildner#>3 string NTFS\ \ \ \040 759327e51cbSPeter Avalos>313 string A\ disk\ read\ error\ occurred.\r 760c30bd091SSascha Wildner>>345 string A\ kernel\ file\ is\ missing\040 761327e51cbSPeter Avalos>>>370 string from\ the\ disk.\r 762327e51cbSPeter Avalos>>>>484 string NTLDR\ is\ compressed 763c30bd091SSascha Wildner>>>>>429 string Insert\ a\ system\ diskette\040 764327e51cbSPeter Avalos>>>>>>454 string and\ restart\r\nthe\ system.\r \b, Microsoft Windows XP Bootloader NTFS 765327e51cbSPeter Avalos# DOS loader variants different languages,offsets 766327e51cbSPeter Avalos>472 ubyte&0xDF >0 767327e51cbSPeter Avalos>>389 string Invalid\ system\ disk\xFF\r\n 768327e51cbSPeter Avalos>>>411 string Disk\ I/O\ error 769c30bd091SSascha Wildner>>>>428 string Replace\ the\ disk,\ and\040 770327e51cbSPeter Avalos>>>>>455 string press\ any\ key \b, Microsoft Windows 98 Bootloader 771327e51cbSPeter Avalos#IO.SYS 772327e51cbSPeter Avalos>>>>>>472 ubyte&0xDF >0 773327e51cbSPeter Avalos>>>>>>>472 string x \b %-.2s 774327e51cbSPeter Avalos>>>>>>>>474 ubyte&0xDF >0 775327e51cbSPeter Avalos>>>>>>>>>474 string x \b%-.5s 776327e51cbSPeter Avalos>>>>>>>>>>479 ubyte&0xDF >0 777327e51cbSPeter Avalos>>>>>>>>>>>479 string x \b%-.1s 778327e51cbSPeter Avalos>>>>>>>480 ubyte&0xDF >0 779327e51cbSPeter Avalos>>>>>>>>480 string x \b.%-.3s 780327e51cbSPeter Avalos#MSDOS.SYS 781327e51cbSPeter Avalos>>>>>>>483 ubyte&0xDF >0 \b+ 782327e51cbSPeter Avalos>>>>>>>>483 string x \b%-.5s 783327e51cbSPeter Avalos>>>>>>>>>488 ubyte&0xDF >0 784327e51cbSPeter Avalos>>>>>>>>>>488 string x \b%-.3s 785327e51cbSPeter Avalos>>>>>>>>491 ubyte&0xDF >0 786327e51cbSPeter Avalos>>>>>>>>>491 string x \b.%-.3s 787327e51cbSPeter Avalos# 788327e51cbSPeter Avalos>>390 string Invalid\ system\ disk\xFF\r\n 789327e51cbSPeter Avalos>>>412 string Disk\ I/O\ error\xFF\r\n 790c30bd091SSascha Wildner>>>>429 string Replace\ the\ disk,\ and\040 791327e51cbSPeter Avalos>>>>>451 string then\ press\ any\ key\r \b, Microsoft Windows 98 Bootloader 792327e51cbSPeter Avalos>>388 string Ungueltiges\ System\ \xFF\r\n 793327e51cbSPeter Avalos>>>410 string E/A-Fehler\ \ \ \ \xFF\r\n 794c30bd091SSascha Wildner>>>>427 string Datentraeger\ wechseln\ und\040 795327e51cbSPeter Avalos>>>>>453 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (german) 796327e51cbSPeter Avalos#WINBOOT.SYS only not spaces (0xDF) 797327e51cbSPeter Avalos>>>>>>497 ubyte&0xDF >0 798327e51cbSPeter Avalos>>>>>>>497 string x %-.5s 799327e51cbSPeter Avalos>>>>>>>>502 ubyte&0xDF >0 800327e51cbSPeter Avalos>>>>>>>>>502 string x \b%-.1s 801327e51cbSPeter Avalos>>>>>>>>>>503 ubyte&0xDF >0 802327e51cbSPeter Avalos>>>>>>>>>>>503 string x \b%-.1s 803327e51cbSPeter Avalos>>>>>>>>>>>>504 ubyte&0xDF >0 804327e51cbSPeter Avalos>>>>>>>>>>>>>504 string x \b%-.1s 805327e51cbSPeter Avalos>>>>>>505 ubyte&0xDF >0 806327e51cbSPeter Avalos>>>>>>>505 string x \b.%-.3s 807327e51cbSPeter Avalos#IO.SYS 808327e51cbSPeter Avalos>>>>>>472 ubyte&0xDF >0 or 809327e51cbSPeter Avalos>>>>>>>472 string x \b %-.2s 810327e51cbSPeter Avalos>>>>>>>>474 ubyte&0xDF >0 811327e51cbSPeter Avalos>>>>>>>>>474 string x \b%-.5s 812327e51cbSPeter Avalos>>>>>>>>>>479 ubyte&0xDF >0 813327e51cbSPeter Avalos>>>>>>>>>>>479 string x \b%-.1s 814327e51cbSPeter Avalos>>>>>>>480 ubyte&0xDF >0 815327e51cbSPeter Avalos>>>>>>>>480 string x \b.%-.3s 816327e51cbSPeter Avalos#MSDOS.SYS 817327e51cbSPeter Avalos>>>>>>>483 ubyte&0xDF >0 \b+ 818327e51cbSPeter Avalos>>>>>>>>483 string x \b%-.5s 819327e51cbSPeter Avalos>>>>>>>>>488 ubyte&0xDF >0 820327e51cbSPeter Avalos>>>>>>>>>>488 string x \b%-.3s 821327e51cbSPeter Avalos>>>>>>>>491 ubyte&0xDF >0 822327e51cbSPeter Avalos>>>>>>>>>491 string x \b.%-.3s 823327e51cbSPeter Avalos# 824327e51cbSPeter Avalos>>390 string Ungueltiges\ System\ \xFF\r\n 825327e51cbSPeter Avalos>>>412 string E/A-Fehler\ \ \ \ \xFF\r\n 826c30bd091SSascha Wildner>>>>429 string Datentraeger\ wechseln\ und\040 827327e51cbSPeter Avalos>>>>>455 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (German) 828327e51cbSPeter Avalos#WINBOOT.SYS only not spaces (0xDF) 829327e51cbSPeter Avalos>>>>>>497 ubyte&0xDF >0 830327e51cbSPeter Avalos>>>>>>>497 string x %-.7s 831327e51cbSPeter Avalos>>>>>>>>504 ubyte&0xDF >0 832327e51cbSPeter Avalos>>>>>>>>>504 string x \b%-.1s 833327e51cbSPeter Avalos>>>>>>505 ubyte&0xDF >0 834327e51cbSPeter Avalos>>>>>>>505 string x \b.%-.3s 835327e51cbSPeter Avalos#IO.SYS 836327e51cbSPeter Avalos>>>>>>472 ubyte&0xDF >0 or 837327e51cbSPeter Avalos>>>>>>>472 string x \b %-.2s 838327e51cbSPeter Avalos>>>>>>>>474 ubyte&0xDF >0 839327e51cbSPeter Avalos>>>>>>>>>474 string x \b%-.6s 840327e51cbSPeter Avalos>>>>>>>480 ubyte&0xDF >0 841327e51cbSPeter Avalos>>>>>>>>480 string x \b.%-.3s 842327e51cbSPeter Avalos#MSDOS.SYS 843327e51cbSPeter Avalos>>>>>>>483 ubyte&0xDF >0 \b+ 844327e51cbSPeter Avalos>>>>>>>>483 string x \b%-.5s 845327e51cbSPeter Avalos>>>>>>>>>488 ubyte&0xDF >0 846327e51cbSPeter Avalos>>>>>>>>>>488 string x \b%-.3s 847327e51cbSPeter Avalos>>>>>>>>491 ubyte&0xDF >0 848327e51cbSPeter Avalos>>>>>>>>>491 string x \b.%-.3s 849327e51cbSPeter Avalos# 850327e51cbSPeter Avalos>>389 string Ungueltiges\ System\ \xFF\r\n 851327e51cbSPeter Avalos>>>411 string E/A-Fehler\ \ \ \ \xFF\r\n 852c30bd091SSascha Wildner>>>>428 string Datentraeger\ wechseln\ und\040 853327e51cbSPeter Avalos>>>>>454 string Taste\ druecken\r \b, Microsoft Windows 95/98/ME Bootloader (GERMAN) 854327e51cbSPeter Avalos# DOS names like IO.SYS,WINBOOT.SYS,MSDOS.SYS,WINBOOT.INI are 8 right space padded bytes+3 bytes 855327e51cbSPeter Avalos>>>>>>472 string x %-.2s 856327e51cbSPeter Avalos>>>>>>>474 ubyte&0xDF >0 857327e51cbSPeter Avalos>>>>>>>>474 string x \b%-.5s 858327e51cbSPeter Avalos>>>>>>>>479 ubyte&0xDF >0 859327e51cbSPeter Avalos>>>>>>>>>479 string x \b%-.1s 860327e51cbSPeter Avalos>>>>>>480 ubyte&0xDF >0 861327e51cbSPeter Avalos>>>>>>>480 string x \b.%-.3s 862327e51cbSPeter Avalos>>>>>>483 ubyte&0xDF >0 \b+ 863327e51cbSPeter Avalos>>>>>>>483 string x \b%-.5s 864327e51cbSPeter Avalos>>>>>>>488 ubyte&0xDF >0 865327e51cbSPeter Avalos>>>>>>>>488 string x \b%-.2s 866327e51cbSPeter Avalos>>>>>>>>490 ubyte&0xDF >0 867327e51cbSPeter Avalos>>>>>>>>>490 string x \b%-.1s 868327e51cbSPeter Avalos>>>>>>>491 ubyte&0xDF >0 869327e51cbSPeter Avalos>>>>>>>>491 string x \b.%-.3s 870327e51cbSPeter Avalos>479 ubyte&0xDF >0 871c30bd091SSascha Wildner>>416 string Kein\ System\ oder\040 872327e51cbSPeter Avalos>>>433 string Laufwerksfehler 873327e51cbSPeter Avalos>>>>450 string Wechseln\ und\ Taste\ dr\201cken \b, Microsoft DOS Bootloader (german) 874327e51cbSPeter Avalos#IO.SYS 875327e51cbSPeter Avalos>>>>>479 string x \b %-.2s 876327e51cbSPeter Avalos>>>>>>481 ubyte&0xDF >0 877327e51cbSPeter Avalos>>>>>>>481 string x \b%-.6s 878327e51cbSPeter Avalos>>>>>487 ubyte&0xDF >0 879327e51cbSPeter Avalos>>>>>>487 string x \b.%-.3s 880327e51cbSPeter Avalos#MSDOS.SYS 881327e51cbSPeter Avalos>>>>>>490 ubyte&0xDF >0 \b+ 882327e51cbSPeter Avalos>>>>>>>490 string x \b%-.5s 883327e51cbSPeter Avalos>>>>>>>>495 ubyte&0xDF >0 884327e51cbSPeter Avalos>>>>>>>>>495 string x \b%-.3s 885327e51cbSPeter Avalos>>>>>>>498 ubyte&0xDF >0 886327e51cbSPeter Avalos>>>>>>>>498 string x \b.%-.3s 887327e51cbSPeter Avalos# 888c30bd091SSascha Wildner>376 search/41 Non-System\ disk\ or\040 889327e51cbSPeter Avalos>>395 search/41 disk\ error\r 890c30bd091SSascha Wildner>>>407 search/41 Replace\ and\040 891327e51cbSPeter Avalos>>>>419 search/41 press\ \b, 892327e51cbSPeter Avalos>>>>419 search/41 strike\ \b, old 893327e51cbSPeter Avalos>>>>426 search/41 any\ key\ when\ ready\r MS or PC-DOS bootloader 894327e51cbSPeter Avalos#449 Disk\ Boot\ failure\r MS 3.21 895327e51cbSPeter Avalos#466 Boot\ Failure\r MS 3.30 896327e51cbSPeter Avalos>>>>>468 search/18 \0 897327e51cbSPeter Avalos#IO.SYS,IBMBIO.COM 898327e51cbSPeter Avalos>>>>>>&0 string x \b %-.2s 899327e51cbSPeter Avalos>>>>>>>&-20 ubyte&0xDF >0 900327e51cbSPeter Avalos>>>>>>>>&-1 string x \b%-.4s 901327e51cbSPeter Avalos>>>>>>>>>&-16 ubyte&0xDF >0 902327e51cbSPeter Avalos>>>>>>>>>>&-1 string x \b%-.2s 903327e51cbSPeter Avalos>>>>>>&8 ubyte&0xDF >0 \b. 904327e51cbSPeter Avalos>>>>>>>&-1 string x \b%-.3s 905327e51cbSPeter Avalos#MSDOS.SYS,IBMDOS.COM 906327e51cbSPeter Avalos>>>>>>&11 ubyte&0xDF >0 \b+ 907327e51cbSPeter Avalos>>>>>>>&-1 string x \b%-.5s 908327e51cbSPeter Avalos>>>>>>>>&-6 ubyte&0xDF >0 909327e51cbSPeter Avalos>>>>>>>>>&-1 string x \b%-.1s 910327e51cbSPeter Avalos>>>>>>>>>>&-5 ubyte&0xDF >0 911327e51cbSPeter Avalos>>>>>>>>>>>&-1 string x \b%-.2s 912327e51cbSPeter Avalos>>>>>>>&7 ubyte&0xDF >0 \b. 913327e51cbSPeter Avalos>>>>>>>>&-1 string x \b%-.3s 914327e51cbSPeter Avalos>441 string Cannot\ load\ from\ harddisk.\n\r 915c30bd091SSascha Wildner>>469 string Insert\ Systemdisk\040 916327e51cbSPeter Avalos>>>487 string and\ press\ any\ key.\n\r \b, MS (2.11) DOS bootloader 917327e51cbSPeter Avalos#>43 string \224R-LOADER\ \ SYS =label 918327e51cbSPeter Avalos>54 string SYS 919327e51cbSPeter Avalos>>324 string VASKK 920327e51cbSPeter Avalos>>>495 string NEWLDR\0 \b, DR-DOS Bootloader (LOADER.SYS) 921327e51cbSPeter Avalos# 922327e51cbSPeter Avalos>98 string Press\ a\ key\ to\ retry\0\r 923327e51cbSPeter Avalos>>120 string Cannot\ find\ file\ \0\r 924327e51cbSPeter Avalos>>>139 string Disk\ read\ error\0\r 925327e51cbSPeter Avalos>>>>156 string Loading\ ...\0 \b, DR-DOS (3.41) Bootloader 926327e51cbSPeter Avalos#DRBIOS.SYS 927327e51cbSPeter Avalos>>>>>44 ubyte&0xDF >0 928327e51cbSPeter Avalos>>>>>>44 string x \b %-.6s 929327e51cbSPeter Avalos>>>>>>>50 ubyte&0xDF >0 930327e51cbSPeter Avalos>>>>>>>>50 string x \b%-.2s 931327e51cbSPeter Avalos>>>>>>52 ubyte&0xDF >0 932327e51cbSPeter Avalos>>>>>>>52 string x \b.%-.3s 933327e51cbSPeter Avalos# 934327e51cbSPeter Avalos>70 string IBMBIO\ \ COM 935c30bd091SSascha Wildner>>472 string Cannot\ load\ DOS!\040 936327e51cbSPeter Avalos>>>489 string Any\ key\ to\ retry \b, DR-DOS Bootloader 937c30bd091SSascha Wildner>>471 string Cannot\ load\ DOS\040 938327e51cbSPeter Avalos>>487 string press\ key\ to\ retry \b, Open-DOS Bootloader 93979343712SPeter Avalos#?? 940327e51cbSPeter Avalos>444 string KERNEL\ \ SYS 941327e51cbSPeter Avalos>>314 string BOOT\ error! \b, FREE-DOS Bootloader 942327e51cbSPeter Avalos>499 string KERNEL\ \ SYS 943327e51cbSPeter Avalos>>305 string BOOT\ err!\0 \b, Free-DOS Bootloader 944327e51cbSPeter Avalos>449 string KERNEL\ \ SYS 945327e51cbSPeter Avalos>>319 string BOOT\ error! \b, FREE-DOS 0.5 Bootloader 94679343712SPeter Avalos# 94779343712SPeter Avalos>449 string Loading\ FreeDOS 94879343712SPeter Avalos>>0x1AF ulelong >0 \b, FREE-DOS 0.95,1.0 Bootloader 94979343712SPeter Avalos>>>497 ubyte&0xDF >0 95079343712SPeter Avalos>>>>497 string x \b %-.6s 95179343712SPeter Avalos>>>>>503 ubyte&0xDF >0 95279343712SPeter Avalos>>>>>>503 string x \b%-.1s 95379343712SPeter Avalos>>>>>>>504 ubyte&0xDF >0 95479343712SPeter Avalos>>>>>>>>504 string x \b%-.1s 95579343712SPeter Avalos>>>>505 ubyte&0xDF >0 95679343712SPeter Avalos>>>>>505 string x \b.%-.3s 95779343712SPeter Avalos# 95879343712SPeter Avalos>331 string Error!.0 \b, FREE-DOS 1.0 bootloader 95979343712SPeter Avalos# 960327e51cbSPeter Avalos>125 string Loading\ FreeDOS...\r 961327e51cbSPeter Avalos>>311 string BOOT\ error!\r \b, FREE-DOS bootloader 962327e51cbSPeter Avalos>>>441 ubyte&0xDF >0 963327e51cbSPeter Avalos>>>>441 string x \b %-.6s 964327e51cbSPeter Avalos>>>>>447 ubyte&0xDF >0 965327e51cbSPeter Avalos>>>>>>447 string x \b%-.1s 966327e51cbSPeter Avalos>>>>>>>448 ubyte&0xDF >0 967327e51cbSPeter Avalos>>>>>>>>448 string x \b%-.1s 968327e51cbSPeter Avalos>>>>449 ubyte&0xDF >0 969327e51cbSPeter Avalos>>>>>449 string x \b.%-.3s 970327e51cbSPeter Avalos>124 string FreeDOS\0 971327e51cbSPeter Avalos>>331 string \ err\0 \b, FREE-DOS BETa 0.9 Bootloader 972327e51cbSPeter Avalos# DOS names like KERNEL.SYS,KERNEL16.SYS,KERNEL32.SYS,METAKERN.SYS are 8 right space padded bytes+3 bytes 973327e51cbSPeter Avalos>>>497 ubyte&0xDF >0 974327e51cbSPeter Avalos>>>>497 string x \b %-.6s 975327e51cbSPeter Avalos>>>>>503 ubyte&0xDF >0 976327e51cbSPeter Avalos>>>>>>503 string x \b%-.1s 977327e51cbSPeter Avalos>>>>>>>504 ubyte&0xDF >0 978327e51cbSPeter Avalos>>>>>>>>504 string x \b%-.1s 979327e51cbSPeter Avalos>>>>505 ubyte&0xDF >0 980327e51cbSPeter Avalos>>>>>505 string x \b.%-.3s 981327e51cbSPeter Avalos>>333 string \ err\0 \b, FREE-DOS BEta 0.9 Bootloader 982327e51cbSPeter Avalos>>>497 ubyte&0xDF >0 983327e51cbSPeter Avalos>>>>497 string x \b %-.6s 984327e51cbSPeter Avalos>>>>>503 ubyte&0xDF >0 985327e51cbSPeter Avalos>>>>>>503 string x \b%-.1s 986327e51cbSPeter Avalos>>>>>>>504 ubyte&0xDF >0 987327e51cbSPeter Avalos>>>>>>>>504 string x \b%-.1s 988327e51cbSPeter Avalos>>>>505 ubyte&0xDF >0 989327e51cbSPeter Avalos>>>>>505 string x \b.%-.3s 990327e51cbSPeter Avalos>>334 string \ err\0 \b, FREE-DOS Beta 0.9 Bootloader 991327e51cbSPeter Avalos>>>497 ubyte&0xDF >0 992327e51cbSPeter Avalos>>>>497 string x \b %-.6s 993327e51cbSPeter Avalos>>>>>503 ubyte&0xDF >0 994327e51cbSPeter Avalos>>>>>>503 string x \b%-.1s 995327e51cbSPeter Avalos>>>>>>>504 ubyte&0xDF >0 996327e51cbSPeter Avalos>>>>>>>>504 string x \b%-.1s 997327e51cbSPeter Avalos>>>>505 ubyte&0xDF >0 998327e51cbSPeter Avalos>>>>>505 string x \b.%-.3s 999c30bd091SSascha Wildner>336 string Error!\040 1000327e51cbSPeter Avalos>>343 string Hit\ a\ key\ to\ reboot. \b, FREE-DOS Beta 0.9sr1 Bootloader 1001327e51cbSPeter Avalos>>>497 ubyte&0xDF >0 1002327e51cbSPeter Avalos>>>>497 string x \b %-.6s 1003327e51cbSPeter Avalos>>>>>503 ubyte&0xDF >0 1004327e51cbSPeter Avalos>>>>>>503 string x \b%-.1s 1005327e51cbSPeter Avalos>>>>>>>504 ubyte&0xDF >0 1006327e51cbSPeter Avalos>>>>>>>>504 string x \b%-.1s 1007327e51cbSPeter Avalos>>>>505 ubyte&0xDF >0 1008327e51cbSPeter Avalos>>>>>505 string x \b.%-.3s 1009327e51cbSPeter Avalos# added by Joerg Jenderek 10106fca56fbSSascha Wildner# https://www.visopsys.org/ 10116fca56fbSSascha Wildner# https://partitionlogic.org.uk/ 1012327e51cbSPeter Avalos# OEM-ID=Visopsys 1013327e51cbSPeter Avalos>478 ulelong 0 1014c30bd091SSascha Wildner>>(1.b+326) string I/O\ Error\ reading\040 1015327e51cbSPeter Avalos>>>(1.b+344) string Visopsys\ loader\r 1016327e51cbSPeter Avalos>>>>(1.b+361) string Press\ any\ key\ to\ continue.\r \b, Visopsys loader 1017327e51cbSPeter Avalos# http://alexfru.chat.ru/epm.html#bootprog 1018327e51cbSPeter Avalos>494 ubyte >0x4D 1019327e51cbSPeter Avalos>>495 string >E 1020327e51cbSPeter Avalos>>>495 string <S 1021327e51cbSPeter Avalos#OEM-ID is not reliable 1022327e51cbSPeter Avalos>>>>3 string BootProg 1023327e51cbSPeter Avalos# It just looks for a program file name at the root directory 1024327e51cbSPeter Avalos# and loads corresponding file with following execution. 1025327e51cbSPeter Avalos# DOS names like STARTUP.BIN,STARTUPC.COM,STARTUPE.EXE are 8 right space padded bytes+3 bytes 1026327e51cbSPeter Avalos>>>>499 ubyte&0xDF >0 \b, COM/EXE Bootloader 102782c5fa3eSPeter Avalos>>>>>499 use DOS-filename 1028327e51cbSPeter Avalos#If the boot sector fails to read any other sector, 1029327e51cbSPeter Avalos#it prints a very short message ("RE") to the screen and hangs the computer. 1030327e51cbSPeter Avalos#If the boot sector fails to find needed program in the root directory, 1031327e51cbSPeter Avalos#it also hangs with another message ("NF"). 1032327e51cbSPeter Avalos>>>>>492 string RENF \b, FAT (12 bit) 1033327e51cbSPeter Avalos>>>>>495 string RENF \b, FAT (16 bit) 1034327e51cbSPeter Avalos#If the boot sector fails to read any other sector, 1035327e51cbSPeter Avalos#it prints a very short message ("RE") to the screen and hangs the computer. 103679343712SPeter Avalos# x86 bootloader end 1037e8af9738SPeter Avalos 10386fca56fbSSascha Wildner# added by Joerg Jenderek at Feb 2013 according to https://thestarman.pcministry.com/asm/mbr/MSWIN41.htm#FSINFO 10396fca56fbSSascha Wildner# and https://en.wikipedia.org/wiki/File_Allocation_Table#FS_Information_Sector 104082c5fa3eSPeter Avalos>0 string RRaA 104182c5fa3eSPeter Avalos>>0x1E4 string rrAa \b, FSInfosector 104282c5fa3eSPeter Avalos#>>0x1FC uleshort =0 SHOULD BE ZERO 104382c5fa3eSPeter Avalos>>>0x1E8 ulelong <0xffffffff \b, %u free clusters 104482c5fa3eSPeter Avalos>>>0x1EC ulelong <0xffffffff \b, last allocated cluster %u 104582c5fa3eSPeter Avalos 104682c5fa3eSPeter Avalos# updated by Joerg Jenderek at Sep 2007 104782c5fa3eSPeter Avalos>3 ubyte 0 104882c5fa3eSPeter Avalos#no active flag 104982c5fa3eSPeter Avalos>>446 ubyte 0 105082c5fa3eSPeter Avalos# partition 1 not empty 105182c5fa3eSPeter Avalos>>>450 ubyte >0 105282c5fa3eSPeter Avalos# partitions 3,4 empty 105382c5fa3eSPeter Avalos>>>>482 ubyte 0 105482c5fa3eSPeter Avalos>>>>>498 ubyte 0 105582c5fa3eSPeter Avalos# partition 2 ID=0,5,15 105682c5fa3eSPeter Avalos>>>>>>466 ubyte <0x10 105782c5fa3eSPeter Avalos>>>>>>>466 ubyte 0x05 \b, extended partition table 105882c5fa3eSPeter Avalos>>>>>>>466 ubyte 0x0F \b, extended partition table (LBA) 105982c5fa3eSPeter Avalos>>>>>>>466 ubyte 0x0 \b, extended partition table (last) 106082c5fa3eSPeter Avalos 106182c5fa3eSPeter Avalos# DOS x86 sector separated and moved from "DOS/MBR boot sector" by Joerg Jenderek at May 2011 106282c5fa3eSPeter Avalos 106382c5fa3eSPeter Avalos>0x200 lelong 0x82564557 \b, BSD disklabel 106482c5fa3eSPeter Avalos 1065e8af9738SPeter Avalos# by Joerg Jenderek at Apr 2013 1066e8af9738SPeter Avalos# Print the DOS filenames from directory entry form with 8 right space padded bytes + 3 bytes for extension 1067e8af9738SPeter Avalos# like IO.SYS. MSDOS.SYS , KERNEL.SYS , DRBIO.SYS 1068e8af9738SPeter Avalos0 name DOS-filename 1069e8af9738SPeter Avalos# space=0x20 (00100000b) means empty 1070e8af9738SPeter Avalos>0 ubyte&0xDF >0 1071e8af9738SPeter Avalos>>0 ubyte x \b%c 1072e8af9738SPeter Avalos>>>1 ubyte&0xDF >0 1073e8af9738SPeter Avalos>>>>1 ubyte x \b%c 1074e8af9738SPeter Avalos>>>>>2 ubyte&0xDF >0 1075e8af9738SPeter Avalos>>>>>>2 ubyte x \b%c 1076e8af9738SPeter Avalos>>>>>>>3 ubyte&0xDF >0 1077e8af9738SPeter Avalos>>>>>>>>3 ubyte x \b%c 1078e8af9738SPeter Avalos>>>>>>>>>4 ubyte&0xDF >0 1079e8af9738SPeter Avalos>>>>>>>>>>4 ubyte x \b%c 1080e8af9738SPeter Avalos>>>>>>>>>>>5 ubyte&0xDF >0 1081e8af9738SPeter Avalos>>>>>>>>>>>>5 ubyte x \b%c 1082e8af9738SPeter Avalos>>>>>>>>>>>>>6 ubyte&0xDF >0 1083e8af9738SPeter Avalos>>>>>>>>>>>>>>6 ubyte x \b%c 1084e8af9738SPeter Avalos>>>>>>>>>>>>>>>7 ubyte&0xDF >0 1085e8af9738SPeter Avalos>>>>>>>>>>>>>>>>7 ubyte x \b%c 1086e8af9738SPeter Avalos# DOS filename extension 1087e8af9738SPeter Avalos>>8 ubyte&0xDF >0 \b. 1088e8af9738SPeter Avalos>>>8 ubyte x \b%c 1089e8af9738SPeter Avalos>>>>9 ubyte&0xDF >0 1090e8af9738SPeter Avalos>>>>>9 ubyte x \b%c 1091e8af9738SPeter Avalos>>>>>>10 ubyte&0xDF >0 1092e8af9738SPeter Avalos>>>>>>>10 ubyte x \b%c 1093e8af9738SPeter Avalos# Print 2 following DOS filenames from directory entry form 1094e8af9738SPeter Avalos# like IO.SYS+MSDOS.SYS or ibmbio.com+ibmdos.com 1095e8af9738SPeter Avalos0 name 2xDOS-filename 1096e8af9738SPeter Avalos# display 1 space 1097e8af9738SPeter Avalos>0 ubyte x \b 1098e8af9738SPeter Avalos>0 use DOS-filename 1099e8af9738SPeter Avalos>11 ubyte x \b+ 1100e8af9738SPeter Avalos>11 use DOS-filename 1101e8af9738SPeter Avalos 11026fca56fbSSascha Wildner# https://en.wikipedia.org/wiki/Master_boot_record#PTE 1103e8af9738SPeter Avalos# display standard partition table 1104e8af9738SPeter Avalos0 name partition-table 1105e8af9738SPeter Avalos#>0 ubyte x PARTITION-TABLE 1106e8af9738SPeter Avalos# test and display 1st til 4th partition table entry 1107e8af9738SPeter Avalos>0 use partition-entry-test 1108e8af9738SPeter Avalos>16 use partition-entry-test 1109e8af9738SPeter Avalos>32 use partition-entry-test 1110e8af9738SPeter Avalos>48 use partition-entry-test 1111e8af9738SPeter Avalos# test for entry of partition table 1112e8af9738SPeter Avalos0 name partition-entry-test 1113e8af9738SPeter Avalos# partition type ID > 0 1114e8af9738SPeter Avalos>4 ubyte >0 1115e8af9738SPeter Avalos# active flag 0 1116e8af9738SPeter Avalos>>0 ubyte 0 1117e8af9738SPeter Avalos>>>0 use partition-entry 1118e8af9738SPeter Avalos# active flag 0x80, 0x81, ... 1119e8af9738SPeter Avalos>>0 ubyte >0x7F 1120e8af9738SPeter Avalos>>>0 use partition-entry 1121e8af9738SPeter Avalos# Print entry of partition table 1122e8af9738SPeter Avalos0 name partition-entry 1123e8af9738SPeter Avalos# partition type ID > 0 1124e8af9738SPeter Avalos>4 ubyte >0 \b; partition 1125e8af9738SPeter Avalos>>64 leshort 0xAA55 1 1126e8af9738SPeter Avalos>>48 leshort 0xAA55 2 1127e8af9738SPeter Avalos>>32 leshort 0xAA55 3 1128e8af9738SPeter Avalos>>16 leshort 0xAA55 4 1129614728caSSascha Wildner>>4 ubyte x : ID=%#x 1130e8af9738SPeter Avalos>>0 ubyte&0x80 0x80 \b, active 1131614728caSSascha Wildner>>0 ubyte >0x80 %#x 1132e8af9738SPeter Avalos>>1 ubyte x \b, start-CHS ( 1133e8af9738SPeter Avalos>>1 use partition-chs 1134e8af9738SPeter Avalos>>5 ubyte x \b), end-CHS ( 1135e8af9738SPeter Avalos>>5 use partition-chs 1136e8af9738SPeter Avalos>>8 ulelong x \b), startsector %u 1137e8af9738SPeter Avalos>>12 ulelong x \b, %u sectors 1138e8af9738SPeter Avalos# Print cylinder,head,sector (CHS) of partition entry 1139e8af9738SPeter Avalos0 name partition-chs 1140e8af9738SPeter Avalos# cylinder 1141e8af9738SPeter Avalos>1 ubyte x \b0x 1142e8af9738SPeter Avalos>1 ubyte&0xC0 0x40 \b1 1143e8af9738SPeter Avalos>1 ubyte&0xC0 0x80 \b2 1144e8af9738SPeter Avalos>1 ubyte&0xC0 0xC0 \b3 1145e8af9738SPeter Avalos>2 ubyte x \b%x 1146e8af9738SPeter Avalos# head 1147e8af9738SPeter Avalos>0 ubyte x \b,%u 1148e8af9738SPeter Avalos# sector 1149e8af9738SPeter Avalos>1 ubyte&0x3F x \b,%u 1150e8af9738SPeter Avalos 1151327e51cbSPeter Avalos# FATX 1152327e51cbSPeter Avalos0 string FATX FATX filesystem data 1153327e51cbSPeter Avalos 1154327e51cbSPeter Avalos# romfs filesystems - Juan Cespedes <cespedes@debian.org> 115579343712SPeter Avalos0 string -rom1fs- romfs filesystem, version 1 1156327e51cbSPeter Avalos>8 belong x %d bytes, 1157327e51cbSPeter Avalos>16 string x named %s. 1158327e51cbSPeter Avalos 1159327e51cbSPeter Avalos# netboot image - Juan Cespedes <cespedes@debian.org> 1160327e51cbSPeter Avalos0 lelong 0x1b031336L Netboot image, 1161327e51cbSPeter Avalos>4 lelong&0xFFFFFF00 0 1162327e51cbSPeter Avalos>>4 lelong&0x100 0x000 mode 2 1163327e51cbSPeter Avalos>>4 lelong&0x100 0x100 mode 3 1164327e51cbSPeter Avalos>4 lelong&0xFFFFFF00 !0 unknown mode 1165327e51cbSPeter Avalos 1166327e51cbSPeter Avalos0x18b string OS/2 OS/2 Boot Manager 1167327e51cbSPeter Avalos 1168e8af9738SPeter Avalos# updated by Joerg Jenderek at Oct 2008 and Sep 2012 11696fca56fbSSascha Wildner# https://syslinux.zytor.com/iso.php 1170e8af9738SPeter Avalos# 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 1171e8af9738SPeter Avalos# assembler instructions: cli;jmp 0:7Cyy (yy=0x40,0x5e,0x6c,0x6e,0x77);nop;nop 1172e8af9738SPeter Avalos0 ulequad&0x909000007cc0eafa 0x909000007c40eafa 1173e8af9738SPeter Avalos>631 search/689 ISOLINUX\ isolinux Loader 1174e8af9738SPeter Avalos>>&0 string x (version %-4.4s) 11756fca56fbSSascha Wildner# https://syslinux.zytor.com/pxe.php 1176e8af9738SPeter Avalos# assembler instructions: jmp 7C05 1177e8af9738SPeter Avalos0 ulelong 0x007c05ea pxelinux loader (version 2.13 or older) 1178e8af9738SPeter Avalos# assembler instructions: pushfd;pushad 1179e8af9738SPeter Avalos0 ulelong 0x60669c66 pxelinux loader 1180e8af9738SPeter Avalos# assembler instructions: jmp 05 1181e8af9738SPeter Avalos0 ulelong 0xc00005ea pxelinux loader (version 3.70 or newer) 11826fca56fbSSascha Wildner# https://syslinux.zytor.com/wiki/index.php/SYSLINUX 1183e8af9738SPeter Avalos0 string LDLINUX\ SYS\ SYSLINUX loader 1184e8af9738SPeter Avalos>12 string x (older version %-4.4s) 1185e8af9738SPeter Avalos0 string \r\nSYSLINUX\ SYSLINUX loader 1186e8af9738SPeter Avalos>11 string x (version %-4.4s) 1187e8af9738SPeter Avalos# syslinux updated and separated from "DOS/MBR boot sector" by Joerg Jenderek at Sep 2012 1188e8af9738SPeter Avalos# assembler instructions: jmp yy (yy=0x3c,0x58);nop;"SYSLINUX" 1189e8af9738SPeter Avalos0 ulelong&0x80909bEB 0x009018EB 1190e8af9738SPeter Avalos# OEM-ID not always "SYSLINUX" 1191e8af9738SPeter Avalos>434 search/47 Boot\ failed 1192e8af9738SPeter Avalos# followed by \r\n\0 or :\ 1193e8af9738SPeter Avalos>>482 search/132 \0LDLINUX\ SYS Syslinux bootloader (version 2.13 or older) 1194e8af9738SPeter Avalos>>1 ubyte 0x58 Syslinux bootloader (version 3.0-3.9) 1195e8af9738SPeter Avalos>459 search/30 Boot\ error\r\n\0 1196e8af9738SPeter Avalos>>1 ubyte 0x58 Syslinux bootloader (version 3.10 or newer) 1197e8af9738SPeter Avalos# SYSLINUX MBR updated and separated from "DOS/MBR boot sector" by Joerg Jenderek at Sep 2012 1198e8af9738SPeter Avalos# assembler instructions: mov di,0600h;mov cx,0100h 1199e8af9738SPeter Avalos16 search/4 \xbf\x00\x06\xb9\x00\x01 1200e8af9738SPeter Avalos# to display SYSLINUX MBR (36) before old DOS/MBR boot sector one with partition table (strength=50+21) 1201e8af9738SPeter Avalos!:strength +36 1202e8af9738SPeter Avalos>94 search/249 Missing\ operating\ system 1203e8af9738SPeter Avalos# followed by \r for versions older 3.35 , .\r for versions newer 3.52 and point for other 1204e8af9738SPeter Avalos# skip Ranish MBR 1205e8af9738SPeter Avalos>>408 search/4 HD1/\0 1206e8af9738SPeter Avalos>>408 default x 1207e8af9738SPeter Avalos>>>250 search/118 \0Operating\ system\ load SYSLINUX MBR 1208e8af9738SPeter Avalos# followed by "ing " or space 1209e8af9738SPeter Avalos>>>>292 search/98 error 1210e8af9738SPeter Avalos>>>>>&0 string \r (version 3.35 or older) 1211e8af9738SPeter Avalos>>>>>&0 string .\r (version 3.52 or newer) 1212e8af9738SPeter Avalos>>>>>&0 default x (version 3.36-3.51 ) 1213e8af9738SPeter Avalos>368 search/106 \0Disk\ error\ on\ boot\r\n SYSLINUX GPT-MBR 1214e8af9738SPeter Avalos>>156 search/10 \0Boot\ partition\ not\ found\r\n 1215e8af9738SPeter Avalos>>>270 search/10 \0OS\ not\ bootable\r\n (version 3.86 or older) 1216e8af9738SPeter Avalos>>174 search/10 \0Missing\ OS\r\n 1217e8af9738SPeter Avalos>>>189 search/10 \0Multiple\ active\ partitions\r\n (version 4.00 or newer) 1218e8af9738SPeter Avalos# SYSLINUX END 1219e8af9738SPeter Avalos 1220e8af9738SPeter Avalos# NetBSD mbr variants (master-boot-code version 1.22) added by Joerg Jenderek at Nov 2012 1221e8af9738SPeter Avalos# assembler instructions: xor ax,ax;mov ax,ss;mov sp,0x7c00;mov ax, 1222e8af9738SPeter Avalos0 ubequad 0x31c08ed0bc007c8e 1223e8af9738SPeter Avalos# mbr_bootsel magic before partition table not reliable with small ipl fragments 1224e8af9738SPeter Avalos#>444 uleshort 0xb5e1 1225e8af9738SPeter Avalos>0004 uleshort x 1226e8af9738SPeter Avalos# ERRorTeXT 1227e8af9738SPeter Avalos>>181 search/166 Error\ \0\r\n NetBSD mbr 12286fca56fbSSascha Wildner# NT Drive Serial Number https://thestarman.pcministry.com/asm/mbr/Win2kmbr.htm#DS 1229614728caSSascha Wildner>>>0x1B8 ubelong >0 \b,Serial %#-.8x 1230e8af9738SPeter Avalos# BOOTSEL definitions contains assembler instructions: int 0x13;pop dx;push dx;push dx 1231e8af9738SPeter Avalos>>>0xbb search/71 \xcd\x13\x5a\x52\x52 \b,bootselector 1232e8af9738SPeter Avalos# BOOT_EXTENDED definitions contains assembler instructions: 1233e8af9738SPeter Avalos# xchg ecx,edx;addl ecx,edx;movw lba_info,si;movb 0x42,ah;pop dx;push dx;int 0x13 1234e8af9738SPeter Avalos>>>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 1235e8af9738SPeter Avalos# COM_PORT_VAL definitions contains assembler instructions: outb al,dx;add 5,dl;inb %dx;test 0x40,al 1236e8af9738SPeter Avalos>>>0x130 search/55 \xee\x80\xc2\x05\xec\xa8\x40 \b,serial IO 1237e8af9738SPeter Avalos# not TERSE_ERROR 1238e8af9738SPeter Avalos>>>196 search/106 No\ active\ partition\0 1239e8af9738SPeter Avalos>>>>&0 string Disk\ read\ error\0 1240e8af9738SPeter Avalos>>>>>&0 string No\ operating\ system\0 \b,verbose 1241e8af9738SPeter Avalos# not NO_CHS definitions contains assembler instructions: pop dx;push dx;movb $8,ah;int0x13 1242e8af9738SPeter Avalos>>>0x7d search/7 \x5a\x52\xb4\x08\xcd\x13 \b,CHS 1243e8af9738SPeter Avalos# not NO_LBA_CHECK definitions contains assembler instructions: movw 0x55aa,bx;movb 0x41,ah;pop dx;push dx;int 0x13 1244e8af9738SPeter Avalos>>>0xa4 search/84 \xbb\xaa\x55\xb4\x41\x5a\x52\xcd\x13 \b,LBA-check 1245e8af9738SPeter Avalos# assembler instructions: movw nametab,bx 1246e8af9738SPeter Avalos>>>0x26 search/21 \xBB\x94\x07 1247e8af9738SPeter Avalos# not NO_BANNER definitions contains assembler instructions: mov banner,si;call message_crlf 1248e8af9738SPeter Avalos>>>>&-9 ubequad&0xBE00f0E800febb94 0xBE0000E80000bb94 1249e8af9738SPeter Avalos>>>>>181 search/166 Error\ \0 1250e8af9738SPeter Avalos# "a: disk" , "Fn: diskn" or "NetBSD MBR boot" 1251e8af9738SPeter Avalos>>>>>>&3 string x \b,"%s" 125282c5fa3eSPeter Avalos>>>446 use partition-table 1253e8af9738SPeter Avalos# Andrea Mazzoleni AdvanceCD mbr loader of http://advancemame.sourceforge.net/boot-readme.html 1254e8af9738SPeter Avalos# added by Joerg Jenderek at Nov 2012 for versions 1.3 - 1.4 1255e8af9738SPeter Avalos# assembler instructions: jmp short 0x58;nop;ASCII 1256e8af9738SPeter Avalos0 ubequad&0xeb58908000000000 0xeb58900000000000 1257e8af9738SPeter Avalos# assembler instructions: cli;xor ax,ax;mov ds,ax;mov es,ax;mov ss, 1258e8af9738SPeter Avalos>(1.b+2) ubequad 0xfa31c08ed88ec08e 1259e8af9738SPeter Avalos# Error messages at end of code 1260e8af9738SPeter Avalos>>376 string No\ operating\ system\r\n\0 1261e8af9738SPeter Avalos>>>398 string Disk\ error\r\n\0FDD\0HDD\0 1262e8af9738SPeter Avalos>>>>419 string \ EBIOS\r\n\0 AdvanceMAME mbr 1263e8af9738SPeter Avalos 12646fca56fbSSascha Wildner# Neil Turton mbr loader variant of https://www.chiark.greenend.org.uk/~neilt/mbr/ 1265e8af9738SPeter Avalos# added by Joerg Jenderek at Mar 2011 for versions 1.0.0 - 1.1.11 1266e8af9738SPeter Avalos# for 1st version assembler instructions: cld;xor ax,ax;mov DS,ax;MOV ES,AX;mov SI, 1267e8af9738SPeter Avalos# or cld;xor ax,ax;mov SS,ax;XOR SP,SP;mov DS, 1268e8af9738SPeter Avalos0 ulequad&0xcE1b40D48EC031FC 0x8E0000D08EC031FC 1269e8af9738SPeter Avalos# pointer to the data starting with Neil Turton signature string 1270e8af9738SPeter Avalos>(0x1BC.s) string NDTmbr 1271e8af9738SPeter Avalos>>&-14 string 1234F\0 Turton mbr ( 1272e8af9738SPeter Avalos# parameters also viewed by install-mbr --list 1273e8af9738SPeter Avalos>>>(0x1BC.s+7) ubyte x \b%u<= 1274e8af9738SPeter Avalos>>>(0x1BC.s+9) ubyte x \bVersion<=%u 1275e8af9738SPeter Avalos#>>>(0x1BC.s+8) ubyte x asm_flag_%x 1276e8af9738SPeter Avalos>>>(0x1BC.s+8) ubyte&1 1 \b,Y2K-Fix 12776fca56fbSSascha Wildner# variant used by testdisk of https://www.cgsecurity.org/wiki/Menu_MBRCode 1278e8af9738SPeter Avalos>>>(0x1BC.s+8) ubyte&2 2 \b,TestDisk 1279e8af9738SPeter Avalos#0x1~1,..,0x8~4,0x10~F,0x80~A enabled 1280614728caSSascha Wildner#>>>(0x1BC.s+10) ubyte x \b,flags %#x 1281e8af9738SPeter Avalos#0x0~1,0x1~2,...,0x3~4,0x4~F,0x7~D default boot 1282614728caSSascha Wildner#>>>(0x1BC.s+11) ubyte x \b,cfg_def %#x 1283e8af9738SPeter Avalos# for older versions 1284e8af9738SPeter Avalos>>>(0x1BC.s+9) ubyte <2 128582c5fa3eSPeter Avalos#>>>>(0x1BC.s+12) ubyte 18 \b,%hhu/18 seconds 1286e8af9738SPeter Avalos>>>>(0x1BC.s+12) ubyte !18 \b,%u/18 seconds 1287e8af9738SPeter Avalos# floppy A: or B: 1288614728caSSascha Wildner>>>>(0x1BC.s+13) ubyte <2 \b,floppy %#x 1289e8af9738SPeter Avalos>>>>(0x1BC.s+13) ubyte >1 1290e8af9738SPeter Avalos# 1st hard disc 1291614728caSSascha Wildner#>>>>>(0x1BC.s+13) ubyte 0x80 \b,drive %#x 1292e8af9738SPeter Avalos# not 1st hard disc 1293614728caSSascha Wildner>>>>>(0x1BC.s+13) ubyte !0x80 \b,drive %#x 1294e8af9738SPeter Avalos# for version >= 2 maximal timeout can be 65534 1295e8af9738SPeter Avalos>>>(0x1BC.s+9) ubyte >1 1296e8af9738SPeter Avalos#>>>>(0x1BC.s+12) uleshort 18 \b,%u/18 seconds 1297e8af9738SPeter Avalos>>>>(0x1BC.s+12) uleshort !18 \b,%u/18 seconds 1298e8af9738SPeter Avalos# floppy A: or B: 1299614728caSSascha Wildner>>>>(0x1BC.s+14) ubyte <2 \b,floppy %#x 1300e8af9738SPeter Avalos>>>>(0x1BC.s+14) ubyte >1 1301e8af9738SPeter Avalos# 1st hard disc 1302614728caSSascha Wildner#>>>>>(0x1BC.s+14) ubyte 0x80 \b,drive %#x 1303e8af9738SPeter Avalos# not 1st hard disc 1304614728caSSascha Wildner>>>>>(0x1BC.s+14) ubyte !0x80 \b,drive %#x 1305e8af9738SPeter Avalos>>>0 ubyte x \b) 130679343712SPeter Avalos 1307327e51cbSPeter Avalos# added by Joerg Jenderek 1308327e51cbSPeter Avalos# In the second sector (+0x200) are variables according to grub-0.97/stage2/asm.S or 1309327e51cbSPeter Avalos# grub-1.94/kern/i386/pc/startup.S 13106fca56fbSSascha Wildner# https://www.gnu.org/software/grub/manual/grub.html#Embedded-data 1311970935fdSSascha Wildner# usual values are marked with comments to get only information of strange GRUB loaders 1312327e51cbSPeter Avalos0x200 uleshort 0x70EA 1313327e51cbSPeter Avalos# found only version 3.{1,2} 1314327e51cbSPeter Avalos>0x206 ubeshort >0x0300 1315327e51cbSPeter Avalos# GRUB version (0.5.)95,0.93,0.94,0.96,0.97 > "00" 1316327e51cbSPeter Avalos>>0x212 ubyte >0x29 1317327e51cbSPeter Avalos>>>0x213 ubyte >0x29 1318327e51cbSPeter Avalos# not iso9660_stage1_5 1319327e51cbSPeter Avalos#>>>0 ulelong&0x00BE5652 0x00BE5652 1320327e51cbSPeter Avalos>>>>0x213 ubyte >0x29 GRand Unified Bootloader 1321327e51cbSPeter Avalos# config_file for stage1_5 is 0xffffffff + default "/boot/grub/stage2" 1322327e51cbSPeter Avalos>>>>0x217 ubyte 0xFF stage1_5 1323327e51cbSPeter Avalos>>>>0x217 ubyte <0xFF stage2 1324327e51cbSPeter Avalos>>>>0x206 ubyte x \b version %u 1325327e51cbSPeter Avalos>>>>0x207 ubyte x \b.%u 1326327e51cbSPeter Avalos# module_size for 1.94 1327327e51cbSPeter Avalos>>>>0x208 ulelong <0xffffff \b, installed partition %u 132882c5fa3eSPeter Avalos#>>>>0x208 ulelong =0xffffff \b, %lu (default) 1329327e51cbSPeter Avalos>>>>0x208 ulelong >0xffffff \b, installed partition %u 1330327e51cbSPeter Avalos# GRUB 0.5.95 unofficial 1331327e51cbSPeter Avalos>>>>0x20C ulelong&0x2E300000 0x2E300000 1332327e51cbSPeter Avalos# 0=stage2 1=ffs 2=e2fs 3=fat 4=minix 5=reiserfs 1333614728caSSascha Wildner>>>>>0x20C ubyte x \b, identifier %#x 1334614728caSSascha Wildner#>>>>>0x20D ubyte =0 \b, LBA flag %#x (default) 1335614728caSSascha Wildner>>>>>0x20D ubyte >0 \b, LBA flag %#x 1336327e51cbSPeter Avalos# GRUB version as string 1337327e51cbSPeter Avalos>>>>>0x20E string >\0 \b, GRUB version %-s 1338327e51cbSPeter Avalos# for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default 1339327e51cbSPeter Avalos>>>>>>0x215 ulong 0xffffffff 1340327e51cbSPeter Avalos>>>>>>>0x219 string >\0 \b, configuration file %-s 1341327e51cbSPeter Avalos>>>>>>0x215 ulong !0xffffffff 1342327e51cbSPeter Avalos>>>>>>>0x215 string >\0 \b, configuration file %-s 1343327e51cbSPeter Avalos# newer GRUB versions 1344327e51cbSPeter Avalos>>>>0x20C ulelong&0x2E300000 !0x2E300000 1345327e51cbSPeter Avalos##>>>>>0x20C ulelong =0 \b, saved entry %d (usual) 1346327e51cbSPeter Avalos>>>>>0x20C ulelong >0 \b, saved entry %d 1347327e51cbSPeter Avalos# for 1.94 contains kernel image size 1348327e51cbSPeter Avalos# for 0.93,0.94,0.96,0.97 1349327e51cbSPeter Avalos# 0=stage2 1=ffs 2=e2fs 3=fat 4=minix 5=reiserfs 6=vstafs 7=jfs 8=xfs 9=iso9660 a=ufs2 1350614728caSSascha Wildner>>>>>0x210 ubyte x \b, identifier %#x 1351327e51cbSPeter Avalos# The flag for LBA forcing is in most cases 0 1352614728caSSascha Wildner#>>>>>0x211 ubyte =0 \b, LBA flag %#x (default) 1353614728caSSascha Wildner>>>>>0x211 ubyte >0 \b, LBA flag %#x 1354327e51cbSPeter Avalos# GRUB version as string 1355327e51cbSPeter Avalos>>>>>0x212 string >\0 \b, GRUB version %-s 1356327e51cbSPeter Avalos# for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default 1357327e51cbSPeter Avalos>>>>>0x217 ulong 0xffffffff 1358327e51cbSPeter Avalos>>>>>>0x21b string >\0 \b, configuration file %-s 1359327e51cbSPeter Avalos>>>>>0x217 ulong !0xffffffff 1360327e51cbSPeter Avalos>>>>>>0x217 string >\0 \b, configuration file %-s 1361327e51cbSPeter Avalos 1362e8af9738SPeter Avalos# DOS x86 sector updated and separated from "DOS/MBR boot sector" by Joerg Jenderek at May 2011 1363e8af9738SPeter Avalos# JuMP short bootcodeoffset NOP assembler instructions will usually be EB xx 90 1364e8af9738SPeter Avalos# over BIOS parameter block (BPB) 13656fca56fbSSascha Wildner# https://thestarman.pcministry.com/asm/2bytejumps.htm#FWD 1366e8af9738SPeter Avalos# older drives may use Near JuMP instruction E9 xx xx 1367e8af9738SPeter Avalos# minimal short forward jump found 0x29 for bootloaders or 0x0 1368e8af9738SPeter Avalos# maximal short forward jump is 0x7f 1369e8af9738SPeter Avalos# OEM-ID is empty or contain readable bytes 1370e8af9738SPeter Avalos0 ulelong&0x804000E9 0x000000E9 137182c5fa3eSPeter Avalos!:strength +60 1372e8af9738SPeter Avalos# mtools-3.9.8/msdos.h 1373970935fdSSascha Wildner# usual values are marked with comments to get only information of strange FAT systems 1374e8af9738SPeter Avalos# valid sectorsize must be a power of 2 from 32 to 32768 137582c5fa3eSPeter Avalos>11 uleshort&0x001f 0 1376e8af9738SPeter Avalos>>11 uleshort <32769 1377e8af9738SPeter Avalos>>>11 uleshort >31 1378e8af9738SPeter Avalos>>>>21 ubyte&0xf0 0xF0 137982c5fa3eSPeter Avalos>>>>>0 ubyte 0xEB DOS/MBR boot sector 1380614728caSSascha Wildner>>>>>>1 ubyte x \b, code offset %#x+2 1381e8af9738SPeter Avalos>>>>>0 ubyte 0xE9 1382614728caSSascha Wildner>>>>>>1 uleshort x \b, code offset %#x+3 1383e8af9738SPeter Avalos>>>>>3 string >\0 \b, OEM-ID "%-.8s" 1384e8af9738SPeter Avalos#http://mirror.href.com/thestarman/asm/debug/debug2.htm#IHC 1385e8af9738SPeter Avalos>>>>>>8 string IHC \b cached by Windows 9M 1386e8af9738SPeter Avalos>>>>>11 uleshort >512 \b, Bytes/sector %u 1387e8af9738SPeter Avalos#>>>>>11 uleshort =512 \b, Bytes/sector %u=512 (usual) 1388e8af9738SPeter Avalos>>>>>11 uleshort <512 \b, Bytes/sector %u 1389e8af9738SPeter Avalos>>>>>13 ubyte >1 \b, sectors/cluster %u 1390e8af9738SPeter Avalos#>>>>>13 ubyte =1 \b, sectors/cluster %u (usual on Floppies) 139182c5fa3eSPeter Avalos# for lazy FAT32 implementation like Transcend digital photo frame PF830 139282c5fa3eSPeter Avalos>>>>>82 string/c fat32 1393e8af9738SPeter Avalos>>>>>>14 uleshort !32 \b, reserved sectors %u 1394e8af9738SPeter Avalos#>>>>>>14 uleshort =32 \b, reserved sectors %u (usual Fat32) 139582c5fa3eSPeter Avalos>>>>>82 string/c !fat32 1396e8af9738SPeter Avalos>>>>>>14 uleshort >1 \b, reserved sectors %u 1397e8af9738SPeter Avalos#>>>>>>14 uleshort =1 \b, reserved sectors %u (usual FAT12,FAT16) 1398e8af9738SPeter Avalos#>>>>>>14 uleshort 0 \b, reserved sectors %u (usual NTFS) 1399e8af9738SPeter Avalos>>>>>16 ubyte >2 \b, FATs %u 1400e8af9738SPeter Avalos#>>>>>16 ubyte =2 \b, FATs %u (usual) 1401e8af9738SPeter Avalos>>>>>16 ubyte =1 \b, FAT %u 1402e8af9738SPeter Avalos>>>>>16 ubyte >0 1403e8af9738SPeter Avalos>>>>>17 uleshort >0 \b, root entries %u 140482c5fa3eSPeter Avalos#>>>>>17 uleshort =0 \b, root entries %hu=0 (usual Fat32) 1405e8af9738SPeter Avalos>>>>>19 uleshort >0 \b, sectors %u (volumes <=32 MB) 140682c5fa3eSPeter Avalos#>>>>>19 uleshort =0 \b, sectors %hu=0 (usual Fat32) 1407614728caSSascha Wildner>>>>>21 ubyte >0xF0 \b, Media descriptor %#x 1408614728caSSascha Wildner#>>>>>21 ubyte =0xF0 \b, Media descriptor %#x (usual floppy) 1409614728caSSascha Wildner>>>>>21 ubyte <0xF0 \b, Media descriptor %#x 1410e8af9738SPeter Avalos>>>>>22 uleshort >0 \b, sectors/FAT %u 141182c5fa3eSPeter Avalos#>>>>>22 uleshort =0 \b, sectors/FAT %hu=0 (usual Fat32) 1412e8af9738SPeter Avalos>>>>>24 uleshort x \b, sectors/track %u 1413e8af9738SPeter Avalos>>>>>26 ubyte >2 \b, heads %u 1414e8af9738SPeter Avalos#>>>>>26 ubyte =2 \b, heads %u (usual floppy) 1415e8af9738SPeter Avalos>>>>>26 ubyte =1 \b, heads %u 1416e8af9738SPeter Avalos# valid only for sector sizes with more then 32 Bytes 1417e8af9738SPeter Avalos>>>>>11 uleshort >32 14186fca56fbSSascha Wildner# https://en.wikipedia.org/wiki/Design_of_the_FAT_file_system#Extended_BIOS_Parameter_Block 141982c5fa3eSPeter Avalos# skip for values 2,2Ah,70h,73h,DFh 142082c5fa3eSPeter Avalos# and continue for extended boot signature values 0,28h,29h,80h 142182c5fa3eSPeter Avalos>>>>>>38 ubyte&0x56 =0 1422e8af9738SPeter Avalos>>>>>>>28 ulelong >0 \b, hidden sectors %u 1423e8af9738SPeter Avalos#>>>>>>>28 ulelong =0 \b, hidden sectors %u (usual floppy) 1424e8af9738SPeter Avalos>>>>>>>32 ulelong >0 \b, sectors %u (volumes > 32 MB) 1425e8af9738SPeter Avalos#>>>>>>>32 ulelong =0 \b, sectors %u (volumes > 32 MB) 1426e8af9738SPeter Avalos# FAT<32 bit specific 142782c5fa3eSPeter Avalos>>>>>>>82 string/c !fat32 1428614728caSSascha Wildner#>>>>>>>>36 ubyte 0x80 \b, physical drive %#x=0x80 (usual harddisk) 1429614728caSSascha Wildner#>>>>>>>>36 ubyte 0 \b, physical drive %#x=0 (usual floppy) 1430e8af9738SPeter Avalos>>>>>>>>36 ubyte !0x80 1431614728caSSascha Wildner>>>>>>>>>36 ubyte !0 \b, physical drive %#x 143282c5fa3eSPeter Avalos# VGA-copy CRC or 143382c5fa3eSPeter Avalos# in Windows NT bit 0 is a dirty flag to request chkdsk at boot time. bit 1 requests surface scan too 1434614728caSSascha Wildner>>>>>>>>37 ubyte >0 \b, reserved %#x 1435614728caSSascha Wildner#>>>>>>>>37 ubyte =0 \b, reserved %#x 1436970935fdSSascha Wildner# extended boot signature value is 0x80 for NTFS, 0x28 or 0x29 for others 1437614728caSSascha Wildner>>>>>>>>38 ubyte !0x29 \b, dos < 4.0 BootSector (%#x) 143882c5fa3eSPeter Avalos>>>>>>>>38 ubyte&0xFE =0x28 1439614728caSSascha Wildner>>>>>>>>>39 ulelong x \b, serial number %#x 144082c5fa3eSPeter Avalos>>>>>>>>38 ubyte =0x29 1441e8af9738SPeter Avalos>>>>>>>>>43 string <NO\ NAME \b, label: "%11.11s" 1442e8af9738SPeter Avalos>>>>>>>>>43 string >NO\ NAME \b, label: "%11.11s" 1443e8af9738SPeter Avalos>>>>>>>>>43 string =NO\ NAME \b, unlabeled 1444e8af9738SPeter Avalos# there exist some old floppies without word FAT at offset 54 1445e8af9738SPeter Avalos# a word like "FATnm " is only a hint for a FAT size on nm-bits 1446e8af9738SPeter Avalos# Normally the number of clusters is calculated by the values of BPP. 1447e8af9738SPeter Avalos# if it is small enough FAT is 12 bit, if it is too big enough FAT is 32 bit, 1448e8af9738SPeter Avalos# otherwise FAT is 16 bit. 1449e8af9738SPeter Avalos# http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/determining-fat-widths.html 145082c5fa3eSPeter Avalos>>>>>82 string/c !fat32 145182c5fa3eSPeter Avalos>>>>>>54 string FAT12 \b, FAT (12 bit) 145282c5fa3eSPeter Avalos>>>>>>54 string FAT16 \b, FAT (16 bit) 145382c5fa3eSPeter Avalos>>>>>>54 default x 145482c5fa3eSPeter Avalos# determinate FAT bit size by media descriptor 145582c5fa3eSPeter Avalos# small floppies implies FAT12 145682c5fa3eSPeter Avalos>>>>>>>21 ubyte <0xF0 \b, FAT (12 bit by descriptor) 145782c5fa3eSPeter Avalos# with media descriptor F0h floppy or maybe superfloppy with FAT16 145882c5fa3eSPeter Avalos>>>>>>>21 ubyte =0xF0 145982c5fa3eSPeter Avalos# superfloppy (many sectors) implies FAT16 146082c5fa3eSPeter Avalos>>>>>>>>32 ulelong >0xFFFF \b, FAT (16 bit by descriptor+sectors) 146182c5fa3eSPeter Avalos# no superfloppy with media descriptor F0h implies FAT12 146282c5fa3eSPeter Avalos>>>>>>>>32 default x \b, FAT (12 bit by descriptor+sectors) 146382c5fa3eSPeter Avalos# with media descriptor F8h floppy or hard disc with FAT12 or FAT16 146482c5fa3eSPeter Avalos>>>>>>>21 ubyte =0xF8 146582c5fa3eSPeter Avalos# 360 KiB with media descriptor F8h, 9 sectors per track ,single sided floppy implies FAT12 146682c5fa3eSPeter Avalos>>>>>>>>19 ubequad 0xd002f80300090001 \b, FAT (12 bit by descriptor+geometry) 146782c5fa3eSPeter Avalos# hard disc with FAT12 or FAT16 146882c5fa3eSPeter Avalos>>>>>>>>19 default x \b, FAT (1Y bit by descriptor) 146982c5fa3eSPeter Avalos# with media descriptor FAh floppy, RAM disc with FAT12 or FAT16 or Tandy hard disc 147082c5fa3eSPeter Avalos>>>>>>>21 ubyte =0xFA 147182c5fa3eSPeter Avalos# 320 KiB with media descriptor FAh, 8 sectors per track ,single sided floppy implies FAT12 147282c5fa3eSPeter Avalos>>>>>>>>19 ubequad 0x8002fa0200080001 \b, FAT (12 bit by descriptor+geometry) 147382c5fa3eSPeter Avalos# RAM disc with FAT12 or FAT16 or Tandy hard disc 147482c5fa3eSPeter Avalos>>>>>>>>19 default x \b, FAT (1Y bit by descriptor) 147582c5fa3eSPeter Avalos# others are floppy 147682c5fa3eSPeter Avalos>>>>>>>21 default x \b, FAT (12 bit by descriptor) 1477e8af9738SPeter Avalos# FAT32 bit specific 147882c5fa3eSPeter Avalos>>>>>82 string/c fat32 \b, FAT (32 bit) 1479e8af9738SPeter Avalos>>>>>>36 ulelong x \b, sectors/FAT %u 14806fca56fbSSascha Wildner# https://technet.microsoft.com/en-us/library/cc977221.aspx 1481614728caSSascha Wildner>>>>>>40 uleshort >0 \b, extension flags %#x 148282c5fa3eSPeter Avalos#>>>>>>40 uleshort =0 \b, extension flags %hu 1483e8af9738SPeter Avalos>>>>>>42 uleshort >0 \b, fsVersion %u 1484e8af9738SPeter Avalos#>>>>>>42 uleshort =0 \b, fsVersion %u (usual) 1485e8af9738SPeter Avalos>>>>>>44 ulelong >2 \b, rootdir cluster %u 1486e8af9738SPeter Avalos#>>>>>>44 ulelong =2 \b, rootdir cluster %u 1487e8af9738SPeter Avalos#>>>>>>44 ulelong =1 \b, rootdir cluster %u 1488e8af9738SPeter Avalos>>>>>>48 uleshort >1 \b, infoSector %u 1489e8af9738SPeter Avalos#>>>>>>48 uleshort =1 \b, infoSector %u (usual) 1490e8af9738SPeter Avalos>>>>>>48 uleshort <1 \b, infoSector %u 149182c5fa3eSPeter Avalos# 0 or 0xFFFF instead of usual 6 means no backup sector 149282c5fa3eSPeter Avalos>>>>>>50 uleshort =0xFFFF \b, no Backup boot sector 149382c5fa3eSPeter Avalos>>>>>>50 uleshort =0 \b, no Backup boot sector 1494e8af9738SPeter Avalos#>>>>>>50 uleshort =6 \b, Backup boot sector %u (usual) 149582c5fa3eSPeter Avalos>>>>>>50 default x 149682c5fa3eSPeter Avalos>>>>>>>50 uleshort x \b, Backup boot sector %u 14976fca56fbSSascha Wildner# corrected by Joerg Jenderek at Feb 2011 according to https://thestarman.pcministry.com/asm/mbr/MSWIN41.htm#FSINFO 1498614728caSSascha Wildner>>>>>>52 ulelong >0 \b, reserved1 %#x 1499614728caSSascha Wildner>>>>>>56 ulelong >0 \b, reserved2 %#x 1500614728caSSascha Wildner>>>>>>60 ulelong >0 \b, reserved3 %#x 1501e8af9738SPeter Avalos# same structure as FAT1X 1502614728caSSascha Wildner#>>>>>>64 ubyte =0x80 \b, physical drive %#x=80 (usual harddisk) 1503614728caSSascha Wildner#>>>>>>64 ubyte =0 \b, physical drive %#x=0 (usual floppy) 1504e8af9738SPeter Avalos>>>>>>64 ubyte !0x80 1505614728caSSascha Wildner>>>>>>>64 ubyte >0 \b, physical drive %#x 1506e8af9738SPeter Avalos# in Windows NT bit 0 is a dirty flag to request chkdsk at boot time. bit 1 requests surface scan too 1507614728caSSascha Wildner>>>>>>65 ubyte >0 \b, reserved %#x 1508614728caSSascha Wildner>>>>>>66 ubyte !0x29 \b, dos < 4.0 BootSector (%#x) 1509e8af9738SPeter Avalos>>>>>>66 ubyte =0x29 1510614728caSSascha Wildner>>>>>>>67 ulelong x \b, serial number %#x 1511e8af9738SPeter Avalos>>>>>>>71 string <NO\ NAME \b, label: "%11.11s" 1512e8af9738SPeter Avalos>>>>>>>71 string >NO\ NAME \b, label: "%11.11s" 1513e8af9738SPeter Avalos>>>>>>>71 string =NO\ NAME \b, unlabeled 1514e8af9738SPeter Avalos# additional tests for floppy image added by Joerg Jenderek 1515e8af9738SPeter Avalos# no fixed disk 1516e8af9738SPeter Avalos>>>>>21 ubyte !0xF8 1517e8af9738SPeter Avalos# floppy media with 12 bit FAT 1518e8af9738SPeter Avalos>>>>>>54 string !FAT16 1519e8af9738SPeter Avalos# test for FAT after bootsector 1520e8af9738SPeter Avalos>>>>>>>(11.s) ulelong&0x00ffffF0 0x00ffffF0 \b, followed by FAT 1521e8af9738SPeter Avalos# floppy image 1522e8af9738SPeter Avalos!:mime application/x-ima 15236fca56fbSSascha Wildner# NTFS specific added by Joerg Jenderek at Mar 2011 according to https://thestarman.pcministry.com/asm/mbr/NTFSBR.htm 1524e8af9738SPeter Avalos# and http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/bios-parameter-block.html 1525e8af9738SPeter Avalos# 0 FATs 1526e8af9738SPeter Avalos>>>>>16 ubyte =0 1527e8af9738SPeter Avalos# 0 root entries 1528e8af9738SPeter Avalos>>>>>>17 uleshort =0 1529e8af9738SPeter Avalos# 0 DOS sectors 1530e8af9738SPeter Avalos>>>>>>>19 uleshort =0 1531e8af9738SPeter Avalos# 0 sectors/FAT 1532e8af9738SPeter Avalos# dos < 4.0 BootSector value found is 0x80 1533614728caSSascha Wildner#38 ubyte =0x80 \b, dos < 4.0 BootSector (%#x) 1534e8af9738SPeter Avalos>>>>>>>>22 uleshort =0 \b; NTFS 1535e8af9738SPeter Avalos>>>>>>>>>24 uleshort >0 \b, sectors/track %u 1536614728caSSascha Wildner>>>>>>>>>36 ulelong !0x800080 \b, physical drive %#x 1537e8af9738SPeter Avalos>>>>>>>>>40 ulequad >0 \b, sectors %lld 1538e8af9738SPeter Avalos>>>>>>>>>48 ulequad >0 \b, $MFT start cluster %lld 1539e8af9738SPeter Avalos>>>>>>>>>56 ulequad >0 \b, $MFTMirror start cluster %lld 1540e8af9738SPeter Avalos# Values 0 to 127 represent MFT record sizes of 0 to 127 clusters. 1541e8af9738SPeter Avalos# Values 128 to 255 represent MFT record sizes of 2^(256-N) bytes. 1542e8af9738SPeter Avalos>>>>>>>>>64 lelong <256 1543e8af9738SPeter Avalos>>>>>>>>>>64 lelong <128 \b, clusters/RecordSegment %d 154482c5fa3eSPeter Avalos>>>>>>>>>>64 ubyte >127 \b, bytes/RecordSegment 2^(-1*%i) 1545e8af9738SPeter Avalos# Values 0 to 127 represent index block sizes of 0 to 127 clusters. 1546e8af9738SPeter Avalos# Values 128 to 255 represent index block sizes of 2^(256-N) byte 1547e8af9738SPeter Avalos>>>>>>>>>68 ulelong <256 1548e8af9738SPeter Avalos>>>>>>>>>>68 ulelong <128 \b, clusters/index block %d 1549e8af9738SPeter Avalos#>>>>>>>>>>68 ulelong >127 \b, bytes/index block 2^(256-%d) 155082c5fa3eSPeter Avalos>>>>>>>>>>68 ubyte >127 \b, bytes/index block 2^(-1*%i) 1551e8af9738SPeter Avalos>>>>>>>>>72 ulequad x \b, serial number 0%llx 1552614728caSSascha Wildner>>>>>>>>>80 ulelong >0 \b, checksum %#x 1553614728caSSascha Wildner#>>>>>>>>>80 ulelong =0 \b, checksum %#x=0 (usual) 15546fca56fbSSascha Wildner# unicode loadername size jump 15556fca56fbSSascha Wildner>>>>>>>>>(0x200.s*2) ubyte x 15566fca56fbSSascha Wildner# in next sector loadername terminated by unicode CTRL-D and $ 15576fca56fbSSascha Wildner>>>>>>>>>>&0x1FF ulequad&0x0000FFffFFffFF00 0x0000002400040000 \b; contains 15586fca56fbSSascha Wildner# if 2nd NTFS sectors is found then assume whole filesystem 15596fca56fbSSascha Wildner#!:mime application/x-raw-disk-image 15606fca56fbSSascha Wildner!:ext img/bin/ntfs 15616fca56fbSSascha Wildner>>>>>>>>>>>0x200 use ntfs-sector2 15626fca56fbSSascha Wildner 15636fca56fbSSascha Wildner# For 2nd NTFS sector added by Joerg Jenderek at Jan 2013, Mar 2019 15646fca56fbSSascha Wildner# https://thestarman.pcministry.com/asm/mbr/NTFSbrHexEd.htm 15656fca56fbSSascha Wildner# unused assembler instructions short JMP y2;NOP;NOP 15666fca56fbSSascha Wildner0x056 ulelong&0xFFFF0FFF 0x909002EB NTFS 15676fca56fbSSascha Wildner#!:mime application/octet-stream 15686fca56fbSSascha Wildner!:ext bin 15696fca56fbSSascha Wildner>0 use ntfs-sector2 15706fca56fbSSascha Wildner# https://memory.dataram.com/products-and-services/software/ramdisk 15716fca56fbSSascha Wildner# assembler instructions JMP C000;NOP 15726fca56fbSSascha Wildner0x056 ulelong 0x9000c0e9 NTFS 15736fca56fbSSascha Wildner#!:mime application/octet-stream 15746fca56fbSSascha Wildner!:ext bin 15756fca56fbSSascha Wildner>0 use ntfs-sector2 15766fca56fbSSascha Wildner# check for characteristics of second NTFS sector and then display loader name 15776fca56fbSSascha Wildner0 name ntfs-sector2 15786fca56fbSSascha Wildner# number of utf16 characters of loadername 15796fca56fbSSascha Wildner>0 uleshort <8 15806fca56fbSSascha Wildner# unused assembler instructions JMP y2;NOP;NOP or JMP C000;NOP 15816fca56fbSSascha Wildner>>0x056 ulelong&0xFF0000FD 0x900000E9 1582e8af9738SPeter Avalos# loadernames are NTLDR,CMLDR,PELDR,$LDR$ or BOOTMGR 15836fca56fbSSascha Wildner>>>0x002 lestring16 x bootstrap %-5.5s 15846fca56fbSSascha Wildner# check for 7 character length of loader name like BOOTMGR 15856fca56fbSSascha Wildner>>>0 uleshort 7 15866fca56fbSSascha Wildner>>>>0x0c lestring16 x \b%-2.2s 1587e8af9738SPeter Avalos### DOS,NTFS boot sectors end 1588e8af9738SPeter Avalos 1589c30bd091SSascha Wildner# ntfsclone-image is a special save format for NTFS volumes, 1590c30bd091SSascha Wildner# created and restored by the ntfsclone program 1591c30bd091SSascha Wildner0 string \0ntfsclone-image ntfsclone image, 1592c30bd091SSascha Wildner>0x10 byte x version %d. 1593c30bd091SSascha Wildner>0x11 byte x \b%d, 1594c30bd091SSascha Wildner>0x12 lelong x cluster size %d, 1595c30bd091SSascha Wildner>0x16 lequad x device size %lld, 1596c30bd091SSascha Wildner>0x1e lequad x %lld total clusters, 1597c30bd091SSascha Wildner>0x26 lequad x %lld clusters in use 1598c30bd091SSascha Wildner 1599327e51cbSPeter Avalos9564 lelong 0x00011954 Unix Fast File system [v1] (little-endian), 1600327e51cbSPeter Avalos>8404 string x last mounted on %s, 1601327e51cbSPeter Avalos#>9504 ledate x last checked at %s, 1602327e51cbSPeter Avalos>8224 ledate x last written at %s, 1603327e51cbSPeter Avalos>8401 byte x clean flag %d, 1604327e51cbSPeter Avalos>8228 lelong x number of blocks %d, 1605327e51cbSPeter Avalos>8232 lelong x number of data blocks %d, 1606327e51cbSPeter Avalos>8236 lelong x number of cylinder groups %d, 1607327e51cbSPeter Avalos>8240 lelong x block size %d, 1608327e51cbSPeter Avalos>8244 lelong x fragment size %d, 1609327e51cbSPeter Avalos>8252 lelong x minimum percentage of free blocks %d, 1610327e51cbSPeter Avalos>8256 lelong x rotational delay %dms, 1611327e51cbSPeter Avalos>8260 lelong x disk rotational speed %drps, 1612327e51cbSPeter Avalos>8320 lelong 0 TIME optimization 1613327e51cbSPeter Avalos>8320 lelong 1 SPACE optimization 1614327e51cbSPeter Avalos 1615327e51cbSPeter Avalos42332 lelong 0x19540119 Unix Fast File system [v2] (little-endian) 1616327e51cbSPeter Avalos>&-1164 string x last mounted on %s, 1617327e51cbSPeter Avalos>&-696 string >\0 volume name %s, 1618327e51cbSPeter Avalos>&-304 leqldate x last written at %s, 1619327e51cbSPeter Avalos>&-1167 byte x clean flag %d, 1620327e51cbSPeter Avalos>&-1168 byte x readonly flag %d, 1621327e51cbSPeter Avalos>&-296 lequad x number of blocks %lld, 1622327e51cbSPeter Avalos>&-288 lequad x number of data blocks %lld, 1623327e51cbSPeter Avalos>&-1332 lelong x number of cylinder groups %d, 1624327e51cbSPeter Avalos>&-1328 lelong x block size %d, 1625327e51cbSPeter Avalos>&-1324 lelong x fragment size %d, 1626327e51cbSPeter Avalos>&-180 lelong x average file size %d, 1627327e51cbSPeter Avalos>&-176 lelong x average number of files in dir %d, 1628327e51cbSPeter Avalos>&-272 lequad x pending blocks to free %lld, 162982c5fa3eSPeter Avalos>&-264 lelong x pending inodes to free %d, 1630327e51cbSPeter Avalos>&-664 lequad x system-wide uuid %0llx, 1631327e51cbSPeter Avalos>&-1316 lelong x minimum percentage of free blocks %d, 1632327e51cbSPeter Avalos>&-1248 lelong 0 TIME optimization 1633327e51cbSPeter Avalos>&-1248 lelong 1 SPACE optimization 1634327e51cbSPeter Avalos 1635327e51cbSPeter Avalos66908 lelong 0x19540119 Unix Fast File system [v2] (little-endian) 1636327e51cbSPeter Avalos>&-1164 string x last mounted on %s, 1637327e51cbSPeter Avalos>&-696 string >\0 volume name %s, 1638327e51cbSPeter Avalos>&-304 leqldate x last written at %s, 1639327e51cbSPeter Avalos>&-1167 byte x clean flag %d, 1640327e51cbSPeter Avalos>&-1168 byte x readonly flag %d, 1641327e51cbSPeter Avalos>&-296 lequad x number of blocks %lld, 1642327e51cbSPeter Avalos>&-288 lequad x number of data blocks %lld, 1643327e51cbSPeter Avalos>&-1332 lelong x number of cylinder groups %d, 1644327e51cbSPeter Avalos>&-1328 lelong x block size %d, 1645327e51cbSPeter Avalos>&-1324 lelong x fragment size %d, 1646327e51cbSPeter Avalos>&-180 lelong x average file size %d, 1647327e51cbSPeter Avalos>&-176 lelong x average number of files in dir %d, 1648327e51cbSPeter Avalos>&-272 lequad x pending blocks to free %lld, 164982c5fa3eSPeter Avalos>&-264 lelong x pending inodes to free %d, 1650327e51cbSPeter Avalos>&-664 lequad x system-wide uuid %0llx, 1651327e51cbSPeter Avalos>&-1316 lelong x minimum percentage of free blocks %d, 1652327e51cbSPeter Avalos>&-1248 lelong 0 TIME optimization 1653327e51cbSPeter Avalos>&-1248 lelong 1 SPACE optimization 1654327e51cbSPeter Avalos 1655327e51cbSPeter Avalos9564 belong 0x00011954 Unix Fast File system [v1] (big-endian), 1656327e51cbSPeter Avalos>7168 belong 0x4c41424c Apple UFS Volume 1657327e51cbSPeter Avalos>>7186 string x named %s, 1658327e51cbSPeter Avalos>>7176 belong x volume label version %d, 1659327e51cbSPeter Avalos>>7180 bedate x created on %s, 1660327e51cbSPeter Avalos>8404 string x last mounted on %s, 1661327e51cbSPeter Avalos#>9504 bedate x last checked at %s, 1662327e51cbSPeter Avalos>8224 bedate x last written at %s, 1663327e51cbSPeter Avalos>8401 byte x clean flag %d, 1664327e51cbSPeter Avalos>8228 belong x number of blocks %d, 1665327e51cbSPeter Avalos>8232 belong x number of data blocks %d, 1666327e51cbSPeter Avalos>8236 belong x number of cylinder groups %d, 1667327e51cbSPeter Avalos>8240 belong x block size %d, 1668327e51cbSPeter Avalos>8244 belong x fragment size %d, 1669327e51cbSPeter Avalos>8252 belong x minimum percentage of free blocks %d, 1670327e51cbSPeter Avalos>8256 belong x rotational delay %dms, 1671327e51cbSPeter Avalos>8260 belong x disk rotational speed %drps, 1672327e51cbSPeter Avalos>8320 belong 0 TIME optimization 1673327e51cbSPeter Avalos>8320 belong 1 SPACE optimization 1674327e51cbSPeter Avalos 1675327e51cbSPeter Avalos42332 belong 0x19540119 Unix Fast File system [v2] (big-endian) 1676327e51cbSPeter Avalos>&-1164 string x last mounted on %s, 1677327e51cbSPeter Avalos>&-696 string >\0 volume name %s, 1678327e51cbSPeter Avalos>&-304 beqldate x last written at %s, 1679327e51cbSPeter Avalos>&-1167 byte x clean flag %d, 1680327e51cbSPeter Avalos>&-1168 byte x readonly flag %d, 1681327e51cbSPeter Avalos>&-296 bequad x number of blocks %lld, 1682327e51cbSPeter Avalos>&-288 bequad x number of data blocks %lld, 1683327e51cbSPeter Avalos>&-1332 belong x number of cylinder groups %d, 1684327e51cbSPeter Avalos>&-1328 belong x block size %d, 1685327e51cbSPeter Avalos>&-1324 belong x fragment size %d, 1686327e51cbSPeter Avalos>&-180 belong x average file size %d, 1687327e51cbSPeter Avalos>&-176 belong x average number of files in dir %d, 1688327e51cbSPeter Avalos>&-272 bequad x pending blocks to free %lld, 168982c5fa3eSPeter Avalos>&-264 belong x pending inodes to free %d, 1690327e51cbSPeter Avalos>&-664 bequad x system-wide uuid %0llx, 1691327e51cbSPeter Avalos>&-1316 belong x minimum percentage of free blocks %d, 1692327e51cbSPeter Avalos>&-1248 belong 0 TIME optimization 1693327e51cbSPeter Avalos>&-1248 belong 1 SPACE optimization 1694327e51cbSPeter Avalos 1695327e51cbSPeter Avalos66908 belong 0x19540119 Unix Fast File system [v2] (big-endian) 1696327e51cbSPeter Avalos>&-1164 string x last mounted on %s, 1697327e51cbSPeter Avalos>&-696 string >\0 volume name %s, 1698327e51cbSPeter Avalos>&-304 beqldate x last written at %s, 1699327e51cbSPeter Avalos>&-1167 byte x clean flag %d, 1700327e51cbSPeter Avalos>&-1168 byte x readonly flag %d, 1701327e51cbSPeter Avalos>&-296 bequad x number of blocks %lld, 1702327e51cbSPeter Avalos>&-288 bequad x number of data blocks %lld, 1703327e51cbSPeter Avalos>&-1332 belong x number of cylinder groups %d, 1704327e51cbSPeter Avalos>&-1328 belong x block size %d, 1705327e51cbSPeter Avalos>&-1324 belong x fragment size %d, 1706327e51cbSPeter Avalos>&-180 belong x average file size %d, 1707327e51cbSPeter Avalos>&-176 belong x average number of files in dir %d, 1708327e51cbSPeter Avalos>&-272 bequad x pending blocks to free %lld, 170982c5fa3eSPeter Avalos>&-264 belong x pending inodes to free %d, 1710327e51cbSPeter Avalos>&-664 bequad x system-wide uuid %0llx, 1711327e51cbSPeter Avalos>&-1316 belong x minimum percentage of free blocks %d, 1712327e51cbSPeter Avalos>&-1248 belong 0 TIME optimization 1713327e51cbSPeter Avalos>&-1248 belong 1 SPACE optimization 1714327e51cbSPeter Avalos 1715c30bd091SSascha Wildner0 ulequad 0xc8414d4dc5523031 HAMMER filesystem (little-endian), 1716c30bd091SSascha Wildner>0x90 lelong+1 x volume %d 1717c30bd091SSascha Wildner>0x94 lelong x (of %d), 1718c30bd091SSascha Wildner>0x50 string x name %s, 1719c30bd091SSascha Wildner>0x98 ulelong x version %u, 1720614728caSSascha Wildner>0xa0 ulelong x flags %#x 1721614728caSSascha Wildner 1722614728caSSascha Wildner0 ulequad 0x48414d3205172011 HAMMER2 filesystem (little-endian), 1723614728caSSascha Wildner>0x3b byte x volume %d, 1724614728caSSascha Wildner>0x28 ulequad/1073741824 x size %lluGB, 1725614728caSSascha Wildner>0x30 ulelong x version %u, 1726614728caSSascha Wildner>0x34 ulelong x flags %#x 1727c30bd091SSascha Wildner 172879343712SPeter Avalos# ext2/ext3 filesystems - Andreas Dilger <adilger@dilger.ca> 172979343712SPeter Avalos# ext4 filesystem - Eric Sandeen <sandeen@sandeen.net> 1730e4d4ce0cSPeter Avalos# volume label and UUID Russell Coker 17316fca56fbSSascha Wildner# https://etbe.coker.com.au/2008/07/08/label-vs-uuid-vs-device/ 1732327e51cbSPeter Avalos0x438 leshort 0xEF53 Linux 1733327e51cbSPeter Avalos>0x44c lelong x rev %d 1734327e51cbSPeter Avalos>0x43e leshort x \b.%d 173579343712SPeter Avalos# No journal? ext2 1736327e51cbSPeter Avalos>0x45c lelong ^0x0000004 ext2 filesystem data 1737327e51cbSPeter Avalos>>0x43a leshort ^0x0000001 (mounted or unclean) 173879343712SPeter Avalos# Has a journal? ext3 or ext4 173979343712SPeter Avalos>0x45c lelong &0x0000004 174079343712SPeter Avalos# and small INCOMPAT? 174179343712SPeter Avalos>>0x460 lelong <0x0000040 174279343712SPeter Avalos# and small RO_COMPAT? 174379343712SPeter Avalos>>>0x464 lelong <0x0000008 ext3 filesystem data 174479343712SPeter Avalos# else large RO_COMPAT? 174579343712SPeter Avalos>>>0x464 lelong >0x0000007 ext4 filesystem data 174679343712SPeter Avalos# else large INCOMPAT? 174779343712SPeter Avalos>>0x460 lelong >0x000003f ext4 filesystem data 1748614728caSSascha Wildner>0x468 ubelong x \b, UUID=%08x 1749614728caSSascha Wildner>0x46c ubeshort x \b-%04x 1750614728caSSascha Wildner>0x46e ubeshort x \b-%04x 1751614728caSSascha Wildner>0x470 ubeshort x \b-%04x 1752614728caSSascha Wildner>0x472 ubelong x \b-%08x 1753614728caSSascha Wildner>0x476 ubeshort x \b%04x 1754e4d4ce0cSPeter Avalos>0x478 string >0 \b, volume name "%s" 175579343712SPeter Avalos# General flags for any ext* fs 175679343712SPeter Avalos>0x460 lelong &0x0000004 (needs journal recovery) 1757327e51cbSPeter Avalos>0x43a leshort &0x0000002 (errors) 175879343712SPeter Avalos# INCOMPAT flags 1759327e51cbSPeter Avalos>0x460 lelong &0x0000001 (compressed) 1760327e51cbSPeter Avalos#>0x460 lelong &0x0000002 (filetype) 176179343712SPeter Avalos#>0x460 lelong &0x0000010 (meta bg) 176279343712SPeter Avalos>0x460 lelong &0x0000040 (extents) 176379343712SPeter Avalos>0x460 lelong &0x0000080 (64bit) 176479343712SPeter Avalos#>0x460 lelong &0x0000100 (mmp) 176579343712SPeter Avalos#>0x460 lelong &0x0000200 (flex bg) 176679343712SPeter Avalos# RO_INCOMPAT flags 176779343712SPeter Avalos#>0x464 lelong &0x0000001 (sparse super) 1768327e51cbSPeter Avalos>0x464 lelong &0x0000002 (large files) 176979343712SPeter Avalos>0x464 lelong &0x0000008 (huge files) 177079343712SPeter Avalos#>0x464 lelong &0x0000010 (gdt checksum) 177179343712SPeter Avalos#>0x464 lelong &0x0000020 (many subdirs) 177279343712SPeter Avalos#>0x463 lelong &0x0000040 (extra isize) 1773327e51cbSPeter Avalos 17746fca56fbSSascha Wildner# f2fs filesystem - Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi> 17756fca56fbSSascha Wildner0x400 lelong 0xF2F52010 F2FS filesystem 1776614728caSSascha Wildner>0x46c ubelong x \b, UUID=%08x 1777614728caSSascha Wildner>0x470 ubeshort x \b-%04x 1778614728caSSascha Wildner>0x472 ubeshort x \b-%04x 1779614728caSSascha Wildner>0x474 ubeshort x \b-%04x 1780614728caSSascha Wildner>0x476 ubelong x \b-%08x 1781614728caSSascha Wildner>0x47a ubeshort x \b%04x 17826fca56fbSSascha Wildner>0x147c lestring16 x \b, volume name "%s" 17836fca56fbSSascha Wildner 1784e8af9738SPeter Avalos# Minix filesystems - Juan Cespedes <cespedes@debian.org> 1785e8af9738SPeter Avalos0x410 leshort 0x137f 1786e8af9738SPeter Avalos!:strength / 2 1787e8af9738SPeter Avalos>0x402 beshort < 100 1788c30bd091SSascha Wildner>0x402 beshort > -1 Minix filesystem, V1, 14 char names, %d zones 1789e8af9738SPeter Avalos>0x1e string minix \b, bootable 1790e8af9738SPeter Avalos0x410 beshort 0x137f 1791e8af9738SPeter Avalos!:strength / 2 1792e8af9738SPeter Avalos>0x402 beshort < 100 1793e8af9738SPeter Avalos>0x402 beshort > -1 Minix filesystem, V1 (big endian), %d zones 1794e8af9738SPeter Avalos>0x1e string minix \b, bootable 1795e8af9738SPeter Avalos0x410 leshort 0x138f 1796e8af9738SPeter Avalos!:strength / 2 1797e8af9738SPeter Avalos>0x402 beshort < 100 1798e8af9738SPeter Avalos>0x402 beshort > -1 Minix filesystem, V1, 30 char names, %d zones 1799e8af9738SPeter Avalos>0x1e string minix \b, bootable 1800e8af9738SPeter Avalos0x410 beshort 0x138f 1801e8af9738SPeter Avalos!:strength / 2 1802e8af9738SPeter Avalos>0x402 beshort < 100 1803e8af9738SPeter Avalos>0x402 beshort > -1 Minix filesystem, V1, 30 char names (big endian), %d zones 1804e8af9738SPeter Avalos>0x1e string minix \b, bootable 1805c30bd091SSascha Wildner# Weak Magic: this is $x 1806c30bd091SSascha Wildner#0x410 leshort 0x2468 1807c30bd091SSascha Wildner#>0x402 beshort < 100 1808c30bd091SSascha Wildner#>>0x402 beshort > -1 Minix filesystem, V2, 14 char names 1809c30bd091SSascha Wildner#>0x1e string minix \b, bootable 1810c30bd091SSascha Wildner#0x410 beshort 0x2468 1811c30bd091SSascha Wildner#>0x402 beshort < 100 1812c30bd091SSascha Wildner#>0x402 beshort > -1 Minix filesystem, V2 (big endian) 1813c30bd091SSascha Wildner#>0x1e string minix \b, bootable 1814c30bd091SSascha Wildner#0x410 leshort 0x2478 1815c30bd091SSascha Wildner#>0x402 beshort < 100 1816c30bd091SSascha Wildner#>0x402 beshort > -1 Minix filesystem, V2, 30 char names 1817c30bd091SSascha Wildner#>0x1e string minix \b, bootable 1818c30bd091SSascha Wildner#0x410 leshort 0x2478 1819c30bd091SSascha Wildner#>0x402 beshort < 100 1820c30bd091SSascha Wildner#>0x402 beshort > -1 Minix filesystem, V2, 30 char names 1821c30bd091SSascha Wildner#>0x1e string minix \b, bootable 1822c30bd091SSascha Wildner#0x410 beshort 0x2478 1823c30bd091SSascha Wildner#>0x402 beshort !0 Minix filesystem, V2, 30 char names (big endian) 1824c30bd091SSascha Wildner#>0x1e string minix \b, bootable 1825c30bd091SSascha Wildner# Weak Magic! this is MD 1826c30bd091SSascha Wildner#0x418 leshort 0x4d5a 1827c30bd091SSascha Wildner#>0x402 beshort <100 1828c30bd091SSascha Wildner#>>0x402 beshort > -1 Minix filesystem, V3, 60 char names 1829e8af9738SPeter Avalos 1830327e51cbSPeter Avalos# SGI disk labels - Nathan Scott <nathans@debian.org> 1831327e51cbSPeter Avalos0 belong 0x0BE5A941 SGI disk label (volume header) 1832327e51cbSPeter Avalos 1833327e51cbSPeter Avalos# SGI XFS filesystem - Nathan Scott <nathans@debian.org> 1834327e51cbSPeter Avalos0 belong 0x58465342 SGI XFS filesystem data 1835327e51cbSPeter Avalos>0x4 belong x (blksz %d, 1836327e51cbSPeter Avalos>0x68 beshort x inosz %d, 1837327e51cbSPeter Avalos>0x64 beshort ^0x2004 v1 dirs) 1838327e51cbSPeter Avalos>0x64 beshort &0x2004 v2 dirs) 1839327e51cbSPeter Avalos 1840327e51cbSPeter Avalos############################################################################ 1841327e51cbSPeter Avalos# Minix-ST kernel floppy 1842327e51cbSPeter Avalos0x800 belong 0x46fc2700 Atari-ST Minix kernel image 18436fca56fbSSascha Wildner# https://en.wikipedia.org/wiki/BIOS_parameter_block 1844e8af9738SPeter Avalos# floppies with valid BPB and any instruction at beginning 1845e8af9738SPeter Avalos>19 string \240\005\371\005\0\011\0\2\0 \b, 720k floppy 1846e8af9738SPeter Avalos>19 string \320\002\370\005\0\011\0\1\0 \b, 360k floppy 1847327e51cbSPeter Avalos 1848327e51cbSPeter Avalos############################################################################ 1849327e51cbSPeter Avalos# Hmmm, is this a better way of detecting _standard_ floppy images ? 1850e8af9738SPeter Avalos19 string \320\002\360\003\0\011\0\1\0 DOS floppy 360k 1851e8af9738SPeter Avalos>0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector 1852e8af9738SPeter Avalos19 string \240\005\371\003\0\011\0\2\0 DOS floppy 720k 1853e8af9738SPeter Avalos>0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector 1854327e51cbSPeter Avalos19 string \100\013\360\011\0\022\0\2\0 DOS floppy 1440k 1855e8af9738SPeter Avalos>0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector 1856327e51cbSPeter Avalos 1857e8af9738SPeter Avalos19 string \240\005\371\005\0\011\0\2\0 DOS floppy 720k, IBM 1858e8af9738SPeter Avalos>0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector 1859e8af9738SPeter Avalos19 string \100\013\371\005\0\011\0\2\0 DOS floppy 1440k, mkdosfs 1860e8af9738SPeter Avalos>0x1FE leshort 0xAA55 \b, DOS/MBR hard disk boot sector 1861327e51cbSPeter Avalos 1862e8af9738SPeter Avalos19 string \320\002\370\005\0\011\0\1\0 Atari-ST floppy 360k 1863e8af9738SPeter Avalos19 string \240\005\371\005\0\011\0\2\0 Atari-ST floppy 720k 1864e8af9738SPeter Avalos# | | | | | 1865e8af9738SPeter Avalos# | | | | heads 1866e8af9738SPeter Avalos# | | | sectors/track 1867e8af9738SPeter Avalos# | | sectors/FAT 1868e8af9738SPeter Avalos# | media descriptor 1869e8af9738SPeter Avalos# BPB: sectors 1870327e51cbSPeter Avalos 1871327e51cbSPeter Avalos# Valid media descriptor bytes for MS-DOS: 1872327e51cbSPeter Avalos# 1873327e51cbSPeter Avalos# Byte Capacity Media Size and Type 1874327e51cbSPeter Avalos# ------------------------------------------------- 1875327e51cbSPeter Avalos# 1876327e51cbSPeter Avalos# F0 2.88 MB 3.5-inch, 2-sided, 36-sector 1877327e51cbSPeter Avalos# F0 1.44 MB 3.5-inch, 2-sided, 18-sector 1878327e51cbSPeter Avalos# F9 720K 3.5-inch, 2-sided, 9-sector 1879327e51cbSPeter Avalos# F9 1.2 MB 5.25-inch, 2-sided, 15-sector 1880327e51cbSPeter Avalos# FD 360K 5.25-inch, 2-sided, 9-sector 1881327e51cbSPeter Avalos# FF 320K 5.25-inch, 2-sided, 8-sector 1882327e51cbSPeter Avalos# FC 180K 5.25-inch, 1-sided, 9-sector 1883327e51cbSPeter Avalos# FE 160K 5.25-inch, 1-sided, 8-sector 1884327e51cbSPeter Avalos# FE 250K 8-inch, 1-sided, single-density 1885327e51cbSPeter Avalos# FD 500K 8-inch, 2-sided, single-density 1886327e51cbSPeter Avalos# FE 1.2 MB 8-inch, 2-sided, double-density 1887327e51cbSPeter Avalos# F8 ----- Fixed disk 1888327e51cbSPeter Avalos# 1889327e51cbSPeter Avalos# FC xxxK Apricot 70x1x9 boot disk. 1890327e51cbSPeter Avalos# 1891327e51cbSPeter Avalos# Originally a bitmap: 1892327e51cbSPeter Avalos# xxxxxxx0 Not two sided 1893327e51cbSPeter Avalos# xxxxxxx1 Double sided 1894327e51cbSPeter Avalos# xxxxxx0x Not 8 SPT 1895327e51cbSPeter Avalos# xxxxxx1x 8 SPT 1896327e51cbSPeter Avalos# xxxxx0xx Not Removable drive 1897327e51cbSPeter Avalos# xxxxx1xx Removable drive 1898327e51cbSPeter Avalos# 11111xxx Must be one. 1899327e51cbSPeter Avalos# 1900327e51cbSPeter Avalos# But now it's rather random: 1901327e51cbSPeter Avalos# 111111xx Low density disk 1902327e51cbSPeter Avalos# 00 SS, Not 8 SPT 1903327e51cbSPeter Avalos# 01 DS, Not 8 SPT 1904327e51cbSPeter Avalos# 10 SS, 8 SPT 1905327e51cbSPeter Avalos# 11 DS, 8 SPT 1906327e51cbSPeter Avalos# 1907e8af9738SPeter Avalos# 11111001 Double density 3 1/2 floppy disk, high density 5 1/4 1908e8af9738SPeter Avalos# 11110000 High density 3 1/2 floppy disk 1909327e51cbSPeter Avalos# 11111000 Hard disk any format 1910327e51cbSPeter Avalos# 1911327e51cbSPeter Avalos 1912e8af9738SPeter Avalos# all FAT12 (strength=70) floppies with sectorsize 512 added by Joerg Jenderek at Jun 2013 19136fca56fbSSascha Wildner# https://en.wikipedia.org/wiki/File_Allocation_Table#Exceptions 1914e8af9738SPeter Avalos# Too Weak. 1915e8af9738SPeter Avalos#512 ubelong&0xE0ffff00 0xE0ffff00 1916e8af9738SPeter Avalos# without valid Media descriptor in place of BPB, cases with are done at other places 1917e8af9738SPeter Avalos#>21 ubyte <0xE5 floppy with old FAT filesystem 1918e8af9738SPeter Avalos# but valid Media descriptor at begin of FAT 1919e8af9738SPeter Avalos#>>512 ubyte =0xed 720k 1920e8af9738SPeter Avalos#>>512 ubyte =0xf0 1440k 1921e8af9738SPeter Avalos#>>512 ubyte =0xf8 720k 1922e8af9738SPeter Avalos#>>512 ubyte =0xf9 1220k 1923e8af9738SPeter Avalos#>>512 ubyte =0xfa 320k 1924e8af9738SPeter Avalos#>>512 ubyte =0xfb 640k 1925e8af9738SPeter Avalos#>>512 ubyte =0xfc 180k 19266fca56fbSSascha Wildner# look like an old DOS directory entry 1927e8af9738SPeter Avalos#>>>0xA0E ubequad 0 1928e8af9738SPeter Avalos#>>>>0xA00 ubequad !0 1929e8af9738SPeter Avalos#!:mime application/x-ima 1930e8af9738SPeter Avalos#>>512 ubyte =0xfd 1931e8af9738SPeter Avalos# look for 2nd FAT at different location to distinguish between 360k and 500k 1932e8af9738SPeter Avalos#>>>0x600 ubelong&0xE0ffff00 0xE0ffff00 360k 1933e8af9738SPeter Avalos#>>>0x500 ubelong&0xE0ffff00 0xE0ffff00 500k 1934e8af9738SPeter Avalos#>>>0xA0E ubequad 0 1935e8af9738SPeter Avalos#!:mime application/x-ima 1936e8af9738SPeter Avalos#>>512 ubyte =0xfe 1937e8af9738SPeter Avalos#>>>0x400 ubelong&0xE0ffff00 0xE0ffff00 160k 1938e8af9738SPeter Avalos#>>>>0x60E ubequad 0 1939e8af9738SPeter Avalos#>>>>>0x600 ubequad !0 1940e8af9738SPeter Avalos#!:mime application/x-ima 1941e8af9738SPeter Avalos#>>>0xC00 ubelong&0xE0ffff00 0xE0ffff00 1200k 1942e8af9738SPeter Avalos#>>512 ubyte =0xff 320k 1943e8af9738SPeter Avalos#>>>0x60E ubequad 0 1944e8af9738SPeter Avalos#>>>>0x600 ubequad !0 1945e8af9738SPeter Avalos#!:mime application/x-ima 1946614728caSSascha Wildner#>>512 ubyte x \b, Media descriptor %#x 1947e8af9738SPeter Avalos# without x86 jump instruction 1948e8af9738SPeter Avalos#>>0 ulelong&0x804000E9 !0x000000E9 1949e8af9738SPeter Avalos# assembler instructions: CLI;MOV SP,1E7;MOV AX;07c0;MOV 1950e8af9738SPeter Avalos#>>>0 ubequad 0xfabce701b8c0078e \b, MS-DOS 1.12 bootloader 1951e8af9738SPeter Avalos# IOSYS.COM+MSDOS.COM 1952e8af9738SPeter Avalos#>>>>0xc4 use 2xDOS-filename 1953e8af9738SPeter Avalos#>>0 ulelong&0x804000E9 =0x000000E9 1954e8af9738SPeter Avalos# only x86 short jump instruction found 1955e8af9738SPeter Avalos#>>>0 ubyte =0xEB 1956614728caSSascha Wildner#>>>>1 ubyte x \b, code offset %#x+2 19576fca56fbSSascha Wildner# https://thestarman.pcministry.com/DOS/ibm100/Boot.htm 1958e8af9738SPeter Avalos# assembler instructions: CLI;MOV AX,CS;MOV DS,AX;MOV DX,0 1959e8af9738SPeter Avalos#>>>>(1.b+2) ubequad 0xfa8cc88ed8ba0000 \b, PC-DOS 1.0 bootloader 1960e8af9738SPeter Avalos# ibmbio.com+ibmdos.com 1961e8af9738SPeter Avalos#>>>>>0x176 use DOS-filename 1962e8af9738SPeter Avalos#>>>>>0x181 ubyte x \b+ 1963e8af9738SPeter Avalos#>>>>>0x182 use DOS-filename 19646fca56fbSSascha Wildner# https://thestarman.pcministry.com/DOS/ibm110/Boot.htm 1965e8af9738SPeter Avalos# assembler instructions: CLI;MOV AX,CS;MOV DS,AX;XOR DX,DX;MOV 1966e8af9738SPeter Avalos#>>>>(1.b+2) ubequad 0xfa8cc88ed833d28e \b, PC-DOS 1.1 bootloader 1967e8af9738SPeter Avalos# ibmbio.com+ibmdos.com 1968e8af9738SPeter Avalos#>>>>>0x18b use DOS-filename 1969e8af9738SPeter Avalos#>>>>>0x196 ubyte x \b+ 1970e8af9738SPeter Avalos#>>>>>0x197 use DOS-filename 19716fca56fbSSascha Wildner# https://en.wikipedia.org/wiki/Zenith_Data_Systems 1972e8af9738SPeter Avalos# assembler instructions: MOV BX,07c0;MOV SS,BX;MOV SP,01c6 1973e8af9738SPeter Avalos#>>>>(1.b+2) ubequad 0xbbc0078ed3bcc601 \b, Zenith Data Systems MS-DOS 1.25 bootloader 1974e8af9738SPeter Avalos# IO.SYS+MSDOS.SYS 1975e8af9738SPeter Avalos#>>>>>0x20 use 2xDOS-filename 19766fca56fbSSascha Wildner# https://en.wikipedia.org/wiki/Corona_Data_Systems 1977e8af9738SPeter Avalos# assembler instructions: MOV AX,CS;MOV DS,AX;CLI;MOV SS,AX; 1978e8af9738SPeter Avalos#>>>>(1.b+2) ubequad 0x8cc88ed8fa8ed0bc \b, MS-DOS 1.25 bootloader 1979e8af9738SPeter Avalos# IO.SYS+MSDOS.SYS 1980e8af9738SPeter Avalos#>>>>>0x69 use 2xDOS-filename 1981e8af9738SPeter Avalos# assembler instructions: CLI;PUSH CS;POP SS;MOV SP,7c00; 1982e8af9738SPeter Avalos#>>>>(1.b+2) ubequad 0xfa0e17bc007cb860 \b, MS-DOS 2.11 bootloader 1983e8af9738SPeter Avalos# defect IO.SYS+MSDOS.SYS ? 1984e8af9738SPeter Avalos#>>>>>0x162 use 2xDOS-filename 1985e8af9738SPeter Avalos 198682c5fa3eSPeter Avalos0 name cdrom 1987327e51cbSPeter Avalos>38913 string !NSR0 ISO 9660 CD-ROM filesystem data 198882c5fa3eSPeter Avalos!:mime application/x-iso9660-image 19896fca56fbSSascha Wildner!:ext iso/iso9660 1990327e51cbSPeter Avalos>38913 string NSR0 UDF filesystem data 199182c5fa3eSPeter Avalos!:mime application/x-iso9660-image 19926fca56fbSSascha Wildner!:ext iso/udf 1993327e51cbSPeter Avalos>>38917 string 1 (version 1.0) 1994327e51cbSPeter Avalos>>38917 string 2 (version 1.5) 1995327e51cbSPeter Avalos>>38917 string 3 (version 2.0) 1996614728caSSascha Wildner>>38917 byte >0x33 (unknown version, ID %#X) 1997614728caSSascha Wildner>>38917 byte <0x31 (unknown version, ID %#X) 1998c30bd091SSascha Wildner# The next line is not necessary because the MBR staff is done looking for boot signature 1999c30bd091SSascha Wildner>0x1FE leshort 0xAA55 (DOS/MBR boot sector) 2000327e51cbSPeter Avalos# "application id" which appears to be used as a volume label 2001970935fdSSascha Wildner>32808 string/T >\0 '%.32s' 2002327e51cbSPeter Avalos>34816 string \000CD001\001EL\ TORITO\ SPECIFICATION (bootable) 2003327e51cbSPeter Avalos37633 string CD001 ISO 9660 CD-ROM filesystem data (raw 2352 byte sectors) 200479343712SPeter Avalos!:mime application/x-iso9660-image 2005e8af9738SPeter Avalos32777 string CDROM High Sierra CD-ROM filesystem data 2006970935fdSSascha Wildner# "application id" which appears to be used as a volume label 2007970935fdSSascha Wildner>32816 string/T >\0 '%.32s' 2008970935fdSSascha Wildner 2009327e51cbSPeter Avalos 201082c5fa3eSPeter Avalos# CDROM Filesystems 201182c5fa3eSPeter Avalos# https://en.wikipedia.org/wiki/ISO_9660 201282c5fa3eSPeter Avalos# Modified for UDF by gerardo.cacciari@gmail.com 201382c5fa3eSPeter Avalos32769 string CD001 201482c5fa3eSPeter Avalos# mime line at that position does not work 201582c5fa3eSPeter Avalos# to display CD-ROM (70=81-11) after MBR (113=40+72+1), partition-table (71=50+21) and before Apple Driver Map (51) 2016c30bd091SSascha Wildner#!:strength -11 201782c5fa3eSPeter Avalos# to display CD-ROM (114=81+33) before MBR (113=40+72+1), partition-table (71=50+21) and Apple Driver Map (51) 2018c990e5baSDaniel Fojt!:strength +35 201982c5fa3eSPeter Avalos>0 use cdrom 202082c5fa3eSPeter Avalos 20216fca56fbSSascha Wildner# URL: https://en.wikipedia.org/wiki/NRG_(file_format) 20226fca56fbSSascha Wildner# Reference: https://dl.opendesktop.org/api/files/download/id/1460731811/ 20236fca56fbSSascha Wildner# 11577-mount-iso-0.9.5.tar.bz2/mount-iso-0.9.5/install.sh 20246fca56fbSSascha Wildner# From: Joerg Jenderek 20256fca56fbSSascha Wildner# Note: Only for nero disc with once (DAO) type after 300 KB header 20266fca56fbSSascha Wildner339969 string CD001 Nero CD image at 0x4B000 20276fca56fbSSascha Wildner!:mime application/x-nrg 20286fca56fbSSascha Wildner!:ext nrg 20296fca56fbSSascha Wildner>307200 use cdrom 20306fca56fbSSascha Wildner 2031f72f8299SJan Lentfer# .cso files 20326fca56fbSSascha Wildner# Reference: https://pismotec.com/ciso/ciso.h 2033c30bd091SSascha Wildner# NOTE: There are two other formats with the same magic but 2034c30bd091SSascha Wildner# completely incompatible specifications: 2035c30bd091SSascha Wildner# - GameCube/Wii CISO: https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/DiscIO/CISOBlob.h 2036c30bd091SSascha Wildner# - PSP CISO: https://github.com/jamie/ciso/blob/master/ciso.h 2037c30bd091SSascha Wildner0 string CISO 2038c30bd091SSascha Wildner# Other fields are used to determine what type of CISO this is: 2039c30bd091SSascha Wildner# - 0x04 == 0x00200000: GameCube/Wii CISO (block_size) 2040c30bd091SSascha Wildner# - 0x10 == 0x00000800: PSP CISO (ISO-9660 sector size) 20416fca56fbSSascha Wildner# - 0x10 == 0x00004000: For >2GB files using maxcso... 20426fca56fbSSascha Wildner# https://github.com/unknownbrackets/maxcso/issues/26 2043c30bd091SSascha Wildner# - None of the above: Compact ISO. 2044c30bd091SSascha Wildner>4 lelong !0 2045c30bd091SSascha Wildner>>4 lelong !0x200000 20466fca56fbSSascha Wildner>>>16 lelong !0x800 20476fca56fbSSascha Wildner>>>>16 lelong !0x4000 Compressed ISO CD image 2048f72f8299SJan Lentfer 2049327e51cbSPeter Avalos# cramfs filesystem - russell@coker.com.au 2050327e51cbSPeter Avalos0 lelong 0x28cd3d45 Linux Compressed ROM File System data, little endian 205182c5fa3eSPeter Avalos>4 lelong x size %u 2052327e51cbSPeter Avalos>8 lelong &1 version #2 2053327e51cbSPeter Avalos>8 lelong &2 sorted_dirs 2054327e51cbSPeter Avalos>8 lelong &4 hole_support 2055614728caSSascha Wildner>32 lelong x CRC %#x, 205682c5fa3eSPeter Avalos>36 lelong x edition %u, 205782c5fa3eSPeter Avalos>40 lelong x %u blocks, 205882c5fa3eSPeter Avalos>44 lelong x %u files 2059327e51cbSPeter Avalos 2060327e51cbSPeter Avalos0 belong 0x28cd3d45 Linux Compressed ROM File System data, big endian 206182c5fa3eSPeter Avalos>4 belong x size %u 2062327e51cbSPeter Avalos>8 belong &1 version #2 2063327e51cbSPeter Avalos>8 belong &2 sorted_dirs 2064327e51cbSPeter Avalos>8 belong &4 hole_support 2065614728caSSascha Wildner>32 belong x CRC %#x, 206682c5fa3eSPeter Avalos>36 belong x edition %u, 206782c5fa3eSPeter Avalos>40 belong x %u blocks, 206882c5fa3eSPeter Avalos>44 belong x %u files 2069327e51cbSPeter Avalos 2070327e51cbSPeter Avalos# reiserfs - russell@coker.com.au 2071327e51cbSPeter Avalos0x10034 string ReIsErFs ReiserFS V3.5 2072327e51cbSPeter Avalos0x10034 string ReIsEr2Fs ReiserFS V3.6 2073e4d4ce0cSPeter Avalos0x10034 string ReIsEr3Fs ReiserFS V3.6.19 2074327e51cbSPeter Avalos>0x1002c leshort x block size %d 2075327e51cbSPeter Avalos>0x10032 leshort &2 (mounted or unclean) 2076327e51cbSPeter Avalos>0x10000 lelong x num blocks %d 2077327e51cbSPeter Avalos>0x10040 lelong 1 tea hash 2078327e51cbSPeter Avalos>0x10040 lelong 2 yura hash 2079327e51cbSPeter Avalos>0x10040 lelong 3 r5 hash 2080327e51cbSPeter Avalos 2081327e51cbSPeter Avalos# EST flat binary format (which isn't, but anyway) 2082327e51cbSPeter Avalos# From: Mark Brown <broonie@sirena.org.uk> 2083327e51cbSPeter Avalos0 string ESTFBINR EST flat binary 2084327e51cbSPeter Avalos 2085327e51cbSPeter Avalos# Aculab VoIP firmware 2086327e51cbSPeter Avalos# From: Mark Brown <broonie@sirena.org.uk> 2087327e51cbSPeter Avalos0 string VoIP\ Startup\ and Aculab VoIP firmware 2088327e51cbSPeter Avalos>35 string x format %s 2089327e51cbSPeter Avalos 2090f72f8299SJan Lentfer# From: Mark Brown <broonie@sirena.org.uk> [old] 2091f72f8299SJan Lentfer# From: Behan Webster <behanw@websterwood.com> 2092f72f8299SJan Lentfer0 belong 0x27051956 u-boot legacy uImage, 2093f72f8299SJan Lentfer>32 string x %s, 2094f72f8299SJan Lentfer>28 byte 0 Invalid os/ 2095f72f8299SJan Lentfer>28 byte 1 OpenBSD/ 2096f72f8299SJan Lentfer>28 byte 2 NetBSD/ 2097f72f8299SJan Lentfer>28 byte 3 FreeBSD/ 2098f72f8299SJan Lentfer>28 byte 4 4.4BSD/ 2099f72f8299SJan Lentfer>28 byte 5 Linux/ 2100f72f8299SJan Lentfer>28 byte 6 SVR4/ 2101f72f8299SJan Lentfer>28 byte 7 Esix/ 2102f72f8299SJan Lentfer>28 byte 8 Solaris/ 2103f72f8299SJan Lentfer>28 byte 9 Irix/ 2104f72f8299SJan Lentfer>28 byte 10 SCO/ 2105f72f8299SJan Lentfer>28 byte 11 Dell/ 2106f72f8299SJan Lentfer>28 byte 12 NCR/ 2107f72f8299SJan Lentfer>28 byte 13 LynxOS/ 2108f72f8299SJan Lentfer>28 byte 14 VxWorks/ 2109f72f8299SJan Lentfer>28 byte 15 pSOS/ 2110f72f8299SJan Lentfer>28 byte 16 QNX/ 2111f72f8299SJan Lentfer>28 byte 17 Firmware/ 2112f72f8299SJan Lentfer>28 byte 18 RTEMS/ 2113f72f8299SJan Lentfer>28 byte 19 ARTOS/ 2114f72f8299SJan Lentfer>28 byte 20 Unity OS/ 2115f72f8299SJan Lentfer>28 byte 21 INTEGRITY/ 2116f72f8299SJan Lentfer>29 byte 0 \bInvalid CPU, 2117f72f8299SJan Lentfer>29 byte 1 \bAlpha, 2118f72f8299SJan Lentfer>29 byte 2 \bARM, 2119f72f8299SJan Lentfer>29 byte 3 \bIntel x86, 2120f72f8299SJan Lentfer>29 byte 4 \bIA64, 2121f72f8299SJan Lentfer>29 byte 5 \bMIPS, 2122f72f8299SJan Lentfer>29 byte 6 \bMIPS 64-bit, 2123f72f8299SJan Lentfer>29 byte 7 \bPowerPC, 2124f72f8299SJan Lentfer>29 byte 8 \bIBM S390, 2125f72f8299SJan Lentfer>29 byte 9 \bSuperH, 2126f72f8299SJan Lentfer>29 byte 10 \bSparc, 2127f72f8299SJan Lentfer>29 byte 11 \bSparc 64-bit, 2128f72f8299SJan Lentfer>29 byte 12 \bM68K, 2129f72f8299SJan Lentfer>29 byte 13 \bNios-32, 2130f72f8299SJan Lentfer>29 byte 14 \bMicroBlaze, 2131f72f8299SJan Lentfer>29 byte 15 \bNios-II, 2132f72f8299SJan Lentfer>29 byte 16 \bBlackfin, 2133f72f8299SJan Lentfer>29 byte 17 \bAVR32, 2134f72f8299SJan Lentfer>29 byte 18 \bSTMicroelectronics ST200, 2135c30bd091SSascha Wildner>29 byte 19 \bSandbox architecture, 2136c30bd091SSascha Wildner>29 byte 20 \bANDES Technology NDS32, 2137c30bd091SSascha Wildner>29 byte 21 \bOpenRISC 1000, 2138c30bd091SSascha Wildner>29 byte 22 \bARM 64-bit, 2139c30bd091SSascha Wildner>29 byte 23 \bDesignWare ARC, 2140c30bd091SSascha Wildner>29 byte 24 \bx86_64, 2141c30bd091SSascha Wildner>29 byte 25 \bXtensa, 21426fca56fbSSascha Wildner>29 byte 26 \bRISC-V, 2143f72f8299SJan Lentfer>30 byte 0 Invalid Image 2144f72f8299SJan Lentfer>30 byte 1 Standalone Program 2145f72f8299SJan Lentfer>30 byte 2 OS Kernel Image 2146f72f8299SJan Lentfer>30 byte 3 RAMDisk Image 2147f72f8299SJan Lentfer>30 byte 4 Multi-File Image 2148f72f8299SJan Lentfer>30 byte 5 Firmware Image 2149f72f8299SJan Lentfer>30 byte 6 Script File 2150f72f8299SJan Lentfer>30 byte 7 Filesystem Image (any type) 2151f72f8299SJan Lentfer>30 byte 8 Binary Flat Device Tree BLOB 2152f72f8299SJan Lentfer>31 byte 0 (Not compressed), 2153f72f8299SJan Lentfer>31 byte 1 (gzip), 2154f72f8299SJan Lentfer>31 byte 2 (bzip2), 2155f72f8299SJan Lentfer>31 byte 3 (lzma), 2156f72f8299SJan Lentfer>12 belong x %d bytes, 2157f72f8299SJan Lentfer>8 bedate x %s, 2158614728caSSascha Wildner>16 belong x Load Address: %#08X, 2159614728caSSascha Wildner>20 belong x Entry Point: %#08X, 2160614728caSSascha Wildner>4 belong x Header CRC: %#08X, 2161614728caSSascha Wildner>24 belong x Data CRC: %#08X 2162327e51cbSPeter Avalos 2163327e51cbSPeter Avalos# JFFS2 file system 2164327e51cbSPeter Avalos0 leshort 0x1984 Linux old jffs2 filesystem data little endian 21656fca56fbSSascha Wildner0 beshort 0x1984 Linux old jffs2 filesystem data big endian 2166327e51cbSPeter Avalos0 leshort 0x1985 Linux jffs2 filesystem data little endian 21676fca56fbSSascha Wildner0 beshort 0x1985 Linux jffs2 filesystem data big endian 2168327e51cbSPeter Avalos 2169327e51cbSPeter Avalos# Squashfs 21706fca56fbSSascha Wildner0 name squashfs 2171327e51cbSPeter Avalos>28 beshort x version %d. 2172327e51cbSPeter Avalos>30 beshort x \b%d, 21736fca56fbSSascha Wildner>20 beshort 0 uncompressed, 21746fca56fbSSascha Wildner>20 beshort 1 zlib 21756fca56fbSSascha Wildner>20 beshort 2 lzma 21766fca56fbSSascha Wildner>20 beshort 3 lzo 21776fca56fbSSascha Wildner>20 beshort 4 xz 21786fca56fbSSascha Wildner>20 beshort 5 lz4 21796fca56fbSSascha Wildner>20 beshort 6 zstd 21806fca56fbSSascha Wildner>20 beshort >0 compressed, 2181327e51cbSPeter Avalos>28 beshort <3 2182327e51cbSPeter Avalos>>8 belong x %d bytes, 2183327e51cbSPeter Avalos>28 beshort >2 2184e4d4ce0cSPeter Avalos>>28 beshort <4 2185e4d4ce0cSPeter Avalos>>>63 bequad x %lld bytes, 2186e4d4ce0cSPeter Avalos>>28 beshort >3 2187e4d4ce0cSPeter Avalos>>>40 bequad x %lld bytes, 2188327e51cbSPeter Avalos#>>67 belong x %d bytes, 2189327e51cbSPeter Avalos>4 belong x %d inodes, 2190327e51cbSPeter Avalos>28 beshort <2 2191327e51cbSPeter Avalos>>32 beshort x blocksize: %d bytes, 2192327e51cbSPeter Avalos>28 beshort >1 2193e4d4ce0cSPeter Avalos>>28 beshort <4 2194e4d4ce0cSPeter Avalos>>>51 belong x blocksize: %d bytes, 2195e4d4ce0cSPeter Avalos>>28 beshort >3 2196e4d4ce0cSPeter Avalos>>>12 belong x blocksize: %d bytes, 2197e4d4ce0cSPeter Avalos>28 beshort <4 2198e4d4ce0cSPeter Avalos>>39 bedate x created: %s 2199e4d4ce0cSPeter Avalos>28 beshort >3 2200e4d4ce0cSPeter Avalos>>8 bedate x created: %s 22016fca56fbSSascha Wildner 22026fca56fbSSascha Wildner0 string sqsh Squashfs filesystem, big endian, 22036fca56fbSSascha Wildner>0 use squashfs 22046fca56fbSSascha Wildner 2205327e51cbSPeter Avalos0 string hsqs Squashfs filesystem, little endian, 2206c990e5baSDaniel Fojt>0 use \^squashfs 2207327e51cbSPeter Avalos 2208327e51cbSPeter Avalos# AFS Dump Magic 2209327e51cbSPeter Avalos# From: Ty Sarna <tsarna@sarna.org> 2210327e51cbSPeter Avalos0 string \x01\xb3\xa1\x13\x22 AFS Dump 2211327e51cbSPeter Avalos>&0 belong x (v%d) 2212327e51cbSPeter Avalos>>&0 byte 0x76 2213327e51cbSPeter Avalos>>>&0 belong x Vol %d, 2214327e51cbSPeter Avalos>>>>&0 byte 0x6e 2215327e51cbSPeter Avalos>>>>>&0 string x %s 2216327e51cbSPeter Avalos>>>>>>&1 byte 0x74 2217327e51cbSPeter Avalos>>>>>>>&0 beshort 2 2218327e51cbSPeter Avalos>>>>>>>>&4 bedate x on: %s 2219327e51cbSPeter Avalos>>>>>>>>&0 bedate =0 full dump 2220327e51cbSPeter Avalos>>>>>>>>&0 bedate !0 incremental since: %s 2221327e51cbSPeter Avalos 2222327e51cbSPeter Avalos#---------------------------------------------------------- 2223f72f8299SJan Lentfer#delta ISO Daniel Novotny (dnovotny@redhat.com) 2224f72f8299SJan Lentfer0 string DISO Delta ISO data 222582c5fa3eSPeter Avalos!:strength +50 2226f72f8299SJan Lentfer>4 belong x version %d 2227f72f8299SJan Lentfer 2228327e51cbSPeter Avalos# VMS backup savesets - gerardo.cacciari@gmail.com 2229327e51cbSPeter Avalos# 2230327e51cbSPeter Avalos4 string \x01\x00\x01\x00\x01\x00 2231327e51cbSPeter Avalos>(0.s+16) string \x01\x01 2232327e51cbSPeter Avalos>>&(&0.b+8) byte 0x42 OpenVMS backup saveset data 2233327e51cbSPeter Avalos>>>40 lelong x (block size %d, 2234327e51cbSPeter Avalos>>>49 string >\0 original name '%s', 2235327e51cbSPeter Avalos>>>2 short 1024 VAX generated) 2236327e51cbSPeter Avalos>>>2 short 2048 AXP generated) 2237327e51cbSPeter Avalos>>>2 short 4096 I64 generated) 2238327e51cbSPeter Avalos 223979343712SPeter Avalos# Summary: Oracle Clustered Filesystem 224079343712SPeter Avalos# Created by: Aaron Botsis <redhat@digitalmafia.org> 224179343712SPeter Avalos8 string OracleCFS Oracle Clustered Filesystem, 224279343712SPeter Avalos>4 long x rev %d 224379343712SPeter Avalos>0 long x \b.%d, 224479343712SPeter Avalos>560 string x label: %.64s, 224579343712SPeter Avalos>136 string x mountpoint: %.128s 224679343712SPeter Avalos 224779343712SPeter Avalos# Summary: Oracle ASM tagged volume 224879343712SPeter Avalos# Created by: Aaron Botsis <redhat@digitalmafia.org> 224979343712SPeter Avalos32 string ORCLDISK Oracle ASM Volume, 225079343712SPeter Avalos>40 string x Disk Name: %0.12s 225179343712SPeter Avalos32 string ORCLCLRD Oracle ASM Volume (cleared), 225279343712SPeter Avalos>40 string x Disk Name: %0.12s 225379343712SPeter Avalos 225479343712SPeter Avalos# Oracle Clustered Filesystem - Aaron Botsis <redhat@digitalmafia.org> 225579343712SPeter Avalos8 string OracleCFS Oracle Clustered Filesystem, 225679343712SPeter Avalos>4 long x rev %d 225779343712SPeter Avalos>0 long x \b.%d, 225879343712SPeter Avalos>560 string x label: %.64s, 225979343712SPeter Avalos>136 string x mountpoint: %.128s 226079343712SPeter Avalos 226179343712SPeter Avalos# Oracle ASM tagged volume - Aaron Botsis <redhat@digitalmafia.org> 226279343712SPeter Avalos32 string ORCLDISK Oracle ASM Volume, 226379343712SPeter Avalos>40 string x Disk Name: %0.12s 226479343712SPeter Avalos32 string ORCLCLRD Oracle ASM Volume (cleared), 226579343712SPeter Avalos>40 string x Disk Name: %0.12s 226679343712SPeter Avalos 2267327e51cbSPeter Avalos# Compaq/HP RILOE floppy image 2268327e51cbSPeter Avalos# From: Dirk Jagdmann <doj@cubic.org> 2269327e51cbSPeter Avalos0 string CPQRFBLO Compaq/HP RILOE floppy image 2270327e51cbSPeter Avalos 2271327e51cbSPeter Avalos#------------------------------------------------------------------------------ 2272e4d4ce0cSPeter Avalos# Files-11 On-Disk Structure (File system for various RSX-11 and VMS flavours). 2273e4d4ce0cSPeter Avalos# These bits come from LBN 1 (home block) of ODS-1, ODS-2 and ODS-5 volumes, 2274e4d4ce0cSPeter Avalos# which is mapped to VBN 2 of [000000]INDEXF.SYS;1 - gerardo.cacciari@gmail.com 2275327e51cbSPeter Avalos# 2276e4d4ce0cSPeter Avalos1008 string DECFILE11 Files-11 On-Disk Structure 2277e4d4ce0cSPeter Avalos>525 byte x (ODS-%d); 2278e4d4ce0cSPeter Avalos>1017 string A RSX-11, VAX/VMS or OpenVMS VAX file system; 2279e4d4ce0cSPeter Avalos>1017 string B 2280e4d4ce0cSPeter Avalos>>525 byte 2 VAX/VMS or OpenVMS file system; 2281e4d4ce0cSPeter Avalos>>525 byte 5 OpenVMS Alpha or Itanium file system; 2282327e51cbSPeter Avalos>984 string x volume label is '%-12.12s' 2283327e51cbSPeter Avalos 2284327e51cbSPeter Avalos# From: Thomas Klausner <wiz@NetBSD.org> 22856fca56fbSSascha Wildner# https://filext.com/file-extension/DAA 2286327e51cbSPeter Avalos# describes the daa file format. The magic would be: 2287327e51cbSPeter Avalos0 string DAA\x0\x0\x0\x0\x0 PowerISO Direct-Access-Archive 228879343712SPeter Avalos 228979343712SPeter Avalos# From Albert Cahalan <acahalan@gmail.com> 229079343712SPeter Avalos# really le32 operation,destination,payloadsize (but quite predictable) 229179343712SPeter Avalos# 01 00 00 00 00 00 00 c0 00 02 00 00 229279343712SPeter Avalos0 string \1\0\0\0\0\0\0\300\0\2\0\0 Marvell Libertas firmware 229379343712SPeter Avalos 229479343712SPeter Avalos# From Eric Sandeen 229579343712SPeter Avalos# GFS2 2296e4d4ce0cSPeter Avalos0x10000 belong 0x01161970 2297e4d4ce0cSPeter Avalos>0x10018 belong 0x0000051d GFS1 Filesystem 2298e4d4ce0cSPeter Avalos>>0x10024 belong x (blocksize %d, 2299e4d4ce0cSPeter Avalos>>0x10060 string >\0 lockproto %s) 2300e4d4ce0cSPeter Avalos>0x10018 belong 0x00000709 GFS2 Filesystem 2301e4d4ce0cSPeter Avalos>>0x10024 belong x (blocksize %d, 2302e4d4ce0cSPeter Avalos>>0x10060 string >\0 lockproto %s) 230379343712SPeter Avalos 2304c30bd091SSascha Wildner# Russell Coker <russell@coker.com.au> 230579343712SPeter Avalos0x10040 string _BHRfS_M BTRFS Filesystem 2306c30bd091SSascha Wildner>0x1012b string >\0 label "%s", 230779343712SPeter Avalos>0x10090 lelong x sectorsize %d, 230879343712SPeter Avalos>0x10094 lelong x nodesize %d, 2309c30bd091SSascha Wildner>0x10098 lelong x leafsize %d, 2310614728caSSascha Wildner>0x10020 ubelong x UUID=%08x- 2311614728caSSascha Wildner>0x10024 ubeshort x \b%04x- 2312614728caSSascha Wildner>0x10026 ubeshort x \b%04x- 2313614728caSSascha Wildner>0x10028 ubeshort x \b%04x- 2314614728caSSascha Wildner>0x1002a ubeshort x \b%04x 2315614728caSSascha Wildner>0x1002c ubelong x \b%08x, 2316c30bd091SSascha Wildner>0x10078 lequad x %lld/ 2317c30bd091SSascha Wildner>0x10070 lequad x \b%lld bytes used, 2318c30bd091SSascha Wildner>0x10088 lequad x %lld devices 231979343712SPeter Avalos 2320*3b9cdfa3SAntonio Huete Jimenez0 string btrfs-stream BTRFS stream file 2321*3b9cdfa3SAntonio Huete Jimenez 232279343712SPeter Avalos# dvdisaster's .ecc 232379343712SPeter Avalos# From: "Nelson A. de Oliveira" <naoliv@gmail.com> 232479343712SPeter Avalos0 string *dvdisaster* dvdisaster error correction file 2325f72f8299SJan Lentfer 2326f72f8299SJan Lentfer# xfs metadump image 2327f72f8299SJan Lentfer# mb_magic XFSM at 0; superblock magic XFSB at 1 << mb_blocklog 2328f72f8299SJan Lentfer# but can we do the << ? For now it's always 512 (0x200) anyway. 2329f72f8299SJan Lentfer0 string XFSM 2330f72f8299SJan Lentfer>0x200 string XFSB XFS filesystem metadump image 2331f72f8299SJan Lentfer 2332e4d4ce0cSPeter Avalos# Type: CROM filesystem 2333e4d4ce0cSPeter Avalos# From: Werner Fink <werner@suse.de> 2334e4d4ce0cSPeter Avalos0 string CROMFS CROMFS 2335e4d4ce0cSPeter Avalos>6 string >\0 \b version %2.2s, 2336e4d4ce0cSPeter Avalos>8 ulequad >0 \b block data at %lld, 2337e4d4ce0cSPeter Avalos>16 ulequad >0 \b fblock table at %lld, 2338e4d4ce0cSPeter Avalos>24 ulequad >0 \b inode table at %lld, 2339e4d4ce0cSPeter Avalos>32 ulequad >0 \b root at %lld, 234082c5fa3eSPeter Avalos>40 ulelong >0 \b fblock size = %d, 234182c5fa3eSPeter Avalos>44 ulelong >0 \b block size = %d, 2342e4d4ce0cSPeter Avalos>48 ulequad >0 \b bytes = %lld 2343e4d4ce0cSPeter Avalos 2344e4d4ce0cSPeter Avalos# Type: xfs metadump image 2345e4d4ce0cSPeter Avalos# From: Daniel Novotny <dnovotny@redhat.com> 2346e4d4ce0cSPeter Avalos# mb_magic XFSM at 0; superblock magic XFSB at 1 << mb_blocklog 2347e4d4ce0cSPeter Avalos# but can we do the << ? For now it's always 512 (0x200) anyway. 2348e4d4ce0cSPeter Avalos0 string XFSM 2349e4d4ce0cSPeter Avalos>0x200 string XFSB XFS filesystem metadump image 2350e4d4ce0cSPeter Avalos 2351e4d4ce0cSPeter Avalos# Type: delta ISO 2352e4d4ce0cSPeter Avalos# From: Daniel Novotny <dnovotny@redhat.com> 2353e4d4ce0cSPeter Avalos0 string DISO Delta ISO data, 2354e4d4ce0cSPeter Avalos>4 belong x version %d 2355e4d4ce0cSPeter Avalos 2356e4d4ce0cSPeter Avalos# JFS2 (Journaling File System) image. (Old JFS1 has superblock at 0x1000.) 2357e4d4ce0cSPeter Avalos# See linux/fs/jfs/jfs_superblock.h for layout; see jfs_filsys.h for flags. 2358e4d4ce0cSPeter Avalos# From: Adam Buchbinder <adam.buchbinder@gmail.com> 2359e4d4ce0cSPeter Avalos0x8000 string JFS1 2360e4d4ce0cSPeter Avalos# Because it's text-only magic, check a binary value (version) to be sure. 2361e4d4ce0cSPeter Avalos# Should always be 2, but mkfs.jfs writes it as 1. Needs to be 2 or 1 to be 2362e4d4ce0cSPeter Avalos# mountable. 2363e4d4ce0cSPeter Avalos>&0 lelong <3 JFS2 filesystem image 2364e4d4ce0cSPeter Avalos# Label is followed by a UUID; we have to limit string length to avoid 2365e4d4ce0cSPeter Avalos# appending the UUID in the case of a 16-byte label. 2366e4d4ce0cSPeter Avalos>>&144 regex [\x20-\x7E]{1,16} (label "%s") 2367e4d4ce0cSPeter Avalos>>&0 lequad x \b, %lld blocks 2368e4d4ce0cSPeter Avalos>>&8 lelong x \b, blocksize %d 2369e4d4ce0cSPeter Avalos>>&32 lelong&0x00000006 >0 (dirty) 2370e4d4ce0cSPeter Avalos>>&36 lelong >0 (compressed) 2371e8af9738SPeter Avalos 2372e8af9738SPeter Avalos# LFS 2373e8af9738SPeter Avalos0 lelong 0x070162 LFS filesystem image 2374e8af9738SPeter Avalos>4 lelong 1 version 1, 2375e8af9738SPeter Avalos>>8 lelong x \b blocks %u, 2376e8af9738SPeter Avalos>>12 lelong x \b blocks per segment %u, 2377e8af9738SPeter Avalos>4 lelong 2 version 2, 2378e8af9738SPeter Avalos>>8 lelong x \b fragments %u, 2379e8af9738SPeter Avalos>>12 lelong x \b bytes per segment %u, 2380e8af9738SPeter Avalos>16 lelong x \b disk blocks %u, 2381e8af9738SPeter Avalos>20 lelong x \b block size %u, 2382e8af9738SPeter Avalos>24 lelong x \b fragment size %u, 2383e8af9738SPeter Avalos>28 lelong x \b fragments per block %u, 2384e8af9738SPeter Avalos>32 lelong x \b start for free list %u, 2385e8af9738SPeter Avalos>36 lelong x \b number of free blocks %d, 2386e8af9738SPeter Avalos>40 lelong x \b number of files %u, 2387e8af9738SPeter Avalos>44 lelong x \b blocks available for writing %d, 2388e8af9738SPeter Avalos>48 lelong x \b inodes in cache %d, 2389614728caSSascha Wildner>52 lelong x \b inode file disk address %#x, 2390e8af9738SPeter Avalos>56 lelong x \b inode file inode number %u, 2391614728caSSascha Wildner>60 lelong x \b address of last segment written %#x, 2392614728caSSascha Wildner>64 lelong x \b address of next segment to write %#x, 2393614728caSSascha Wildner>68 lelong x \b address of current segment written %#x 2394e8af9738SPeter Avalos 2395e8af9738SPeter Avalos0 string td\000 floppy image data (TeleDisk, compressed) 2396e8af9738SPeter Avalos0 string TD\000 floppy image data (TeleDisk) 2397e8af9738SPeter Avalos 2398e8af9738SPeter Avalos0 string CQ\024 floppy image data (CopyQM, 2399e8af9738SPeter Avalos>16 leshort x %d sectors, 2400e8af9738SPeter Avalos>18 leshort x %d heads.) 2401e8af9738SPeter Avalos 2402e8af9738SPeter Avalos0 string ACT\020Apricot\020disk\020image\032\004 floppy image data (ApriDisk) 2403e8af9738SPeter Avalos 2404*3b9cdfa3SAntonio Huete Jimenez# URL: http://fileformats.archiveteam.org/wiki/LoadDskF/SaveDskF 2405*3b9cdfa3SAntonio Huete Jimenez# Update: Joerg Jenderek 2406*3b9cdfa3SAntonio Huete Jimenez# Note: called "IBM SKF disk image" by TrID 2407*3b9cdfa3SAntonio Huete Jimenez# verfied by 7-Zip `7z l -tFAT -slt *.dsk` and 2408*3b9cdfa3SAntonio Huete Jimenez# `deark -l -m loaddskf 06200D19.DSK` 2409*3b9cdfa3SAntonio Huete Jimenez# Reference: http://mark0.net/download/triddefs_xml.7z/defs/d/dsk-skf-old.trid.xml 2410*3b9cdfa3SAntonio Huete Jimenez0 beshort 0xAA58 2411*3b9cdfa3SAntonio Huete Jimenez>0 use SaveDskF 2412*3b9cdfa3SAntonio Huete Jimenez# Reference: http://mark0.net/download/triddefs_xml.7z/defs/d/dsk-skf.trid.xml 2413*3b9cdfa3SAntonio Huete Jimenez0 beshort 0xAA59 2414*3b9cdfa3SAntonio Huete Jimenez>0 use SaveDskF 2415*3b9cdfa3SAntonio Huete Jimenez# Reference: http://mark0.net/download/triddefs_xml.7z/defs/d/dsk-skf-comp.trid.xml 2416*3b9cdfa3SAntonio Huete Jimenez0 beshort 0xAA5A 2417*3b9cdfa3SAntonio Huete Jimenez# skip foo by additional check for unused upper byte of media type in SaveDskF header 2418*3b9cdfa3SAntonio Huete Jimenez#>3 ubyte =0 2419*3b9cdfa3SAntonio Huete Jimenez# skip bar by additional check for valid "low" number of heads in SaveDskF header 2420*3b9cdfa3SAntonio Huete Jimenez#>>26 uleshort <3 2421*3b9cdfa3SAntonio Huete Jimenez# skip foo by additional check for unused double word field in SaveDskF header 2422*3b9cdfa3SAntonio Huete Jimenez#>>>30 long =0 2423*3b9cdfa3SAntonio Huete Jimenez#>>>>0 use SaveDskF 2424*3b9cdfa3SAntonio Huete Jimenez>0 use SaveDskF 2425*3b9cdfa3SAntonio Huete Jimenez# display information about IBM SaveDskF floppy disk images 2426*3b9cdfa3SAntonio Huete Jimenez0 name SaveDskF 2427*3b9cdfa3SAntonio Huete Jimenez# SaveDskF magic 2428*3b9cdfa3SAntonio Huete Jimenez>0 beshort x floppy image data (IBM SaveDskF 2429*3b9cdfa3SAntonio Huete Jimenez#!:mime application/octet-stream 2430*3b9cdfa3SAntonio Huete Jimenez!:mime application/x-ibm-dsk 2431*3b9cdfa3SAntonio Huete Jimenez!:ext dsk 2432*3b9cdfa3SAntonio Huete Jimenez# also suffix with digit (1dk .2dk ...); NO example FOUND! 2433*3b9cdfa3SAntonio Huete Jimenez#!:ext dsk/1dk/2dk 2434*3b9cdfa3SAntonio Huete Jimenez>1 ubyte =0x58 \b, old) 2435*3b9cdfa3SAntonio Huete Jimenez>1 ubyte =0x59 \b) 2436*3b9cdfa3SAntonio Huete Jimenez>1 ubyte =0x5A \b, compressed) 2437*3b9cdfa3SAntonio Huete Jimenez# media type; the first byte of the FAT like: 0xF0 (usual floppy) 0xF9 0xFE 2438*3b9cdfa3SAntonio Huete Jimenez# https://en.wikipedia.org/wiki/Design_of_the_FAT_file_system 2439*3b9cdfa3SAntonio Huete Jimenez>2 ubyte !0xF0 \b, Media descriptor %#x 2440*3b9cdfa3SAntonio Huete Jimenez# upper byte of media type is not used; so this seems to be nil 2441*3b9cdfa3SAntonio Huete Jimenez>3 ubyte !0 \b, upper byte of media type %#x 2442*3b9cdfa3SAntonio Huete Jimenez# sector size in bytes as in the BIOS parameter block like: 512 ; SAVEDSKF.EXE with other sizes produce garbage images 2443*3b9cdfa3SAntonio Huete Jimenez>4 uleshort !512 \b, Bytes/sector %u 2444*3b9cdfa3SAntonio Huete Jimenez# cluster mask; number of sectors per cluster, minus 1 2445*3b9cdfa3SAntonio Huete Jimenez>6 uleshort+1 >1 \b, sectors/cluster %u 2446*3b9cdfa3SAntonio Huete Jimenez#>6 uleshort+1 x \b, sectors/cluster %u 2447*3b9cdfa3SAntonio Huete Jimenez# cluster shift; log2(cluster size / sector size) like: 0~1=ClusterSize/SectorSize 2448*3b9cdfa3SAntonio Huete Jimenez>7 ubyte >0 \b, cluster shift %u 2449*3b9cdfa3SAntonio Huete Jimenez#>7 ubyte x \b, cluster shift %u 2450*3b9cdfa3SAntonio Huete Jimenez# reserved sectors; as in the BIOS parameter block like: 1 256 (2M256R-K.DSK) 2451*3b9cdfa3SAntonio Huete Jimenez>8 uleshort >1 \b, reserved sectors %u 2452*3b9cdfa3SAntonio Huete Jimenez#>8 uleshort x \b, reserved sectors %u 2453*3b9cdfa3SAntonio Huete Jimenez# FAT copies; as in the BIOS parameter block like: 2 (usual) 1 (2-NK.DSK) 2454*3b9cdfa3SAntonio Huete Jimenez>10 ubyte !2 \b, FAT 2455*3b9cdfa3SAntonio Huete Jimenez# plural s 2456*3b9cdfa3SAntonio Huete Jimenez>>10 ubyte >1 \bs 2457*3b9cdfa3SAntonio Huete Jimenez>>10 ubyte x %u 2458*3b9cdfa3SAntonio Huete Jimenez# root directory entries; as in the BIOS parameter block like: 224 (usual) 64 (H1-NK.DSK) 4096 (2-NK.DSK) 2459*3b9cdfa3SAntonio Huete Jimenez>11 uleshort !224 \b, root entries %u 2460*3b9cdfa3SAntonio Huete Jimenez# sector number of first cluster (count sectors used by boot sector, FATs and root directory) like: 7 10 29 33 288 2461*3b9cdfa3SAntonio Huete Jimenez>13 uleshort !33 \b, 1st cluster at sector %u 2462*3b9cdfa3SAntonio Huete Jimenez# number of clusters in image; empty clusters at the end are not saved and counted like: 2372 2848 2463*3b9cdfa3SAntonio Huete Jimenez>15 uleshort x \b, %u clusters 2464*3b9cdfa3SAntonio Huete Jimenez# sectors/FAT; as in the BIOS parameter block like: 1 (H1-NK.DSK) 7 9 2465*3b9cdfa3SAntonio Huete Jimenez>17 ubyte !9 \b, sectors/FAT %u 2466*3b9cdfa3SAntonio Huete Jimenez# sector number of root directory (ie, count of sectors used by boot sector and FATs) like: 3 (H1-NK.DSK) 9 10 15 19 274 (2M256R-K.DSK) 2467*3b9cdfa3SAntonio Huete Jimenez>18 uleshort !19 \b, root directory at sector %u 2468*3b9cdfa3SAntonio Huete Jimenez# checksum; sum of all bytes in the file 2469*3b9cdfa3SAntonio Huete Jimenez>20 ulelong x \b, checksum %#8.8x 2470*3b9cdfa3SAntonio Huete Jimenez# cylinders; number of cylinders like: 40 80 2471*3b9cdfa3SAntonio Huete Jimenez>24 uleshort !80 \b, %u cylinders 2472*3b9cdfa3SAntonio Huete Jimenez#>24 uleshort x \b, %u cylinders 2473*3b9cdfa3SAntonio Huete Jimenez# heads; number of heads as in the BIOS parameter block like: 1 (H1-NK.DSK) 2 2474*3b9cdfa3SAntonio Huete Jimenez>26 uleshort !2 \b, heads %u 2475*3b9cdfa3SAntonio Huete Jimenez#>26 uleshort x \b, heads %u 2476*3b9cdfa3SAntonio Huete Jimenez# sectors/track; number of sectors per track as in the BIOS parameter block like: 8 15 18 36 2477*3b9cdfa3SAntonio Huete Jimenez>28 uleshort !18 \b, sectors/track %u 2478*3b9cdfa3SAntonio Huete Jimenez#>28 uleshort x \b, sectors/track %u 2479*3b9cdfa3SAntonio Huete Jimenez# unused double word field seems to be always like: 0 2480*3b9cdfa3SAntonio Huete Jimenez>30 ulelong !0 \b, at 0x1E %#x 2481*3b9cdfa3SAntonio Huete Jimenez# number of sectors in images like: 1017 2786 2880 2482*3b9cdfa3SAntonio Huete Jimenez>34 uleshort x \b, sectors %u 2483*3b9cdfa3SAntonio Huete Jimenez# if string is "printable" it can be a real comment 2484*3b9cdfa3SAntonio Huete Jimenez>(36.s) ubyte !0x00 2485*3b9cdfa3SAntonio Huete Jimenez# if 1st sector is far enough away (> 0x29) then there is space for comment part 2486*3b9cdfa3SAntonio Huete Jimenez>>38 uleshort >41 2487*3b9cdfa3SAntonio Huete Jimenez# offset to comment string like: 28h=40 2488*3b9cdfa3SAntonio Huete Jimenez>>>36 uleshort x \b, at %#x 2489*3b9cdfa3SAntonio Huete Jimenez# comment string terminated with \r\n\0 2490*3b9cdfa3SAntonio Huete Jimenez>>>(36.s) string x "%s" 2491*3b9cdfa3SAntonio Huete Jimenez# offset to the first sector like: 0 (If this is 0, assume it is 0x200) 29h=41 (DISPLAY3.DSK) 31h 43h 45h 46h 48h 50h 200h=512 2492*3b9cdfa3SAntonio Huete Jimenez>38 uleshort !0 \b, 1st sector at %#x 2493*3b9cdfa3SAntonio Huete Jimenez# FOR DEBUGGING! 2494*3b9cdfa3SAntonio Huete Jimenez#>(38.s) ubelong x SECTOR CONTENT %x 2495*3b9cdfa3SAntonio Huete Jimenez# not compressed floppy image implies readable DOS boot sector inside image 2496*3b9cdfa3SAntonio Huete Jimenez>>1 ubyte !0x5A 2497*3b9cdfa3SAntonio Huete Jimenez# when not compressed it is readable as DOS boot sector via ./filesystems 2498*3b9cdfa3SAntonio Huete Jimenez#>>>(38.s) indirect x \b; contains 2499*3b9cdfa3SAntonio Huete Jimenez>38 uleshort =0 \b, 1st sector at 0x200 (0) 2500*3b9cdfa3SAntonio Huete Jimenez# maybe standard DOS boot sector; NO example FOUND HERE! 2501*3b9cdfa3SAntonio Huete Jimenez#>>0x200 indirect x \b; contains 2502e8af9738SPeter Avalos 2503e8af9738SPeter Avalos0 string \074CPM_Disk\076 disk image data (YAZE) 2504e8af9738SPeter Avalos 2505*3b9cdfa3SAntonio Huete Jimenez# From: Joerg Jenderek 2506*3b9cdfa3SAntonio Huete Jimenez# URL: https://en.wikipedia.org/wiki/Central_Point_Software#cite_note-6 2507*3b9cdfa3SAntonio Huete Jimenez# Reference: https://www.robcraig.com/download/transcopy-5-x-file-format 2508*3b9cdfa3SAntonio Huete Jimenez# https://www.robcraig.com/download/transcopy-file-format-by-gene-thompson 2509*3b9cdfa3SAntonio Huete Jimenez# http://mark0.net/download/triddefs_xml.7z/defs/t/tc-transcopy.trid.xml 2510*3b9cdfa3SAntonio Huete Jimenez# TransCopy signature 2511*3b9cdfa3SAntonio Huete Jimenez0 beshort 0x5AA5 2512*3b9cdfa3SAntonio Huete Jimenez# skip Intel serial flash ROM with invalid 0 disk sides handled by ./intel 2513*3b9cdfa3SAntonio Huete Jimenez>0x103 ubyte !0 2514*3b9cdfa3SAntonio Huete Jimenez# skip Intel serial flash ROM with unlikely "high" start cylinder 100 handled by ./intel 2515*3b9cdfa3SAntonio Huete Jimenez#>>0x101 ubyte <100 VALID_START_CYLINDER 2516*3b9cdfa3SAntonio Huete Jimenez# skip Intel serial flash ROM with unlikely description handled by ./intel 2517*3b9cdfa3SAntonio Huete Jimenez#>>>2 beshort !0xF00f VALID_DESCRIPTION 2518*3b9cdfa3SAntonio Huete Jimenez# skip Intel serial flash ROM with invalid disk types 89h 88h handled by ./intel 2519*3b9cdfa3SAntonio Huete Jimenez#>>>>0x100 byte !0x89 VALID_DISK_TYPE 2520*3b9cdfa3SAntonio Huete Jimenez>>0 use tc-floppy 2521*3b9cdfa3SAntonio Huete Jimenez# display information of Central Point Software (CPS) Option Board TransCopy floppy image 2522*3b9cdfa3SAntonio Huete Jimenez0 name tc-floppy 2523*3b9cdfa3SAntonio Huete Jimenez>0 beshort x TransCopy disk image 2524*3b9cdfa3SAntonio Huete Jimenez#!:mime application/octet-stream 2525*3b9cdfa3SAntonio Huete Jimenez!:mime application/x-floppy-image-tc 2526*3b9cdfa3SAntonio Huete Jimenez# like: disk04.tc VOCALC2.TC WIZ5_A.tc WIZ2_720.IMG 2527*3b9cdfa3SAntonio Huete Jimenez!:ext tc/img 2528*3b9cdfa3SAntonio Huete Jimenez# 1st description (optional 0-terminated maximal 32) like: 2529*3b9cdfa3SAntonio Huete Jimenez# "Project Workbench 2.20" "Visi On Calc" "Wizardry V Disk 1 of 3" 2530*3b9cdfa3SAntonio Huete Jimenez>2 string >\0 %.32s 2531*3b9cdfa3SAntonio Huete Jimenez# 2nd desc. (optional 0-terminated maximal 32) like: 2532*3b9cdfa3SAntonio Huete Jimenez# "(1988)." "Advanced - Utility" 'Program Disk 2" 2533*3b9cdfa3SAntonio Huete Jimenez>0x22 string >\0 "%.32s" 2534*3b9cdfa3SAntonio Huete Jimenez# Looks like ascii (like MESSAGES) formatted with attribute bytes (190)? 2535*3b9cdfa3SAntonio Huete Jimenez# not needed for disk copy 2536*3b9cdfa3SAntonio Huete Jimenez#>>0x42 string x '%.190s' 2537*3b9cdfa3SAntonio Huete Jimenez#>>0x88 lestring16 x "%.8s" 2538*3b9cdfa3SAntonio Huete Jimenez# disktype: 2~MFM High Density 3~MFM Double Density 4~Apple II GCR 5~FM Single Density 2539*3b9cdfa3SAntonio Huete Jimenez# 6~Commodore GCR 7~MFM Double Density 8~Commodore Amiga Ch~Atari FM FFh~Unknown 2540*3b9cdfa3SAntonio Huete Jimenez>0x100 ubyte !0xFF \b, disk type %u 2541*3b9cdfa3SAntonio Huete Jimenez# StartingCylinder like: 0 2542*3b9cdfa3SAntonio Huete Jimenez>0x101 ubyte x \b, cylinder 2543*3b9cdfa3SAntonio Huete Jimenez>0x101 ubyte !0 start=%u 2544*3b9cdfa3SAntonio Huete Jimenez# EndingCylinder like: 40 (often) 41 79 2545*3b9cdfa3SAntonio Huete Jimenez>0x102 ubyte x end=%u 2546*3b9cdfa3SAntonio Huete Jimenez# NumberOfSides like: 2 2547*3b9cdfa3SAntonio Huete Jimenez>0x103 ubyte !2 \b, %u sides 2548*3b9cdfa3SAntonio Huete Jimenez# TrackIncrement like: 1 2549*3b9cdfa3SAntonio Huete Jimenez>0x104 ubyte !1 \b, track increment %u 2550*3b9cdfa3SAntonio Huete Jimenez# TrackPosTbl Track skew 2551*3b9cdfa3SAntonio Huete Jimenez#>0x105 ubequad x \b, Track skew %#16.16llx 2552*3b9cdfa3SAntonio Huete Jimenez# TrackOffsTbl 2553*3b9cdfa3SAntonio Huete Jimenez#>0x305 ubequad x \b, TrackOffsTbl %#16.16llx 2554*3b9cdfa3SAntonio Huete Jimenez# TrackLngthTbl 2555*3b9cdfa3SAntonio Huete Jimenez#>0x505 ubequad x \b, TrackLngthTbl %#16.16llx 2556*3b9cdfa3SAntonio Huete Jimenez# TrackTypeTable 2557*3b9cdfa3SAntonio Huete Jimenez#>0x705 ubequad x \b, TrackTypeTable %#16.16llx 2558*3b9cdfa3SAntonio Huete Jimenez# Address mark timing 2559*3b9cdfa3SAntonio Huete Jimenez#>0x905 ubequad x \b, Address mark timing %#16.16llx 2560*3b9cdfa3SAntonio Huete Jimenez# Track fragment 2561*3b9cdfa3SAntonio Huete Jimenez#>0x2905 ubequad !0 \b, Track fragment %#16.16llx 2562*3b9cdfa3SAntonio Huete Jimenez# Track data 2563*3b9cdfa3SAntonio Huete Jimenez#>0x4000 ubequad !0 \b, Track data %#16.16llx 2564*3b9cdfa3SAntonio Huete Jimenez 2565e8af9738SPeter Avalos# ReFS 2566e8af9738SPeter Avalos# Richard W.M. Jones <rjones@redhat.com> 2567e8af9738SPeter Avalos0 string \0\0\0ReFS\0 ReFS filesystem image 2568e8af9738SPeter Avalos 2569e8af9738SPeter Avalos# EFW encase image file format: 2570e8af9738SPeter Avalos# Gregoire Passault 2571e8af9738SPeter Avalos# http://www.forensicswiki.org/wiki/Encase_image_file_format 2572e8af9738SPeter Avalos0 string EVF\x09\x0d\x0a\xff\x00 EWF/Expert Witness/EnCase image file format 2573e8af9738SPeter Avalos 2574e8af9738SPeter Avalos# UBIfs 2575e8af9738SPeter Avalos# Linux kernel sources: fs/ubifs/ubifs-media.h 257682c5fa3eSPeter Avalos0 lelong 0x06101831 257782c5fa3eSPeter Avalos>0x16 leshort 0 UBIfs image 2578e8af9738SPeter Avalos>0x08 lequad x \b, sequence number %llu 2579e8af9738SPeter Avalos>0x10 leshort x \b, length %u 2580614728caSSascha Wildner>0x04 lelong x \b, CRC %#08x 2581e8af9738SPeter Avalos 258282c5fa3eSPeter Avalos0 lelong 0x23494255 258382c5fa3eSPeter Avalos>0x04 leshort <2 2584e8af9738SPeter Avalos>0x05 string \0\0\0 2585e8af9738SPeter Avalos>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 258682c5fa3eSPeter Avalos>0x04 leshort x UBI image, version %u 258782c5fa3eSPeter Avalos 258882c5fa3eSPeter Avalos# NEC PC-88 2D disk image 258982c5fa3eSPeter Avalos# From Fabio R. Schmidlin <sd-snatcher@users.sourceforge.net> 259082c5fa3eSPeter Avalos0x20 ulelong&0xFFFFFEFF 0x2A0 259182c5fa3eSPeter Avalos>0x10 string \0\0\0\0\0\0\0\0\0\0 259282c5fa3eSPeter Avalos>>0x280 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 259382c5fa3eSPeter Avalos>>>0x1A ubyte&0xEF 0 259482c5fa3eSPeter Avalos>>>>0x1B ubyte&0x8F 0 259582c5fa3eSPeter Avalos>>>>>0x1B ubyte&70 <0x40 259682c5fa3eSPeter Avalos>>>>>>0x1C ulelong >0x21 259782c5fa3eSPeter Avalos>>>>>>>0 regex [[:print:]]* NEC PC-88 disk image, name=%s 259882c5fa3eSPeter Avalos>>>>>>>>0x1B ubyte 0 \b, media=2D 259982c5fa3eSPeter Avalos>>>>>>>>0x1B ubyte 0x10 \b, media=2DD 260082c5fa3eSPeter Avalos>>>>>>>>0x1B ubyte 0x20 \b, media=2HD 260182c5fa3eSPeter Avalos>>>>>>>>0x1B ubyte 0x30 \b, media=1D 260282c5fa3eSPeter Avalos>>>>>>>>0x1B ubyte 0x40 \b, media=1DD 260382c5fa3eSPeter Avalos>>>>>>>>0x1A ubyte 0x10 \b, write-protected 2604c30bd091SSascha Wildner 2605c30bd091SSascha Wildner# HDD Raw Copy Tool disk image, file extension: .imgc 2606c30bd091SSascha Wildner# From Benjamin Vanheuverzwijn <bvanheu@gmail.com> 2607c30bd091SSascha Wildner0 pstring HDD\ Raw\ Copy\ Tool %s 2608c30bd091SSascha Wildner>0x100 pstring x %s 2609c30bd091SSascha Wildner>0x200 pstring x - HD model: %s 2610c30bd091SSascha Wildner#>0x300 pstring x unknown %s 2611c30bd091SSascha Wildner>0x400 pstring x serial: %s 2612c30bd091SSascha Wildner#>0x500 pstring x unknown: %s 2613c30bd091SSascha Wildner!:ext imgc 2614970935fdSSascha Wildner 2615970935fdSSascha Wildner# http://martin.hinner.info/fs/bfs/bfs-structure.html 2616970935fdSSascha Wildner0 lelong 0x1BADFACE SCO UnixWare BFS filesystem 2617970935fdSSascha Wildner 2618970935fdSSascha Wildner# https://arstechnica.com/information-technology/2018/07/the-beos-filesystem/ 2619970935fdSSascha Wildner32 lelong 0x42465331 BE/OS BFS1 filesystem 2620970935fdSSascha Wildner>36 lelong x \b, byte order %d 2621970935fdSSascha Wildner>40 lelong x \b, block size %d 2622970935fdSSascha Wildner>44 lelong x \b, block shift %d 2623970935fdSSascha Wildner>48 lequad x \b, total blocks %lld 2624970935fdSSascha Wildner>56 lequad x \b, used blocks %lld 2625970935fdSSascha Wildner 2626970935fdSSascha Wildner 2627970935fdSSascha Wildner0 name next 2628970935fdSSascha Wildner>0 lelong x \b, size %d 2629970935fdSSascha Wildner>4 string x \b, label %s 2630970935fdSSascha Wildner 2631970935fdSSascha Wildner# https://opensource.apple.com/source/IOStorageFamily/IOStorageFamily-44.3\ 2632970935fdSSascha Wildner# /IONeXTPartitionScheme.h 2633970935fdSSascha Wildner0 string NeXT NeXT version 1 disklabel 2634970935fdSSascha Wildner>12 use next 2635970935fdSSascha Wildner0 string dlV1 NeXT version 2 disklabel 2636970935fdSSascha Wildner>12 use next 2637970935fdSSascha Wildner0 string dlV2 NeXT version 3 disklabel 2638970935fdSSascha Wildner>12 use next 2639614728caSSascha Wildner 2640614728caSSascha Wildner# bcachefs 2641614728caSSascha Wildner# From: Thomas Wei�schuh <thomas@t-8ch.de> 2642614728caSSascha Wildner 2643614728caSSascha Wildner0 name bcachefs-uuid 2644614728caSSascha Wildner>0 ubelong x \b%08x 2645614728caSSascha Wildner>4 ubeshort x \b-%04x 2646614728caSSascha Wildner>6 ubeshort x \b-%04x 2647614728caSSascha Wildner>8 ubeshort x \b-%04x 2648614728caSSascha Wildner>10 ubelong x \b-%08x 2649614728caSSascha Wildner>14 ubeshort x \b%04x 2650614728caSSascha Wildner 2651614728caSSascha Wildner0x1018 string \xc6\x85\x73\xf6\x4e\x1a\x45\xca\x82\x65\xf5\x7f\x48\xba\x6d\x81 bcachefs 2652614728caSSascha Wildner>0x1068 lequad 8 \b, UUID= 2653614728caSSascha Wildner>>0x1038 use bcachefs-uuid 2654614728caSSascha Wildner>>0x1048 string >0 \b, label "%.32s" 2655614728caSSascha Wildner>>0x1010 uleshort x \b, version %u 2656614728caSSascha Wildner>>0x1012 uleshort x \b, min version %u 2657614728caSSascha Wildner>>0x107a byte x \b, device %d 2658614728caSSascha Wildner# assumes the first field is the members field 2659614728caSSascha Wildner>>0x12f4 ulelong 0x01 \b/UUID= 2660614728caSSascha Wildner>>>0x12f0 default x 2661614728caSSascha Wildner>>>&(0x107a.b*56) use bcachefs-uuid 2662614728caSSascha Wildner>>0x107b byte x \b, %d devices 2663614728caSSascha Wildner>>0x1090 byte ^0x02 \b (unclean) 2664*3b9cdfa3SAntonio Huete Jimenez 2665*3b9cdfa3SAntonio Huete Jimenez# EROFS 2666*3b9cdfa3SAntonio Huete Jimenez# https://kernel.googlesource.com/pub/scm/linux/kernel/git/xiang/erofs-utils/\ 2667*3b9cdfa3SAntonio Huete Jimenez# +/refs/heads/experimental/include/erofs_fs.h#12 2668*3b9cdfa3SAntonio Huete Jimenez1024 lelong 0xE0F5E1E2 EROFS filesystem 2669*3b9cdfa3SAntonio Huete Jimenez#>1028 lelong x \b, checksum=%#x 2670*3b9cdfa3SAntonio Huete Jimenez>1032 lelong >0 \b, compat: 2671*3b9cdfa3SAntonio Huete Jimenez>>1032 lelong &1 SB_CHKSUM 2672*3b9cdfa3SAntonio Huete Jimenez>>1032 lelong &2 MTIME 2673*3b9cdfa3SAntonio Huete Jimenez>1036 byte x \b, blocksize=%u 2674*3b9cdfa3SAntonio Huete Jimenez>1037 byte x \b, exslots=%u 2675*3b9cdfa3SAntonio Huete Jimenez#>1038 leshort x \b, root_nid=%d 2676*3b9cdfa3SAntonio Huete Jimenez#>1040 lequad x \b, inodes=%ld 2677*3b9cdfa3SAntonio Huete Jimenez#>1048 leldate x \b, build_time=%s 2678*3b9cdfa3SAntonio Huete Jimenez#>1056 lelong x \b.%d 2679*3b9cdfa3SAntonio Huete Jimenez#>1060 lelong x \b, blocks=%d 2680*3b9cdfa3SAntonio Huete Jimenez#>1064 lelong x \b, metadata@%#x 2681*3b9cdfa3SAntonio Huete Jimenez#>1068 lelong x \b, xattr@%#x 2682*3b9cdfa3SAntonio Huete Jimenez>1072 guid x \b, uuid=%s 2683*3b9cdfa3SAntonio Huete Jimenez>1088 string >0 \b, name=%s 2684*3b9cdfa3SAntonio Huete Jimenez>1104 lelong >0 \b, incompat: 2685*3b9cdfa3SAntonio Huete Jimenez>>1104 lelong &1 LZ4_0PADDING 2686*3b9cdfa3SAntonio Huete Jimenez>>1104 lelong &2 BIG_PCLUSTER 2687*3b9cdfa3SAntonio Huete Jimenez>>1104 lelong &4 CHUNKED_FILE 2688*3b9cdfa3SAntonio Huete Jimenez>>1104 lelong &8 DEVICE_TABLE 2689*3b9cdfa3SAntonio Huete Jimenez>>1104 lelong &16 ZTAILPACKING 2690