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