xref: /dflybsd-src/contrib/file/magic/Magdir/filesystems (revision c990e5ba296a6fc9cca0b70d4c36d67f474f8a61)
1327e51cbSPeter Avalos#------------------------------------------------------------------------------
2*c990e5baSDaniel Fojt# $File: filesystems,v 1.133 2020/05/17 19:32:00 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
223327e51cbSPeter Avalos>>>>21		ubyte	x		\b, from drive 0x%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
264e8af9738SPeter Avalos# keep old DOS/MBR boot sector as dummy for mbr and bootloader displaying
265327e51cbSPeter Avalos# only for sector sizes with 512 or more Bytes
266e8af9738SPeter Avalos0x1FE          leshort         0xAA55         	DOS/MBR boot sector
26782c5fa3eSPeter Avalos#
268e8af9738SPeter Avalos# to display information (50) before DOS BPB (strength=70) and after DOS floppy (120) like in old file version
26982c5fa3eSPeter Avalos!:strength +65
27082c5fa3eSPeter Avalos>2		string		OSBS		OS/BS MBR
2716fca56fbSSascha Wildner# added by Joerg Jenderek at Feb 2013 according to https://thestarman.pcministry.com/asm/mbr/
2726fca56fbSSascha Wildner# and https://en.wikipedia.org/wiki/Master_Boot_Record
273e8af9738SPeter Avalos# test for nearly all MS-DOS Master Boot Record initial program loader (IPL) is now done by
274e8af9738SPeter Avalos# characteristic assembler instructions: xor ax,ax;mov ss,ax;mov sp,7c00
275e8af9738SPeter Avalos>0	search/2	\x33\xc0\x8e\xd0\xbc\x00\x7c	MS-MBR
2766fca56fbSSascha Wildner# Microsoft Windows 95A and early ( https://thestarman.pcministry.com/asm/mbr/STDMBR.htm )
277e8af9738SPeter Avalos# assembler instructions: mov si,sp;push ax;pop es;push ax;pop ds;sti;cld
278e8af9738SPeter Avalos>>8	ubequad		0x8bf45007501ffbfc
2796fca56fbSSascha Wildner# https://thestarman.pcministry.com/asm/mbr/200MBR.htm
280e8af9738SPeter Avalos>>>0x16	ubyte		0xF3				\b,DOS 2
281e8af9738SPeter Avalos>>>>219	regex		Author\ -\ 			Author:
282e8af9738SPeter Avalos# found "David Litton" , "A Pehrsson  "
283e8af9738SPeter Avalos>>>>>&0	string		x				"%s"
284e8af9738SPeter Avalos>>>0x16	ubyte		0xF2
2856fca56fbSSascha Wildner# NEC MS-DOS 3.30 Rev. 3 . See https://thestarman.pcministry.com/asm/mbr/DOS33MBR.htm
286e8af9738SPeter Avalos# assembler instructions: mov di,077c;cmp word ptrl[di],a55a;jnz
287e8af9738SPeter Avalos>>>>0x22	ubequad	0xbf7c07813d5aa575		\b,NEC 3.3
288e8af9738SPeter Avalos# version MS-DOS 3.30 til MS-Windows 95A (WinVer=4.00.1111)
289e8af9738SPeter Avalos>>>>0x22	default	x				\b,D0S version 3.3-7.0
290e8af9738SPeter Avalos# error messages are printed by assembler instructions: mov si,06nn;...;int 10 (0xBEnn06;...)
291e8af9738SPeter Avalos# where nn is string offset varying for different languages
292e8af9738SPeter Avalos# "Invalid partition table"				nn=0x8b for english version
293e8af9738SPeter Avalos>>>>>(0x49.b)	string		Invalid\ partition\ table		english
294e8af9738SPeter Avalos>>>>>(0x49.b)	string		Ung\201ltige\ Partitionstabelle		german
295e8af9738SPeter Avalos>>>>>(0x49.b)	string		Table\ de\ partition\ invalide		french
296e8af9738SPeter Avalos>>>>>(0x49.b)	string		Tabela\ de\ parti\207ao\ inv\240lida	portuguese
297e8af9738SPeter Avalos>>>>>(0x49.b)	string		Tabla\ de\ partici\242n\ no\ v\240lida	spanish
298e8af9738SPeter Avalos>>>>>(0x49.b)	string		Tavola\ delle\ partizioni\ non\ valida	italian
299e8af9738SPeter Avalos>>>>>0x49	ubyte		>0			at offset 0x%x
300e8af9738SPeter Avalos>>>>>>(0x49.b)	string		>\0			"%s"
301e8af9738SPeter Avalos# "Error loading operating system"			nn=0xa3 for english version
302e8af9738SPeter Avalos# "Fehler beim Laden des Betriebssystems"		nn=0xa7 for german version
303e8af9738SPeter Avalos# "Erreur en chargeant syst\212me d'exploitation"	nn=0xa7 for french version
304e8af9738SPeter Avalos# "Erro na inicializa\207ao do sistema operacional"	nn=0xa7 for portuguese Brazilian version
305e8af9738SPeter Avalos# "Error al cargar sistema operativo"			nn=0xa8 for spanish version
306e8af9738SPeter Avalos# "Errore durante il caricamento del sistema operativo"	nn=0xae for italian version
307e8af9738SPeter Avalos>>>>>0x74	ubyte		>0			at offset 0x%x
308e8af9738SPeter Avalos>>>>>>(0x74.b)	string		>\0			"%s"
309e8af9738SPeter Avalos# "Missing operating system"				nn=0xc2 for english version
310e8af9738SPeter Avalos# "Betriebssystem fehlt"				nn=0xcd for german version
311e8af9738SPeter Avalos# "Syst\212me d'exploitation absent"			nn=0xd2 for french version
312e8af9738SPeter Avalos# "Sistema operacional nao encontrado"			nn=0xd4 for portuguese Brazilian version
313e8af9738SPeter Avalos# "Falta sistema operativo"				nn=0xca for spanish version
314e8af9738SPeter Avalos# "Sistema operativo mancante"				nn=0xe2 for italian version
315e8af9738SPeter Avalos>>>>>0x79	ubyte		>0			at offset 0x%x
316e8af9738SPeter Avalos>>>>>>(0x79.b)	string		>\0			"%s"
3176fca56fbSSascha Wildner# Microsoft Windows 95B to XP (https://thestarman.pcministry.com/asm/mbr/95BMEMBR.htm)
318e8af9738SPeter Avalos# assembler instructions: push ax;pop es;push  ax;pop ds;cld;mov si,7c1b
319e8af9738SPeter Avalos>>8	ubequad		0x5007501ffcbe1b7c
320e8af9738SPeter Avalos# assembler instructions: rep;movsb;retf;mov si,07be;mov cl,04
321e8af9738SPeter Avalos>>>24		ubequad	0xf3a4cbbebe07b104		9M
322e8af9738SPeter Avalos# "Invalid partition table"				nn=0x10F for english version
32382c5fa3eSPeter Avalos# "Ung\201ltige Partitionstabelle"				nn=0x10F for german version
32482c5fa3eSPeter Avalos# "Table de partition erron\202e"				nn=0x10F for french version
325e8af9738SPeter 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
326e8af9738SPeter Avalos>>>>(0x3C.b+0x0FF)	string	Invalid\ partition\ table		english
327e8af9738SPeter Avalos>>>>(0x3C.b+0x0FF)	string	Ung\201ltige\ Partitionstabelle		german
328e8af9738SPeter Avalos>>>>(0x3C.b+0x0FF)	string	Table\ de\ partition\ erron\202e	french
329e8af9738SPeter 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
330e8af9738SPeter Avalos>>>>0x3C		ubyte	x			at offset 0x%x+0xFF
331e8af9738SPeter Avalos>>>>(0x3C.b+0x0FF)	string	>\0			"%s"
332e8af9738SPeter Avalos# "Error loading operating system"			nn=0x127 for english version
333e8af9738SPeter Avalos# "Fehler beim Laden des Betriebssystems"		nn=0x12b for german version
33482c5fa3eSPeter Avalos# "Erreur lors du chargement du syst\212me d'exploitation"	nn=0x12a for french version
335e8af9738SPeter 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
336e8af9738SPeter Avalos>>>>0xBD		ubyte	x			at offset 0x1%x
337e8af9738SPeter Avalos>>>>(0xBD.b+0x100)	string	>\0			"%s"
338e8af9738SPeter Avalos# "Missing operating system"				nn=0x146 for english version
339e8af9738SPeter Avalos# "Betriebssystem fehlt"				nn=0x151 for german version
34082c5fa3eSPeter Avalos# "Syst\212me d'exploitation manquant"			nn=0x15e for french version
341e8af9738SPeter 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
342e8af9738SPeter Avalos>>>>0xA9		ubyte	x			at offset 0x1%x
343e8af9738SPeter Avalos>>>>(0xA9.b+0x100)	string	>\0			"%s"
3446fca56fbSSascha Wildner# https://thestarman.pcministry.com/asm/mbr/Win2kmbr.htm
345e8af9738SPeter Avalos# assembler instructions: rep;movsb;retf;mov BP,07be;mov cl,04
346e8af9738SPeter Avalos>>>24		ubequad	0xf3a4cbbdbe07b104		XP
347e8af9738SPeter Avalos# where xxyyzz are lower bits from offsets of error messages varying for different languages
348e8af9738SPeter Avalos>>>>0x1B4	ubelong&0x00FFFFFF	0x002c4463	english
349e8af9738SPeter Avalos>>>>0x1B4	ubelong&0x00FFFFFF	0x002c486e	german
350e8af9738SPeter Avalos# "Invalid partition table"				xx=0x12C for english version
35182c5fa3eSPeter Avalos# "Ung\201ltige Partitionstabelle"				xx=0x12C for german version
352e8af9738SPeter Avalos>>>>0x1b5	ubyte		>0			at offset 0x1%x
353e8af9738SPeter Avalos>>>>(0x1b5.b+0x100)	string	>\0			"%s"
354e8af9738SPeter Avalos# "Error loading operating system"			yy=0x144 for english version
355e8af9738SPeter Avalos# "Fehler beim Laden des Betriebssystems"		yy=0x148 for german version
356e8af9738SPeter Avalos>>>>0x1b6	ubyte		>0			at offset 0x1%x
357e8af9738SPeter Avalos>>>>(0x1b6.b+0x100)	string	>\0			"%s"
358e8af9738SPeter Avalos# "Missing operating system"				zz=0x163 for english version
359e8af9738SPeter Avalos# "Betriebssystem nicht vorhanden"			zz=0x16e for german version
360e8af9738SPeter Avalos>>>>0x1b7	ubyte		>0			at offset 0x1%x
361e8af9738SPeter Avalos>>>>(0x1b7.b+0x100)	string	>\0			"%s"
362e8af9738SPeter Avalos# Microsoft Windows Vista or 7
363e8af9738SPeter Avalos# assembler instructions: ..;mov ds,ax;mov si,7c00;mov di,..00
364e8af9738SPeter Avalos>>8	ubequad		0xc08ed8be007cbf00
3656fca56fbSSascha Wildner# Microsoft Windows Vista (https://thestarman.pcministry.com/asm/mbr/VistaMBR.htm)
366e8af9738SPeter Avalos# assembler instructions: jnz 0729;cmp ebx,"TCPA"
367e8af9738SPeter Avalos>>>0xEC		ubequad	0x753b6681fb544350		Vista
368e8af9738SPeter Avalos# where xxyyzz are lower bits from offsets of error messages varying for different languages
369e8af9738SPeter Avalos>>>>0x1B4	ubelong&0x00FFFFFF	0x00627a99	english
370e8af9738SPeter Avalos#>>>>0x1B4	ubelong&0x00FFFFFF	?		german
371e8af9738SPeter Avalos# "Invalid partition table"				xx=0x162 for english version
37282c5fa3eSPeter Avalos# "Ung\201ltige Partitionstabelle"				xx=0x1?? for german version
373e8af9738SPeter Avalos>>>>0x1b5	ubyte		>0			at offset 0x1%x
374e8af9738SPeter Avalos>>>>(0x1b5.b+0x100)	string	>\0			"%s"
375e8af9738SPeter Avalos# "Error loading operating system"			yy=0x17a for english version
376e8af9738SPeter Avalos# "Fehler beim Laden des Betriebssystems"		yy= 0x1?? for german version
377e8af9738SPeter Avalos>>>>0x1b6	ubyte		>0			at offset 0x1%x
378e8af9738SPeter Avalos>>>>(0x1b6.b+0x100)	string	>\0			"%s"
379e8af9738SPeter Avalos# "Missing operating system"				zz=0x199 for english version
380e8af9738SPeter Avalos# "Betriebssystem nicht vorhanden"			zz=0x1?? for german version
381e8af9738SPeter Avalos>>>>0x1b7	ubyte		>0			at offset 0x1%x
382e8af9738SPeter Avalos>>>>(0x1b7.b+0x100)	string	>\0			"%s"
3836fca56fbSSascha Wildner# Microsoft Windows 7 (https://thestarman.pcministry.com/asm/mbr/W7MBR.htm)
384e8af9738SPeter Avalos# assembler instructions: cmp ebx,"TCPA";cmp
385e8af9738SPeter Avalos>>>0xEC		ubequad	0x6681fb5443504175		Windows 7
386e8af9738SPeter Avalos# where xxyyzz are lower bits from offsets of error messages varying for different languages
387e8af9738SPeter Avalos>>>>0x1B4	ubelong&0x00FFFFFF	0x00637b9a	english
388e8af9738SPeter Avalos#>>>>0x1B4	ubelong&0x00FFFFFF	?		german
389e8af9738SPeter Avalos# "Invalid partition table"				xx=0x163 for english version
39082c5fa3eSPeter Avalos# "Ung\201ltige Partitionstabelle"				xx=0x1?? for german version
391e8af9738SPeter Avalos>>>>0x1b5	ubyte		>0			at offset 0x1%x
392e8af9738SPeter Avalos>>>>(0x1b5.b+0x100)	string	>\0			"%s"
393e8af9738SPeter Avalos# "Error loading operating system"			yy=0x17b for english version
394e8af9738SPeter Avalos# "Fehler beim Laden des Betriebssystems"		yy=0x1?? for german version
395e8af9738SPeter Avalos>>>>0x1b6	ubyte		>0			at offset 0x1%x
396e8af9738SPeter Avalos>>>>(0x1b6.b+0x100)	string	>\0			"%s"
397e8af9738SPeter Avalos# "Missing operating system"				zz=0x19a for english version
398e8af9738SPeter Avalos# "Betriebssystem nicht vorhanden"			zz=0x1?? for german version
399e8af9738SPeter Avalos>>>>0x1b7	ubyte		>0			at offset 0x1%x
400e8af9738SPeter Avalos>>>>(0x1b7.b+0x100)	string	>\0			"%s"
4016fca56fbSSascha Wildner# https://thestarman.pcministry.com/asm/mbr/Win2kmbr.htm#DiskSigs
4026fca56fbSSascha Wildner# https://en.wikipedia.org/wiki/MBR_disk_signature#ID
403e8af9738SPeter Avalos>>0x1b8	ulelong		>0				\b, disk signature 0x%-.4x
4046fca56fbSSascha Wildner# driveID/timestamp for Win 95B,98,98SE and ME. See https://thestarman.pcministry.com/asm/mbr/mystery.htm
405e8af9738SPeter Avalos>>0xDA	uleshort		0
406e8af9738SPeter Avalos>>>0xDC 	ulelong		>0			\b, created
407e8af9738SPeter Avalos# physical drive number (0x80-0xFF) when the Windows wrote that byte to the drive
408e8af9738SPeter Avalos>>>>0xDC	ubyte		x			with driveID 0x%x
409e8af9738SPeter Avalos# hours, minutes and seconds
410e8af9738SPeter Avalos>>>>0xDf	ubyte		x			at %x
411e8af9738SPeter Avalos>>>>0xDe	ubyte		x			\b:%x
412e8af9738SPeter Avalos>>>>0xDd	ubyte		x			\b:%x
413e8af9738SPeter Avalos# special case for Microsoft MS-DOS 3.21 spanish
414e8af9738SPeter Avalos# assembler instructions: cli;mov $0x30,%ax;mov %ax,%ss;mov
415e8af9738SPeter Avalos>0	ubequad		0xfab830008ed0bc00
416e8af9738SPeter Avalos# assembler instructions: $0x1f00,%sp;mov $0x80cb,%di;add %cl,(%bx,%si);in (%dx),%ax;mov
417e8af9738SPeter Avalos>>8	ubequad		0x1fbfcb800008ed8		MS-MBR,D0S version 3.21 spanish
418e8af9738SPeter Avalos# Microsoft MBR IPL end
419e8af9738SPeter Avalos
420327e51cbSPeter Avalos# dr-dos with some upper-, lowercase variants
421327e51cbSPeter Avalos>0x9D	string	Invalid\ partition\ table$
422327e51cbSPeter Avalos>>181	string	No\ Operating\ System$
423327e51cbSPeter Avalos>>>201	string	Operating\ System\ load\ error$	\b, DR-DOS MBR, Version 7.01 to 7.03
424327e51cbSPeter Avalos>0x9D	string	Invalid\ partition\ table$
425327e51cbSPeter Avalos>>181	string	No\ operating\ system$
426327e51cbSPeter Avalos>>>201	string	Operating\ system\ load\ error$	\b, DR-DOS MBR, Version 7.01 to 7.03
427327e51cbSPeter Avalos>342	string	Invalid\ partition\ table$
428327e51cbSPeter Avalos>>366	string	No\ operating\ system$
429327e51cbSPeter Avalos>>>386	string	Operating\ system\ load\ error$	\b, DR-DOS MBR, version 7.01 to 7.03
430327e51cbSPeter Avalos>295	string	NEWLDR\0
431327e51cbSPeter Avalos>>302	string	Bad\ PT\ $
432327e51cbSPeter Avalos>>>310	string	No\ OS\ $
433327e51cbSPeter Avalos>>>>317	string	OS\ load\ err$
434327e51cbSPeter Avalos>>>>>329	string	Moved\ or\ missing\ IBMBIO.LDR\n\r
435327e51cbSPeter Avalos>>>>>>358	string	Press\ any\ key\ to\ continue.\n\r$
436327e51cbSPeter Avalos>>>>>>>387	string	Copyright\ (c)\ 1984,1998
437327e51cbSPeter Avalos>>>>>>>>411	string	Caldera\ Inc.\0		\b, DR-DOS MBR (IBMBIO.LDR)
438327e51cbSPeter Avalos#
439e8af9738SPeter Avalos# tests for different MS-DOS Master Boot Records (MBR) moved and merged
440e8af9738SPeter Avalos#
44179343712SPeter Avalos#>0x145	string	Default:\ F				\b, FREE-DOS MBR
44279343712SPeter Avalos#>0x14B	string	Default:\ F				\b, FREE-DOS 1.0 MBR
44379343712SPeter Avalos>0x145	search/7	Default:\ F			\b, FREE-DOS MBR
44479343712SPeter Avalos#>>313		string	F0\ .\ .\ .
44579343712SPeter Avalos#>>>322		string	disk\ 1
44679343712SPeter Avalos#>>>>382	string	FAT3
447327e51cbSPeter Avalos>64	string	no\ active\ partition\ found
448327e51cbSPeter Avalos>>96	string	read\ error\ while\ reading\ drive	\b, FREE-DOS Beta 0.9 MBR
44979343712SPeter Avalos# Ranish Partition Manager http://www.ranish.com/part/
45079343712SPeter Avalos>387	search/4	\0\ Error!\r
45179343712SPeter Avalos>>378	search/7	Virus!
452c30bd091SSascha Wildner>>>397	search/4	Booting\040
45379343712SPeter Avalos>>>>408	search/4	HD1/\0	 			\b, Ranish MBR (
45479343712SPeter Avalos>>>>>416	string	Writing\ changes...		\b2.37
45579343712SPeter Avalos>>>>>>438	ubyte		x			\b,0x%x dots
45679343712SPeter Avalos>>>>>>440	ubyte		>0			\b,virus check
45779343712SPeter Avalos>>>>>>441	ubyte		>0			\b,partition %c
45879343712SPeter Avalos#2.38,2.42,2.44
45979343712SPeter Avalos>>>>>416	string	!Writing\ changes...		\b
46079343712SPeter Avalos>>>>>>418	ubyte	1				\bvirus check,
46179343712SPeter Avalos>>>>>>419	ubyte	x				\b0x%x seconds
46279343712SPeter Avalos>>>>>>420	ubyte&0x0F	>0			\b,partition
46379343712SPeter Avalos>>>>>>>420	ubyte&0x0F	<5			\b %x
46479343712SPeter Avalos>>>>>>>420	ubyte&0x0F	0Xf			\b ask
46579343712SPeter Avalos>>>>>420	ubyte		x			\b)
46679343712SPeter Avalos#
467e8af9738SPeter Avalos# SYSLINUX MBR moved
4686fca56fbSSascha Wildner# https://www.acronis.de/
469327e51cbSPeter Avalos>362	string	MBR\ Error\ \0\r
470c30bd091SSascha Wildner>>376	string	ress\ any\ key\ to\040
471327e51cbSPeter Avalos>>>392	string	boot\ from\ floppy...\0			\b, Acronis MBR
472327e51cbSPeter Avalos# added by Joerg Jenderek
4736fca56fbSSascha Wildner# https://www.visopsys.org/
4746fca56fbSSascha Wildner# https://partitionlogic.org.uk/
475327e51cbSPeter Avalos>309	string	No\ bootable\ partition\ found\r
476327e51cbSPeter Avalos>>339	string	I/O\ Error\ reading\ boot\ sector\r	\b, Visopsys MBR
477327e51cbSPeter Avalos>349	string	No\ bootable\ partition\ found\r
478327e51cbSPeter Avalos>>379	string	I/O\ Error\ reading\ boot\ sector\r	\b, simple Visopsys MBR
479327e51cbSPeter Avalos# bootloader, bootmanager
480327e51cbSPeter Avalos>0x40	string	SBML
481327e51cbSPeter Avalos# label with 11 characters of FAT 12 bit filesystem
482327e51cbSPeter Avalos>>43	string	SMART\ BTMGR
48379343712SPeter Avalos>>>430	string	SBMK\ Bad!\r			\b, Smart Boot Manager
48479343712SPeter Avalos# OEM-ID not always "SBM"
48579343712SPeter Avalos#>>>>3	strings	SBM
48679343712SPeter Avalos>>>>6	string	>\0                             \b, version %s
487327e51cbSPeter Avalos>382	string	XOSLLOADXCF			\b, eXtended Operating System Loader
488327e51cbSPeter Avalos>6	string	LILO				\b, LInux i386 boot LOader
489327e51cbSPeter Avalos>>120	string	LILO				\b, version 22.3.4 SuSe
490327e51cbSPeter Avalos>>172	string	LILO				\b, version 22.5.8 Debian
49179343712SPeter Avalos# updated by Joerg Jenderek at Oct 2008
492327e51cbSPeter Avalos# variables according to grub-0.97/stage1/stage1.S or
4936fca56fbSSascha Wildner# https://www.gnu.org/software/grub/manual/grub.html#Embedded-data
494327e51cbSPeter Avalos# usual values are marked with comments to get only informations of strange GRUB loaders
49579343712SPeter Avalos>342		search/60	\0Geom\0
49679343712SPeter Avalos#>0		ulelong		x		%x=0x009048EB ,	0x2a9048EB  0
497327e51cbSPeter Avalos>>0x41		ubyte		<2
498327e51cbSPeter Avalos>>>0x3E		ubyte		>2		\b; GRand Unified Bootloader
499327e51cbSPeter Avalos# 0x3 for 0.5.95,0.93,0.94,0.96 0x4 for 1.90
500327e51cbSPeter Avalos>>>>0x3E	ubyte		x		\b, stage1 version 0x%x
501327e51cbSPeter Avalos#If it is 0xFF, use a drive passed by BIOS
502327e51cbSPeter Avalos>>>>0x40	ubyte		<0xFF		\b, boot drive 0x%x
503327e51cbSPeter Avalos# in most case 0,1,0x2e for GRUB 0.5.95
504327e51cbSPeter Avalos>>>>0x41	ubyte		>0		\b, LBA flag 0x%x
505327e51cbSPeter Avalos>>>>0x42	uleshort	<0x8000		\b, stage2 address 0x%x
506327e51cbSPeter Avalos#>>>>0x42	uleshort	=0x8000		\b, stage2 address 0x%x (usual)
507327e51cbSPeter Avalos>>>>0x42	uleshort	>0x8000		\b, stage2 address 0x%x
508327e51cbSPeter Avalos#>>>>0x44	ulelong		=1		\b, 1st sector stage2 0x%x (default)
509327e51cbSPeter Avalos>>>>0x44	ulelong		>1		\b, 1st sector stage2 0x%x
510327e51cbSPeter Avalos>>>>0x48	uleshort	<0x800		\b, stage2 segment 0x%x
511327e51cbSPeter Avalos#>>>>0x48	uleshort	=0x800		\b, stage2 segment 0x%x (usual)
512327e51cbSPeter Avalos>>>>0x48	uleshort	>0x800		\b, stage2 segment 0x%x
513327e51cbSPeter Avalos>>>>402		string	Geom\0Hard\ Disk\0Read\0\ Error\0
514327e51cbSPeter Avalos>>>>>394	string	stage1			\b, GRUB version 0.5.95
515327e51cbSPeter Avalos>>>>382		string	Geom\0Hard\ Disk\0Read\0\ Error\0
516327e51cbSPeter Avalos>>>>>376	string	GRUB\ \0		\b, GRUB version 0.93 or 1.94
517327e51cbSPeter Avalos>>>>383		string	Geom\0Hard\ Disk\0Read\0\ Error\0
518327e51cbSPeter Avalos>>>>>377	string	GRUB\ \0		\b, GRUB version 0.94
519327e51cbSPeter Avalos>>>>385		string	Geom\0Hard\ Disk\0Read\0\ Error\0
520327e51cbSPeter Avalos>>>>>379	string	GRUB\ \0		\b, GRUB version 0.95 or 0.96
521327e51cbSPeter Avalos>>>>391		string	Geom\0Hard\ Disk\0Read\0\ Error\0
522327e51cbSPeter Avalos>>>>>385	string	GRUB\ \0		\b, GRUB version 0.97
52382c5fa3eSPeter Avalos# unknown version
524327e51cbSPeter Avalos>>>343		string	Geom\0Read\0\ Error\0
525327e51cbSPeter Avalos>>>>321		string	Loading\ stage1.5	\b, GRUB version x.y
526327e51cbSPeter Avalos>>>380		string	Geom\0Hard\ Disk\0Read\0\ Error\0
527327e51cbSPeter Avalos>>>>374		string	GRUB\ \0		\b, GRUB version n.m
528e8af9738SPeter Avalos# SYSLINUX bootloader moved
529327e51cbSPeter Avalos>395	string	chksum\0\ ERROR!\0		\b, Gujin bootloader
530327e51cbSPeter Avalos# http://www.bcdwb.de/bcdw/index_e.htm
531327e51cbSPeter Avalos>3	string	BCDL
532327e51cbSPeter Avalos>>498	string	BCDL\ \ \ \ BIN			\b, Bootable CD Loader (1.50Z)
533e8af9738SPeter Avalos# mbr partition table entries updated by Joerg Jenderek at Sep 2013
534e8af9738SPeter Avalos# skip Norton Utilities disc image data
535e8af9738SPeter Avalos>3		string		!IHISK
536e8af9738SPeter Avalos# skip Linux style boot sector starting with assember instructions mov 0x7c0,ax;
537e8af9738SPeter Avalos>>0		belong		!0xb8c0078e
538327e51cbSPeter Avalos# not Linux kernel
539e8af9738SPeter Avalos>>>514		string		!HdrS
540327e51cbSPeter Avalos# not BeOS
541e8af9738SPeter Avalos>>>>422		string		!Be\ Boot\ Loader
542e8af9738SPeter Avalos# jump over BPB instruction implies DOS bootsector or AdvanceMAME mbr
543e8af9738SPeter Avalos>>>>>0		ubelong&0xFD000000	=0xE9000000
544e8af9738SPeter Avalos# AdvanceMAME mbr
545e8af9738SPeter Avalos>>>>>>(1.b+2)	ubequad		0xfa31c08ed88ec08e
546e8af9738SPeter Avalos>>>>>>>446	use		partition-table
547e8af9738SPeter Avalos# mbr, Norton Utilities disc image data, or 2nd,etc. sector of x86 bootloader
548e8af9738SPeter Avalos>>>>>0		ubelong&0xFD000000	!0xE9000000
549e8af9738SPeter Avalos# skip FSInfosector
550e8af9738SPeter Avalos>>>>>>0		string		!RRaA
551e8af9738SPeter Avalos# skip 3rd sector of MS x86 bootloader with assember instructions cli;MOVZX EAX,BYTE PTR [BP+10];MOV ECX,
5526fca56fbSSascha Wildner# https://thestarman.pcministry.com/asm/mbr/MSWIN41.htm
553e8af9738SPeter Avalos>>>>>>>0	ubequad		!0xfa660fb64610668b
554e8af9738SPeter Avalos# skip 13rd sector of MS x86 bootloader
555e8af9738SPeter Avalos>>>>>>>>0	ubequad		!0x660fb64610668b4e
556e8af9738SPeter Avalos# skip sector starting with DOS new line
557e8af9738SPeter Avalos>>>>>>>>>0	string		!\r\n
558e8af9738SPeter Avalos# allowed active flag 0,80h-FFh
559e8af9738SPeter Avalos>>>>>>>>>>446	ubyte		0
560e8af9738SPeter Avalos>>>>>>>>>>>446	use		partition-table
561e8af9738SPeter Avalos>>>>>>>>>>446	ubyte		>0x7F
562e8af9738SPeter Avalos>>>>>>>>>>>446	use		partition-table
563e8af9738SPeter Avalos# TODO: test for extended bootrecord (ebr) moved and merged with mbr partition table entries
564f72f8299SJan Lentfer# mbr partition table entries end
5656fca56fbSSascha Wildner# https://www.acronis.de/
566327e51cbSPeter Avalos#FAT label=ACRONIS\ SZ
567327e51cbSPeter Avalos#OEM-ID=BOOTWIZ0
568c30bd091SSascha Wildner>442	string	Non-system\ disk,\040
569327e51cbSPeter Avalos>>459	string	press\ any\ key...\x7\0		\b, Acronis Startup Recovery Loader
57082c5fa3eSPeter Avalos# updated by Joerg Jenderek at Nov 2012, Sep 2013
571e8af9738SPeter Avalos# DOS names like F11.SYS or BOOTWIZ.SYS are 8 right space padded bytes+3 bytes
57282c5fa3eSPeter Avalos# display 1 space
57382c5fa3eSPeter Avalos>>>447	ubyte	x		\b
57482c5fa3eSPeter Avalos>>>477	use	DOS-filename
575327e51cbSPeter Avalos#
576c30bd091SSascha Wildner>185	string	FDBOOT\ Version\040
577c30bd091SSascha Wildner>>204	string	\rNo\ Systemdisk.\040
578327e51cbSPeter Avalos>>>220	string	Booting\ from\ harddisk.\n\r
579327e51cbSPeter Avalos>>>245	string	Cannot\ load\ from\ harddisk.\n\r
580c30bd091SSascha Wildner>>>>273 string	Insert\ Systemdisk\040
581327e51cbSPeter Avalos>>>>>291 string and\ press\ any\ key.\n\r		\b, FDBOOT harddisk Bootloader
582327e51cbSPeter Avalos>>>>>>200 string	>\0                             \b, version %-3s
583327e51cbSPeter Avalos>242	string	Bootsector\ from\ C.H.\ Hochst\204
584e8af9738SPeter Avalos# http://freecode.com/projects/dosfstools	dosfstools-n.m/src/mkdosfs.c
585e8af9738SPeter Avalos# updated by Joerg Jenderek at Nov 2012. Use search directive with offset instead of string
586e8af9738SPeter Avalos# skip name "C.H. Hochstaetter" partly because it is sometimes written without umlaut
587e8af9738SPeter Avalos>242	search/127	Bootsector\ from\ C.H.\ Hochst
588e8af9738SPeter Avalos>>278	search/127	No\ Systemdisk.\ Booting\ from\ harddisk
589e8af9738SPeter Avalos# followed by variants with point,CR-NL or NL-CR
590e8af9738SPeter Avalos>>>208	search/261	Cannot\ load\ from\ harddisk.
591e8af9738SPeter Avalos# followed by variants CR-NL or NL-CR
592e8af9738SPeter Avalos>>>>236	search/235	Insert\ Systemdisk\ and\ press\ any\ key.
593e8af9738SPeter Avalos# followed by variants with point,CR-NL or NL-CR
594e8af9738SPeter Avalos>>>>>180	search/96	Disk\ formatted\ with\ WinImage\ 	\b, WinImage harddisk Bootloader
595e8af9738SPeter Avalos# followed by string like "6.50 (c) 1993-2004 Gilles Vollant"
596e8af9738SPeter Avalos>>>>>>&0	string		x 					\b, version %-4.4s
597327e51cbSPeter Avalos>(1.b+2)	ubyte		0xe
598327e51cbSPeter Avalos>>(1.b+3)	ubyte		0x1f
599327e51cbSPeter Avalos>>>(1.b+4)	ubyte		0xbe
600e8af9738SPeter Avalos# message offset found at (1.b+5) is 0x77 for FAT32 or 0x5b for others
601e8af9738SPeter Avalos>>>>(1.b+5)	ubyte&0xd3	0x53
602e8af9738SPeter Avalos>>>>>(1.b+6)	ubyte		0x7c
603e8af9738SPeter Avalos# assembler instructions: lodsb;and al,al;jz 0xb;push si;mov ah,
604e8af9738SPeter Avalos>>>>>>(1.b+7)	ubyte		0xac
605e8af9738SPeter Avalos>>>>>>>(1.b+8)	ubyte		0x22
606e8af9738SPeter Avalos>>>>>>>>(1.b+9)	ubyte		0xc0
607e8af9738SPeter Avalos>>>>>>>>>(1.b+10)	ubyte	0x74
608e8af9738SPeter Avalos>>>>>>>>>>(1.b+11)	ubyte	0x0b
609e8af9738SPeter Avalos>>>>>>>>>>>(1.b+12)	ubyte	0x56
610e8af9738SPeter Avalos>>>>>>>>>>>>(1.b+13)	ubyte	0xb4			\b, mkdosfs boot message display
611e8af9738SPeter Avalos# FAT1X version
612e8af9738SPeter Avalos>>>>>>>>>>>>>(1.b+5)	ubyte	0x5b
613e8af9738SPeter Avalos>>>>>>>>>>>>>>0x5b	string	>\0			"%-s"
614e8af9738SPeter Avalos# FAT32 version
615e8af9738SPeter Avalos>>>>>>>>>>>>>(1.b+5)	ubyte	0x77
616e8af9738SPeter Avalos>>>>>>>>>>>>>>0x77	string	>\0			"%-s"
61779343712SPeter Avalos>214	string	Please\ try\ to\ install\ FreeDOS\ 	\b, DOS Emulator boot message display
61879343712SPeter Avalos#>>244	string	from\ dosemu-freedos-*-bin.tgz\r
619c30bd091SSascha Wildner#>>>170	string	Sorry,\ could\ not\ load\ an\040
62079343712SPeter Avalos#>>>>195	string	operating\ system.\r\n
62179343712SPeter Avalos#
622c30bd091SSascha Wildner>103	string	This\ is\ not\ a\ bootable\ disk.\040
623c30bd091SSascha Wildner>>132	string	Please\ insert\ a\ bootable\040
624327e51cbSPeter Avalos>>>157	string	floppy\ and\r\n
625327e51cbSPeter Avalos>>>>169	string	press\ any\ key\ to\ try\ again...\r	\b, FREE-DOS message display
626327e51cbSPeter Avalos#
627327e51cbSPeter Avalos>66	string	Solaris\ Boot\ Sector
628327e51cbSPeter Avalos>>99	string	Incomplete\ MDBoot\ load.
629327e51cbSPeter Avalos>>>89	string	Version 				\b, Sun Solaris Bootloader
630327e51cbSPeter Avalos>>>>97	byte	x					version %c
631327e51cbSPeter Avalos#
632327e51cbSPeter Avalos>408	string	OS/2\ !!\ SYS01475\r\0
633327e51cbSPeter Avalos>>429	string	OS/2\ !!\ SYS02025\r\0
634327e51cbSPeter Avalos>>>450	string	OS/2\ !!\ SYS02027\r\0
635327e51cbSPeter Avalos>>>469	string	OS2BOOT\ \ \ \ 				\b, IBM OS/2 Warp bootloader
636327e51cbSPeter Avalos#
637327e51cbSPeter Avalos>409	string	OS/2\ !!\ SYS01475\r\0
638327e51cbSPeter Avalos>>430	string	OS/2\ !!\ SYS02025\r\0
639327e51cbSPeter Avalos>>>451	string	OS/2\ !!\ SYS02027\r\0
640327e51cbSPeter Avalos>>>470	string	OS2BOOT\ \ \ \ 				\b, IBM OS/2 Warp Bootloader
641327e51cbSPeter Avalos>112		string	This\ disk\ is\ not\ bootable\r
642327e51cbSPeter Avalos>>142		string	If\ you\ wish\ to\ make\ it\ bootable
643c30bd091SSascha Wildner>>>176		string	run\ the\ DOS\ program\ SYS\040
644327e51cbSPeter Avalos>>>200		string	after\ the\r
645327e51cbSPeter Avalos>>>>216		string	system\ has\ been\ loaded\r\n
646c30bd091SSascha Wildner>>>>>242	string	Please\ insert\ a\ DOS\ diskette\040
647c30bd091SSascha Wildner>>>>>271	string	into\r\n\ the\ drive\ and\040
648327e51cbSPeter Avalos>>>>>>292	string	strike\ any\ key...\0		\b, IBM OS/2 Warp message display
649327e51cbSPeter Avalos# XP
650327e51cbSPeter Avalos>430	string	NTLDR\ is\ missing\xFF\r\n
651327e51cbSPeter Avalos>>449	string	Disk\ error\xFF\r\n
652327e51cbSPeter Avalos>>>462	string	Press\ any\ key\ to\ restart\r		\b, Microsoft Windows XP Bootloader
653327e51cbSPeter Avalos# DOS names like NTLDR,CMLDR,$LDR$ are 8 right space padded bytes+3 bytes
654327e51cbSPeter Avalos>>>>417		ubyte&0xDF	>0
655327e51cbSPeter Avalos>>>>>417	string		x			%-.5s
656327e51cbSPeter Avalos>>>>>>422	ubyte&0xDF	>0
657327e51cbSPeter Avalos>>>>>>>422	string		x 			\b%-.3s
658327e51cbSPeter Avalos>>>>>425	ubyte&0xDF	>0
659327e51cbSPeter Avalos>>>>>>425	string		>\ 			\b.%-.3s
660327e51cbSPeter Avalos#
661327e51cbSPeter Avalos>>>>371		ubyte		>0x20
662327e51cbSPeter Avalos>>>>>368	ubyte&0xDF	>0
663327e51cbSPeter Avalos>>>>>>368	string		x 			%-.5s
664327e51cbSPeter Avalos>>>>>>>373	ubyte&0xDF	>0
665327e51cbSPeter Avalos>>>>>>>>373	string		x 			\b%-.3s
666327e51cbSPeter Avalos>>>>>>376	ubyte&0xDF	>0
667327e51cbSPeter Avalos>>>>>>>376	string		x 			\b.%-.3s
668327e51cbSPeter Avalos#
669327e51cbSPeter Avalos>430	string	NTLDR\ nicht\ gefunden\xFF\r\n
670327e51cbSPeter Avalos>>453	string	Datentr\204gerfehler\xFF\r\n
671327e51cbSPeter Avalos>>>473	string	Neustart\ mit\ beliebiger\ Taste\r	\b, Microsoft Windows XP Bootloader (german)
672327e51cbSPeter Avalos>>>>417		ubyte&0xDF	>0
673327e51cbSPeter Avalos>>>>>417	string		x			%-.5s
674327e51cbSPeter Avalos>>>>>>422	ubyte&0xDF	>0
675327e51cbSPeter Avalos>>>>>>>422	string		x 			\b%-.3s
676327e51cbSPeter Avalos>>>>>425	ubyte&0xDF	>0
677327e51cbSPeter Avalos>>>>>>425	string		>\ 			\b.%-.3s
678327e51cbSPeter Avalos# offset variant
679327e51cbSPeter Avalos>>>>379	string	\0
680327e51cbSPeter Avalos>>>>>368	ubyte&0xDF	>0
681327e51cbSPeter Avalos>>>>>>368	string		x 			%-.5s
682327e51cbSPeter Avalos>>>>>>>373	ubyte&0xDF	>0
683327e51cbSPeter Avalos>>>>>>>>373	string		x 			\b%-.3s
684327e51cbSPeter Avalos#
685327e51cbSPeter Avalos>430	string	NTLDR\ fehlt\xFF\r\n
686327e51cbSPeter Avalos>>444	string	Datentr\204gerfehler\xFF\r\n
687327e51cbSPeter Avalos>>>464	string	Neustart\ mit\ beliebiger\ Taste\r	\b, Microsoft Windows XP Bootloader (2.german)
688327e51cbSPeter Avalos>>>>417		ubyte&0xDF	>0
689327e51cbSPeter Avalos>>>>>417	string		x			%-.5s
690327e51cbSPeter Avalos>>>>>>422	ubyte&0xDF	>0
691327e51cbSPeter Avalos>>>>>>>422	string		x 			\b%-.3s
692327e51cbSPeter Avalos>>>>>425	ubyte&0xDF	>0
693327e51cbSPeter Avalos>>>>>>425	string		>\ 			\b.%-.3s
694327e51cbSPeter Avalos# variant
695327e51cbSPeter Avalos>>>>371		ubyte		>0x20
696327e51cbSPeter Avalos>>>>>368	ubyte&0xDF	>0
697327e51cbSPeter Avalos>>>>>>368	string		x 			%-.5s
698327e51cbSPeter Avalos>>>>>>>373	ubyte&0xDF	>0
699327e51cbSPeter Avalos>>>>>>>>373	string		x 			\b%-.3s
700327e51cbSPeter Avalos>>>>>>376	ubyte&0xDF	>0
701327e51cbSPeter Avalos>>>>>>>376	string		x 			\b.%-.3s
702327e51cbSPeter Avalos#
703327e51cbSPeter Avalos>430	string	NTLDR\ fehlt\xFF\r\n
704327e51cbSPeter Avalos>>444	string	Medienfehler\xFF\r\n
705327e51cbSPeter Avalos>>>459	string	Neustart:\ Taste\ dr\201cken\r		\b, Microsoft Windows XP Bootloader (3.german)
706327e51cbSPeter Avalos>>>>371		ubyte		>0x20
707327e51cbSPeter Avalos>>>>>368	ubyte&0xDF	>0
708327e51cbSPeter Avalos>>>>>>368	string		x 			%-.5s
709327e51cbSPeter Avalos>>>>>>>373	ubyte&0xDF	>0
710327e51cbSPeter Avalos>>>>>>>>373	string		x 			\b%-.3s
711327e51cbSPeter Avalos>>>>>>376	ubyte&0xDF	>0
712327e51cbSPeter Avalos>>>>>>>376	string		x 			\b.%-.3s
713327e51cbSPeter Avalos# variant
714327e51cbSPeter Avalos>>>>417		ubyte&0xDF	>0
715327e51cbSPeter Avalos>>>>>417	string		x			%-.5s
716327e51cbSPeter Avalos>>>>>>422	ubyte&0xDF	>0
717327e51cbSPeter Avalos>>>>>>>422	string		x 			\b%-.3s
718327e51cbSPeter Avalos>>>>>425	ubyte&0xDF	>0
719327e51cbSPeter Avalos>>>>>>425	string		>\ 			\b.%-.3s
720327e51cbSPeter Avalos#
721327e51cbSPeter Avalos>430	string	Datentr\204ger\ entfernen\xFF\r\n
722327e51cbSPeter Avalos>>454	string	Medienfehler\xFF\r\n
723327e51cbSPeter Avalos>>>469	string	Neustart:\ Taste\ dr\201cken\r		\b, Microsoft Windows XP Bootloader (4.german)
72479343712SPeter Avalos>>>>379		string		\0
72579343712SPeter Avalos>>>>>368	ubyte&0xDF	>0
72679343712SPeter Avalos>>>>>>368	string		x 			%-.5s
72779343712SPeter Avalos>>>>>>>373	ubyte&0xDF	>0
72879343712SPeter Avalos>>>>>>>>373	string		x 			\b%-.3s
72979343712SPeter Avalos>>>>>>376	ubyte&0xDF	>0
73079343712SPeter Avalos>>>>>>>376	string		x 			\b.%-.3s
73179343712SPeter Avalos# variant
73279343712SPeter Avalos>>>>417		ubyte&0xDF	>0
73379343712SPeter Avalos>>>>>417	string		x			%-.5s
73479343712SPeter Avalos>>>>>>422	ubyte&0xDF	>0
73579343712SPeter Avalos>>>>>>>422	string		x 			\b%-.3s
73679343712SPeter Avalos>>>>>425	ubyte&0xDF	>0
73779343712SPeter Avalos>>>>>>425	string		>\ 			\b.%-.3s
73879343712SPeter Avalos#
73979343712SPeter Avalos
740c30bd091SSascha Wildner#>3	string	NTFS\ \ \ \040
741c30bd091SSascha Wildner>389	string	Fehler\ beim\ Lesen\040
742327e51cbSPeter Avalos>>407	string	des\ Datentr\204gers
743327e51cbSPeter Avalos>>>426	string	NTLDR\ fehlt
744327e51cbSPeter Avalos>>>>440	string	NTLDR\ ist\ komprimiert
745327e51cbSPeter Avalos>>>>>464 string	Neustart\ mit\ Strg+Alt+Entf\r		\b, Microsoft Windows XP Bootloader NTFS (german)
746c30bd091SSascha Wildner#>3	string	NTFS\ \ \ \040
747327e51cbSPeter Avalos>313	string	A\ disk\ read\ error\ occurred.\r
748c30bd091SSascha Wildner>>345	string	A\ kernel\ file\ is\ missing\040
749327e51cbSPeter Avalos>>>370	string	from\ the\ disk.\r
750327e51cbSPeter Avalos>>>>484	string	NTLDR\ is\ compressed
751c30bd091SSascha Wildner>>>>>429 string	Insert\ a\ system\ diskette\040
752327e51cbSPeter Avalos>>>>>>454 string and\ restart\r\nthe\ system.\r		\b, Microsoft Windows XP Bootloader NTFS
753327e51cbSPeter Avalos# DOS loader variants different languages,offsets
754327e51cbSPeter Avalos>472	ubyte&0xDF	>0
755327e51cbSPeter Avalos>>389	string	Invalid\ system\ disk\xFF\r\n
756327e51cbSPeter Avalos>>>411	string	Disk\ I/O\ error
757c30bd091SSascha Wildner>>>>428	string	Replace\ the\ disk,\ and\040
758327e51cbSPeter Avalos>>>>>455 string	press\ any\ key				\b, Microsoft Windows 98 Bootloader
759327e51cbSPeter Avalos#IO.SYS
760327e51cbSPeter Avalos>>>>>>472	ubyte&0xDF	>0
761327e51cbSPeter Avalos>>>>>>>472	string		x 			\b %-.2s
762327e51cbSPeter Avalos>>>>>>>>474	ubyte&0xDF	>0
763327e51cbSPeter Avalos>>>>>>>>>474	string		x 			\b%-.5s
764327e51cbSPeter Avalos>>>>>>>>>>479	ubyte&0xDF	>0
765327e51cbSPeter Avalos>>>>>>>>>>>479 string		x 			\b%-.1s
766327e51cbSPeter Avalos>>>>>>>480	ubyte&0xDF	>0
767327e51cbSPeter Avalos>>>>>>>>480	string		x 			\b.%-.3s
768327e51cbSPeter Avalos#MSDOS.SYS
769327e51cbSPeter Avalos>>>>>>>483	ubyte&0xDF	>0			\b+
770327e51cbSPeter Avalos>>>>>>>>483	string		x 			\b%-.5s
771327e51cbSPeter Avalos>>>>>>>>>488	ubyte&0xDF	>0
772327e51cbSPeter Avalos>>>>>>>>>>488	string		x 			\b%-.3s
773327e51cbSPeter Avalos>>>>>>>>491	ubyte&0xDF	>0
774327e51cbSPeter Avalos>>>>>>>>>491	string		x 			\b.%-.3s
775327e51cbSPeter Avalos#
776327e51cbSPeter Avalos>>390	string	Invalid\ system\ disk\xFF\r\n
777327e51cbSPeter Avalos>>>412	string	Disk\ I/O\ error\xFF\r\n
778c30bd091SSascha Wildner>>>>429	string	Replace\ the\ disk,\ and\040
779327e51cbSPeter Avalos>>>>>451 string	then\ press\ any\ key\r			\b, Microsoft Windows 98 Bootloader
780327e51cbSPeter Avalos>>388	string	Ungueltiges\ System\ \xFF\r\n
781327e51cbSPeter Avalos>>>410	string	E/A-Fehler\ \ \ \ \xFF\r\n
782c30bd091SSascha Wildner>>>>427	string	Datentraeger\ wechseln\ und\040
783327e51cbSPeter Avalos>>>>>453 string	Taste\ druecken\r			\b, Microsoft Windows 95/98/ME Bootloader (german)
784327e51cbSPeter Avalos#WINBOOT.SYS only not spaces (0xDF)
785327e51cbSPeter Avalos>>>>>>497	ubyte&0xDF	>0
786327e51cbSPeter Avalos>>>>>>>497	string		x 			%-.5s
787327e51cbSPeter Avalos>>>>>>>>502	ubyte&0xDF	>0
788327e51cbSPeter Avalos>>>>>>>>>502	string		x 			\b%-.1s
789327e51cbSPeter Avalos>>>>>>>>>>503	ubyte&0xDF	>0
790327e51cbSPeter Avalos>>>>>>>>>>>503	string		x 			\b%-.1s
791327e51cbSPeter Avalos>>>>>>>>>>>>504	ubyte&0xDF	>0
792327e51cbSPeter Avalos>>>>>>>>>>>>>504 string		x 			\b%-.1s
793327e51cbSPeter Avalos>>>>>>505	ubyte&0xDF	>0
794327e51cbSPeter Avalos>>>>>>>505	string		x 			\b.%-.3s
795327e51cbSPeter Avalos#IO.SYS
796327e51cbSPeter Avalos>>>>>>472	ubyte&0xDF	>0			or
797327e51cbSPeter Avalos>>>>>>>472	string		x 			\b %-.2s
798327e51cbSPeter Avalos>>>>>>>>474	ubyte&0xDF	>0
799327e51cbSPeter Avalos>>>>>>>>>474	string		x 			\b%-.5s
800327e51cbSPeter Avalos>>>>>>>>>>479	ubyte&0xDF	>0
801327e51cbSPeter Avalos>>>>>>>>>>>479 string		x 			\b%-.1s
802327e51cbSPeter Avalos>>>>>>>480	ubyte&0xDF	>0
803327e51cbSPeter Avalos>>>>>>>>480	string		x 			\b.%-.3s
804327e51cbSPeter Avalos#MSDOS.SYS
805327e51cbSPeter Avalos>>>>>>>483	ubyte&0xDF	>0			\b+
806327e51cbSPeter Avalos>>>>>>>>483	string		x 			\b%-.5s
807327e51cbSPeter Avalos>>>>>>>>>488	ubyte&0xDF	>0
808327e51cbSPeter Avalos>>>>>>>>>>488	string		x 			\b%-.3s
809327e51cbSPeter Avalos>>>>>>>>491	ubyte&0xDF	>0
810327e51cbSPeter Avalos>>>>>>>>>491	string		x 			\b.%-.3s
811327e51cbSPeter Avalos#
812327e51cbSPeter Avalos>>390	string	Ungueltiges\ System\ \xFF\r\n
813327e51cbSPeter Avalos>>>412	string	E/A-Fehler\ \ \ \ \xFF\r\n
814c30bd091SSascha Wildner>>>>429	string	Datentraeger\ wechseln\ und\040
815327e51cbSPeter Avalos>>>>>455 string	Taste\ druecken\r			\b, Microsoft Windows 95/98/ME Bootloader (German)
816327e51cbSPeter Avalos#WINBOOT.SYS only not spaces (0xDF)
817327e51cbSPeter Avalos>>>>>>497	ubyte&0xDF	>0
818327e51cbSPeter Avalos>>>>>>>497	string		x 			%-.7s
819327e51cbSPeter Avalos>>>>>>>>504	ubyte&0xDF	>0
820327e51cbSPeter Avalos>>>>>>>>>504	string		x 			\b%-.1s
821327e51cbSPeter Avalos>>>>>>505	ubyte&0xDF	>0
822327e51cbSPeter Avalos>>>>>>>505	string		x 			\b.%-.3s
823327e51cbSPeter Avalos#IO.SYS
824327e51cbSPeter Avalos>>>>>>472	ubyte&0xDF	>0			or
825327e51cbSPeter Avalos>>>>>>>472	string		x 			\b %-.2s
826327e51cbSPeter Avalos>>>>>>>>474	ubyte&0xDF	>0
827327e51cbSPeter Avalos>>>>>>>>>474	string		x 			\b%-.6s
828327e51cbSPeter Avalos>>>>>>>480	ubyte&0xDF	>0
829327e51cbSPeter Avalos>>>>>>>>480	string		x 			\b.%-.3s
830327e51cbSPeter Avalos#MSDOS.SYS
831327e51cbSPeter Avalos>>>>>>>483	ubyte&0xDF	>0			\b+
832327e51cbSPeter Avalos>>>>>>>>483	string		x 			\b%-.5s
833327e51cbSPeter Avalos>>>>>>>>>488	ubyte&0xDF	>0
834327e51cbSPeter Avalos>>>>>>>>>>488	string		x 			\b%-.3s
835327e51cbSPeter Avalos>>>>>>>>491	ubyte&0xDF	>0
836327e51cbSPeter Avalos>>>>>>>>>491	string		x 			\b.%-.3s
837327e51cbSPeter Avalos#
838327e51cbSPeter Avalos>>389	string	Ungueltiges\ System\ \xFF\r\n
839327e51cbSPeter Avalos>>>411	string	E/A-Fehler\ \ \ \ \xFF\r\n
840c30bd091SSascha Wildner>>>>428	string	Datentraeger\ wechseln\ und\040
841327e51cbSPeter Avalos>>>>>454 string	Taste\ druecken\r			\b, Microsoft Windows 95/98/ME Bootloader (GERMAN)
842327e51cbSPeter Avalos# DOS names like IO.SYS,WINBOOT.SYS,MSDOS.SYS,WINBOOT.INI are 8 right space padded bytes+3 bytes
843327e51cbSPeter Avalos>>>>>>472	string		x 			%-.2s
844327e51cbSPeter Avalos>>>>>>>474	ubyte&0xDF	>0
845327e51cbSPeter Avalos>>>>>>>>474	string		x 			\b%-.5s
846327e51cbSPeter Avalos>>>>>>>>479	ubyte&0xDF	>0
847327e51cbSPeter Avalos>>>>>>>>>479	string		x 			\b%-.1s
848327e51cbSPeter Avalos>>>>>>480	ubyte&0xDF	>0
849327e51cbSPeter Avalos>>>>>>>480	string		x 			\b.%-.3s
850327e51cbSPeter Avalos>>>>>>483	ubyte&0xDF	>0			\b+
851327e51cbSPeter Avalos>>>>>>>483	string		x 			\b%-.5s
852327e51cbSPeter Avalos>>>>>>>488	ubyte&0xDF	>0
853327e51cbSPeter Avalos>>>>>>>>488	string		x 			\b%-.2s
854327e51cbSPeter Avalos>>>>>>>>490	ubyte&0xDF	>0
855327e51cbSPeter Avalos>>>>>>>>>490	string		x 			\b%-.1s
856327e51cbSPeter Avalos>>>>>>>491	ubyte&0xDF	>0
857327e51cbSPeter Avalos>>>>>>>>491	string		x 			\b.%-.3s
858327e51cbSPeter Avalos>479	ubyte&0xDF	>0
859c30bd091SSascha Wildner>>416	string	Kein\ System\ oder\040
860327e51cbSPeter Avalos>>>433	string	Laufwerksfehler
861327e51cbSPeter Avalos>>>>450	string	Wechseln\ und\ Taste\ dr\201cken	\b, Microsoft DOS Bootloader (german)
862327e51cbSPeter Avalos#IO.SYS
863327e51cbSPeter Avalos>>>>>479	string		x 			\b %-.2s
864327e51cbSPeter Avalos>>>>>>481	ubyte&0xDF	>0
865327e51cbSPeter Avalos>>>>>>>481	string		x 			\b%-.6s
866327e51cbSPeter Avalos>>>>>487	ubyte&0xDF	>0
867327e51cbSPeter Avalos>>>>>>487	string		x 			\b.%-.3s
868327e51cbSPeter Avalos#MSDOS.SYS
869327e51cbSPeter Avalos>>>>>>490	ubyte&0xDF	>0			\b+
870327e51cbSPeter Avalos>>>>>>>490	string		x 			\b%-.5s
871327e51cbSPeter Avalos>>>>>>>>495	ubyte&0xDF	>0
872327e51cbSPeter Avalos>>>>>>>>>495	string		x 			\b%-.3s
873327e51cbSPeter Avalos>>>>>>>498	ubyte&0xDF	>0
874327e51cbSPeter Avalos>>>>>>>>498	string		x 			\b.%-.3s
875327e51cbSPeter Avalos#
876c30bd091SSascha Wildner>376	search/41	Non-System\ disk\ or\040
877327e51cbSPeter Avalos>>395	search/41	disk\ error\r
878c30bd091SSascha Wildner>>>407	search/41	Replace\ and\040
879327e51cbSPeter Avalos>>>>419	search/41	press\ 				\b,
880327e51cbSPeter Avalos>>>>419	search/41	strike\ 			\b, old
881327e51cbSPeter Avalos>>>>426	search/41	any\ key\ when\ ready\r		MS or PC-DOS bootloader
882327e51cbSPeter Avalos#449			Disk\ Boot\ failure\r		MS 3.21
883327e51cbSPeter Avalos#466			Boot\ Failure\r			MS 3.30
884327e51cbSPeter Avalos>>>>>468 search/18	\0
885327e51cbSPeter Avalos#IO.SYS,IBMBIO.COM
886327e51cbSPeter Avalos>>>>>>&0	string		x 			\b %-.2s
887327e51cbSPeter Avalos>>>>>>>&-20	ubyte&0xDF	>0
888327e51cbSPeter Avalos>>>>>>>>&-1	string		x 			\b%-.4s
889327e51cbSPeter Avalos>>>>>>>>>&-16	ubyte&0xDF	>0
890327e51cbSPeter Avalos>>>>>>>>>>&-1	string		x 			\b%-.2s
891327e51cbSPeter Avalos>>>>>>&8	ubyte&0xDF	>0			\b.
892327e51cbSPeter Avalos>>>>>>>&-1	string		x 			\b%-.3s
893327e51cbSPeter Avalos#MSDOS.SYS,IBMDOS.COM
894327e51cbSPeter Avalos>>>>>>&11	ubyte&0xDF	>0			\b+
895327e51cbSPeter Avalos>>>>>>>&-1	string		x 			\b%-.5s
896327e51cbSPeter Avalos>>>>>>>>&-6	ubyte&0xDF	>0
897327e51cbSPeter Avalos>>>>>>>>>&-1	string		x 			\b%-.1s
898327e51cbSPeter Avalos>>>>>>>>>>&-5	ubyte&0xDF	>0
899327e51cbSPeter Avalos>>>>>>>>>>>&-1	string		x 			\b%-.2s
900327e51cbSPeter Avalos>>>>>>>&7	ubyte&0xDF	>0			\b.
901327e51cbSPeter Avalos>>>>>>>>&-1	string		x 			\b%-.3s
902327e51cbSPeter Avalos>441	string	Cannot\ load\ from\ harddisk.\n\r
903c30bd091SSascha Wildner>>469	string	Insert\ Systemdisk\040
904327e51cbSPeter Avalos>>>487	string	and\ press\ any\ key.\n\r		\b, MS (2.11) DOS bootloader
905327e51cbSPeter Avalos#>43	string	\224R-LOADER\ \ SYS			=label
906327e51cbSPeter Avalos>54	string	SYS
907327e51cbSPeter Avalos>>324	string	VASKK
908327e51cbSPeter Avalos>>>495	string	NEWLDR\0				\b, DR-DOS Bootloader (LOADER.SYS)
909327e51cbSPeter Avalos#
910327e51cbSPeter Avalos>98	string	Press\ a\ key\ to\ retry\0\r
911327e51cbSPeter Avalos>>120	string	Cannot\ find\ file\ \0\r
912327e51cbSPeter Avalos>>>139	string	Disk\ read\ error\0\r
913327e51cbSPeter Avalos>>>>156	string	Loading\ ...\0				\b, DR-DOS (3.41) Bootloader
914327e51cbSPeter Avalos#DRBIOS.SYS
915327e51cbSPeter Avalos>>>>>44		ubyte&0xDF	>0
916327e51cbSPeter Avalos>>>>>>44	string		x			\b %-.6s
917327e51cbSPeter Avalos>>>>>>>50	ubyte&0xDF	>0
918327e51cbSPeter Avalos>>>>>>>>50	string		x 			\b%-.2s
919327e51cbSPeter Avalos>>>>>>52	ubyte&0xDF	>0
920327e51cbSPeter Avalos>>>>>>>52	string		x 			\b.%-.3s
921327e51cbSPeter Avalos#
922327e51cbSPeter Avalos>70	string	IBMBIO\ \ COM
923c30bd091SSascha Wildner>>472	string	Cannot\ load\ DOS!\040
924327e51cbSPeter Avalos>>>489	string	Any\ key\ to\ retry			\b, DR-DOS Bootloader
925c30bd091SSascha Wildner>>471	string	Cannot\ load\ DOS\040
926327e51cbSPeter Avalos>>487	string	press\ key\ to\ retry			\b, Open-DOS Bootloader
92779343712SPeter Avalos#??
928327e51cbSPeter Avalos>444	string	KERNEL\ \ SYS
929327e51cbSPeter Avalos>>314	string	BOOT\ error!				\b, FREE-DOS Bootloader
930327e51cbSPeter Avalos>499	string	KERNEL\ \ SYS
931327e51cbSPeter Avalos>>305	string	BOOT\ err!\0				\b, Free-DOS Bootloader
932327e51cbSPeter Avalos>449	string	KERNEL\ \ SYS
933327e51cbSPeter Avalos>>319	string	BOOT\ error!				\b, FREE-DOS 0.5 Bootloader
93479343712SPeter Avalos#
93579343712SPeter Avalos>449	string	Loading\ FreeDOS
93679343712SPeter Avalos>>0x1AF		ulelong		>0			\b, FREE-DOS 0.95,1.0 Bootloader
93779343712SPeter Avalos>>>497		ubyte&0xDF	>0
93879343712SPeter Avalos>>>>497		string		x 			\b %-.6s
93979343712SPeter Avalos>>>>>503	ubyte&0xDF	>0
94079343712SPeter Avalos>>>>>>503	string		x 			\b%-.1s
94179343712SPeter Avalos>>>>>>>504	ubyte&0xDF	>0
94279343712SPeter Avalos>>>>>>>>504	string		x 			\b%-.1s
94379343712SPeter Avalos>>>>505		ubyte&0xDF	>0
94479343712SPeter Avalos>>>>>505	string		x 			\b.%-.3s
94579343712SPeter Avalos#
94679343712SPeter Avalos>331	string	Error!.0				\b, FREE-DOS 1.0 bootloader
94779343712SPeter Avalos#
948327e51cbSPeter Avalos>125	string	Loading\ FreeDOS...\r
949327e51cbSPeter Avalos>>311	string	BOOT\ error!\r				\b, FREE-DOS bootloader
950327e51cbSPeter Avalos>>>441		ubyte&0xDF	>0
951327e51cbSPeter Avalos>>>>441		string		x 			\b %-.6s
952327e51cbSPeter Avalos>>>>>447	ubyte&0xDF	>0
953327e51cbSPeter Avalos>>>>>>447	string		x 			\b%-.1s
954327e51cbSPeter Avalos>>>>>>>448	ubyte&0xDF	>0
955327e51cbSPeter Avalos>>>>>>>>448	string		x 			\b%-.1s
956327e51cbSPeter Avalos>>>>449		ubyte&0xDF	>0
957327e51cbSPeter Avalos>>>>>449	string		x 			\b.%-.3s
958327e51cbSPeter Avalos>124	string	FreeDOS\0
959327e51cbSPeter Avalos>>331	string	\ err\0					\b, FREE-DOS BETa 0.9 Bootloader
960327e51cbSPeter Avalos# DOS names like KERNEL.SYS,KERNEL16.SYS,KERNEL32.SYS,METAKERN.SYS are 8 right space padded bytes+3 bytes
961327e51cbSPeter Avalos>>>497		ubyte&0xDF	>0
962327e51cbSPeter Avalos>>>>497		string		x 			\b %-.6s
963327e51cbSPeter Avalos>>>>>503	ubyte&0xDF	>0
964327e51cbSPeter Avalos>>>>>>503	string		x 			\b%-.1s
965327e51cbSPeter Avalos>>>>>>>504	ubyte&0xDF	>0
966327e51cbSPeter Avalos>>>>>>>>504	string		x 			\b%-.1s
967327e51cbSPeter Avalos>>>>505		ubyte&0xDF	>0
968327e51cbSPeter Avalos>>>>>505	string		x 			\b.%-.3s
969327e51cbSPeter Avalos>>333	string	\ err\0					\b, FREE-DOS BEta 0.9 Bootloader
970327e51cbSPeter Avalos>>>497		ubyte&0xDF	>0
971327e51cbSPeter Avalos>>>>497		string		x 			\b %-.6s
972327e51cbSPeter Avalos>>>>>503	ubyte&0xDF	>0
973327e51cbSPeter Avalos>>>>>>503	string		x 			\b%-.1s
974327e51cbSPeter Avalos>>>>>>>504	ubyte&0xDF	>0
975327e51cbSPeter Avalos>>>>>>>>504	string		x 			\b%-.1s
976327e51cbSPeter Avalos>>>>505		ubyte&0xDF	>0
977327e51cbSPeter Avalos>>>>>505	string		x 			\b.%-.3s
978327e51cbSPeter Avalos>>334	string	\ err\0					\b, FREE-DOS Beta 0.9 Bootloader
979327e51cbSPeter Avalos>>>497		ubyte&0xDF	>0
980327e51cbSPeter Avalos>>>>497		string		x 			\b %-.6s
981327e51cbSPeter Avalos>>>>>503	ubyte&0xDF	>0
982327e51cbSPeter Avalos>>>>>>503	string		x 			\b%-.1s
983327e51cbSPeter Avalos>>>>>>>504	ubyte&0xDF	>0
984327e51cbSPeter Avalos>>>>>>>>504	string		x 			\b%-.1s
985327e51cbSPeter Avalos>>>>505		ubyte&0xDF	>0
986327e51cbSPeter Avalos>>>>>505	string		x 			\b.%-.3s
987c30bd091SSascha Wildner>336	string	Error!\040
988327e51cbSPeter Avalos>>343	string	Hit\ a\ key\ to\ reboot.		\b, FREE-DOS Beta 0.9sr1 Bootloader
989327e51cbSPeter Avalos>>>497		ubyte&0xDF	>0
990327e51cbSPeter Avalos>>>>497		string		x 			\b %-.6s
991327e51cbSPeter Avalos>>>>>503	ubyte&0xDF	>0
992327e51cbSPeter Avalos>>>>>>503	string		x 			\b%-.1s
993327e51cbSPeter Avalos>>>>>>>504	ubyte&0xDF	>0
994327e51cbSPeter Avalos>>>>>>>>504	string		x 			\b%-.1s
995327e51cbSPeter Avalos>>>>505		ubyte&0xDF	>0
996327e51cbSPeter Avalos>>>>>505	string		x 			\b.%-.3s
997327e51cbSPeter Avalos# added by Joerg Jenderek
9986fca56fbSSascha Wildner# https://www.visopsys.org/
9996fca56fbSSascha Wildner# https://partitionlogic.org.uk/
1000327e51cbSPeter Avalos# OEM-ID=Visopsys
1001327e51cbSPeter Avalos>478		ulelong	0
1002c30bd091SSascha Wildner>>(1.b+326)	string	I/O\ Error\ reading\040
1003327e51cbSPeter Avalos>>>(1.b+344)	string	Visopsys\ loader\r
1004327e51cbSPeter Avalos>>>>(1.b+361)	string	Press\ any\ key\ to\ continue.\r	\b, Visopsys loader
1005327e51cbSPeter Avalos# http://alexfru.chat.ru/epm.html#bootprog
1006327e51cbSPeter Avalos>494	ubyte	>0x4D
1007327e51cbSPeter Avalos>>495	string	>E
1008327e51cbSPeter Avalos>>>495	string	<S
1009327e51cbSPeter Avalos#OEM-ID is not reliable
1010327e51cbSPeter Avalos>>>>3	string	BootProg
1011327e51cbSPeter Avalos# It just looks for a program file name at the root directory
1012327e51cbSPeter Avalos# and loads corresponding file with following execution.
1013327e51cbSPeter Avalos# DOS names like STARTUP.BIN,STARTUPC.COM,STARTUPE.EXE are 8 right space padded bytes+3 bytes
1014327e51cbSPeter Avalos>>>>499			ubyte&0xDF	>0		\b, COM/EXE Bootloader
101582c5fa3eSPeter Avalos>>>>>499		use		DOS-filename
1016327e51cbSPeter Avalos#If the boot sector fails to read any other sector,
1017327e51cbSPeter Avalos#it prints a very short message ("RE") to the screen and hangs the computer.
1018327e51cbSPeter Avalos#If the boot sector fails to find needed program in the root directory,
1019327e51cbSPeter Avalos#it also hangs with another message ("NF").
1020327e51cbSPeter Avalos>>>>>492		string		RENF		\b, FAT (12 bit)
1021327e51cbSPeter Avalos>>>>>495		string		RENF		\b, FAT (16 bit)
1022327e51cbSPeter Avalos#If the boot sector fails to read any other sector,
1023327e51cbSPeter Avalos#it prints a very short message ("RE") to the screen and hangs the computer.
102479343712SPeter Avalos# x86 bootloader end
1025e8af9738SPeter Avalos
10266fca56fbSSascha Wildner# added by Joerg Jenderek at Feb 2013 according to https://thestarman.pcministry.com/asm/mbr/MSWIN41.htm#FSINFO
10276fca56fbSSascha Wildner# and https://en.wikipedia.org/wiki/File_Allocation_Table#FS_Information_Sector
102882c5fa3eSPeter Avalos>0		string		RRaA
102982c5fa3eSPeter Avalos>>0x1E4		string		rrAa		\b, FSInfosector
103082c5fa3eSPeter Avalos#>>0x1FC	uleshort	=0		SHOULD BE ZERO
103182c5fa3eSPeter Avalos>>>0x1E8	ulelong		<0xffffffff	\b, %u free clusters
103282c5fa3eSPeter Avalos>>>0x1EC	ulelong		<0xffffffff	\b, last allocated cluster %u
103382c5fa3eSPeter Avalos
103482c5fa3eSPeter Avalos# updated by Joerg Jenderek at Sep 2007
103582c5fa3eSPeter Avalos>3	ubyte	0
103682c5fa3eSPeter Avalos#no active flag
103782c5fa3eSPeter Avalos>>446	ubyte	0
103882c5fa3eSPeter Avalos# partition 1 not empty
103982c5fa3eSPeter Avalos>>>450	ubyte	>0
104082c5fa3eSPeter Avalos# partitions 3,4 empty
104182c5fa3eSPeter Avalos>>>>482		ubyte	0
104282c5fa3eSPeter Avalos>>>>>498	ubyte	0
104382c5fa3eSPeter Avalos# partition 2 ID=0,5,15
104482c5fa3eSPeter Avalos>>>>>>466	ubyte	<0x10
104582c5fa3eSPeter Avalos>>>>>>>466	ubyte	0x05			\b, extended partition table
104682c5fa3eSPeter Avalos>>>>>>>466	ubyte	0x0F			\b, extended partition table (LBA)
104782c5fa3eSPeter Avalos>>>>>>>466	ubyte	0x0			\b, extended partition table (last)
104882c5fa3eSPeter Avalos
104982c5fa3eSPeter Avalos# DOS x86 sector separated and moved from "DOS/MBR boot sector" by Joerg Jenderek at May 2011
105082c5fa3eSPeter Avalos
105182c5fa3eSPeter Avalos>0x200	lelong	0x82564557		\b, BSD disklabel
105282c5fa3eSPeter Avalos
1053e8af9738SPeter Avalos# by Joerg Jenderek at Apr 2013
1054e8af9738SPeter Avalos#	Print the DOS filenames from directory entry form with 8 right space padded bytes + 3 bytes for extension
1055e8af9738SPeter Avalos#	like IO.SYS. MSDOS.SYS , KERNEL.SYS , DRBIO.SYS
1056e8af9738SPeter Avalos0	name			DOS-filename
1057e8af9738SPeter Avalos# space=0x20 (00100000b) means empty
1058e8af9738SPeter Avalos>0			ubyte&0xDF	>0
1059e8af9738SPeter Avalos>>0			ubyte		x 		\b%c
1060e8af9738SPeter Avalos>>>1			ubyte&0xDF	>0
1061e8af9738SPeter Avalos>>>>1			ubyte		x 		\b%c
1062e8af9738SPeter Avalos>>>>>2			ubyte&0xDF	>0
1063e8af9738SPeter Avalos>>>>>>2			ubyte		x 		\b%c
1064e8af9738SPeter Avalos>>>>>>>3		ubyte&0xDF	>0
1065e8af9738SPeter Avalos>>>>>>>>3		ubyte		x 		\b%c
1066e8af9738SPeter Avalos>>>>>>>>>4		ubyte&0xDF	>0
1067e8af9738SPeter Avalos>>>>>>>>>>4		ubyte		x 		\b%c
1068e8af9738SPeter Avalos>>>>>>>>>>>5		ubyte&0xDF	>0
1069e8af9738SPeter Avalos>>>>>>>>>>>>5		ubyte		x 		\b%c
1070e8af9738SPeter Avalos>>>>>>>>>>>>>6		ubyte&0xDF	>0
1071e8af9738SPeter Avalos>>>>>>>>>>>>>>6		ubyte		x 		\b%c
1072e8af9738SPeter Avalos>>>>>>>>>>>>>>>7	ubyte&0xDF	>0
1073e8af9738SPeter Avalos>>>>>>>>>>>>>>>>7	ubyte		x 		\b%c
1074e8af9738SPeter Avalos# DOS filename extension
1075e8af9738SPeter Avalos>>8			ubyte&0xDF	>0		\b.
1076e8af9738SPeter Avalos>>>8			ubyte		x 		\b%c
1077e8af9738SPeter Avalos>>>>9			ubyte&0xDF	>0
1078e8af9738SPeter Avalos>>>>>9			ubyte		x 		\b%c
1079e8af9738SPeter Avalos>>>>>>10		ubyte&0xDF	>0
1080e8af9738SPeter Avalos>>>>>>>10		ubyte		x 		\b%c
1081e8af9738SPeter Avalos#	Print 2 following DOS filenames from directory entry form
1082e8af9738SPeter Avalos#	like IO.SYS+MSDOS.SYS or ibmbio.com+ibmdos.com
1083e8af9738SPeter Avalos0	name			2xDOS-filename
1084e8af9738SPeter Avalos# display 1 space
1085e8af9738SPeter Avalos>0			ubyte		x		\b
1086e8af9738SPeter Avalos>0			use		DOS-filename
1087e8af9738SPeter Avalos>11			ubyte		x		\b+
1088e8af9738SPeter Avalos>11			use		DOS-filename
1089e8af9738SPeter Avalos
10906fca56fbSSascha Wildner# https://en.wikipedia.org/wiki/Master_boot_record#PTE
1091e8af9738SPeter Avalos# display standard partition table
1092e8af9738SPeter Avalos0	name				partition-table
1093e8af9738SPeter Avalos#>0		ubyte		x	PARTITION-TABLE
1094e8af9738SPeter Avalos# test and display 1st til 4th partition table entry
1095e8af9738SPeter Avalos>0		use			partition-entry-test
1096e8af9738SPeter Avalos>16		use			partition-entry-test
1097e8af9738SPeter Avalos>32		use			partition-entry-test
1098e8af9738SPeter Avalos>48		use			partition-entry-test
1099e8af9738SPeter Avalos#		test for entry of partition table
1100e8af9738SPeter Avalos0	name				partition-entry-test
1101e8af9738SPeter Avalos# partition type ID > 0
1102e8af9738SPeter Avalos>4		ubyte		>0
1103e8af9738SPeter Avalos# active flag 0
1104e8af9738SPeter Avalos>>0		ubyte		0
1105e8af9738SPeter Avalos>>>0		use		partition-entry
1106e8af9738SPeter Avalos# active flag 0x80, 0x81, ...
1107e8af9738SPeter Avalos>>0		ubyte		>0x7F
1108e8af9738SPeter Avalos>>>0		use		partition-entry
1109e8af9738SPeter Avalos#		Print entry of partition table
1110e8af9738SPeter Avalos0	name				partition-entry
1111e8af9738SPeter Avalos# partition type ID > 0
1112e8af9738SPeter Avalos>4		ubyte		>0	\b; partition
1113e8af9738SPeter Avalos>>64		leshort		0xAA55	1
1114e8af9738SPeter Avalos>>48		leshort		0xAA55	2
1115e8af9738SPeter Avalos>>32		leshort		0xAA55	3
1116e8af9738SPeter Avalos>>16		leshort		0xAA55	4
1117e8af9738SPeter Avalos>>4		ubyte		x	: ID=0x%x
1118e8af9738SPeter Avalos>>0		ubyte&0x80	0x80	\b, active
1119e8af9738SPeter Avalos>>0		ubyte		>0x80	0x%x
1120e8af9738SPeter Avalos>>1		ubyte		x	\b, start-CHS (
1121e8af9738SPeter Avalos>>1		use		partition-chs
1122e8af9738SPeter Avalos>>5		ubyte		x	\b), end-CHS (
1123e8af9738SPeter Avalos>>5		use		partition-chs
1124e8af9738SPeter Avalos>>8		ulelong		x	\b), startsector %u
1125e8af9738SPeter Avalos>>12		ulelong		x	\b, %u sectors
1126e8af9738SPeter Avalos#		Print cylinder,head,sector (CHS) of partition entry
1127e8af9738SPeter Avalos0	name				partition-chs
1128e8af9738SPeter Avalos# cylinder
1129e8af9738SPeter Avalos>1		ubyte		x	\b0x
1130e8af9738SPeter Avalos>1		ubyte&0xC0	0x40	\b1
1131e8af9738SPeter Avalos>1		ubyte&0xC0	0x80	\b2
1132e8af9738SPeter Avalos>1		ubyte&0xC0	0xC0	\b3
1133e8af9738SPeter Avalos>2		ubyte		x	\b%x
1134e8af9738SPeter Avalos# head
1135e8af9738SPeter Avalos>0		ubyte		x	\b,%u
1136e8af9738SPeter Avalos# sector
1137e8af9738SPeter Avalos>1		ubyte&0x3F	x	\b,%u
1138e8af9738SPeter Avalos
1139327e51cbSPeter Avalos# FATX
1140327e51cbSPeter Avalos0		string		FATX		FATX filesystem data
1141327e51cbSPeter Avalos
1142327e51cbSPeter Avalos# romfs filesystems - Juan Cespedes <cespedes@debian.org>
114379343712SPeter Avalos0	string		-rom1fs-	romfs filesystem, version 1
1144327e51cbSPeter Avalos>8	belong	x			%d bytes,
1145327e51cbSPeter Avalos>16	string	x			named %s.
1146327e51cbSPeter Avalos
1147327e51cbSPeter Avalos# netboot image - Juan Cespedes <cespedes@debian.org>
1148327e51cbSPeter Avalos0	lelong		0x1b031336L	Netboot image,
1149327e51cbSPeter Avalos>4	lelong&0xFFFFFF00	0
1150327e51cbSPeter Avalos>>4	lelong&0x100	0x000		mode 2
1151327e51cbSPeter Avalos>>4	lelong&0x100	0x100		mode 3
1152327e51cbSPeter Avalos>4	lelong&0xFFFFFF00	!0	unknown mode
1153327e51cbSPeter Avalos
1154327e51cbSPeter Avalos0x18b	string	OS/2	OS/2 Boot Manager
1155327e51cbSPeter Avalos
1156e8af9738SPeter Avalos# updated by Joerg Jenderek at Oct 2008 and Sep 2012
11576fca56fbSSascha Wildner# https://syslinux.zytor.com/iso.php
1158e8af9738SPeter 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
1159e8af9738SPeter Avalos# assembler instructions: cli;jmp 0:7Cyy (yy=0x40,0x5e,0x6c,0x6e,0x77);nop;nop
1160e8af9738SPeter Avalos0	ulequad&0x909000007cc0eafa	0x909000007c40eafa
1161e8af9738SPeter Avalos>631	search/689	ISOLINUX\ 	isolinux Loader
1162e8af9738SPeter Avalos>>&0	string		x		(version %-4.4s)
11636fca56fbSSascha Wildner# https://syslinux.zytor.com/pxe.php
1164e8af9738SPeter Avalos# assembler instructions: jmp 7C05
1165e8af9738SPeter Avalos0	ulelong	0x007c05ea		pxelinux loader (version 2.13 or older)
1166e8af9738SPeter Avalos# assembler instructions: pushfd;pushad
1167e8af9738SPeter Avalos0	ulelong	0x60669c66		pxelinux loader
1168e8af9738SPeter Avalos# assembler instructions: jmp 05
1169e8af9738SPeter Avalos0	ulelong	0xc00005ea		pxelinux loader (version 3.70 or newer)
11706fca56fbSSascha Wildner# https://syslinux.zytor.com/wiki/index.php/SYSLINUX
1171e8af9738SPeter Avalos0	string	LDLINUX\ SYS\ 		SYSLINUX loader
1172e8af9738SPeter Avalos>12	string	x			(older version %-4.4s)
1173e8af9738SPeter Avalos0	string	\r\nSYSLINUX\ 		SYSLINUX loader
1174e8af9738SPeter Avalos>11	string	x			(version %-4.4s)
1175e8af9738SPeter Avalos# syslinux updated and separated from "DOS/MBR boot sector" by Joerg Jenderek at Sep 2012
1176e8af9738SPeter Avalos# assembler instructions: jmp yy (yy=0x3c,0x58);nop;"SYSLINUX"
1177e8af9738SPeter Avalos0	ulelong&0x80909bEB	0x009018EB
1178e8af9738SPeter Avalos# OEM-ID not always "SYSLINUX"
1179e8af9738SPeter Avalos>434	search/47	Boot\ failed
1180e8af9738SPeter Avalos# followed by \r\n\0 or :\
1181e8af9738SPeter Avalos>>482	search/132	\0LDLINUX\ SYS		Syslinux bootloader (version 2.13 or older)
1182e8af9738SPeter Avalos>>1	ubyte		0x58			Syslinux bootloader (version 3.0-3.9)
1183e8af9738SPeter Avalos>459	search/30	Boot\ error\r\n\0
1184e8af9738SPeter Avalos>>1	ubyte		0x58			Syslinux bootloader (version 3.10 or newer)
1185e8af9738SPeter Avalos# SYSLINUX MBR updated and separated from "DOS/MBR boot sector" by Joerg Jenderek at Sep 2012
1186e8af9738SPeter Avalos# assembler instructions: mov di,0600h;mov cx,0100h
1187e8af9738SPeter Avalos16	search/4	\xbf\x00\x06\xb9\x00\x01
1188e8af9738SPeter Avalos# to display SYSLINUX MBR (36) before old DOS/MBR boot sector one with partition table (strength=50+21)
1189e8af9738SPeter Avalos!:strength +36
1190e8af9738SPeter Avalos>94	search/249	Missing\ operating\ system
1191e8af9738SPeter Avalos# followed by \r for versions older 3.35 , .\r for versions newer 3.52 and point for other
1192e8af9738SPeter Avalos# skip Ranish MBR
1193e8af9738SPeter Avalos>>408	search/4	HD1/\0
1194e8af9738SPeter Avalos>>408	default		x
1195e8af9738SPeter Avalos>>>250	search/118	\0Operating\ system\ load		SYSLINUX MBR
1196e8af9738SPeter Avalos# followed by "ing " or space
1197e8af9738SPeter Avalos>>>>292	search/98	error
1198e8af9738SPeter Avalos>>>>>&0	string		\r		    			(version 3.35 or older)
1199e8af9738SPeter Avalos>>>>>&0	string		.\r					(version 3.52 or newer)
1200e8af9738SPeter Avalos>>>>>&0	default		x					(version 3.36-3.51 )
1201e8af9738SPeter Avalos>368	search/106	\0Disk\ error\ on\ boot\r\n		SYSLINUX GPT-MBR
1202e8af9738SPeter Avalos>>156	search/10	\0Boot\ partition\ not\ found\r\n
1203e8af9738SPeter Avalos>>>270	search/10	\0OS\ not\ bootable\r\n			(version 3.86 or older)
1204e8af9738SPeter Avalos>>174	search/10	\0Missing\ OS\r\n
1205e8af9738SPeter Avalos>>>189	search/10	\0Multiple\ active\ partitions\r\n	(version 4.00 or newer)
1206e8af9738SPeter Avalos# SYSLINUX END
1207e8af9738SPeter Avalos
1208e8af9738SPeter Avalos# NetBSD mbr variants (master-boot-code version 1.22) added by Joerg Jenderek at Nov 2012
1209e8af9738SPeter Avalos# assembler instructions: xor ax,ax;mov	ax,ss;mov sp,0x7c00;mov	ax,
1210e8af9738SPeter Avalos0	ubequad		0x31c08ed0bc007c8e
1211e8af9738SPeter Avalos# mbr_bootsel magic before partition table not reliable with small ipl fragments
1212e8af9738SPeter Avalos#>444	uleshort	0xb5e1
1213e8af9738SPeter Avalos>0004	uleshort	x
1214e8af9738SPeter Avalos# ERRorTeXT
1215e8af9738SPeter Avalos>>181	search/166		Error\ \0\r\n				NetBSD mbr
12166fca56fbSSascha Wildner# NT Drive Serial Number https://thestarman.pcministry.com/asm/mbr/Win2kmbr.htm#DS
1217e8af9738SPeter Avalos>>>0x1B8	ubelong		>0					\b,Serial 0x%-.8x
1218e8af9738SPeter Avalos# BOOTSEL definitions contains assembler instructions: int 0x13;pop dx;push dx;push dx
1219e8af9738SPeter Avalos>>>0xbb		search/71	\xcd\x13\x5a\x52\x52			\b,bootselector
1220e8af9738SPeter Avalos# BOOT_EXTENDED definitions contains assembler instructions:
1221e8af9738SPeter Avalos# xchg ecx,edx;addl ecx,edx;movw lba_info,si;movb 0x42,ah;pop dx;push dx;int 0x13
1222e8af9738SPeter 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
1223e8af9738SPeter Avalos# COM_PORT_VAL definitions contains assembler instructions: outb al,dx;add 5,dl;inb %dx;test 0x40,al
1224e8af9738SPeter Avalos>>>0x130	search/55	\xee\x80\xc2\x05\xec\xa8\x40		\b,serial IO
1225e8af9738SPeter Avalos# not TERSE_ERROR
1226e8af9738SPeter Avalos>>>196		search/106	No\ active\ partition\0
1227e8af9738SPeter Avalos>>>>&0		string		Disk\ read\ error\0
1228e8af9738SPeter Avalos>>>>>&0		string		No\ operating\ system\0			\b,verbose
1229e8af9738SPeter Avalos# not NO_CHS definitions contains assembler instructions: pop dx;push dx;movb $8,ah;int0x13
1230e8af9738SPeter Avalos>>>0x7d		search/7	\x5a\x52\xb4\x08\xcd\x13		\b,CHS
1231e8af9738SPeter Avalos# not NO_LBA_CHECK definitions contains assembler instructions: movw 0x55aa,bx;movb 0x41,ah;pop	dx;push	dx;int 0x13
1232e8af9738SPeter Avalos>>>0xa4		search/84	\xbb\xaa\x55\xb4\x41\x5a\x52\xcd\x13	\b,LBA-check
1233e8af9738SPeter Avalos# assembler instructions: movw nametab,bx
1234e8af9738SPeter Avalos>>>0x26	    search/21	\xBB\x94\x07
1235e8af9738SPeter Avalos# not NO_BANNER definitions contains assembler instructions: mov banner,si;call message_crlf
1236e8af9738SPeter Avalos>>>>&-9	ubequad&0xBE00f0E800febb94	0xBE0000E80000bb94
1237e8af9738SPeter Avalos>>>>>181	search/166		Error\ \0
1238e8af9738SPeter Avalos# "a: disk" , "Fn: diskn" or "NetBSD MBR boot"
1239e8af9738SPeter Avalos>>>>>>&3	string			x				\b,"%s"
124082c5fa3eSPeter Avalos>>>446	use		partition-table
1241e8af9738SPeter Avalos# Andrea Mazzoleni AdvanceCD mbr loader of http://advancemame.sourceforge.net/boot-readme.html
1242e8af9738SPeter Avalos# added by Joerg Jenderek at Nov 2012 for versions 1.3 - 1.4
1243e8af9738SPeter Avalos# assembler instructions: jmp short 0x58;nop;ASCII
1244e8af9738SPeter Avalos0	ubequad&0xeb58908000000000	0xeb58900000000000
1245e8af9738SPeter Avalos# assembler instructions: cli;xor ax,ax;mov ds,ax;mov es,ax;mov ss,
1246e8af9738SPeter Avalos>(1.b+2)	ubequad			0xfa31c08ed88ec08e
1247e8af9738SPeter Avalos# Error messages at end of code
1248e8af9738SPeter Avalos>>376		string	No\ operating\ system\r\n\0
1249e8af9738SPeter Avalos>>>398		string	Disk\ error\r\n\0FDD\0HDD\0
1250e8af9738SPeter Avalos>>>>419		string	\ EBIOS\r\n\0				AdvanceMAME mbr
1251e8af9738SPeter Avalos
12526fca56fbSSascha Wildner# Neil Turton mbr loader variant of https://www.chiark.greenend.org.uk/~neilt/mbr/
1253e8af9738SPeter Avalos# added by Joerg Jenderek at Mar 2011 for versions 1.0.0 - 1.1.11
1254e8af9738SPeter Avalos# for 1st version assembler instructions:	cld;xor ax,ax;mov DS,ax;MOV ES,AX;mov SI,
1255e8af9738SPeter Avalos# or  	  	  	    			cld;xor ax,ax;mov SS,ax;XOR SP,SP;mov DS,
1256e8af9738SPeter Avalos0	ulequad&0xcE1b40D48EC031FC	0x8E0000D08EC031FC
1257e8af9738SPeter Avalos# pointer to the data starting with Neil Turton signature string
1258e8af9738SPeter Avalos>(0x1BC.s)		string		NDTmbr
1259e8af9738SPeter Avalos>>&-14			string		1234F\0			Turton mbr (
1260e8af9738SPeter Avalos# parameters also viewed by install-mbr --list
1261e8af9738SPeter Avalos>>>(0x1BC.s+7)		ubyte		x			\b%u<=
1262e8af9738SPeter Avalos>>>(0x1BC.s+9)		ubyte		x			\bVersion<=%u
1263e8af9738SPeter Avalos#>>>(0x1BC.s+8)		ubyte		x			asm_flag_%x
1264e8af9738SPeter Avalos>>>(0x1BC.s+8)		ubyte&1		1			\b,Y2K-Fix
12656fca56fbSSascha Wildner# variant used by testdisk of https://www.cgsecurity.org/wiki/Menu_MBRCode
1266e8af9738SPeter Avalos>>>(0x1BC.s+8)		ubyte&2		2			\b,TestDisk
1267e8af9738SPeter Avalos#0x1~1,..,0x8~4,0x10~F,0x80~A enabled
1268e8af9738SPeter Avalos#>>>(0x1BC.s+10)		ubyte		x			\b,flags 0x%x
1269e8af9738SPeter Avalos#0x0~1,0x1~2,...,0x3~4,0x4~F,0x7~D default boot
1270e8af9738SPeter Avalos#>>>(0x1BC.s+11)		ubyte		x			\b,cfg_def 0x%x
1271e8af9738SPeter Avalos# for older versions
1272e8af9738SPeter Avalos>>>(0x1BC.s+9)		ubyte		<2
127382c5fa3eSPeter Avalos#>>>>(0x1BC.s+12)	ubyte		18			\b,%hhu/18 seconds
1274e8af9738SPeter Avalos>>>>(0x1BC.s+12)	ubyte		!18			\b,%u/18 seconds
1275e8af9738SPeter Avalos# floppy A: or B:
1276e8af9738SPeter Avalos>>>>(0x1BC.s+13)	ubyte		<2			\b,floppy 0x%x
1277e8af9738SPeter Avalos>>>>(0x1BC.s+13)	ubyte		>1
1278e8af9738SPeter Avalos# 1st hard disc
1279e8af9738SPeter Avalos#>>>>>(0x1BC.s+13)	ubyte		0x80			\b,drive 0x%x
1280e8af9738SPeter Avalos# not 1st hard disc
1281e8af9738SPeter Avalos>>>>>(0x1BC.s+13)	ubyte		!0x80			\b,drive 0x%x
1282e8af9738SPeter Avalos# for version >= 2 maximal timeout can be 65534
1283e8af9738SPeter Avalos>>>(0x1BC.s+9)		ubyte		>1
1284e8af9738SPeter Avalos#>>>>(0x1BC.s+12)	uleshort	18			\b,%u/18 seconds
1285e8af9738SPeter Avalos>>>>(0x1BC.s+12)	uleshort	!18			\b,%u/18 seconds
1286e8af9738SPeter Avalos# floppy A: or B:
1287e8af9738SPeter Avalos>>>>(0x1BC.s+14)	ubyte		<2			\b,floppy 0x%x
1288e8af9738SPeter Avalos>>>>(0x1BC.s+14)	ubyte		>1
1289e8af9738SPeter Avalos# 1st hard disc
1290e8af9738SPeter Avalos#>>>>>(0x1BC.s+14)	ubyte		0x80			\b,drive 0x%x
1291e8af9738SPeter Avalos# not 1st hard disc
1292e8af9738SPeter Avalos>>>>>(0x1BC.s+14)	ubyte		!0x80			\b,drive 0x%x
1293e8af9738SPeter Avalos>>>0	ubyte		x					\b)
129479343712SPeter Avalos
1295327e51cbSPeter Avalos# added by Joerg Jenderek
1296327e51cbSPeter Avalos# In the second sector (+0x200) are variables according to grub-0.97/stage2/asm.S or
1297327e51cbSPeter Avalos# grub-1.94/kern/i386/pc/startup.S
12986fca56fbSSascha Wildner# https://www.gnu.org/software/grub/manual/grub.html#Embedded-data
1299327e51cbSPeter Avalos# usual values are marked with comments to get only informations of strange GRUB loaders
1300327e51cbSPeter Avalos0x200	uleshort		0x70EA
1301327e51cbSPeter Avalos# found only version 3.{1,2}
1302327e51cbSPeter Avalos>0x206		ubeshort	>0x0300
1303327e51cbSPeter Avalos# GRUB version (0.5.)95,0.93,0.94,0.96,0.97 > "00"
1304327e51cbSPeter Avalos>>0x212 	ubyte		>0x29
1305327e51cbSPeter Avalos>>>0x213 	ubyte		>0x29
1306327e51cbSPeter Avalos# not iso9660_stage1_5
1307327e51cbSPeter Avalos#>>>0	ulelong&0x00BE5652	0x00BE5652
1308327e51cbSPeter Avalos>>>>0x213 	ubyte		>0x29		GRand Unified Bootloader
1309327e51cbSPeter Avalos# config_file for stage1_5 is 0xffffffff + default "/boot/grub/stage2"
1310327e51cbSPeter Avalos>>>>0x217 	ubyte		0xFF		stage1_5
1311327e51cbSPeter Avalos>>>>0x217 	ubyte		<0xFF		stage2
1312327e51cbSPeter Avalos>>>>0x206	ubyte		x		\b version %u
1313327e51cbSPeter Avalos>>>>0x207	ubyte		x		\b.%u
1314327e51cbSPeter Avalos# module_size for 1.94
1315327e51cbSPeter Avalos>>>>0x208	ulelong		<0xffffff	\b, installed partition %u
131682c5fa3eSPeter Avalos#>>>>0x208	ulelong		=0xffffff	\b, %lu (default)
1317327e51cbSPeter Avalos>>>>0x208	ulelong		>0xffffff	\b, installed partition %u
1318327e51cbSPeter Avalos# GRUB 0.5.95 unofficial
1319327e51cbSPeter Avalos>>>>0x20C	ulelong&0x2E300000 0x2E300000
1320327e51cbSPeter Avalos# 0=stage2	1=ffs	2=e2fs	3=fat	4=minix	5=reiserfs
1321327e51cbSPeter Avalos>>>>>0x20C	ubyte		x		\b, identifier 0x%x
1322327e51cbSPeter Avalos#>>>>>0x20D	ubyte		=0		\b, LBA flag 0x%x (default)
1323327e51cbSPeter Avalos>>>>>0x20D	ubyte		>0		\b, LBA flag 0x%x
1324327e51cbSPeter Avalos# GRUB version as string
1325327e51cbSPeter Avalos>>>>>0x20E 	string		>\0		\b, GRUB version %-s
1326327e51cbSPeter Avalos# for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default
1327327e51cbSPeter Avalos>>>>>>0x215 	ulong		0xffffffff
1328327e51cbSPeter Avalos>>>>>>>0x219 	string		>\0		\b, configuration file %-s
1329327e51cbSPeter Avalos>>>>>>0x215 	ulong		!0xffffffff
1330327e51cbSPeter Avalos>>>>>>>0x215 	string		>\0		\b, configuration file %-s
1331327e51cbSPeter Avalos# newer GRUB versions
1332327e51cbSPeter Avalos>>>>0x20C	ulelong&0x2E300000 !0x2E300000
1333327e51cbSPeter Avalos##>>>>>0x20C	ulelong		=0		\b, saved entry %d (usual)
1334327e51cbSPeter Avalos>>>>>0x20C	ulelong		>0		\b, saved entry %d
1335327e51cbSPeter Avalos# for 1.94 contains kernel image size
1336327e51cbSPeter Avalos# for 0.93,0.94,0.96,0.97
1337327e51cbSPeter Avalos# 0=stage2	1=ffs	2=e2fs	3=fat	4=minix	5=reiserfs	6=vstafs	7=jfs	8=xfs	9=iso9660	a=ufs2
1338327e51cbSPeter Avalos>>>>>0x210	ubyte		x		\b, identifier 0x%x
1339327e51cbSPeter Avalos# The flag for LBA forcing is in most cases 0
1340327e51cbSPeter Avalos#>>>>>0x211	ubyte		=0		\b, LBA flag 0x%x (default)
1341327e51cbSPeter Avalos>>>>>0x211	ubyte		>0		\b, LBA flag 0x%x
1342327e51cbSPeter Avalos# GRUB version as string
1343327e51cbSPeter Avalos>>>>>0x212 	string		>\0		\b, GRUB version %-s
1344327e51cbSPeter Avalos# for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default
1345327e51cbSPeter Avalos>>>>>0x217 	ulong		0xffffffff
1346327e51cbSPeter Avalos>>>>>>0x21b 	string		>\0		\b, configuration file %-s
1347327e51cbSPeter Avalos>>>>>0x217 	ulong		!0xffffffff
1348327e51cbSPeter Avalos>>>>>>0x217 	string		>\0		\b, configuration file %-s
1349327e51cbSPeter Avalos
1350e8af9738SPeter Avalos# DOS x86 sector updated and separated from "DOS/MBR boot sector" by Joerg Jenderek at May 2011
1351e8af9738SPeter Avalos# JuMP short     bootcodeoffset NOP assembler instructions will usually be EB xx 90
1352e8af9738SPeter Avalos# over BIOS parameter block (BPB)
13536fca56fbSSascha Wildner# https://thestarman.pcministry.com/asm/2bytejumps.htm#FWD
1354e8af9738SPeter Avalos# older drives may use Near JuMP instruction E9 xx xx
1355e8af9738SPeter Avalos# minimal short forward jump found 0x29 for bootloaders or 0x0
1356e8af9738SPeter Avalos# maximal short forward jump is 0x7f
1357e8af9738SPeter Avalos# OEM-ID is empty or contain readable bytes
1358e8af9738SPeter Avalos0		ulelong&0x804000E9	0x000000E9
135982c5fa3eSPeter Avalos!:strength	+60
1360e8af9738SPeter Avalos# mtools-3.9.8/msdos.h
1361e8af9738SPeter Avalos# usual values are marked with comments to get only informations of strange FAT systems
1362e8af9738SPeter Avalos# valid sectorsize must be a power of 2 from 32 to 32768
136382c5fa3eSPeter Avalos>11		uleshort&0x001f	0
1364e8af9738SPeter Avalos>>11		uleshort	<32769
1365e8af9738SPeter Avalos>>>11		uleshort	>31
1366e8af9738SPeter Avalos>>>>21		ubyte&0xf0	0xF0
136782c5fa3eSPeter Avalos>>>>>0		ubyte		0xEB		DOS/MBR boot sector
1368e8af9738SPeter Avalos>>>>>>1		ubyte		x		\b, code offset 0x%x+2
1369e8af9738SPeter Avalos>>>>>0		ubyte		0xE9
137082c5fa3eSPeter Avalos>>>>>>1		uleshort	x		\b, code offset 0x%x+3
1371e8af9738SPeter Avalos>>>>>3		string		>\0		\b, OEM-ID "%-.8s"
1372e8af9738SPeter Avalos#http://mirror.href.com/thestarman/asm/debug/debug2.htm#IHC
1373e8af9738SPeter Avalos>>>>>>8		string		IHC		\b cached by Windows 9M
1374e8af9738SPeter Avalos>>>>>11		uleshort	>512		\b, Bytes/sector %u
1375e8af9738SPeter Avalos#>>>>>11	uleshort	=512		\b, Bytes/sector %u=512 (usual)
1376e8af9738SPeter Avalos>>>>>11		uleshort	<512		\b, Bytes/sector %u
1377e8af9738SPeter Avalos>>>>>13		ubyte		>1		\b, sectors/cluster %u
1378e8af9738SPeter Avalos#>>>>>13	ubyte		=1		\b, sectors/cluster %u (usual on Floppies)
137982c5fa3eSPeter Avalos# for lazy FAT32 implementation like Transcend digital photo frame PF830
138082c5fa3eSPeter Avalos>>>>>82		string/c	fat32
1381e8af9738SPeter Avalos>>>>>>14	uleshort	!32		\b, reserved sectors %u
1382e8af9738SPeter Avalos#>>>>>>14	uleshort	=32		\b, reserved sectors %u (usual Fat32)
138382c5fa3eSPeter Avalos>>>>>82		string/c	!fat32
1384e8af9738SPeter Avalos>>>>>>14	uleshort	>1		\b, reserved sectors %u
1385e8af9738SPeter Avalos#>>>>>>14	uleshort	=1		\b, reserved sectors %u (usual FAT12,FAT16)
1386e8af9738SPeter Avalos#>>>>>>14	uleshort	0		\b, reserved sectors %u (usual NTFS)
1387e8af9738SPeter Avalos>>>>>16		ubyte		>2		\b, FATs %u
1388e8af9738SPeter Avalos#>>>>>16	ubyte		=2		\b, FATs %u (usual)
1389e8af9738SPeter Avalos>>>>>16		ubyte		=1		\b, FAT  %u
1390e8af9738SPeter Avalos>>>>>16		ubyte		>0
1391e8af9738SPeter Avalos>>>>>17		uleshort	>0		\b, root entries %u
139282c5fa3eSPeter Avalos#>>>>>17	uleshort	=0		\b, root entries %hu=0 (usual Fat32)
1393e8af9738SPeter Avalos>>>>>19		uleshort	>0		\b, sectors %u (volumes <=32 MB)
139482c5fa3eSPeter Avalos#>>>>>19	uleshort	=0		\b, sectors %hu=0 (usual Fat32)
1395e8af9738SPeter Avalos>>>>>21		ubyte		>0xF0		\b, Media descriptor 0x%x
1396e8af9738SPeter Avalos#>>>>>21	ubyte		=0xF0		\b, Media descriptor 0x%x (usual floppy)
1397e8af9738SPeter Avalos>>>>>21		ubyte		<0xF0		\b, Media descriptor 0x%x
1398e8af9738SPeter Avalos>>>>>22		uleshort	>0		\b, sectors/FAT %u
139982c5fa3eSPeter Avalos#>>>>>22	uleshort	=0		\b, sectors/FAT %hu=0 (usual Fat32)
1400e8af9738SPeter Avalos>>>>>24		uleshort	x		\b, sectors/track %u
1401e8af9738SPeter Avalos>>>>>26		ubyte		>2		\b, heads %u
1402e8af9738SPeter Avalos#>>>>>26	ubyte		=2		\b, heads %u (usual floppy)
1403e8af9738SPeter Avalos>>>>>26		ubyte		=1		\b, heads %u
1404e8af9738SPeter Avalos# valid only for sector sizes with more then 32 Bytes
1405e8af9738SPeter Avalos>>>>>11		uleshort	>32
14066fca56fbSSascha Wildner# https://en.wikipedia.org/wiki/Design_of_the_FAT_file_system#Extended_BIOS_Parameter_Block
140782c5fa3eSPeter Avalos# skip for values 2,2Ah,70h,73h,DFh
140882c5fa3eSPeter Avalos# and continue for extended boot signature values 0,28h,29h,80h
140982c5fa3eSPeter Avalos>>>>>>38	ubyte&0x56	=0
1410e8af9738SPeter Avalos>>>>>>>28	ulelong		>0		\b, hidden sectors %u
1411e8af9738SPeter Avalos#>>>>>>>28	ulelong		=0		\b, hidden sectors %u (usual floppy)
1412e8af9738SPeter Avalos>>>>>>>32	ulelong		>0		\b, sectors %u (volumes > 32 MB)
1413e8af9738SPeter Avalos#>>>>>>>32	ulelong		=0		\b, sectors %u (volumes > 32 MB)
1414e8af9738SPeter Avalos# FAT<32 bit specific
141582c5fa3eSPeter Avalos>>>>>>>82	string/c	!fat32
1416e8af9738SPeter Avalos#>>>>>>>>36	ubyte		0x80		\b, physical drive 0x%x=0x80 (usual harddisk)
1417e8af9738SPeter Avalos#>>>>>>>>36	ubyte		0		\b, physical drive 0x%x=0 (usual floppy)
1418e8af9738SPeter Avalos>>>>>>>>36	ubyte		!0x80
1419e8af9738SPeter Avalos>>>>>>>>>36	ubyte		!0		\b, physical drive 0x%x
142082c5fa3eSPeter Avalos# VGA-copy CRC or
142182c5fa3eSPeter Avalos# in Windows NT bit 0 is a dirty flag to request chkdsk at boot time. bit 1 requests surface scan too
1422e8af9738SPeter Avalos>>>>>>>>37	ubyte		>0		\b, reserved 0x%x
1423e8af9738SPeter Avalos#>>>>>>>>37	ubyte		=0		\b, reserved 0x%x
142482c5fa3eSPeter Avalos# extended boot signatur value is 0x80 for NTFS, 0x28 or 0x29 for others
1425e8af9738SPeter Avalos>>>>>>>>38	ubyte		!0x29		\b, dos < 4.0 BootSector (0x%x)
142682c5fa3eSPeter Avalos>>>>>>>>38	ubyte&0xFE	=0x28
1427e8af9738SPeter Avalos>>>>>>>>>39	ulelong		x		\b, serial number 0x%x
142882c5fa3eSPeter Avalos>>>>>>>>38	ubyte		=0x29
1429e8af9738SPeter Avalos>>>>>>>>>43	string		<NO\ NAME	\b, label: "%11.11s"
1430e8af9738SPeter Avalos>>>>>>>>>43	string		>NO\ NAME	\b, label: "%11.11s"
1431e8af9738SPeter Avalos>>>>>>>>>43	string		=NO\ NAME	\b, unlabeled
1432e8af9738SPeter Avalos# there exist some old floppies without word FAT at offset 54
1433e8af9738SPeter Avalos# a word like "FATnm   " is only a hint for a FAT size on nm-bits
1434e8af9738SPeter Avalos# Normally the number of clusters is calculated by the values of BPP.
1435e8af9738SPeter Avalos# if it is small enough FAT is 12 bit, if it is too big enough FAT is 32 bit,
1436e8af9738SPeter Avalos# otherwise FAT is 16 bit.
1437e8af9738SPeter Avalos# http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/determining-fat-widths.html
143882c5fa3eSPeter Avalos>>>>>82		string/c	!fat32
143982c5fa3eSPeter Avalos>>>>>>54	string		FAT12		\b, FAT (12 bit)
144082c5fa3eSPeter Avalos>>>>>>54	string		FAT16		\b, FAT (16 bit)
144182c5fa3eSPeter Avalos>>>>>>54	default		x
144282c5fa3eSPeter Avalos# determinate FAT bit size by media descriptor
144382c5fa3eSPeter Avalos# small floppies implies FAT12
144482c5fa3eSPeter Avalos>>>>>>>21	ubyte		<0xF0		\b, FAT (12 bit by descriptor)
144582c5fa3eSPeter Avalos# with media descriptor F0h floppy or maybe superfloppy with FAT16
144682c5fa3eSPeter Avalos>>>>>>>21	ubyte		=0xF0
144782c5fa3eSPeter Avalos# superfloppy (many sectors) implies FAT16
144882c5fa3eSPeter Avalos>>>>>>>>32	ulelong		>0xFFFF		\b, FAT (16 bit by descriptor+sectors)
144982c5fa3eSPeter Avalos# no superfloppy with media descriptor F0h implies FAT12
145082c5fa3eSPeter Avalos>>>>>>>>32	default		x		\b, FAT (12 bit by descriptor+sectors)
145182c5fa3eSPeter Avalos# with media descriptor F8h floppy or hard disc with FAT12 or FAT16
145282c5fa3eSPeter Avalos>>>>>>>21	ubyte		=0xF8
145382c5fa3eSPeter Avalos# 360 KiB with media descriptor F8h, 9 sectors per track ,single sided floppy implies FAT12
145482c5fa3eSPeter Avalos>>>>>>>>19	ubequad	0xd002f80300090001	\b, FAT (12 bit by descriptor+geometry)
145582c5fa3eSPeter Avalos# hard disc with FAT12 or FAT16
145682c5fa3eSPeter Avalos>>>>>>>>19	default		x		\b, FAT (1Y bit by descriptor)
145782c5fa3eSPeter Avalos# with media descriptor FAh floppy, RAM disc with FAT12 or FAT16 or Tandy hard disc
145882c5fa3eSPeter Avalos>>>>>>>21	ubyte		=0xFA
145982c5fa3eSPeter Avalos# 320 KiB with media descriptor FAh, 8 sectors per track ,single sided floppy implies FAT12
146082c5fa3eSPeter Avalos>>>>>>>>19	ubequad	0x8002fa0200080001	\b, FAT (12 bit by descriptor+geometry)
146182c5fa3eSPeter Avalos# RAM disc with FAT12 or FAT16 or Tandy hard disc
146282c5fa3eSPeter Avalos>>>>>>>>19	default		x		\b, FAT (1Y bit by descriptor)
146382c5fa3eSPeter Avalos# others are floppy
146482c5fa3eSPeter Avalos>>>>>>>21	default		x		\b, FAT (12 bit by descriptor)
1465e8af9738SPeter Avalos# FAT32 bit specific
146682c5fa3eSPeter Avalos>>>>>82		string/c	fat32		\b, FAT (32 bit)
1467e8af9738SPeter Avalos>>>>>>36	ulelong		x		\b, sectors/FAT %u
14686fca56fbSSascha Wildner# https://technet.microsoft.com/en-us/library/cc977221.aspx
1469e8af9738SPeter Avalos>>>>>>40	uleshort	>0		\b, extension flags 0x%x
147082c5fa3eSPeter Avalos#>>>>>>40	uleshort	=0		\b, extension flags %hu
1471e8af9738SPeter Avalos>>>>>>42	uleshort	>0		\b, fsVersion %u
1472e8af9738SPeter Avalos#>>>>>>42	uleshort	=0		\b, fsVersion %u (usual)
1473e8af9738SPeter Avalos>>>>>>44	ulelong		>2		\b, rootdir cluster %u
1474e8af9738SPeter Avalos#>>>>>>44	ulelong		=2		\b, rootdir cluster %u
1475e8af9738SPeter Avalos#>>>>>>44	ulelong		=1		\b, rootdir cluster %u
1476e8af9738SPeter Avalos>>>>>>48	uleshort	>1		\b, infoSector %u
1477e8af9738SPeter Avalos#>>>>>>48	uleshort	=1		\b, infoSector %u (usual)
1478e8af9738SPeter Avalos>>>>>>48	uleshort	<1		\b, infoSector %u
147982c5fa3eSPeter Avalos# 0 or 0xFFFF instead of usual 6 means no backup sector
148082c5fa3eSPeter Avalos>>>>>>50	uleshort	=0xFFFF		\b, no Backup boot sector
148182c5fa3eSPeter Avalos>>>>>>50	uleshort	=0		\b, no Backup boot sector
1482e8af9738SPeter Avalos#>>>>>>50	uleshort	=6		\b, Backup boot sector %u (usual)
148382c5fa3eSPeter Avalos>>>>>>50	default		x
148482c5fa3eSPeter Avalos>>>>>>>50	uleshort	x		\b, Backup boot sector %u
14856fca56fbSSascha Wildner# corrected by Joerg Jenderek at Feb 2011 according to https://thestarman.pcministry.com/asm/mbr/MSWIN41.htm#FSINFO
1486e8af9738SPeter Avalos>>>>>>52	ulelong		>0		\b, reserved1 0x%x
1487e8af9738SPeter Avalos>>>>>>56	ulelong		>0		\b, reserved2 0x%x
1488e8af9738SPeter Avalos>>>>>>60	ulelong		>0		\b, reserved3 0x%x
1489e8af9738SPeter Avalos# same structure as FAT1X
1490e8af9738SPeter Avalos#>>>>>>64	ubyte		=0x80		\b, physical drive 0x%x=80 (usual harddisk)
1491e8af9738SPeter Avalos#>>>>>>64	ubyte		=0		\b, physical drive 0x%x=0 (usual floppy)
1492e8af9738SPeter Avalos>>>>>>64	ubyte		!0x80
1493e8af9738SPeter Avalos>>>>>>>64	ubyte		>0		\b, physical drive 0x%x
1494e8af9738SPeter Avalos# in Windows NT bit 0 is a dirty flag to request chkdsk at boot time. bit 1 requests surface scan too
1495e8af9738SPeter Avalos>>>>>>65	ubyte		>0		\b, reserved 0x%x
1496e8af9738SPeter Avalos>>>>>>66	ubyte		!0x29		\b, dos < 4.0 BootSector (0x%x)
1497e8af9738SPeter Avalos>>>>>>66	ubyte		=0x29
1498e8af9738SPeter Avalos>>>>>>>67	ulelong		x		\b, serial number 0x%x
1499e8af9738SPeter Avalos>>>>>>>71	string		<NO\ NAME	\b, label: "%11.11s"
1500e8af9738SPeter Avalos>>>>>>>71	string		>NO\ NAME	\b, label: "%11.11s"
1501e8af9738SPeter Avalos>>>>>>>71	string		=NO\ NAME	\b, unlabeled
1502e8af9738SPeter Avalos# additional tests for floppy image added by Joerg Jenderek
1503e8af9738SPeter Avalos# no fixed disk
1504e8af9738SPeter Avalos>>>>>21		ubyte		!0xF8
1505e8af9738SPeter Avalos# floppy media with 12 bit FAT
1506e8af9738SPeter Avalos>>>>>>54	string		!FAT16
1507e8af9738SPeter Avalos# test for FAT after bootsector
1508e8af9738SPeter Avalos>>>>>>>(11.s)	ulelong&0x00ffffF0	0x00ffffF0	\b, followed by FAT
1509e8af9738SPeter Avalos# floppy image
1510e8af9738SPeter Avalos!:mime application/x-ima
15116fca56fbSSascha Wildner# NTFS specific added by Joerg Jenderek at Mar 2011 according to https://thestarman.pcministry.com/asm/mbr/NTFSBR.htm
1512e8af9738SPeter Avalos# and http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/bios-parameter-block.html
1513e8af9738SPeter Avalos# 0 FATs
1514e8af9738SPeter Avalos>>>>>16	ubyte		=0
1515e8af9738SPeter Avalos# 0 root entries
1516e8af9738SPeter Avalos>>>>>>17	uleshort	=0
1517e8af9738SPeter Avalos# 0 DOS sectors
1518e8af9738SPeter Avalos>>>>>>>19	uleshort	=0
1519e8af9738SPeter Avalos# 0 sectors/FAT
1520e8af9738SPeter Avalos# dos < 4.0 BootSector value found is 0x80
1521e8af9738SPeter Avalos#38	ubyte		=0x80			\b, dos < 4.0 BootSector (0x%x)
1522e8af9738SPeter Avalos>>>>>>>>22	uleshort	=0		\b; NTFS
1523e8af9738SPeter Avalos>>>>>>>>>24	uleshort	>0		\b, sectors/track %u
1524e8af9738SPeter Avalos>>>>>>>>>36	ulelong		!0x800080	\b, physical drive 0x%x
1525e8af9738SPeter Avalos>>>>>>>>>40	ulequad		>0		\b, sectors %lld
1526e8af9738SPeter Avalos>>>>>>>>>48	ulequad		>0		\b, $MFT start cluster %lld
1527e8af9738SPeter Avalos>>>>>>>>>56	ulequad		>0		\b, $MFTMirror start cluster %lld
1528e8af9738SPeter Avalos# Values 0 to 127 represent MFT record sizes of 0 to 127 clusters.
1529e8af9738SPeter Avalos# Values 128 to 255 represent MFT record sizes of 2^(256-N) bytes.
1530e8af9738SPeter Avalos>>>>>>>>>64	lelong		<256
1531e8af9738SPeter Avalos>>>>>>>>>>64	lelong		<128		\b, clusters/RecordSegment %d
153282c5fa3eSPeter Avalos>>>>>>>>>>64	ubyte		>127		\b, bytes/RecordSegment 2^(-1*%i)
1533e8af9738SPeter Avalos# Values 0 to 127 represent index block sizes of 0 to 127 clusters.
1534e8af9738SPeter Avalos# Values 128 to 255 represent index block sizes of 2^(256-N) byte
1535e8af9738SPeter Avalos>>>>>>>>>68	ulelong		<256
1536e8af9738SPeter Avalos>>>>>>>>>>68	ulelong		<128		\b, clusters/index block %d
1537e8af9738SPeter Avalos#>>>>>>>>>>68	ulelong		>127		\b, bytes/index block 2^(256-%d)
153882c5fa3eSPeter Avalos>>>>>>>>>>68	ubyte		>127		\b, bytes/index block 2^(-1*%i)
1539e8af9738SPeter Avalos>>>>>>>>>72	ulequad		x		\b, serial number 0%llx
1540e8af9738SPeter Avalos>>>>>>>>>80	ulelong		>0		\b, checksum 0x%x
1541e8af9738SPeter Avalos#>>>>>>>>>80	ulelong		=0		\b, checksum 0x%x=0 (usual)
15426fca56fbSSascha Wildner# unicode loadername size jump
15436fca56fbSSascha Wildner>>>>>>>>>(0x200.s*2)	ubyte				x
15446fca56fbSSascha Wildner# in next sector loadername terminated by unicode CTRL-D and $
15456fca56fbSSascha Wildner>>>>>>>>>>&0x1FF	ulequad&0x0000FFffFFffFF00	0x0000002400040000 \b; contains
15466fca56fbSSascha Wildner# if 2nd NTFS sectors is found then assume whole filesystem
15476fca56fbSSascha Wildner#!:mime		application/x-raw-disk-image
15486fca56fbSSascha Wildner!:ext		img/bin/ntfs
15496fca56fbSSascha Wildner>>>>>>>>>>>0x200	use				ntfs-sector2
15506fca56fbSSascha Wildner
15516fca56fbSSascha Wildner# For 2nd NTFS sector added by Joerg Jenderek at Jan 2013, Mar 2019
15526fca56fbSSascha Wildner# https://thestarman.pcministry.com/asm/mbr/NTFSbrHexEd.htm
15536fca56fbSSascha Wildner# unused assembler instructions short JMP y2;NOP;NOP
15546fca56fbSSascha Wildner0x056		ulelong&0xFFFF0FFF	0x909002EB	NTFS
15556fca56fbSSascha Wildner#!:mime		application/octet-stream
15566fca56fbSSascha Wildner!:ext		bin
15576fca56fbSSascha Wildner>0		use		ntfs-sector2
15586fca56fbSSascha Wildner# https://memory.dataram.com/products-and-services/software/ramdisk
15596fca56fbSSascha Wildner# assembler instructions JMP C000;NOP
15606fca56fbSSascha Wildner0x056		ulelong			0x9000c0e9	NTFS
15616fca56fbSSascha Wildner#!:mime		application/octet-stream
15626fca56fbSSascha Wildner!:ext		bin
15636fca56fbSSascha Wildner>0		use		ntfs-sector2
15646fca56fbSSascha Wildner# check for characteristics of second NTFS sector and then display loader name
15656fca56fbSSascha Wildner0		name		ntfs-sector2
15666fca56fbSSascha Wildner# number of utf16 characters of loadername
15676fca56fbSSascha Wildner>0		uleshort	<8
15686fca56fbSSascha Wildner# unused assembler instructions JMP y2;NOP;NOP or JMP C000;NOP
15696fca56fbSSascha Wildner>>0x056		ulelong&0xFF0000FD	0x900000E9
1570e8af9738SPeter Avalos# loadernames are NTLDR,CMLDR,PELDR,$LDR$ or BOOTMGR
15716fca56fbSSascha Wildner>>>0x002		lestring16	x	bootstrap %-5.5s
15726fca56fbSSascha Wildner# check for 7 character length of loader name like BOOTMGR
15736fca56fbSSascha Wildner>>>0		uleshort	7
15746fca56fbSSascha Wildner>>>>0x0c	lestring16	x	\b%-2.2s
1575e8af9738SPeter Avalos### DOS,NTFS boot sectors end
1576e8af9738SPeter Avalos
1577c30bd091SSascha Wildner# ntfsclone-image is a special save format for NTFS volumes,
1578c30bd091SSascha Wildner# created and restored by the ntfsclone program
1579c30bd091SSascha Wildner0	string	\0ntfsclone-image	ntfsclone image,
1580c30bd091SSascha Wildner>0x10	byte	x			version %d.
1581c30bd091SSascha Wildner>0x11	byte	x			\b%d,
1582c30bd091SSascha Wildner>0x12	lelong	x			cluster size %d,
1583c30bd091SSascha Wildner>0x16	lequad	x			device size %lld,
1584c30bd091SSascha Wildner>0x1e	lequad	x			%lld total clusters,
1585c30bd091SSascha Wildner>0x26	lequad	x			%lld clusters in use
1586c30bd091SSascha Wildner
1587327e51cbSPeter Avalos9564	lelong		0x00011954	Unix Fast File system [v1] (little-endian),
1588327e51cbSPeter Avalos>8404	string		x		last mounted on %s,
1589327e51cbSPeter Avalos#>9504	ledate		x		last checked at %s,
1590327e51cbSPeter Avalos>8224	ledate		x		last written at %s,
1591327e51cbSPeter Avalos>8401	byte		x		clean flag %d,
1592327e51cbSPeter Avalos>8228	lelong		x		number of blocks %d,
1593327e51cbSPeter Avalos>8232	lelong		x		number of data blocks %d,
1594327e51cbSPeter Avalos>8236	lelong		x		number of cylinder groups %d,
1595327e51cbSPeter Avalos>8240	lelong		x		block size %d,
1596327e51cbSPeter Avalos>8244	lelong		x		fragment size %d,
1597327e51cbSPeter Avalos>8252	lelong		x		minimum percentage of free blocks %d,
1598327e51cbSPeter Avalos>8256	lelong		x		rotational delay %dms,
1599327e51cbSPeter Avalos>8260	lelong		x		disk rotational speed %drps,
1600327e51cbSPeter Avalos>8320	lelong		0		TIME optimization
1601327e51cbSPeter Avalos>8320	lelong		1		SPACE optimization
1602327e51cbSPeter Avalos
1603327e51cbSPeter Avalos42332	lelong		0x19540119	Unix Fast File system [v2] (little-endian)
1604327e51cbSPeter Avalos>&-1164	string		x		last mounted on %s,
1605327e51cbSPeter Avalos>&-696	string		>\0		volume name %s,
1606327e51cbSPeter Avalos>&-304	leqldate	x		last written at %s,
1607327e51cbSPeter Avalos>&-1167	byte		x		clean flag %d,
1608327e51cbSPeter Avalos>&-1168	byte		x		readonly flag %d,
1609327e51cbSPeter Avalos>&-296	lequad		x		number of blocks %lld,
1610327e51cbSPeter Avalos>&-288	lequad		x		number of data blocks %lld,
1611327e51cbSPeter Avalos>&-1332	lelong		x		number of cylinder groups %d,
1612327e51cbSPeter Avalos>&-1328	lelong		x		block size %d,
1613327e51cbSPeter Avalos>&-1324	lelong		x		fragment size %d,
1614327e51cbSPeter Avalos>&-180	lelong		x		average file size %d,
1615327e51cbSPeter Avalos>&-176	lelong		x		average number of files in dir %d,
1616327e51cbSPeter Avalos>&-272	lequad		x		pending blocks to free %lld,
161782c5fa3eSPeter Avalos>&-264	lelong		x		pending inodes to free %d,
1618327e51cbSPeter Avalos>&-664	lequad		x		system-wide uuid %0llx,
1619327e51cbSPeter Avalos>&-1316	lelong		x		minimum percentage of free blocks %d,
1620327e51cbSPeter Avalos>&-1248	lelong		0		TIME optimization
1621327e51cbSPeter Avalos>&-1248	lelong		1		SPACE optimization
1622327e51cbSPeter Avalos
1623327e51cbSPeter Avalos66908	lelong		0x19540119	Unix Fast File system [v2] (little-endian)
1624327e51cbSPeter Avalos>&-1164	string		x		last mounted on %s,
1625327e51cbSPeter Avalos>&-696	string		>\0		volume name %s,
1626327e51cbSPeter Avalos>&-304	leqldate	x		last written at %s,
1627327e51cbSPeter Avalos>&-1167	byte		x		clean flag %d,
1628327e51cbSPeter Avalos>&-1168	byte		x		readonly flag %d,
1629327e51cbSPeter Avalos>&-296	lequad		x		number of blocks %lld,
1630327e51cbSPeter Avalos>&-288	lequad		x		number of data blocks %lld,
1631327e51cbSPeter Avalos>&-1332	lelong		x		number of cylinder groups %d,
1632327e51cbSPeter Avalos>&-1328	lelong		x		block size %d,
1633327e51cbSPeter Avalos>&-1324	lelong		x		fragment size %d,
1634327e51cbSPeter Avalos>&-180	lelong		x		average file size %d,
1635327e51cbSPeter Avalos>&-176	lelong		x		average number of files in dir %d,
1636327e51cbSPeter Avalos>&-272	lequad		x		pending blocks to free %lld,
163782c5fa3eSPeter Avalos>&-264	lelong		x		pending inodes to free %d,
1638327e51cbSPeter Avalos>&-664	lequad		x		system-wide uuid %0llx,
1639327e51cbSPeter Avalos>&-1316	lelong		x		minimum percentage of free blocks %d,
1640327e51cbSPeter Avalos>&-1248	lelong		0		TIME optimization
1641327e51cbSPeter Avalos>&-1248	lelong		1		SPACE optimization
1642327e51cbSPeter Avalos
1643327e51cbSPeter Avalos9564	belong		0x00011954	Unix Fast File system [v1] (big-endian),
1644327e51cbSPeter Avalos>7168   belong		0x4c41424c	Apple UFS Volume
1645327e51cbSPeter Avalos>>7186  string		x		named %s,
1646327e51cbSPeter Avalos>>7176  belong		x		volume label version %d,
1647327e51cbSPeter Avalos>>7180  bedate		x		created on %s,
1648327e51cbSPeter Avalos>8404	string		x		last mounted on %s,
1649327e51cbSPeter Avalos#>9504	bedate		x		last checked at %s,
1650327e51cbSPeter Avalos>8224	bedate		x		last written at %s,
1651327e51cbSPeter Avalos>8401	byte		x		clean flag %d,
1652327e51cbSPeter Avalos>8228	belong		x		number of blocks %d,
1653327e51cbSPeter Avalos>8232	belong		x		number of data blocks %d,
1654327e51cbSPeter Avalos>8236	belong		x		number of cylinder groups %d,
1655327e51cbSPeter Avalos>8240	belong		x		block size %d,
1656327e51cbSPeter Avalos>8244	belong		x		fragment size %d,
1657327e51cbSPeter Avalos>8252	belong		x		minimum percentage of free blocks %d,
1658327e51cbSPeter Avalos>8256	belong		x		rotational delay %dms,
1659327e51cbSPeter Avalos>8260	belong		x		disk rotational speed %drps,
1660327e51cbSPeter Avalos>8320	belong		0		TIME optimization
1661327e51cbSPeter Avalos>8320	belong		1		SPACE optimization
1662327e51cbSPeter Avalos
1663327e51cbSPeter Avalos42332	belong		0x19540119	Unix Fast File system [v2] (big-endian)
1664327e51cbSPeter Avalos>&-1164	string		x		last mounted on %s,
1665327e51cbSPeter Avalos>&-696	string		>\0		volume name %s,
1666327e51cbSPeter Avalos>&-304	beqldate	x		last written at %s,
1667327e51cbSPeter Avalos>&-1167	byte		x		clean flag %d,
1668327e51cbSPeter Avalos>&-1168	byte		x		readonly flag %d,
1669327e51cbSPeter Avalos>&-296	bequad		x		number of blocks %lld,
1670327e51cbSPeter Avalos>&-288	bequad		x		number of data blocks %lld,
1671327e51cbSPeter Avalos>&-1332	belong		x		number of cylinder groups %d,
1672327e51cbSPeter Avalos>&-1328	belong		x		block size %d,
1673327e51cbSPeter Avalos>&-1324	belong		x		fragment size %d,
1674327e51cbSPeter Avalos>&-180	belong		x		average file size %d,
1675327e51cbSPeter Avalos>&-176	belong		x		average number of files in dir %d,
1676327e51cbSPeter Avalos>&-272	bequad		x		pending blocks to free %lld,
167782c5fa3eSPeter Avalos>&-264	belong		x		pending inodes to free %d,
1678327e51cbSPeter Avalos>&-664	bequad		x		system-wide uuid %0llx,
1679327e51cbSPeter Avalos>&-1316	belong		x		minimum percentage of free blocks %d,
1680327e51cbSPeter Avalos>&-1248	belong		0		TIME optimization
1681327e51cbSPeter Avalos>&-1248	belong		1		SPACE optimization
1682327e51cbSPeter Avalos
1683327e51cbSPeter Avalos66908	belong		0x19540119	Unix Fast File system [v2] (big-endian)
1684327e51cbSPeter Avalos>&-1164	string		x		last mounted on %s,
1685327e51cbSPeter Avalos>&-696	string		>\0		volume name %s,
1686327e51cbSPeter Avalos>&-304	beqldate	x		last written at %s,
1687327e51cbSPeter Avalos>&-1167	byte		x		clean flag %d,
1688327e51cbSPeter Avalos>&-1168	byte		x		readonly flag %d,
1689327e51cbSPeter Avalos>&-296	bequad		x		number of blocks %lld,
1690327e51cbSPeter Avalos>&-288	bequad		x		number of data blocks %lld,
1691327e51cbSPeter Avalos>&-1332	belong		x		number of cylinder groups %d,
1692327e51cbSPeter Avalos>&-1328	belong		x		block size %d,
1693327e51cbSPeter Avalos>&-1324	belong		x		fragment size %d,
1694327e51cbSPeter Avalos>&-180	belong		x		average file size %d,
1695327e51cbSPeter Avalos>&-176	belong		x		average number of files in dir %d,
1696327e51cbSPeter Avalos>&-272	bequad		x		pending blocks to free %lld,
169782c5fa3eSPeter Avalos>&-264	belong		x		pending inodes to free %d,
1698327e51cbSPeter Avalos>&-664	bequad		x		system-wide uuid %0llx,
1699327e51cbSPeter Avalos>&-1316	belong		x		minimum percentage of free blocks %d,
1700327e51cbSPeter Avalos>&-1248	belong		0		TIME optimization
1701327e51cbSPeter Avalos>&-1248	belong		1		SPACE optimization
1702327e51cbSPeter Avalos
1703c30bd091SSascha Wildner0	ulequad		0xc8414d4dc5523031	HAMMER filesystem (little-endian),
1704c30bd091SSascha Wildner>0x90	lelong+1	x			volume %d
1705c30bd091SSascha Wildner>0x94	lelong		x			(of %d),
1706c30bd091SSascha Wildner>0x50	string		x			name %s,
1707c30bd091SSascha Wildner>0x98	ulelong		x			version %u,
1708c30bd091SSascha Wildner>0xa0	ulelong		x			flags 0x%x
1709c30bd091SSascha Wildner
171079343712SPeter Avalos# ext2/ext3 filesystems - Andreas Dilger <adilger@dilger.ca>
171179343712SPeter Avalos# ext4 filesystem - Eric Sandeen <sandeen@sandeen.net>
1712e4d4ce0cSPeter Avalos# volume label and UUID Russell Coker
17136fca56fbSSascha Wildner# https://etbe.coker.com.au/2008/07/08/label-vs-uuid-vs-device/
1714327e51cbSPeter Avalos0x438   leshort         0xEF53          Linux
1715327e51cbSPeter Avalos>0x44c  lelong          x               rev %d
1716327e51cbSPeter Avalos>0x43e  leshort         x               \b.%d
171779343712SPeter Avalos# No journal?  ext2
1718327e51cbSPeter Avalos>0x45c  lelong          ^0x0000004      ext2 filesystem data
1719327e51cbSPeter Avalos>>0x43a leshort         ^0x0000001      (mounted or unclean)
172079343712SPeter Avalos# Has a journal?  ext3 or ext4
172179343712SPeter Avalos>0x45c  lelong          &0x0000004
172279343712SPeter Avalos#  and small INCOMPAT?
172379343712SPeter Avalos>>0x460 lelong          <0x0000040
172479343712SPeter Avalos#   and small RO_COMPAT?
172579343712SPeter Avalos>>>0x464 lelong         <0x0000008      ext3 filesystem data
172679343712SPeter Avalos#   else large RO_COMPAT?
172779343712SPeter Avalos>>>0x464 lelong         >0x0000007      ext4 filesystem data
172879343712SPeter Avalos#  else large INCOMPAT?
172979343712SPeter Avalos>>0x460	lelong          >0x000003f      ext4 filesystem data
1730e4d4ce0cSPeter Avalos>0x468	belong		x		\b, UUID=%08x
1731e4d4ce0cSPeter Avalos>0x46c	beshort		x		\b-%04x
1732e4d4ce0cSPeter Avalos>0x46e	beshort		x		\b-%04x
1733e4d4ce0cSPeter Avalos>0x470	beshort		x		\b-%04x
1734e4d4ce0cSPeter Avalos>0x472	belong		x		\b-%08x
1735e4d4ce0cSPeter Avalos>0x476	beshort		x		\b%04x
1736e4d4ce0cSPeter Avalos>0x478	string		>0		\b, volume name "%s"
173779343712SPeter Avalos# General flags for any ext* fs
173879343712SPeter Avalos>0x460	lelong          &0x0000004      (needs journal recovery)
1739327e51cbSPeter Avalos>0x43a	leshort         &0x0000002      (errors)
174079343712SPeter Avalos# INCOMPAT flags
1741327e51cbSPeter Avalos>0x460	lelong          &0x0000001      (compressed)
1742327e51cbSPeter Avalos#>0x460	lelong          &0x0000002      (filetype)
174379343712SPeter Avalos#>0x460	lelong          &0x0000010      (meta bg)
174479343712SPeter Avalos>0x460	lelong          &0x0000040      (extents)
174579343712SPeter Avalos>0x460	lelong          &0x0000080      (64bit)
174679343712SPeter Avalos#>0x460	lelong          &0x0000100      (mmp)
174779343712SPeter Avalos#>0x460	lelong          &0x0000200      (flex bg)
174879343712SPeter Avalos# RO_INCOMPAT flags
174979343712SPeter Avalos#>0x464	lelong          &0x0000001      (sparse super)
1750327e51cbSPeter Avalos>0x464	lelong          &0x0000002      (large files)
175179343712SPeter Avalos>0x464	lelong          &0x0000008      (huge files)
175279343712SPeter Avalos#>0x464	lelong          &0x0000010      (gdt checksum)
175379343712SPeter Avalos#>0x464	lelong          &0x0000020      (many subdirs)
175479343712SPeter Avalos#>0x463	lelong          &0x0000040      (extra isize)
1755327e51cbSPeter Avalos
17566fca56fbSSascha Wildner# f2fs filesystem - Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
17576fca56fbSSascha Wildner0x400	lelong		0xF2F52010	F2FS filesystem
17586fca56fbSSascha Wildner>0x46c	belong		x		\b, UUID=%08x
17596fca56fbSSascha Wildner>0x470	beshort		x		\b-%04x
17606fca56fbSSascha Wildner>0x472	beshort		x		\b-%04x
17616fca56fbSSascha Wildner>0x474	beshort		x		\b-%04x
17626fca56fbSSascha Wildner>0x476	belong		x		\b-%08x
17636fca56fbSSascha Wildner>0x47a	beshort		x		\b%04x
17646fca56fbSSascha Wildner>0x147c	lestring16	x		\b, volume name "%s"
17656fca56fbSSascha Wildner
1766e8af9738SPeter Avalos# Minix filesystems - Juan Cespedes <cespedes@debian.org>
1767e8af9738SPeter Avalos0x410	leshort		0x137f
1768e8af9738SPeter Avalos!:strength / 2
1769e8af9738SPeter Avalos>0x402	beshort		< 100
1770c30bd091SSascha Wildner>0x402	beshort		> -1		Minix filesystem, V1, 14 char names, %d zones
1771e8af9738SPeter Avalos>0x1e	string		minix		\b, bootable
1772e8af9738SPeter Avalos0x410	beshort		0x137f
1773e8af9738SPeter Avalos!:strength / 2
1774e8af9738SPeter Avalos>0x402	beshort		< 100
1775e8af9738SPeter Avalos>0x402	beshort		> -1		Minix filesystem, V1 (big endian), %d zones
1776e8af9738SPeter Avalos>0x1e	string		minix		\b, bootable
1777e8af9738SPeter Avalos0x410	leshort		0x138f
1778e8af9738SPeter Avalos!:strength / 2
1779e8af9738SPeter Avalos>0x402	beshort		< 100
1780e8af9738SPeter Avalos>0x402	beshort		> -1		Minix filesystem, V1, 30 char names, %d zones
1781e8af9738SPeter Avalos>0x1e	string		minix		\b, bootable
1782e8af9738SPeter Avalos0x410	beshort		0x138f
1783e8af9738SPeter Avalos!:strength / 2
1784e8af9738SPeter Avalos>0x402	beshort		< 100
1785e8af9738SPeter Avalos>0x402	beshort		> -1		Minix filesystem, V1, 30 char names (big endian), %d zones
1786e8af9738SPeter Avalos>0x1e	string		minix		\b, bootable
1787c30bd091SSascha Wildner# Weak Magic: this is $x
1788c30bd091SSascha Wildner#0x410	leshort		0x2468
1789c30bd091SSascha Wildner#>0x402	beshort		< 100
1790c30bd091SSascha Wildner#>>0x402	beshort		> -1		Minix filesystem, V2, 14 char names
1791c30bd091SSascha Wildner#>0x1e	string		minix		\b, bootable
1792c30bd091SSascha Wildner#0x410	beshort		0x2468
1793c30bd091SSascha Wildner#>0x402	beshort		< 100
1794c30bd091SSascha Wildner#>0x402	beshort		> -1		Minix filesystem, V2 (big endian)
1795c30bd091SSascha Wildner#>0x1e	string		minix		\b, bootable
1796c30bd091SSascha Wildner#0x410	leshort		0x2478
1797c30bd091SSascha Wildner#>0x402	beshort		< 100
1798c30bd091SSascha Wildner#>0x402	beshort		> -1		Minix filesystem, V2, 30 char names
1799c30bd091SSascha Wildner#>0x1e	string		minix		\b, bootable
1800c30bd091SSascha Wildner#0x410	leshort		0x2478
1801c30bd091SSascha Wildner#>0x402	beshort		< 100
1802c30bd091SSascha Wildner#>0x402	beshort		> -1		Minix filesystem, V2, 30 char names
1803c30bd091SSascha Wildner#>0x1e	string		minix		\b, bootable
1804c30bd091SSascha Wildner#0x410	beshort		0x2478
1805c30bd091SSascha Wildner#>0x402	beshort		!0		Minix filesystem, V2, 30 char names (big endian)
1806c30bd091SSascha Wildner#>0x1e	string		minix		\b, bootable
1807c30bd091SSascha Wildner# Weak Magic! this is MD
1808c30bd091SSascha Wildner#0x418	leshort		0x4d5a
1809c30bd091SSascha Wildner#>0x402	beshort		<100
1810c30bd091SSascha Wildner#>>0x402	beshort		> -1		Minix filesystem, V3, 60 char names
1811e8af9738SPeter Avalos
1812327e51cbSPeter Avalos# SGI disk labels - Nathan Scott <nathans@debian.org>
1813327e51cbSPeter Avalos0	belong		0x0BE5A941	SGI disk label (volume header)
1814327e51cbSPeter Avalos
1815327e51cbSPeter Avalos# SGI XFS filesystem - Nathan Scott <nathans@debian.org>
1816327e51cbSPeter Avalos0	belong		0x58465342	SGI XFS filesystem data
1817327e51cbSPeter Avalos>0x4	belong		x		(blksz %d,
1818327e51cbSPeter Avalos>0x68	beshort		x		inosz %d,
1819327e51cbSPeter Avalos>0x64	beshort		^0x2004		v1 dirs)
1820327e51cbSPeter Avalos>0x64	beshort		&0x2004		v2 dirs)
1821327e51cbSPeter Avalos
1822327e51cbSPeter Avalos############################################################################
1823327e51cbSPeter Avalos# Minix-ST kernel floppy
1824327e51cbSPeter Avalos0x800	belong		0x46fc2700	Atari-ST Minix kernel image
18256fca56fbSSascha Wildner# https://en.wikipedia.org/wiki/BIOS_parameter_block
1826e8af9738SPeter Avalos# floppies with valid BPB and any instruction at beginning
1827e8af9738SPeter Avalos>19	string		\240\005\371\005\0\011\0\2\0	\b, 720k floppy
1828e8af9738SPeter Avalos>19	string		\320\002\370\005\0\011\0\1\0	\b, 360k floppy
1829327e51cbSPeter Avalos
1830327e51cbSPeter Avalos############################################################################
1831327e51cbSPeter Avalos# Hmmm, is this a better way of detecting _standard_ floppy images ?
1832e8af9738SPeter Avalos19	string		\320\002\360\003\0\011\0\1\0	DOS floppy 360k
1833e8af9738SPeter Avalos>0x1FE	leshort		0xAA55		\b, DOS/MBR hard disk boot sector
1834e8af9738SPeter Avalos19	string		\240\005\371\003\0\011\0\2\0	DOS floppy 720k
1835e8af9738SPeter Avalos>0x1FE	leshort		0xAA55		\b, DOS/MBR hard disk boot sector
1836327e51cbSPeter Avalos19	string		\100\013\360\011\0\022\0\2\0	DOS floppy 1440k
1837e8af9738SPeter Avalos>0x1FE	leshort		0xAA55		\b, DOS/MBR hard disk boot sector
1838327e51cbSPeter Avalos
1839e8af9738SPeter Avalos19	string		\240\005\371\005\0\011\0\2\0	DOS floppy 720k, IBM
1840e8af9738SPeter Avalos>0x1FE	leshort		0xAA55		\b, DOS/MBR hard disk boot sector
1841e8af9738SPeter Avalos19	string		\100\013\371\005\0\011\0\2\0	DOS floppy 1440k, mkdosfs
1842e8af9738SPeter Avalos>0x1FE	leshort		0xAA55		\b, DOS/MBR hard disk boot sector
1843327e51cbSPeter Avalos
1844e8af9738SPeter Avalos19	string		\320\002\370\005\0\011\0\1\0	Atari-ST floppy 360k
1845e8af9738SPeter Avalos19	string		\240\005\371\005\0\011\0\2\0	Atari-ST floppy 720k
1846e8af9738SPeter Avalos#			|       |   |     |     |
1847e8af9738SPeter Avalos#			|       |   |     |     heads
1848e8af9738SPeter Avalos#			|       |   |     sectors/track
1849e8af9738SPeter Avalos#			|       |   sectors/FAT
1850e8af9738SPeter Avalos#			|       media descriptor
1851e8af9738SPeter Avalos#		BPB:	sectors
1852327e51cbSPeter Avalos
1853327e51cbSPeter Avalos#  Valid media descriptor bytes for MS-DOS:
1854327e51cbSPeter Avalos#
1855327e51cbSPeter Avalos#     Byte   Capacity   Media Size and Type
1856327e51cbSPeter Avalos#     -------------------------------------------------
1857327e51cbSPeter Avalos#
1858327e51cbSPeter Avalos#     F0     2.88 MB    3.5-inch, 2-sided, 36-sector
1859327e51cbSPeter Avalos#     F0     1.44 MB    3.5-inch, 2-sided, 18-sector
1860327e51cbSPeter Avalos#     F9     720K       3.5-inch, 2-sided, 9-sector
1861327e51cbSPeter Avalos#     F9     1.2 MB     5.25-inch, 2-sided, 15-sector
1862327e51cbSPeter Avalos#     FD     360K       5.25-inch, 2-sided, 9-sector
1863327e51cbSPeter Avalos#     FF     320K       5.25-inch, 2-sided, 8-sector
1864327e51cbSPeter Avalos#     FC     180K       5.25-inch, 1-sided, 9-sector
1865327e51cbSPeter Avalos#     FE     160K       5.25-inch, 1-sided, 8-sector
1866327e51cbSPeter Avalos#     FE     250K       8-inch, 1-sided, single-density
1867327e51cbSPeter Avalos#     FD     500K       8-inch, 2-sided, single-density
1868327e51cbSPeter Avalos#     FE     1.2 MB     8-inch, 2-sided, double-density
1869327e51cbSPeter Avalos#     F8     -----      Fixed disk
1870327e51cbSPeter Avalos#
1871327e51cbSPeter Avalos#     FC     xxxK       Apricot 70x1x9 boot disk.
1872327e51cbSPeter Avalos#
1873327e51cbSPeter Avalos# Originally a bitmap:
1874327e51cbSPeter Avalos#  xxxxxxx0	Not two sided
1875327e51cbSPeter Avalos#  xxxxxxx1	Double sided
1876327e51cbSPeter Avalos#  xxxxxx0x	Not 8 SPT
1877327e51cbSPeter Avalos#  xxxxxx1x	8 SPT
1878327e51cbSPeter Avalos#  xxxxx0xx	Not Removable drive
1879327e51cbSPeter Avalos#  xxxxx1xx	Removable drive
1880327e51cbSPeter Avalos#  11111xxx	Must be one.
1881327e51cbSPeter Avalos#
1882327e51cbSPeter Avalos# But now it's rather random:
1883327e51cbSPeter Avalos#  111111xx	Low density disk
1884327e51cbSPeter Avalos#        00	SS, Not 8 SPT
1885327e51cbSPeter Avalos#        01	DS, Not 8 SPT
1886327e51cbSPeter Avalos#        10	SS, 8 SPT
1887327e51cbSPeter Avalos#        11	DS, 8 SPT
1888327e51cbSPeter Avalos#
1889e8af9738SPeter Avalos#  11111001	Double density 3 1/2 floppy disk, high density 5 1/4
1890e8af9738SPeter Avalos#  11110000	High density 3 1/2 floppy disk
1891327e51cbSPeter Avalos#  11111000	Hard disk any format
1892327e51cbSPeter Avalos#
1893327e51cbSPeter Avalos
1894e8af9738SPeter Avalos# all FAT12 (strength=70) floppies with sectorsize 512 added by Joerg Jenderek at Jun 2013
18956fca56fbSSascha Wildner# https://en.wikipedia.org/wiki/File_Allocation_Table#Exceptions
1896e8af9738SPeter Avalos# Too Weak.
1897e8af9738SPeter Avalos#512		ubelong&0xE0ffff00	0xE0ffff00
1898e8af9738SPeter Avalos# without valid Media descriptor in place of BPB, cases with are done at other places
1899e8af9738SPeter Avalos#>21		ubyte			<0xE5			floppy with old FAT filesystem
1900e8af9738SPeter Avalos# but valid Media descriptor at begin of FAT
1901e8af9738SPeter Avalos#>>512		ubyte			=0xed			720k
1902e8af9738SPeter Avalos#>>512		ubyte			=0xf0			1440k
1903e8af9738SPeter Avalos#>>512		ubyte			=0xf8			720k
1904e8af9738SPeter Avalos#>>512		ubyte			=0xf9			1220k
1905e8af9738SPeter Avalos#>>512		ubyte			=0xfa			320k
1906e8af9738SPeter Avalos#>>512		ubyte			=0xfb			640k
1907e8af9738SPeter Avalos#>>512		ubyte			=0xfc			180k
19086fca56fbSSascha Wildner# look like an old DOS directory entry
1909e8af9738SPeter Avalos#>>>0xA0E	ubequad			0
1910e8af9738SPeter Avalos#>>>>0xA00	ubequad			!0
1911e8af9738SPeter Avalos#!:mime application/x-ima
1912e8af9738SPeter Avalos#>>512		ubyte			=0xfd
1913e8af9738SPeter Avalos# look for 2nd FAT at different location to distinguish between 360k and 500k
1914e8af9738SPeter Avalos#>>>0x600	ubelong&0xE0ffff00	0xE0ffff00		360k
1915e8af9738SPeter Avalos#>>>0x500	ubelong&0xE0ffff00	0xE0ffff00		500k
1916e8af9738SPeter Avalos#>>>0xA0E	ubequad			0
1917e8af9738SPeter Avalos#!:mime application/x-ima
1918e8af9738SPeter Avalos#>>512		ubyte			=0xfe
1919e8af9738SPeter Avalos#>>>0x400	ubelong&0xE0ffff00	0xE0ffff00		160k
1920e8af9738SPeter Avalos#>>>>0x60E	ubequad			0
1921e8af9738SPeter Avalos#>>>>>0x600	ubequad			!0
1922e8af9738SPeter Avalos#!:mime application/x-ima
1923e8af9738SPeter Avalos#>>>0xC00	ubelong&0xE0ffff00	0xE0ffff00		1200k
1924e8af9738SPeter Avalos#>>512		ubyte			=0xff			320k
1925e8af9738SPeter Avalos#>>>0x60E	ubequad			0
1926e8af9738SPeter Avalos#>>>>0x600	ubequad			!0
1927e8af9738SPeter Avalos#!:mime application/x-ima
1928e8af9738SPeter Avalos#>>512		ubyte			x			\b, Media descriptor 0x%x
1929e8af9738SPeter Avalos# without x86 jump instruction
1930e8af9738SPeter Avalos#>>0		ulelong&0x804000E9	!0x000000E9
1931e8af9738SPeter Avalos# assembler instructions: CLI;MOV SP,1E7;MOV AX;07c0;MOV
1932e8af9738SPeter Avalos#>>>0	ubequad				0xfabce701b8c0078e	\b, MS-DOS 1.12 bootloader
1933e8af9738SPeter Avalos# IOSYS.COM+MSDOS.COM
1934e8af9738SPeter Avalos#>>>>0xc4	use			2xDOS-filename
1935e8af9738SPeter Avalos#>>0		ulelong&0x804000E9	=0x000000E9
1936e8af9738SPeter Avalos# only x86 short jump instruction found
1937e8af9738SPeter Avalos#>>>0		ubyte			=0xEB
1938e8af9738SPeter Avalos#>>>>1		ubyte			x			\b, code offset 0x%x+2
19396fca56fbSSascha Wildner# https://thestarman.pcministry.com/DOS/ibm100/Boot.htm
1940e8af9738SPeter Avalos# assembler instructions: CLI;MOV AX,CS;MOV DS,AX;MOV DX,0
1941e8af9738SPeter Avalos#>>>>(1.b+2)	ubequad			0xfa8cc88ed8ba0000	\b, PC-DOS 1.0 bootloader
1942e8af9738SPeter Avalos# ibmbio.com+ibmdos.com
1943e8af9738SPeter Avalos#>>>>>0x176	use			DOS-filename
1944e8af9738SPeter Avalos#>>>>>0x181	ubyte			x			\b+
1945e8af9738SPeter Avalos#>>>>>0x182	use			DOS-filename
19466fca56fbSSascha Wildner# https://thestarman.pcministry.com/DOS/ibm110/Boot.htm
1947e8af9738SPeter Avalos# assembler instructions: CLI;MOV AX,CS;MOV DS,AX;XOR DX,DX;MOV
1948e8af9738SPeter Avalos#>>>>(1.b+2)	ubequad			0xfa8cc88ed833d28e	\b, PC-DOS 1.1 bootloader
1949e8af9738SPeter Avalos# ibmbio.com+ibmdos.com
1950e8af9738SPeter Avalos#>>>>>0x18b	use			DOS-filename
1951e8af9738SPeter Avalos#>>>>>0x196	ubyte			x			\b+
1952e8af9738SPeter Avalos#>>>>>0x197	use			DOS-filename
19536fca56fbSSascha Wildner# https://en.wikipedia.org/wiki/Zenith_Data_Systems
1954e8af9738SPeter Avalos# assembler instructions: MOV BX,07c0;MOV SS,BX;MOV SP,01c6
1955e8af9738SPeter Avalos#>>>>(1.b+2)	ubequad			0xbbc0078ed3bcc601	\b, Zenith Data Systems MS-DOS 1.25 bootloader
1956e8af9738SPeter Avalos# IO.SYS+MSDOS.SYS
1957e8af9738SPeter Avalos#>>>>>0x20	use			2xDOS-filename
19586fca56fbSSascha Wildner# https://en.wikipedia.org/wiki/Corona_Data_Systems
1959e8af9738SPeter Avalos# assembler instructions: MOV AX,CS;MOV DS,AX;CLI;MOV SS,AX;
1960e8af9738SPeter Avalos#>>>>(1.b+2)	ubequad			0x8cc88ed8fa8ed0bc	\b, MS-DOS 1.25 bootloader
1961e8af9738SPeter Avalos# IO.SYS+MSDOS.SYS
1962e8af9738SPeter Avalos#>>>>>0x69	use			2xDOS-filename
1963e8af9738SPeter Avalos# assembler instructions: CLI;PUSH CS;POP SS;MOV SP,7c00;
1964e8af9738SPeter Avalos#>>>>(1.b+2)	ubequad			0xfa0e17bc007cb860	\b, MS-DOS 2.11 bootloader
1965e8af9738SPeter Avalos# defect IO.SYS+MSDOS.SYS ?
1966e8af9738SPeter Avalos#>>>>>0x162	use			2xDOS-filename
1967e8af9738SPeter Avalos
196882c5fa3eSPeter Avalos0	name				cdrom
1969327e51cbSPeter Avalos>38913	string   !NSR0      ISO 9660 CD-ROM filesystem data
197082c5fa3eSPeter Avalos!:mime	application/x-iso9660-image
19716fca56fbSSascha Wildner!:ext	iso/iso9660
1972327e51cbSPeter Avalos>38913	string    NSR0      UDF filesystem data
197382c5fa3eSPeter Avalos!:mime	application/x-iso9660-image
19746fca56fbSSascha Wildner!:ext	iso/udf
1975327e51cbSPeter Avalos>>38917	string    1         (version 1.0)
1976327e51cbSPeter Avalos>>38917	string    2         (version 1.5)
1977327e51cbSPeter Avalos>>38917	string    3         (version 2.0)
1978327e51cbSPeter Avalos>>38917	byte     >0x33      (unknown version, ID 0x%X)
1979327e51cbSPeter Avalos>>38917	byte     <0x31      (unknown version, ID 0x%X)
1980c30bd091SSascha Wildner# The next line is not necessary because the MBR staff is done looking for boot signature
1981c30bd091SSascha Wildner>0x1FE	leshort  0xAA55     (DOS/MBR boot sector)
1982327e51cbSPeter Avalos# "application id" which appears to be used as a volume label
1983e8af9738SPeter Avalos>32808	string/T  >\0       '%s'
1984327e51cbSPeter Avalos>34816	string    \000CD001\001EL\ TORITO\ SPECIFICATION    (bootable)
1985327e51cbSPeter Avalos37633	string    CD001     ISO 9660 CD-ROM filesystem data (raw 2352 byte sectors)
198679343712SPeter Avalos!:mime	application/x-iso9660-image
1987e8af9738SPeter Avalos32777	string    CDROM     High Sierra CD-ROM filesystem data
1988327e51cbSPeter Avalos
198982c5fa3eSPeter Avalos# CDROM Filesystems
199082c5fa3eSPeter Avalos# https://en.wikipedia.org/wiki/ISO_9660
199182c5fa3eSPeter Avalos# Modified for UDF by gerardo.cacciari@gmail.com
199282c5fa3eSPeter Avalos32769	string    CD001
199382c5fa3eSPeter Avalos# mime line at that position does not work
199482c5fa3eSPeter 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)
1995c30bd091SSascha Wildner#!:strength -11
199682c5fa3eSPeter Avalos# to display CD-ROM (114=81+33) before MBR (113=40+72+1), partition-table (71=50+21) and Apple Driver Map (51)
1997*c990e5baSDaniel Fojt!:strength +35
199882c5fa3eSPeter Avalos>0	use	cdrom
199982c5fa3eSPeter Avalos
20006fca56fbSSascha Wildner# URL: https://en.wikipedia.org/wiki/NRG_(file_format)
20016fca56fbSSascha Wildner# Reference: https://dl.opendesktop.org/api/files/download/id/1460731811/
20026fca56fbSSascha Wildner#	11577-mount-iso-0.9.5.tar.bz2/mount-iso-0.9.5/install.sh
20036fca56fbSSascha Wildner# From: Joerg Jenderek
20046fca56fbSSascha Wildner# Note:	Only for nero disc with once (DAO) type after 300 KB header
20056fca56fbSSascha Wildner339969	string    CD001	Nero CD image at 0x4B000
20066fca56fbSSascha Wildner!:mime	application/x-nrg
20076fca56fbSSascha Wildner!:ext	nrg
20086fca56fbSSascha Wildner>307200	use cdrom
20096fca56fbSSascha Wildner
2010f72f8299SJan Lentfer# .cso files
20116fca56fbSSascha Wildner# Reference: https://pismotec.com/ciso/ciso.h
2012c30bd091SSascha Wildner# NOTE: There are two other formats with the same magic but
2013c30bd091SSascha Wildner# completely incompatible specifications:
2014c30bd091SSascha Wildner# - GameCube/Wii CISO: https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/DiscIO/CISOBlob.h
2015c30bd091SSascha Wildner# - PSP CISO: https://github.com/jamie/ciso/blob/master/ciso.h
2016c30bd091SSascha Wildner0    string    CISO
2017c30bd091SSascha Wildner# Other fields are used to determine what type of CISO this is:
2018c30bd091SSascha Wildner# - 0x04 == 0x00200000: GameCube/Wii CISO (block_size)
2019c30bd091SSascha Wildner# - 0x10 == 0x00000800: PSP CISO (ISO-9660 sector size)
20206fca56fbSSascha Wildner# - 0x10 == 0x00004000: For >2GB files using maxcso...
20216fca56fbSSascha Wildner# 			https://github.com/unknownbrackets/maxcso/issues/26
2022c30bd091SSascha Wildner# - None of the above: Compact ISO.
2023c30bd091SSascha Wildner>4	lelong	!0
2024c30bd091SSascha Wildner>>4	lelong	!0x200000
20256fca56fbSSascha Wildner>>>16	lelong	!0x800
20266fca56fbSSascha Wildner>>>>16	lelong	!0x4000		Compressed ISO CD image
2027f72f8299SJan Lentfer
2028327e51cbSPeter Avalos# cramfs filesystem - russell@coker.com.au
2029327e51cbSPeter Avalos0       lelong    0x28cd3d45      Linux Compressed ROM File System data, little endian
203082c5fa3eSPeter Avalos>4      lelong  x size %u
2031327e51cbSPeter Avalos>8      lelong  &1 version #2
2032327e51cbSPeter Avalos>8      lelong  &2 sorted_dirs
2033327e51cbSPeter Avalos>8      lelong  &4 hole_support
2034327e51cbSPeter Avalos>32     lelong  x CRC 0x%x,
203582c5fa3eSPeter Avalos>36     lelong  x edition %u,
203682c5fa3eSPeter Avalos>40     lelong  x %u blocks,
203782c5fa3eSPeter Avalos>44     lelong  x %u files
2038327e51cbSPeter Avalos
2039327e51cbSPeter Avalos0       belong    0x28cd3d45      Linux Compressed ROM File System data, big endian
204082c5fa3eSPeter Avalos>4      belong  x size %u
2041327e51cbSPeter Avalos>8      belong  &1 version #2
2042327e51cbSPeter Avalos>8      belong  &2 sorted_dirs
2043327e51cbSPeter Avalos>8      belong  &4 hole_support
2044327e51cbSPeter Avalos>32     belong  x CRC 0x%x,
204582c5fa3eSPeter Avalos>36     belong  x edition %u,
204682c5fa3eSPeter Avalos>40     belong  x %u blocks,
204782c5fa3eSPeter Avalos>44     belong  x %u files
2048327e51cbSPeter Avalos
2049327e51cbSPeter Avalos# reiserfs - russell@coker.com.au
2050327e51cbSPeter Avalos0x10034		string	ReIsErFs	ReiserFS V3.5
2051327e51cbSPeter Avalos0x10034		string	ReIsEr2Fs	ReiserFS V3.6
2052e4d4ce0cSPeter Avalos0x10034		string	ReIsEr3Fs	ReiserFS V3.6.19
2053327e51cbSPeter Avalos>0x1002c 	leshort	x		block size %d
2054327e51cbSPeter Avalos>0x10032	leshort	&2		(mounted or unclean)
2055327e51cbSPeter Avalos>0x10000	lelong	x		num blocks %d
2056327e51cbSPeter Avalos>0x10040	lelong	1		tea hash
2057327e51cbSPeter Avalos>0x10040	lelong	2		yura hash
2058327e51cbSPeter Avalos>0x10040	lelong	3		r5 hash
2059327e51cbSPeter Avalos
2060327e51cbSPeter Avalos# EST flat binary format (which isn't, but anyway)
2061327e51cbSPeter Avalos# From: Mark Brown <broonie@sirena.org.uk>
2062327e51cbSPeter Avalos0	string	ESTFBINR	EST flat binary
2063327e51cbSPeter Avalos
2064327e51cbSPeter Avalos# Aculab VoIP firmware
2065327e51cbSPeter Avalos# From: Mark Brown <broonie@sirena.org.uk>
2066327e51cbSPeter Avalos0	string	VoIP\ Startup\ and	Aculab VoIP firmware
2067327e51cbSPeter Avalos>35	string	x	format %s
2068327e51cbSPeter Avalos
2069f72f8299SJan Lentfer# From: Mark Brown <broonie@sirena.org.uk> [old]
2070f72f8299SJan Lentfer# From: Behan Webster <behanw@websterwood.com>
2071f72f8299SJan Lentfer0	belong	0x27051956	u-boot legacy uImage,
2072f72f8299SJan Lentfer>32	string	x		%s,
2073f72f8299SJan Lentfer>28	byte	0		Invalid os/
2074f72f8299SJan Lentfer>28	byte	1		OpenBSD/
2075f72f8299SJan Lentfer>28	byte	2		NetBSD/
2076f72f8299SJan Lentfer>28	byte	3		FreeBSD/
2077f72f8299SJan Lentfer>28	byte	4		4.4BSD/
2078f72f8299SJan Lentfer>28	byte	5		Linux/
2079f72f8299SJan Lentfer>28	byte	6		SVR4/
2080f72f8299SJan Lentfer>28	byte	7		Esix/
2081f72f8299SJan Lentfer>28	byte	8		Solaris/
2082f72f8299SJan Lentfer>28	byte	9		Irix/
2083f72f8299SJan Lentfer>28	byte	10		SCO/
2084f72f8299SJan Lentfer>28	byte	11		Dell/
2085f72f8299SJan Lentfer>28	byte	12		NCR/
2086f72f8299SJan Lentfer>28	byte	13		LynxOS/
2087f72f8299SJan Lentfer>28	byte	14		VxWorks/
2088f72f8299SJan Lentfer>28	byte	15		pSOS/
2089f72f8299SJan Lentfer>28	byte	16		QNX/
2090f72f8299SJan Lentfer>28	byte	17		Firmware/
2091f72f8299SJan Lentfer>28	byte	18		RTEMS/
2092f72f8299SJan Lentfer>28	byte	19		ARTOS/
2093f72f8299SJan Lentfer>28	byte	20		Unity OS/
2094f72f8299SJan Lentfer>28	byte	21		INTEGRITY/
2095f72f8299SJan Lentfer>29	byte	0		\bInvalid CPU,
2096f72f8299SJan Lentfer>29	byte	1		\bAlpha,
2097f72f8299SJan Lentfer>29	byte	2		\bARM,
2098f72f8299SJan Lentfer>29	byte	3		\bIntel x86,
2099f72f8299SJan Lentfer>29	byte	4		\bIA64,
2100f72f8299SJan Lentfer>29	byte	5		\bMIPS,
2101f72f8299SJan Lentfer>29	byte	6		\bMIPS 64-bit,
2102f72f8299SJan Lentfer>29	byte	7		\bPowerPC,
2103f72f8299SJan Lentfer>29	byte	8		\bIBM S390,
2104f72f8299SJan Lentfer>29	byte	9		\bSuperH,
2105f72f8299SJan Lentfer>29	byte	10		\bSparc,
2106f72f8299SJan Lentfer>29	byte	11		\bSparc 64-bit,
2107f72f8299SJan Lentfer>29	byte	12		\bM68K,
2108f72f8299SJan Lentfer>29	byte	13		\bNios-32,
2109f72f8299SJan Lentfer>29	byte	14		\bMicroBlaze,
2110f72f8299SJan Lentfer>29	byte	15		\bNios-II,
2111f72f8299SJan Lentfer>29	byte	16		\bBlackfin,
2112f72f8299SJan Lentfer>29	byte	17		\bAVR32,
2113f72f8299SJan Lentfer>29	byte	18		\bSTMicroelectronics ST200,
2114c30bd091SSascha Wildner>29	byte	19		\bSandbox architecture,
2115c30bd091SSascha Wildner>29	byte	20		\bANDES Technology NDS32,
2116c30bd091SSascha Wildner>29	byte	21		\bOpenRISC 1000,
2117c30bd091SSascha Wildner>29	byte	22		\bARM 64-bit,
2118c30bd091SSascha Wildner>29	byte	23		\bDesignWare ARC,
2119c30bd091SSascha Wildner>29	byte	24		\bx86_64,
2120c30bd091SSascha Wildner>29	byte	25		\bXtensa,
21216fca56fbSSascha Wildner>29	byte	26		\bRISC-V,
2122f72f8299SJan Lentfer>30	byte	0		Invalid Image
2123f72f8299SJan Lentfer>30	byte	1		Standalone Program
2124f72f8299SJan Lentfer>30	byte	2		OS Kernel Image
2125f72f8299SJan Lentfer>30	byte	3		RAMDisk Image
2126f72f8299SJan Lentfer>30	byte	4		Multi-File Image
2127f72f8299SJan Lentfer>30	byte	5		Firmware Image
2128f72f8299SJan Lentfer>30	byte	6		Script File
2129f72f8299SJan Lentfer>30	byte	7		Filesystem Image (any type)
2130f72f8299SJan Lentfer>30	byte	8		Binary Flat Device Tree BLOB
2131f72f8299SJan Lentfer>31	byte	0		(Not compressed),
2132f72f8299SJan Lentfer>31	byte	1		(gzip),
2133f72f8299SJan Lentfer>31	byte	2		(bzip2),
2134f72f8299SJan Lentfer>31	byte	3		(lzma),
2135f72f8299SJan Lentfer>12	belong	x		%d bytes,
2136f72f8299SJan Lentfer>8	bedate	x		%s,
2137f72f8299SJan Lentfer>16	belong	x		Load Address: 0x%08X,
2138f72f8299SJan Lentfer>20	belong	x		Entry Point: 0x%08X,
2139f72f8299SJan Lentfer>4	belong	x		Header CRC: 0x%08X,
2140f72f8299SJan Lentfer>24	belong	x		Data CRC: 0x%08X
2141327e51cbSPeter Avalos
2142327e51cbSPeter Avalos# JFFS2 file system
2143327e51cbSPeter Avalos0	leshort	0x1984		Linux old jffs2 filesystem data little endian
21446fca56fbSSascha Wildner0	beshort	0x1984		Linux old jffs2 filesystem data big endian
2145327e51cbSPeter Avalos0	leshort	0x1985		Linux jffs2 filesystem data little endian
21466fca56fbSSascha Wildner0	beshort	0x1985		Linux jffs2 filesystem data big endian
2147327e51cbSPeter Avalos
2148327e51cbSPeter Avalos# Squashfs
21496fca56fbSSascha Wildner0	name	squashfs
2150327e51cbSPeter Avalos>28	beshort	x	version %d.
2151327e51cbSPeter Avalos>30	beshort	x	\b%d,
21526fca56fbSSascha Wildner>20	beshort 0	uncompressed,
21536fca56fbSSascha Wildner>20	beshort 1	zlib
21546fca56fbSSascha Wildner>20	beshort 2	lzma
21556fca56fbSSascha Wildner>20	beshort 3	lzo
21566fca56fbSSascha Wildner>20	beshort 4	xz
21576fca56fbSSascha Wildner>20	beshort 5	lz4
21586fca56fbSSascha Wildner>20	beshort 6	zstd
21596fca56fbSSascha Wildner>20	beshort >0	compressed,
2160327e51cbSPeter Avalos>28	beshort <3
2161327e51cbSPeter Avalos>>8	belong	x	%d bytes,
2162327e51cbSPeter Avalos>28	beshort >2
2163e4d4ce0cSPeter Avalos>>28	beshort <4
2164e4d4ce0cSPeter Avalos>>>63	bequad x	%lld bytes,
2165e4d4ce0cSPeter Avalos>>28	beshort >3
2166e4d4ce0cSPeter Avalos>>>40	bequad x	%lld bytes,
2167327e51cbSPeter Avalos#>>67	belong	x	%d bytes,
2168327e51cbSPeter Avalos>4	belong	x	%d inodes,
2169327e51cbSPeter Avalos>28	beshort <2
2170327e51cbSPeter Avalos>>32	beshort	x	blocksize: %d bytes,
2171327e51cbSPeter Avalos>28	beshort >1
2172e4d4ce0cSPeter Avalos>>28	beshort <4
2173e4d4ce0cSPeter Avalos>>>51	belong	x	blocksize: %d bytes,
2174e4d4ce0cSPeter Avalos>>28	beshort >3
2175e4d4ce0cSPeter Avalos>>>12	belong	x	blocksize: %d bytes,
2176e4d4ce0cSPeter Avalos>28	beshort <4
2177e4d4ce0cSPeter Avalos>>39	bedate	x	created: %s
2178e4d4ce0cSPeter Avalos>28	beshort >3
2179e4d4ce0cSPeter Avalos>>8	bedate	x	created: %s
21806fca56fbSSascha Wildner
21816fca56fbSSascha Wildner0	string	sqsh	Squashfs filesystem, big endian,
21826fca56fbSSascha Wildner>0	use	squashfs
21836fca56fbSSascha Wildner
2184327e51cbSPeter Avalos0	string	hsqs	Squashfs filesystem, little endian,
2185*c990e5baSDaniel Fojt>0	use	\^squashfs
2186327e51cbSPeter Avalos
2187327e51cbSPeter Avalos# AFS Dump Magic
2188327e51cbSPeter Avalos# From: Ty Sarna <tsarna@sarna.org>
2189327e51cbSPeter Avalos0       string                  \x01\xb3\xa1\x13\x22    AFS Dump
2190327e51cbSPeter Avalos>&0     belong                  x                       (v%d)
2191327e51cbSPeter Avalos>>&0    byte                    0x76
2192327e51cbSPeter Avalos>>>&0   belong                  x                       Vol %d,
2193327e51cbSPeter Avalos>>>>&0  byte                    0x6e
2194327e51cbSPeter Avalos>>>>>&0 string                  x                       %s
2195327e51cbSPeter Avalos>>>>>>&1        byte            0x74
2196327e51cbSPeter Avalos>>>>>>>&0       beshort         2
2197327e51cbSPeter Avalos>>>>>>>>&4      bedate          x                       on: %s
2198327e51cbSPeter Avalos>>>>>>>>&0      bedate          =0                      full dump
2199327e51cbSPeter Avalos>>>>>>>>&0      bedate          !0                      incremental since: %s
2200327e51cbSPeter Avalos
2201327e51cbSPeter Avalos#----------------------------------------------------------
2202f72f8299SJan Lentfer#delta ISO    Daniel Novotny (dnovotny@redhat.com)
2203f72f8299SJan Lentfer0	string  DISO	Delta ISO data
220482c5fa3eSPeter Avalos!:strength +50
2205f72f8299SJan Lentfer>4	belong  x	version %d
2206f72f8299SJan Lentfer
2207327e51cbSPeter Avalos# VMS backup savesets - gerardo.cacciari@gmail.com
2208327e51cbSPeter Avalos#
2209327e51cbSPeter Avalos4            string  \x01\x00\x01\x00\x01\x00
2210327e51cbSPeter Avalos>(0.s+16)    string  \x01\x01
2211327e51cbSPeter Avalos>>&(&0.b+8)  byte    0x42       OpenVMS backup saveset data
2212327e51cbSPeter Avalos>>>40        lelong  x          (block size %d,
2213327e51cbSPeter Avalos>>>49        string  >\0        original name '%s',
2214327e51cbSPeter Avalos>>>2         short   1024       VAX generated)
2215327e51cbSPeter Avalos>>>2         short   2048       AXP generated)
2216327e51cbSPeter Avalos>>>2         short   4096       I64 generated)
2217327e51cbSPeter Avalos
221879343712SPeter Avalos# Summary: Oracle Clustered Filesystem
221979343712SPeter Avalos# Created by: Aaron Botsis <redhat@digitalmafia.org>
222079343712SPeter Avalos8	string		OracleCFS	Oracle Clustered Filesystem,
222179343712SPeter Avalos>4	long		x		rev %d
222279343712SPeter Avalos>0	long		x		\b.%d,
222379343712SPeter Avalos>560	string		x		label: %.64s,
222479343712SPeter Avalos>136	string		x		mountpoint: %.128s
222579343712SPeter Avalos
222679343712SPeter Avalos# Summary: Oracle ASM tagged volume
222779343712SPeter Avalos# Created by: Aaron Botsis <redhat@digitalmafia.org>
222879343712SPeter Avalos32	string		ORCLDISK	Oracle ASM Volume,
222979343712SPeter Avalos>40	string		x		Disk Name: %0.12s
223079343712SPeter Avalos32	string		ORCLCLRD	Oracle ASM Volume (cleared),
223179343712SPeter Avalos>40	string		x		Disk Name: %0.12s
223279343712SPeter Avalos
223379343712SPeter Avalos# Oracle Clustered Filesystem - Aaron Botsis <redhat@digitalmafia.org>
223479343712SPeter Avalos8	string		OracleCFS	Oracle Clustered Filesystem,
223579343712SPeter Avalos>4	long		x		rev %d
223679343712SPeter Avalos>0	long		x		\b.%d,
223779343712SPeter Avalos>560	string		x		label: %.64s,
223879343712SPeter Avalos>136	string		x		mountpoint: %.128s
223979343712SPeter Avalos
224079343712SPeter Avalos# Oracle ASM tagged volume - Aaron Botsis <redhat@digitalmafia.org>
224179343712SPeter Avalos32	string		ORCLDISK	Oracle ASM Volume,
224279343712SPeter Avalos>40	string		x		Disk Name: %0.12s
224379343712SPeter Avalos32	string		ORCLCLRD	Oracle ASM Volume (cleared),
224479343712SPeter Avalos>40	string		x		Disk Name: %0.12s
224579343712SPeter Avalos
2246327e51cbSPeter Avalos# Compaq/HP RILOE floppy image
2247327e51cbSPeter Avalos# From: Dirk Jagdmann <doj@cubic.org>
2248327e51cbSPeter Avalos0	string	CPQRFBLO	Compaq/HP RILOE floppy image
2249327e51cbSPeter Avalos
2250327e51cbSPeter Avalos#------------------------------------------------------------------------------
2251e4d4ce0cSPeter Avalos# Files-11 On-Disk Structure (File system for various RSX-11 and VMS flavours).
2252e4d4ce0cSPeter Avalos# These bits come from LBN 1 (home block) of ODS-1, ODS-2 and ODS-5 volumes,
2253e4d4ce0cSPeter Avalos# which is mapped to VBN 2 of [000000]INDEXF.SYS;1 - gerardo.cacciari@gmail.com
2254327e51cbSPeter Avalos#
2255e4d4ce0cSPeter Avalos1008    string          DECFILE11       Files-11 On-Disk Structure
2256e4d4ce0cSPeter Avalos>525    byte            x               (ODS-%d);
2257e4d4ce0cSPeter Avalos>1017   string          A               RSX-11, VAX/VMS or OpenVMS VAX file system;
2258e4d4ce0cSPeter Avalos>1017   string          B
2259e4d4ce0cSPeter Avalos>>525   byte            2               VAX/VMS or OpenVMS file system;
2260e4d4ce0cSPeter Avalos>>525   byte            5               OpenVMS Alpha or Itanium file system;
2261327e51cbSPeter Avalos>984    string          x               volume label is '%-12.12s'
2262327e51cbSPeter Avalos
2263327e51cbSPeter Avalos# From: Thomas Klausner <wiz@NetBSD.org>
22646fca56fbSSascha Wildner# https://filext.com/file-extension/DAA
2265327e51cbSPeter Avalos# describes the daa file format. The magic would be:
2266327e51cbSPeter Avalos0	string		DAA\x0\x0\x0\x0\x0	PowerISO Direct-Access-Archive
226779343712SPeter Avalos
226879343712SPeter Avalos# From Albert Cahalan <acahalan@gmail.com>
226979343712SPeter Avalos# really le32 operation,destination,payloadsize (but quite predictable)
227079343712SPeter Avalos# 01 00 00 00 00 00 00 c0 00 02 00 00
227179343712SPeter Avalos0	string		\1\0\0\0\0\0\0\300\0\2\0\0	Marvell Libertas firmware
227279343712SPeter Avalos
227379343712SPeter Avalos# From Eric Sandeen
227479343712SPeter Avalos# GFS2
2275e4d4ce0cSPeter Avalos0x10000         belong          0x01161970
2276e4d4ce0cSPeter Avalos>0x10018        belong          0x0000051d      GFS1 Filesystem
2277e4d4ce0cSPeter Avalos>>0x10024        belong          x               (blocksize %d,
2278e4d4ce0cSPeter Avalos>>0x10060        string          >\0             lockproto %s)
2279e4d4ce0cSPeter Avalos>0x10018        belong          0x00000709      GFS2 Filesystem
2280e4d4ce0cSPeter Avalos>>0x10024        belong          x               (blocksize %d,
2281e4d4ce0cSPeter Avalos>>0x10060        string          >\0             lockproto %s)
228279343712SPeter Avalos
2283c30bd091SSascha Wildner# Russell Coker <russell@coker.com.au>
228479343712SPeter Avalos0x10040		string	_BHRfS_M	BTRFS Filesystem
2285c30bd091SSascha Wildner>0x1012b	string	>\0		label "%s",
228679343712SPeter Avalos>0x10090	lelong	x		sectorsize %d,
228779343712SPeter Avalos>0x10094	lelong	x		nodesize %d,
2288c30bd091SSascha Wildner>0x10098	lelong	x		leafsize %d,
2289c30bd091SSascha Wildner>0x10020	belong	x		UUID=%08x-
2290c30bd091SSascha Wildner>0x10024	beshort	x		\b%04x-
2291c30bd091SSascha Wildner>0x10026	beshort	x		\b%04x-
2292c30bd091SSascha Wildner>0x10028	beshort	x		\b%04x-
2293c30bd091SSascha Wildner>0x1002a	beshort	x		\b%04x
2294c30bd091SSascha Wildner>0x1002c	belong	x		\b%08x,
2295c30bd091SSascha Wildner>0x10078	lequad	x		%lld/
2296c30bd091SSascha Wildner>0x10070	lequad	x		\b%lld bytes used,
2297c30bd091SSascha Wildner>0x10088	lequad	x		%lld devices
229879343712SPeter Avalos
229979343712SPeter Avalos# dvdisaster's .ecc
230079343712SPeter Avalos# From: "Nelson A. de Oliveira" <naoliv@gmail.com>
230179343712SPeter Avalos0	string	*dvdisaster*	dvdisaster error correction file
2302f72f8299SJan Lentfer
2303f72f8299SJan Lentfer# xfs metadump image
2304f72f8299SJan Lentfer# mb_magic XFSM at 0; superblock magic XFSB at 1 << mb_blocklog
2305f72f8299SJan Lentfer# but can we do the << ?  For now it's always 512 (0x200) anyway.
2306f72f8299SJan Lentfer0	string XFSM
2307f72f8299SJan Lentfer>0x200	string XFSB	XFS filesystem metadump image
2308f72f8299SJan Lentfer
2309e4d4ce0cSPeter Avalos# Type:	CROM filesystem
2310e4d4ce0cSPeter Avalos# From:	Werner Fink <werner@suse.de>
2311e4d4ce0cSPeter Avalos0	string	CROMFS	CROMFS
2312e4d4ce0cSPeter Avalos>6	string	>\0	\b version %2.2s,
2313e4d4ce0cSPeter Avalos>8	ulequad	>0	\b block data at %lld,
2314e4d4ce0cSPeter Avalos>16	ulequad	>0	\b fblock table at %lld,
2315e4d4ce0cSPeter Avalos>24	ulequad	>0	\b inode table at %lld,
2316e4d4ce0cSPeter Avalos>32	ulequad	>0	\b root at %lld,
231782c5fa3eSPeter Avalos>40	ulelong	>0	\b fblock size = %d,
231882c5fa3eSPeter Avalos>44	ulelong	>0	\b block size = %d,
2319e4d4ce0cSPeter Avalos>48	ulequad	>0	\b bytes = %lld
2320e4d4ce0cSPeter Avalos
2321e4d4ce0cSPeter Avalos# Type:	xfs metadump image
2322e4d4ce0cSPeter Avalos# From:	Daniel Novotny <dnovotny@redhat.com>
2323e4d4ce0cSPeter Avalos# mb_magic XFSM at 0; superblock magic XFSB at 1 << mb_blocklog
2324e4d4ce0cSPeter Avalos# but can we do the << ? For now it's always 512 (0x200) anyway.
2325e4d4ce0cSPeter Avalos0	string	XFSM
2326e4d4ce0cSPeter Avalos>0x200	string	XFSB	XFS filesystem metadump image
2327e4d4ce0cSPeter Avalos
2328e4d4ce0cSPeter Avalos# Type:	delta ISO
2329e4d4ce0cSPeter Avalos# From:	Daniel Novotny <dnovotny@redhat.com>
2330e4d4ce0cSPeter Avalos0	string	DISO	Delta ISO data,
2331e4d4ce0cSPeter Avalos>4	belong	x	version %d
2332e4d4ce0cSPeter Avalos
2333e4d4ce0cSPeter Avalos# JFS2 (Journaling File System) image. (Old JFS1 has superblock at 0x1000.)
2334e4d4ce0cSPeter Avalos# See linux/fs/jfs/jfs_superblock.h for layout; see jfs_filsys.h for flags.
2335e4d4ce0cSPeter Avalos# From: Adam Buchbinder <adam.buchbinder@gmail.com>
2336e4d4ce0cSPeter Avalos0x8000	string	JFS1
2337e4d4ce0cSPeter Avalos# Because it's text-only magic, check a binary value (version) to be sure.
2338e4d4ce0cSPeter Avalos# Should always be 2, but mkfs.jfs writes it as 1. Needs to be 2 or 1 to be
2339e4d4ce0cSPeter Avalos# mountable.
2340e4d4ce0cSPeter Avalos>&0	lelong	<3	JFS2 filesystem image
2341e4d4ce0cSPeter Avalos# Label is followed by a UUID; we have to limit string length to avoid
2342e4d4ce0cSPeter Avalos# appending the UUID in the case of a 16-byte label.
2343e4d4ce0cSPeter Avalos>>&144	regex	[\x20-\x7E]{1,16}	(label "%s")
2344e4d4ce0cSPeter Avalos>>&0	lequad	x	\b, %lld blocks
2345e4d4ce0cSPeter Avalos>>&8	lelong	x	\b, blocksize %d
2346e4d4ce0cSPeter Avalos>>&32	lelong&0x00000006	>0	(dirty)
2347e4d4ce0cSPeter Avalos>>&36	lelong	>0	(compressed)
2348e8af9738SPeter Avalos
2349e8af9738SPeter Avalos# LFS
2350e8af9738SPeter Avalos0	lelong	0x070162	LFS filesystem image
2351e8af9738SPeter Avalos>4	lelong	1		version 1,
2352e8af9738SPeter Avalos>>8	lelong	x		\b blocks %u,
2353e8af9738SPeter Avalos>>12	lelong	x		\b blocks per segment %u,
2354e8af9738SPeter Avalos>4	lelong	2		version 2,
2355e8af9738SPeter Avalos>>8	lelong	x		\b fragments %u,
2356e8af9738SPeter Avalos>>12	lelong	x		\b bytes per segment %u,
2357e8af9738SPeter Avalos>16	lelong	x		\b disk blocks %u,
2358e8af9738SPeter Avalos>20	lelong	x		\b block size %u,
2359e8af9738SPeter Avalos>24	lelong	x		\b fragment size %u,
2360e8af9738SPeter Avalos>28	lelong	x		\b fragments per block %u,
2361e8af9738SPeter Avalos>32	lelong	x		\b start for free list %u,
2362e8af9738SPeter Avalos>36	lelong	x		\b number of free blocks %d,
2363e8af9738SPeter Avalos>40	lelong	x		\b number of files %u,
2364e8af9738SPeter Avalos>44	lelong	x		\b blocks available for writing %d,
2365e8af9738SPeter Avalos>48	lelong	x		\b inodes in cache %d,
2366e8af9738SPeter Avalos>52	lelong	x		\b inode file disk address 0x%x,
2367e8af9738SPeter Avalos>56	lelong	x		\b inode file inode number %u,
2368e8af9738SPeter Avalos>60	lelong	x		\b address of last segment written 0x%x,
2369e8af9738SPeter Avalos>64	lelong	x		\b address of next segment to write 0x%x,
2370e8af9738SPeter Avalos>68	lelong	x		\b address of current segment written 0x%x
2371e8af9738SPeter Avalos
2372e8af9738SPeter Avalos0	string	td\000		floppy image data (TeleDisk, compressed)
2373e8af9738SPeter Avalos0	string	TD\000		floppy image data (TeleDisk)
2374e8af9738SPeter Avalos
2375e8af9738SPeter Avalos0	string	CQ\024		floppy image data (CopyQM,
2376e8af9738SPeter Avalos>16	leshort	x		%d sectors,
2377e8af9738SPeter Avalos>18	leshort	x		%d heads.)
2378e8af9738SPeter Avalos
2379e8af9738SPeter Avalos0	string	ACT\020Apricot\020disk\020image\032\004	floppy image data (ApriDisk)
2380e8af9738SPeter Avalos
2381e8af9738SPeter Avalos0	beshort	0xAA58		floppy image data (IBM SaveDskF, old)
2382e8af9738SPeter Avalos0	beshort	0xAA59		floppy image data (IBM SaveDskF)
2383e8af9738SPeter Avalos0	beshort	0xAA5A		floppy image data (IBM SaveDskF, compressed)
2384e8af9738SPeter Avalos
2385e8af9738SPeter Avalos0	string	\074CPM_Disk\076	disk image data (YAZE)
2386e8af9738SPeter Avalos
2387e8af9738SPeter Avalos# ReFS
2388e8af9738SPeter Avalos# Richard W.M. Jones <rjones@redhat.com>
2389e8af9738SPeter Avalos0	string	\0\0\0ReFS\0	ReFS filesystem image
2390e8af9738SPeter Avalos
2391e8af9738SPeter Avalos# EFW encase image file format:
2392e8af9738SPeter Avalos# Gregoire Passault
2393e8af9738SPeter Avalos# http://www.forensicswiki.org/wiki/Encase_image_file_format
2394e8af9738SPeter Avalos0	string	EVF\x09\x0d\x0a\xff\x00	EWF/Expert Witness/EnCase image file format
2395e8af9738SPeter Avalos
2396e8af9738SPeter Avalos# UBIfs
2397e8af9738SPeter Avalos# Linux kernel sources: fs/ubifs/ubifs-media.h
239882c5fa3eSPeter Avalos0	lelong	0x06101831
239982c5fa3eSPeter Avalos>0x16	leshort	0		UBIfs image
2400e8af9738SPeter Avalos>0x08	lequad	x		\b, sequence number %llu
2401e8af9738SPeter Avalos>0x10	leshort x		\b, length %u
2402e8af9738SPeter Avalos>0x04	lelong	x		\b, CRC 0x%08x
2403e8af9738SPeter Avalos
240482c5fa3eSPeter Avalos0	lelong	0x23494255
240582c5fa3eSPeter Avalos>0x04	leshort	<2
2406e8af9738SPeter Avalos>0x05	string	\0\0\0
2407e8af9738SPeter 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
240882c5fa3eSPeter Avalos>0x04	leshort	x		UBI image, version %u
240982c5fa3eSPeter Avalos
241082c5fa3eSPeter Avalos# NEC PC-88 2D disk image
241182c5fa3eSPeter Avalos# From Fabio R. Schmidlin <sd-snatcher@users.sourceforge.net>
241282c5fa3eSPeter Avalos0x20		ulelong&0xFFFFFEFF	0x2A0
241382c5fa3eSPeter Avalos>0x10		string			\0\0\0\0\0\0\0\0\0\0
241482c5fa3eSPeter Avalos>>0x280		string			\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
241582c5fa3eSPeter Avalos>>>0x1A		ubyte&0xEF		0
241682c5fa3eSPeter Avalos>>>>0x1B	ubyte&0x8F		0
241782c5fa3eSPeter Avalos>>>>>0x1B	ubyte&70		<0x40
241882c5fa3eSPeter Avalos>>>>>>0x1C	ulelong			>0x21
241982c5fa3eSPeter Avalos>>>>>>>0	regex	[[:print:]]*	NEC PC-88 disk image, name=%s
242082c5fa3eSPeter Avalos>>>>>>>>0x1B	ubyte	0		\b, media=2D
242182c5fa3eSPeter Avalos>>>>>>>>0x1B	ubyte	0x10		\b, media=2DD
242282c5fa3eSPeter Avalos>>>>>>>>0x1B	ubyte	0x20		\b, media=2HD
242382c5fa3eSPeter Avalos>>>>>>>>0x1B	ubyte	0x30		\b, media=1D
242482c5fa3eSPeter Avalos>>>>>>>>0x1B	ubyte	0x40		\b, media=1DD
242582c5fa3eSPeter Avalos>>>>>>>>0x1A	ubyte	0x10		\b, write-protected
2426c30bd091SSascha Wildner
2427c30bd091SSascha Wildner# HDD Raw Copy Tool disk image, file extension: .imgc
2428c30bd091SSascha Wildner# From Benjamin Vanheuverzwijn <bvanheu@gmail.com>
2429c30bd091SSascha Wildner0	pstring	HDD\ Raw\ Copy\ Tool	%s
2430c30bd091SSascha Wildner>0x100	pstring	x			%s
2431c30bd091SSascha Wildner>0x200	pstring	x			- HD model: %s
2432c30bd091SSascha Wildner#>0x300	pstring	x			unknown %s
2433c30bd091SSascha Wildner>0x400	pstring	x			serial: %s
2434c30bd091SSascha Wildner#>0x500	pstring	x			unknown: %s
2435c30bd091SSascha Wildner!:ext	imgc
2436