xref: /dflybsd-src/contrib/file/magic/Magdir/filesystems (revision 82c5fa3ed529d94b87e8a4447aaa75bcff807696)
1327e51cbSPeter Avalos#------------------------------------------------------------------------------
2*82c5fa3eSPeter Avalos# $File: filesystems,v 1.108 2015/01/01 17:43:47 christos Exp $
3327e51cbSPeter Avalos# filesystems:  file(1) magic for different filesystems
4327e51cbSPeter Avalos#
5e8af9738SPeter Avalos0	name	partid
6e8af9738SPeter Avalos>0	ubyte	0x00	Unused
7e8af9738SPeter Avalos>0	ubyte	0x01	12-bit FAT
8e8af9738SPeter Avalos>0	ubyte	0x02	XENIX /
9e8af9738SPeter Avalos>0	ubyte	0x03	XENIX /usr
10e8af9738SPeter Avalos>0	ubyte	0x04	16-bit FAT, less than 32M
11e8af9738SPeter Avalos>0	ubyte	0x05	extended partition
12e8af9738SPeter Avalos>0	ubyte	0x06	16-bit FAT, more than 32M
13e8af9738SPeter Avalos>0	ubyte	0x07	OS/2 HPFS, NTFS, QNX2, Adv. UNIX
14e8af9738SPeter Avalos>0	ubyte	0x08	AIX or os, or etc.
15e8af9738SPeter Avalos>0	ubyte	0x09	AIX boot partition or Coherent
16e8af9738SPeter Avalos>0	ubyte	0x0a	O/2 boot manager or Coherent swap
17e8af9738SPeter Avalos>0	ubyte	0x0b	32-bit FAT
18e8af9738SPeter Avalos>0	ubyte	0x0c	32-bit FAT, LBA-mapped
19e8af9738SPeter Avalos>0	ubyte	0x0d	7XXX, LBA-mapped
20e8af9738SPeter Avalos>0	ubyte	0x0e	16-bit FAT, LBA-mapped
21e8af9738SPeter Avalos>0	ubyte	0x0f	extended partition, LBA-mapped
22e8af9738SPeter Avalos>0	ubyte	0x10	OPUS
23e8af9738SPeter Avalos>0	ubyte	0x11 	OS/2 DOS 12-bit FAT
24e8af9738SPeter Avalos>0	ubyte	0x12 	Compaq diagnostics
25e8af9738SPeter Avalos>0	ubyte	0x14 	OS/2 DOS 16-bit FAT <32M
26e8af9738SPeter Avalos>0	ubyte	0x16 	OS/2 DOS 16-bit FAT >=32M
27e8af9738SPeter Avalos>0	ubyte	0x17 	OS/2 hidden IFS
28e8af9738SPeter Avalos>0	ubyte	0x18 	AST Windows swapfile
29e8af9738SPeter Avalos>0	ubyte	0x19 	Willowtech Photon coS
30e8af9738SPeter Avalos>0	ubyte	0x1b 	hidden win95 fat 32
31e8af9738SPeter Avalos>0	ubyte	0x1c 	hidden win95 fat 32 lba
32e8af9738SPeter Avalos>0	ubyte	0x1d	hidden win95 fat 16 lba
33e8af9738SPeter Avalos>0	ubyte	0x20 	Willowsoft OFS1
34e8af9738SPeter Avalos>0	ubyte	0x21 	reserved
35e8af9738SPeter Avalos>0	ubyte	0x23 	reserved
36e8af9738SPeter Avalos>0	ubyte	0x24	NEC DOS
37e8af9738SPeter Avalos>0	ubyte	0x26 	reserved
38e8af9738SPeter Avalos>0	ubyte	0x31 	reserved
39e8af9738SPeter Avalos>0	ubyte	0x32	Alien Internet Services NOS
40e8af9738SPeter Avalos>0	ubyte	0x33 	reserved
41e8af9738SPeter Avalos>0	ubyte	0x34 	reserved
42e8af9738SPeter Avalos>0	ubyte	0x35 	JFS on OS2
43e8af9738SPeter Avalos>0	ubyte	0x36 	reserved
44e8af9738SPeter Avalos>0	ubyte	0x38 	Theos
45e8af9738SPeter Avalos>0	ubyte	0x39 	Plan 9, or Theos spanned
46e8af9738SPeter Avalos>0	ubyte	0x3a 	Theos ver 4 4gb partition
47e8af9738SPeter Avalos>0	ubyte	0x3b 	Theos ve 4 extended partition
48e8af9738SPeter Avalos>0	ubyte	0x3c 	PartitionMagic recovery
49e8af9738SPeter Avalos>0	ubyte	0x3d 	Hidden Netware
50e8af9738SPeter Avalos>0	ubyte	0x40 	VENIX 286 or LynxOS
51e8af9738SPeter Avalos>0	ubyte	0x41	PReP
52e8af9738SPeter Avalos>0	ubyte	0x42	linux swap sharing DRDOS disk
53e8af9738SPeter Avalos>0	ubyte	0x43	linux sharing DRDOS disk
54e8af9738SPeter Avalos>0	ubyte	0x44	GoBack change utility
55e8af9738SPeter Avalos>0	ubyte	0x45	Boot US Boot manager
56e8af9738SPeter Avalos>0	ubyte	0x46	EUMEL/Elan or Ergos 3
57e8af9738SPeter Avalos>0	ubyte	0x47	EUMEL/Elan or Ergos 3
58e8af9738SPeter Avalos>0	ubyte	0x48	EUMEL/Elan or Ergos 3
59e8af9738SPeter Avalos>0	ubyte	0x4a	ALFX/THIN filesystem for DOS
60e8af9738SPeter Avalos>0	ubyte	0x4c	Oberon partition
61e8af9738SPeter Avalos>0	ubyte	0x4d 	QNX4.x
62e8af9738SPeter Avalos>0	ubyte	0x4e 	QNX4.x 2nd part
63e8af9738SPeter Avalos>0	ubyte	0x4f 	QNX4.x 3rd part
64e8af9738SPeter Avalos>0	ubyte	0x50 	DM (disk manager)
65e8af9738SPeter Avalos>0	ubyte	0x51 	DM6 Aux1 (or Novell)
66e8af9738SPeter Avalos>0	ubyte	0x52 	CP/M or Microport SysV/AT
67e8af9738SPeter Avalos>0	ubyte	0x53 	DM6 Aux3
68e8af9738SPeter Avalos>0	ubyte	0x54	DM6 DDO
69e8af9738SPeter Avalos>0	ubyte	0x55	EZ-Drive (disk manager)
70e8af9738SPeter Avalos>0	ubyte	0x56	Golden Bow (disk manager)
71e8af9738SPeter Avalos>0	ubyte	0x57	Drive PRO
72e8af9738SPeter Avalos>0	ubyte	0x5c	Priam Edisk (disk manager)
73e8af9738SPeter Avalos>0	ubyte	0x61	SpeedStor
74e8af9738SPeter Avalos>0	ubyte	0x63	GNU HURD or Mach or Sys V/386
75e8af9738SPeter Avalos>0	ubyte	0x64	Novell Netware 2.xx or Speedstore
76e8af9738SPeter Avalos>0	ubyte	0x65	Novell Netware 3.xx
77e8af9738SPeter Avalos>0	ubyte	0x66	Novell 386 Netware
78e8af9738SPeter Avalos>0	ubyte	0x67	Novell
79e8af9738SPeter Avalos>0	ubyte	0x68	Novell
80e8af9738SPeter Avalos>0	ubyte	0x69	Novell
81e8af9738SPeter Avalos>0	ubyte	0x70	DiskSecure Multi-Boot
82e8af9738SPeter Avalos>0	ubyte	0x71	reserved
83e8af9738SPeter Avalos>0	ubyte	0x73	reserved
84e8af9738SPeter Avalos>0	ubyte	0x74	reserved
85e8af9738SPeter Avalos>0	ubyte	0x75	PC/IX
86e8af9738SPeter Avalos>0	ubyte	0x76	reserved
87e8af9738SPeter Avalos>0	ubyte	0x77	M2FS/M2CS partition
88e8af9738SPeter Avalos>0	ubyte	0x78	XOSL boot loader filesystem
89e8af9738SPeter Avalos>0	ubyte	0x80	MINIX until 1.4a
90e8af9738SPeter Avalos>0	ubyte	0x81	MINIX since 1.4b
91e8af9738SPeter Avalos>0	ubyte	0x82	Linux swap or Solaris
92e8af9738SPeter Avalos>0	ubyte	0x83	Linux native
93e8af9738SPeter Avalos>0	ubyte	0x84	OS/2 hidden C: drive
94e8af9738SPeter Avalos>0	ubyte	0x85	Linux extended partition
95e8af9738SPeter Avalos>0	ubyte	0x86	NT FAT volume set
96e8af9738SPeter Avalos>0	ubyte	0x87	NTFS volume set or HPFS mirrored
97e8af9738SPeter Avalos>0	ubyte	0x8a	Linux Kernel AiR-BOOT partition
98e8af9738SPeter Avalos>0	ubyte	0x8b	Legacy Fault tolerant FAT32
99e8af9738SPeter Avalos>0	ubyte	0x8c	Legacy Fault tolerant FAT32 ext
100e8af9738SPeter Avalos>0	ubyte	0x8d	Hidden free FDISK FAT12
101e8af9738SPeter Avalos>0	ubyte	0x8e	Linux Logical Volume Manager
102e8af9738SPeter Avalos>0	ubyte	0x90	Hidden free FDISK FAT16
103e8af9738SPeter Avalos>0	ubyte	0x91	Hidden free FDISK DOS EXT
104e8af9738SPeter Avalos>0	ubyte	0x92	Hidden free FDISK FAT16 Big
105e8af9738SPeter Avalos>0	ubyte	0x93	Amoeba filesystem
106e8af9738SPeter Avalos>0	ubyte	0x94	Amoeba bad block table
107e8af9738SPeter Avalos>0	ubyte	0x95	MIT EXOPC native partitions
108e8af9738SPeter Avalos>0	ubyte	0x97	Hidden free FDISK FAT32
109e8af9738SPeter Avalos>0	ubyte	0x98	Datalight ROM-DOS Super-Boot
110e8af9738SPeter Avalos>0	ubyte	0x99	Mylex EISA SCSI
111e8af9738SPeter Avalos>0	ubyte	0x9a	Hidden free FDISK FAT16 LBA
112e8af9738SPeter Avalos>0	ubyte	0x9b	Hidden free FDISK EXT LBA
113e8af9738SPeter Avalos>0	ubyte	0x9f	BSDI?
114e8af9738SPeter Avalos>0	ubyte	0xa0	IBM Thinkpad hibernation
115e8af9738SPeter Avalos>0	ubyte	0xa1	HP Volume expansion (SpeedStor)
116e8af9738SPeter Avalos>0	ubyte	0xa3	HP Volume expansion (SpeedStor)
117e8af9738SPeter Avalos>0	ubyte	0xa4	HP Volume expansion (SpeedStor)
118e8af9738SPeter Avalos>0	ubyte	0xa5	386BSD partition type
119e8af9738SPeter Avalos>0	ubyte	0xa6	OpenBSD partition type
120e8af9738SPeter Avalos>0	ubyte	0xa7	NeXTSTEP 486
121e8af9738SPeter Avalos>0	ubyte	0xa8	Apple UFS
122e8af9738SPeter Avalos>0	ubyte	0xa9	NetBSD partition type
123e8af9738SPeter Avalos>0	ubyte	0xaa	Olivetty Fat12 1.44MB Service part
124e8af9738SPeter Avalos>0	ubyte	0xab	Apple Boot
125e8af9738SPeter Avalos>0	ubyte	0xae	SHAG OS filesystem
126e8af9738SPeter Avalos>0	ubyte	0xaf	Apple HFS
127e8af9738SPeter Avalos>0	ubyte	0xb0	BootStar Dummy
128e8af9738SPeter Avalos>0	ubyte	0xb1	reserved
129e8af9738SPeter Avalos>0	ubyte	0xb3	reserved
130e8af9738SPeter Avalos>0	ubyte	0xb4	reserved
131e8af9738SPeter Avalos>0	ubyte	0xb6	reserved
132e8af9738SPeter Avalos>0	ubyte	0xb7	BSDI BSD/386 filesystem
133e8af9738SPeter Avalos>0	ubyte	0xb8	BSDI BSD/386 swap
134e8af9738SPeter Avalos>0	ubyte	0xbb	Boot Wizard Hidden
135e8af9738SPeter Avalos>0	ubyte	0xbe	Solaris 8 partition type
136e8af9738SPeter Avalos>0	ubyte	0xbf	Solaris partition type
137e8af9738SPeter Avalos>0	ubyte	0xc0 	CTOS
138e8af9738SPeter Avalos>0	ubyte	0xc1 	DRDOS/sec (FAT-12)
139e8af9738SPeter Avalos>0	ubyte	0xc2 	Hidden Linux
140e8af9738SPeter Avalos>0	ubyte	0xc3 	Hidden Linux swap
141e8af9738SPeter Avalos>0	ubyte	0xc4 	DRDOS/sec (FAT-16, < 32M)
142e8af9738SPeter Avalos>0	ubyte	0xc5 	DRDOS/sec (EXT)
143e8af9738SPeter Avalos>0	ubyte	0xc6 	DRDOS/sec (FAT-16, >= 32M)
144e8af9738SPeter Avalos>0	ubyte	0xc7 	Syrinx (Cyrnix?) or HPFS disabled
145e8af9738SPeter Avalos>0	ubyte	0xc8 	Reserved for DR-DOS 8.0+
146e8af9738SPeter Avalos>0	ubyte	0xc9 	Reserved for DR-DOS 8.0+
147e8af9738SPeter Avalos>0	ubyte	0xca 	Reserved for DR-DOS 8.0+
148e8af9738SPeter Avalos>0	ubyte	0xcb 	DR-DOS 7.04+ Secured FAT32 CHS
149e8af9738SPeter Avalos>0	ubyte	0xcc 	DR-DOS 7.04+ Secured FAT32 LBA
150e8af9738SPeter Avalos>0	ubyte	0xcd	CTOS Memdump
151e8af9738SPeter Avalos>0	ubyte	0xce 	DR-DOS 7.04+ FAT16X LBA
152e8af9738SPeter Avalos>0	ubyte	0xcf 	DR-DOS 7.04+ EXT LBA
153e8af9738SPeter Avalos>0	ubyte	0xd0 	REAL/32 secure big partition
154e8af9738SPeter Avalos>0	ubyte	0xd1 	Old Multiuser DOS FAT12
155e8af9738SPeter Avalos>0	ubyte	0xd4 	Old Multiuser DOS FAT16 Small
156e8af9738SPeter Avalos>0	ubyte	0xd5 	Old Multiuser DOS Extended
157e8af9738SPeter Avalos>0	ubyte	0xd6 	Old Multiuser DOS FAT16 Big
158e8af9738SPeter Avalos>0	ubyte	0xd8 	CP/M 86
159e8af9738SPeter Avalos>0	ubyte	0xdb 	CP/M or Concurrent CP/M
160e8af9738SPeter Avalos>0	ubyte	0xdd 	Hidden CTOS Memdump
161e8af9738SPeter Avalos>0	ubyte	0xde 	Dell PowerEdge Server utilities
162e8af9738SPeter Avalos>0	ubyte	0xdf 	DG/UX virtual disk manager
163e8af9738SPeter Avalos>0	ubyte	0xe0 	STMicroelectronics ST AVFS
164e8af9738SPeter Avalos>0	ubyte	0xe1 	DOS access or SpeedStor 12-bit
165e8af9738SPeter Avalos>0	ubyte	0xe3 	DOS R/O or Storage Dimensions
166e8af9738SPeter Avalos>0	ubyte	0xe4 	SpeedStor 16-bit FAT < 1024 cyl.
167e8af9738SPeter Avalos>0	ubyte	0xe5	reserved
168e8af9738SPeter Avalos>0	ubyte	0xe6	reserved
169e8af9738SPeter Avalos>0	ubyte	0xeb 	BeOS
170e8af9738SPeter Avalos>0	ubyte	0xee	GPT Protective MBR
171e8af9738SPeter Avalos>0	ubyte	0xef	EFI system partition
172e8af9738SPeter Avalos>0	ubyte	0xf0 	Linux PA-RISC boot loader
173e8af9738SPeter Avalos>0	ubyte	0xf1 	SpeedStor or Storage Dimensions
174e8af9738SPeter Avalos>0	ubyte	0xf2 	DOS 3.3+ Secondary
175e8af9738SPeter Avalos>0	ubyte	0xf3	reserved
176e8af9738SPeter Avalos>0	ubyte	0xf4	SpeedStor large partition
177e8af9738SPeter Avalos>0	ubyte	0xf5	Prologue multi-volumen partition
178e8af9738SPeter Avalos>0	ubyte	0xf6 	reserved
179e8af9738SPeter Avalos>0	ubyte	0xf9 	pCache: ext2/ext3 persistent cache
180e8af9738SPeter Avalos>0	ubyte	0xfa 	Bochs x86 emulator
181e8af9738SPeter Avalos>0	ubyte	0xfb 	VMware File System
182e8af9738SPeter Avalos>0	ubyte	0xfc 	VMware Swap
183e8af9738SPeter Avalos>0	ubyte	0xfd 	Linux RAID partition persistent sb
184e8af9738SPeter Avalos>0	ubyte	0xfe	LANstep or IBM PS/2 IML
185e8af9738SPeter Avalos>0	ubyte	0xff 	Xenix Bad Block Table
186e8af9738SPeter Avalos
187327e51cbSPeter Avalos0	string	\366\366\366\366	PC formatted floppy with no filesystem
188327e51cbSPeter Avalos# Sun disk labels
189327e51cbSPeter Avalos# From /usr/include/sun/dklabel.h:
190327e51cbSPeter Avalos0774	beshort		0xdabe
191327e51cbSPeter Avalos# modified by Joerg Jenderek, because original test
192327e51cbSPeter Avalos# succeeds for Cabinet archive dao360.dl_ with negative blocks
193327e51cbSPeter Avalos>0770	long		>0		Sun disk label
194327e51cbSPeter Avalos>>0	string		x		'%s
195327e51cbSPeter Avalos>>>31	string		>\0		\b%s
196327e51cbSPeter Avalos>>>>63	string		>\0		\b%s
197327e51cbSPeter Avalos>>>>>95	string		>\0		\b%s
198327e51cbSPeter Avalos>>0	string		x		\b'
199327e51cbSPeter Avalos>>0734	short		>0		%d rpm,
200327e51cbSPeter Avalos>>0736	short		>0		%d phys cys,
201327e51cbSPeter Avalos>>0740	short		>0		%d alts/cyl,
202327e51cbSPeter Avalos>>0746	short		>0		%d interleave,
203327e51cbSPeter Avalos>>0750	short		>0		%d data cyls,
204327e51cbSPeter Avalos>>0752	short		>0		%d alt cyls,
205327e51cbSPeter Avalos>>0754	short		>0		%d heads/partition,
206327e51cbSPeter Avalos>>0756	short		>0		%d sectors/track,
207*82c5fa3eSPeter Avalos>>0764	long		>0		start cyl %d,
208*82c5fa3eSPeter Avalos>>0770	long		x		%d blocks
209327e51cbSPeter Avalos# Is there a boot block written 1 sector in?
210327e51cbSPeter Avalos>512    belong&077777777	0600407	\b, boot block present
211e8af9738SPeter Avalos
212e8af9738SPeter Avalos# Joerg Jenderek: Smart Boot Manager backup file is 25 (MSDOS) or 41 (LINUX) byte header + first sectors of disk
213327e51cbSPeter Avalos# (http://btmgr.sourceforge.net/docs/user-guide-3.html)
214327e51cbSPeter Avalos0		string	SBMBAKUP_	Smart Boot Manager backup file
215327e51cbSPeter Avalos>9		string	x		\b, version %-5.5s
216327e51cbSPeter Avalos>>14		string	=_
217327e51cbSPeter Avalos>>>15		string	x		%-.1s
218327e51cbSPeter Avalos>>>>16		string	=_		\b.
219327e51cbSPeter Avalos>>>>>17		string	x		\b%-.1s
220327e51cbSPeter Avalos>>>>>>18	string	=_		\b.
221327e51cbSPeter Avalos>>>>>>>19	string	x		\b%-.1s
222327e51cbSPeter Avalos>>>22		ubyte	0
223327e51cbSPeter Avalos>>>>21		ubyte	x		\b, from drive 0x%x
224327e51cbSPeter Avalos>>>22		ubyte	>0
225327e51cbSPeter Avalos>>>>21		string	x		\b, from drive %s
226e8af9738SPeter Avalos>>>535		search/17	\x55\xAA
227e8af9738SPeter Avalos>>>>&-512	indirect	x	\b; contains
228327e51cbSPeter Avalos
229e8af9738SPeter Avalos# updated by Joerg Jenderek at Nov 2012
230327e51cbSPeter Avalos# DOS Emulator image is 128 byte, null right padded header + harddisc image
231327e51cbSPeter Avalos0	string	DOSEMU\0
232327e51cbSPeter Avalos>0x27E	leshort	0xAA55
233327e51cbSPeter Avalos#offset is 128
234327e51cbSPeter Avalos>>19	ubyte	128
235327e51cbSPeter Avalos>>>(19.b-1)	ubyte	0x0	DOS Emulator image
236327e51cbSPeter Avalos>>>>7	ulelong	>0		\b, %u heads
237327e51cbSPeter Avalos>>>>11	ulelong	>0		\b, %d sectors/track
238327e51cbSPeter Avalos>>>>15	ulelong	>0		\b, %d cylinders
239e8af9738SPeter Avalos>>>>128	indirect	x	\b; contains
240327e51cbSPeter Avalos
241e8af9738SPeter Avalos# added by Joerg Jenderek at Nov 2012
242e8af9738SPeter Avalos# http://www.thenakedpc.com/articles/v04/08/0408-05.html
243e8af9738SPeter Avalos# Symantec (Peter Norton) Image.dat file consists of variable header, bootrecord, part of FAT and root directory data
244e8af9738SPeter Avalos0	string	PNCIHISK\0		Norton Utilities disc image data
245e8af9738SPeter Avalos# real x86 boot sector with jump instruction
246e8af9738SPeter Avalos>509	search/1026	\x55\xAA\xeb
247e8af9738SPeter Avalos>>&-1	indirect	x		\b; contains
248e8af9738SPeter Avalos# http://file-extension.net/seeker/file_extension_dat
249e8af9738SPeter Avalos0	string	PNCIUNDO		Norton Disk Doctor UnDo file
250e8af9738SPeter Avalos#
251e8af9738SPeter Avalos
252*82c5fa3eSPeter Avalos# DOS/MBR boot sector updated by Joerg Jenderek at Sep 2007,May 2011,2013
253e8af9738SPeter Avalos# for any allowed sector sizes
254e8af9738SPeter Avalos30		search/481	\x55\xAA
255e8af9738SPeter Avalos# to display DOS/MBR boot sector (40) before old one (strength=50+21),Syslinux bootloader (71),SYSLINUX MBR (37+36),NetBSD mbr (110),AdvanceMAME mbr (111)
256e8af9738SPeter Avalos# DOS BPB information (70) and after DOS floppy (120) like in previous file version
257*82c5fa3eSPeter Avalos!:strength +65
258e8af9738SPeter Avalos# for sector sizes < 512 Bytes
259e8af9738SPeter Avalos>11		uleshort	<512
260e8af9738SPeter Avalos>>(11.s-2)	uleshort	0xAA55		DOS/MBR boot sector
261e8af9738SPeter Avalos# for sector sizes with 512 or more Bytes
262e8af9738SPeter Avalos>0x1FE		leshort		0xAA55		DOS/MBR boot sector
263*82c5fa3eSPeter Avalos
264e8af9738SPeter Avalos# keep old DOS/MBR boot sector as dummy for mbr and bootloader displaying
265327e51cbSPeter Avalos# only for sector sizes with 512 or more Bytes
266e8af9738SPeter Avalos0x1FE          leshort         0xAA55         	DOS/MBR boot sector
267*82c5fa3eSPeter Avalos#
268e8af9738SPeter Avalos# to display information (50) before DOS BPB (strength=70) and after DOS floppy (120) like in old file version
269*82c5fa3eSPeter Avalos!:strength +65
270*82c5fa3eSPeter Avalos>2		string		OSBS		OS/BS MBR
271e8af9738SPeter Avalos# added by Joerg Jenderek at Feb 2013 according to http://thestarman.pcministry.com/asm/mbr/
272e8af9738SPeter Avalos# and http://en.wikipedia.org/wiki/Master_Boot_Record
273e8af9738SPeter Avalos# test for nearly all MS-DOS Master Boot Record initial program loader (IPL) is now done by
274e8af9738SPeter Avalos# characteristic assembler instructions: xor ax,ax;mov ss,ax;mov sp,7c00
275e8af9738SPeter Avalos>0	search/2	\x33\xc0\x8e\xd0\xbc\x00\x7c	MS-MBR
276e8af9738SPeter Avalos# Microsoft Windows 95A and early ( http://thestarman.pcministry.com/asm/mbr/STDMBR.htm )
277e8af9738SPeter Avalos# assembler instructions: mov si,sp;push ax;pop es;push ax;pop ds;sti;cld
278e8af9738SPeter Avalos>>8	ubequad		0x8bf45007501ffbfc
279e8af9738SPeter Avalos# http://thestarman.pcministry.com/asm/mbr/200MBR.htm
280e8af9738SPeter Avalos>>>0x16	ubyte		0xF3				\b,DOS 2
281e8af9738SPeter Avalos>>>>219	regex		Author\ -\ 			Author:
282e8af9738SPeter Avalos# found "David Litton" , "A Pehrsson  "
283e8af9738SPeter Avalos>>>>>&0	string		x				"%s"
284e8af9738SPeter Avalos>>>0x16	ubyte		0xF2
285e8af9738SPeter Avalos# NEC MS-DOS 3.30 Rev. 3 . See http://thestarman.pcministry.com/asm/mbr/DOS33MBR.htm
286e8af9738SPeter Avalos# assembler instructions: mov di,077c;cmp word ptrl[di],a55a;jnz
287e8af9738SPeter Avalos>>>>0x22	ubequad	0xbf7c07813d5aa575		\b,NEC 3.3
288e8af9738SPeter Avalos# version MS-DOS 3.30 til MS-Windows 95A (WinVer=4.00.1111)
289e8af9738SPeter Avalos>>>>0x22	default	x				\b,D0S version 3.3-7.0
290e8af9738SPeter Avalos# error messages are printed by assembler instructions: mov si,06nn;...;int 10 (0xBEnn06;...)
291e8af9738SPeter Avalos# where nn is string offset varying for different languages
292e8af9738SPeter Avalos# "Invalid partition table"				nn=0x8b for english version
293e8af9738SPeter Avalos>>>>>(0x49.b)	string		Invalid\ partition\ table		english
294e8af9738SPeter Avalos>>>>>(0x49.b)	string		Ung\201ltige\ Partitionstabelle		german
295e8af9738SPeter Avalos>>>>>(0x49.b)	string		Table\ de\ partition\ invalide		french
296e8af9738SPeter Avalos>>>>>(0x49.b)	string		Tabela\ de\ parti\207ao\ inv\240lida	portuguese
297e8af9738SPeter Avalos>>>>>(0x49.b)	string		Tabla\ de\ partici\242n\ no\ v\240lida	spanish
298e8af9738SPeter Avalos>>>>>(0x49.b)	string		Tavola\ delle\ partizioni\ non\ valida	italian
299e8af9738SPeter Avalos>>>>>0x49	ubyte		>0			at offset 0x%x
300e8af9738SPeter Avalos>>>>>>(0x49.b)	string		>\0			"%s"
301e8af9738SPeter Avalos# "Error loading operating system"			nn=0xa3 for english version
302e8af9738SPeter Avalos# "Fehler beim Laden des Betriebssystems"		nn=0xa7 for german version
303e8af9738SPeter Avalos# "Erreur en chargeant syst\212me d'exploitation"	nn=0xa7 for french version
304e8af9738SPeter Avalos# "Erro na inicializa\207ao do sistema operacional"	nn=0xa7 for portuguese Brazilian version
305e8af9738SPeter Avalos# "Error al cargar sistema operativo"			nn=0xa8 for spanish version
306e8af9738SPeter Avalos# "Errore durante il caricamento del sistema operativo"	nn=0xae for italian version
307e8af9738SPeter Avalos>>>>>0x74	ubyte		>0			at offset 0x%x
308e8af9738SPeter Avalos>>>>>>(0x74.b)	string		>\0			"%s"
309e8af9738SPeter Avalos# "Missing operating system"				nn=0xc2 for english version
310e8af9738SPeter Avalos# "Betriebssystem fehlt"				nn=0xcd for german version
311e8af9738SPeter Avalos# "Syst\212me d'exploitation absent"			nn=0xd2 for french version
312e8af9738SPeter Avalos# "Sistema operacional nao encontrado"			nn=0xd4 for portuguese Brazilian version
313e8af9738SPeter Avalos# "Falta sistema operativo"				nn=0xca for spanish version
314e8af9738SPeter Avalos# "Sistema operativo mancante"				nn=0xe2 for italian version
315e8af9738SPeter Avalos>>>>>0x79	ubyte		>0			at offset 0x%x
316e8af9738SPeter Avalos>>>>>>(0x79.b)	string		>\0			"%s"
317e8af9738SPeter Avalos# Microsoft Windows 95B to XP (http://thestarman.pcministry.com/asm/mbr/95BMEMBR.htm)
318e8af9738SPeter Avalos# assembler instructions: push ax;pop es;push  ax;pop ds;cld;mov si,7c1b
319e8af9738SPeter Avalos>>8	ubequad		0x5007501ffcbe1b7c
320e8af9738SPeter Avalos# assembler instructions: rep;movsb;retf;mov si,07be;mov cl,04
321e8af9738SPeter Avalos>>>24		ubequad	0xf3a4cbbebe07b104		9M
322e8af9738SPeter Avalos# "Invalid partition table"				nn=0x10F for english version
323*82c5fa3eSPeter Avalos# "Ung\201ltige Partitionstabelle"				nn=0x10F for german version
324*82c5fa3eSPeter Avalos# "Table de partition erron\202e"				nn=0x10F for french version
325e8af9738SPeter Avalos# "\216\257\245\340\240\346\250\256\255\255\240\357 \341\250\341\342\245\254\240 \255\245 \255\240\251\244\245\255\240"	nn=0x10F for russian version
326e8af9738SPeter Avalos>>>>(0x3C.b+0x0FF)	string	Invalid\ partition\ table		english
327e8af9738SPeter Avalos>>>>(0x3C.b+0x0FF)	string	Ung\201ltige\ Partitionstabelle		german
328e8af9738SPeter Avalos>>>>(0x3C.b+0x0FF)	string	Table\ de\ partition\ erron\202e	french
329e8af9738SPeter Avalos>>>>(0x3C.b+0x0FF)	string	\215\245\257\340\240\242\250\253\354\255\240\357\ \342\240\241\253\250\346\240	russian
330e8af9738SPeter Avalos>>>>0x3C		ubyte	x			at offset 0x%x+0xFF
331e8af9738SPeter Avalos>>>>(0x3C.b+0x0FF)	string	>\0			"%s"
332e8af9738SPeter Avalos# "Error loading operating system"			nn=0x127 for english version
333e8af9738SPeter Avalos# "Fehler beim Laden des Betriebssystems"		nn=0x12b for german version
334*82c5fa3eSPeter Avalos# "Erreur lors du chargement du syst\212me d'exploitation"	nn=0x12a for french version
335e8af9738SPeter Avalos# "\216\350\250\241\252\240 \257\340\250 \247\240\243\340\343\247\252\245 \256\257\245\340\240\346\250\256\255\255\256\251 \341\250\341\342\245\254\353"	nn=0x12d for russian version
336e8af9738SPeter Avalos>>>>0xBD		ubyte	x			at offset 0x1%x
337e8af9738SPeter Avalos>>>>(0xBD.b+0x100)	string	>\0			"%s"
338e8af9738SPeter Avalos# "Missing operating system"				nn=0x146 for english version
339e8af9738SPeter Avalos# "Betriebssystem fehlt"				nn=0x151 for german version
340*82c5fa3eSPeter Avalos# "Syst\212me d'exploitation manquant"			nn=0x15e for french version
341e8af9738SPeter Avalos# "\216\257\245\340\240\346\250\256\255\255\240\357 \341\250\341\342\245\254\240 \255\245 \255\240\251\244\245\255\240"	nn=0x156 for russian version
342e8af9738SPeter Avalos>>>>0xA9		ubyte	x			at offset 0x1%x
343e8af9738SPeter Avalos>>>>(0xA9.b+0x100)	string	>\0			"%s"
344e8af9738SPeter Avalos# http://thestarman.pcministry.com/asm/mbr/Win2kmbr.htm
345e8af9738SPeter Avalos# assembler instructions: rep;movsb;retf;mov BP,07be;mov cl,04
346e8af9738SPeter Avalos>>>24		ubequad	0xf3a4cbbdbe07b104		XP
347e8af9738SPeter Avalos# where xxyyzz are lower bits from offsets of error messages varying for different languages
348e8af9738SPeter Avalos>>>>0x1B4	ubelong&0x00FFFFFF	0x002c4463	english
349e8af9738SPeter Avalos>>>>0x1B4	ubelong&0x00FFFFFF	0x002c486e	german
350e8af9738SPeter Avalos# "Invalid partition table"				xx=0x12C for english version
351*82c5fa3eSPeter Avalos# "Ung\201ltige Partitionstabelle"				xx=0x12C for german version
352e8af9738SPeter Avalos>>>>0x1b5	ubyte		>0			at offset 0x1%x
353e8af9738SPeter Avalos>>>>(0x1b5.b+0x100)	string	>\0			"%s"
354e8af9738SPeter Avalos# "Error loading operating system"			yy=0x144 for english version
355e8af9738SPeter Avalos# "Fehler beim Laden des Betriebssystems"		yy=0x148 for german version
356e8af9738SPeter Avalos>>>>0x1b6	ubyte		>0			at offset 0x1%x
357e8af9738SPeter Avalos>>>>(0x1b6.b+0x100)	string	>\0			"%s"
358e8af9738SPeter Avalos# "Missing operating system"				zz=0x163 for english version
359e8af9738SPeter Avalos# "Betriebssystem nicht vorhanden"			zz=0x16e for german version
360e8af9738SPeter Avalos>>>>0x1b7	ubyte		>0			at offset 0x1%x
361e8af9738SPeter Avalos>>>>(0x1b7.b+0x100)	string	>\0			"%s"
362e8af9738SPeter Avalos# Microsoft Windows Vista or 7
363e8af9738SPeter Avalos# assembler instructions: ..;mov ds,ax;mov si,7c00;mov di,..00
364e8af9738SPeter Avalos>>8	ubequad		0xc08ed8be007cbf00
365e8af9738SPeter Avalos# Microsoft Windows Vista (http://thestarman.pcministry.com/asm/mbr/VistaMBR.htm)
366e8af9738SPeter Avalos# assembler instructions: jnz 0729;cmp ebx,"TCPA"
367e8af9738SPeter Avalos>>>0xEC		ubequad	0x753b6681fb544350		Vista
368e8af9738SPeter Avalos# where xxyyzz are lower bits from offsets of error messages varying for different languages
369e8af9738SPeter Avalos>>>>0x1B4	ubelong&0x00FFFFFF	0x00627a99	english
370e8af9738SPeter Avalos#>>>>0x1B4	ubelong&0x00FFFFFF	?		german
371e8af9738SPeter Avalos# "Invalid partition table"				xx=0x162 for english version
372*82c5fa3eSPeter Avalos# "Ung\201ltige Partitionstabelle"				xx=0x1?? for german version
373e8af9738SPeter Avalos>>>>0x1b5	ubyte		>0			at offset 0x1%x
374e8af9738SPeter Avalos>>>>(0x1b5.b+0x100)	string	>\0			"%s"
375e8af9738SPeter Avalos# "Error loading operating system"			yy=0x17a for english version
376e8af9738SPeter Avalos# "Fehler beim Laden des Betriebssystems"		yy= 0x1?? for german version
377e8af9738SPeter Avalos>>>>0x1b6	ubyte		>0			at offset 0x1%x
378e8af9738SPeter Avalos>>>>(0x1b6.b+0x100)	string	>\0			"%s"
379e8af9738SPeter Avalos# "Missing operating system"				zz=0x199 for english version
380e8af9738SPeter Avalos# "Betriebssystem nicht vorhanden"			zz=0x1?? for german version
381e8af9738SPeter Avalos>>>>0x1b7	ubyte		>0			at offset 0x1%x
382e8af9738SPeter Avalos>>>>(0x1b7.b+0x100)	string	>\0			"%s"
383e8af9738SPeter Avalos# Microsoft Windows 7 (http://thestarman.pcministry.com/asm/mbr/W7MBR.htm)
384e8af9738SPeter Avalos# assembler instructions: cmp ebx,"TCPA";cmp
385e8af9738SPeter Avalos>>>0xEC		ubequad	0x6681fb5443504175		Windows 7
386e8af9738SPeter Avalos# where xxyyzz are lower bits from offsets of error messages varying for different languages
387e8af9738SPeter Avalos>>>>0x1B4	ubelong&0x00FFFFFF	0x00637b9a	english
388e8af9738SPeter Avalos#>>>>0x1B4	ubelong&0x00FFFFFF	?		german
389e8af9738SPeter Avalos# "Invalid partition table"				xx=0x163 for english version
390*82c5fa3eSPeter Avalos# "Ung\201ltige Partitionstabelle"				xx=0x1?? for german version
391e8af9738SPeter Avalos>>>>0x1b5	ubyte		>0			at offset 0x1%x
392e8af9738SPeter Avalos>>>>(0x1b5.b+0x100)	string	>\0			"%s"
393e8af9738SPeter Avalos# "Error loading operating system"			yy=0x17b for english version
394e8af9738SPeter Avalos# "Fehler beim Laden des Betriebssystems"		yy=0x1?? for german version
395e8af9738SPeter Avalos>>>>0x1b6	ubyte		>0			at offset 0x1%x
396e8af9738SPeter Avalos>>>>(0x1b6.b+0x100)	string	>\0			"%s"
397e8af9738SPeter Avalos# "Missing operating system"				zz=0x19a for english version
398e8af9738SPeter Avalos# "Betriebssystem nicht vorhanden"			zz=0x1?? for german version
399e8af9738SPeter Avalos>>>>0x1b7	ubyte		>0			at offset 0x1%x
400e8af9738SPeter Avalos>>>>(0x1b7.b+0x100)	string	>\0			"%s"
401e8af9738SPeter Avalos# http://thestarman.pcministry.com/asm/mbr/Win2kmbr.htm#DiskSigs
402e8af9738SPeter Avalos# http://en.wikipedia.org/wiki/MBR_disk_signature#ID
403e8af9738SPeter Avalos>>0x1b8	ulelong		>0				\b, disk signature 0x%-.4x
404e8af9738SPeter Avalos# driveID/timestamp for Win 95B,98,98SE and ME. See http://thestarman.pcministry.com/asm/mbr/mystery.htm
405e8af9738SPeter Avalos>>0xDA	uleshort		0
406e8af9738SPeter Avalos>>>0xDC 	ulelong		>0			\b, created
407e8af9738SPeter Avalos# physical drive number (0x80-0xFF) when the Windows wrote that byte to the drive
408e8af9738SPeter Avalos>>>>0xDC	ubyte		x			with driveID 0x%x
409e8af9738SPeter Avalos# hours, minutes and seconds
410e8af9738SPeter Avalos>>>>0xDf	ubyte		x			at %x
411e8af9738SPeter Avalos>>>>0xDe	ubyte		x			\b:%x
412e8af9738SPeter Avalos>>>>0xDd	ubyte		x			\b:%x
413e8af9738SPeter Avalos# special case for Microsoft MS-DOS 3.21 spanish
414e8af9738SPeter Avalos# assembler instructions: cli;mov $0x30,%ax;mov %ax,%ss;mov
415e8af9738SPeter Avalos>0	ubequad		0xfab830008ed0bc00
416e8af9738SPeter Avalos# assembler instructions: $0x1f00,%sp;mov $0x80cb,%di;add %cl,(%bx,%si);in (%dx),%ax;mov
417e8af9738SPeter Avalos>>8	ubequad		0x1fbfcb800008ed8		MS-MBR,D0S version 3.21 spanish
418e8af9738SPeter Avalos# Microsoft MBR IPL end
419e8af9738SPeter Avalos
420327e51cbSPeter Avalos# dr-dos with some upper-, lowercase variants
421327e51cbSPeter Avalos>0x9D	string	Invalid\ partition\ table$
422327e51cbSPeter Avalos>>181	string	No\ Operating\ System$
423327e51cbSPeter Avalos>>>201	string	Operating\ System\ load\ error$	\b, DR-DOS MBR, Version 7.01 to 7.03
424327e51cbSPeter Avalos>0x9D	string	Invalid\ partition\ table$
425327e51cbSPeter Avalos>>181	string	No\ operating\ system$
426327e51cbSPeter Avalos>>>201	string	Operating\ system\ load\ error$	\b, DR-DOS MBR, Version 7.01 to 7.03
427327e51cbSPeter Avalos>342	string	Invalid\ partition\ table$
428327e51cbSPeter Avalos>>366	string	No\ operating\ system$
429327e51cbSPeter Avalos>>>386	string	Operating\ system\ load\ error$	\b, DR-DOS MBR, version 7.01 to 7.03
430327e51cbSPeter Avalos>295	string	NEWLDR\0
431327e51cbSPeter Avalos>>302	string	Bad\ PT\ $
432327e51cbSPeter Avalos>>>310	string	No\ OS\ $
433327e51cbSPeter Avalos>>>>317	string	OS\ load\ err$
434327e51cbSPeter Avalos>>>>>329	string	Moved\ or\ missing\ IBMBIO.LDR\n\r
435327e51cbSPeter Avalos>>>>>>358	string	Press\ any\ key\ to\ continue.\n\r$
436327e51cbSPeter Avalos>>>>>>>387	string	Copyright\ (c)\ 1984,1998
437327e51cbSPeter Avalos>>>>>>>>411	string	Caldera\ Inc.\0		\b, DR-DOS MBR (IBMBIO.LDR)
438327e51cbSPeter Avalos#
439e8af9738SPeter Avalos# tests for different MS-DOS Master Boot Records (MBR) moved and merged
440e8af9738SPeter Avalos#
44179343712SPeter Avalos#>0x145	string	Default:\ F				\b, FREE-DOS MBR
44279343712SPeter Avalos#>0x14B	string	Default:\ F				\b, FREE-DOS 1.0 MBR
44379343712SPeter Avalos>0x145	search/7	Default:\ F			\b, FREE-DOS MBR
44479343712SPeter Avalos#>>313		string	F0\ .\ .\ .
44579343712SPeter Avalos#>>>322		string	disk\ 1
44679343712SPeter Avalos#>>>>382	string	FAT3
447327e51cbSPeter Avalos>64	string	no\ active\ partition\ found
448327e51cbSPeter Avalos>>96	string	read\ error\ while\ reading\ drive	\b, FREE-DOS Beta 0.9 MBR
44979343712SPeter Avalos# Ranish Partition Manager http://www.ranish.com/part/
45079343712SPeter Avalos>387	search/4	\0\ Error!\r
45179343712SPeter Avalos>>378	search/7	Virus!
45279343712SPeter Avalos>>>397	search/4	Booting\
45379343712SPeter Avalos>>>>408	search/4	HD1/\0	 			\b, Ranish MBR (
45479343712SPeter Avalos>>>>>416	string	Writing\ changes...		\b2.37
45579343712SPeter Avalos>>>>>>438	ubyte		x			\b,0x%x dots
45679343712SPeter Avalos>>>>>>440	ubyte		>0			\b,virus check
45779343712SPeter Avalos>>>>>>441	ubyte		>0			\b,partition %c
45879343712SPeter Avalos#2.38,2.42,2.44
45979343712SPeter Avalos>>>>>416	string	!Writing\ changes...		\b
46079343712SPeter Avalos>>>>>>418	ubyte	1				\bvirus check,
46179343712SPeter Avalos>>>>>>419	ubyte	x				\b0x%x seconds
46279343712SPeter Avalos>>>>>>420	ubyte&0x0F	>0			\b,partition
46379343712SPeter Avalos>>>>>>>420	ubyte&0x0F	<5			\b %x
46479343712SPeter Avalos>>>>>>>420	ubyte&0x0F	0Xf			\b ask
46579343712SPeter Avalos>>>>>420	ubyte		x			\b)
46679343712SPeter Avalos#
467e8af9738SPeter Avalos# SYSLINUX MBR moved
468327e51cbSPeter Avalos# http://www.acronis.de/
469327e51cbSPeter Avalos>362	string	MBR\ Error\ \0\r
470327e51cbSPeter Avalos>>376	string	ress\ any\ key\ to\
471327e51cbSPeter Avalos>>>392	string	boot\ from\ floppy...\0			\b, Acronis MBR
472327e51cbSPeter Avalos# added by Joerg Jenderek
473327e51cbSPeter Avalos# http://www.visopsys.org/
474327e51cbSPeter Avalos# http://partitionlogic.org.uk/
475327e51cbSPeter Avalos>309	string	No\ bootable\ partition\ found\r
476327e51cbSPeter Avalos>>339	string	I/O\ Error\ reading\ boot\ sector\r	\b, Visopsys MBR
477327e51cbSPeter Avalos>349	string	No\ bootable\ partition\ found\r
478327e51cbSPeter Avalos>>379	string	I/O\ Error\ reading\ boot\ sector\r	\b, simple Visopsys MBR
479327e51cbSPeter Avalos# bootloader, bootmanager
480327e51cbSPeter Avalos>0x40	string	SBML
481327e51cbSPeter Avalos# label with 11 characters of FAT 12 bit filesystem
482327e51cbSPeter Avalos>>43	string	SMART\ BTMGR
48379343712SPeter Avalos>>>430	string	SBMK\ Bad!\r			\b, Smart Boot Manager
48479343712SPeter Avalos# OEM-ID not always "SBM"
48579343712SPeter Avalos#>>>>3	strings	SBM
48679343712SPeter Avalos>>>>6	string	>\0                             \b, version %s
487327e51cbSPeter Avalos>382	string	XOSLLOADXCF			\b, eXtended Operating System Loader
488327e51cbSPeter Avalos>6	string	LILO				\b, LInux i386 boot LOader
489327e51cbSPeter Avalos>>120	string	LILO				\b, version 22.3.4 SuSe
490327e51cbSPeter Avalos>>172	string	LILO				\b, version 22.5.8 Debian
49179343712SPeter Avalos# updated by Joerg Jenderek at Oct 2008
492327e51cbSPeter Avalos# variables according to grub-0.97/stage1/stage1.S or
493327e51cbSPeter Avalos# http://www.gnu.org/software/grub/manual/grub.html#Embedded-data
494327e51cbSPeter Avalos# usual values are marked with comments to get only informations of strange GRUB loaders
49579343712SPeter Avalos>342		search/60	\0Geom\0
49679343712SPeter Avalos#>0		ulelong		x		%x=0x009048EB ,	0x2a9048EB  0
497327e51cbSPeter Avalos>>0x41		ubyte		<2
498327e51cbSPeter Avalos>>>0x3E		ubyte		>2		\b; GRand Unified Bootloader
499327e51cbSPeter Avalos# 0x3 for 0.5.95,0.93,0.94,0.96 0x4 for 1.90
500327e51cbSPeter Avalos>>>>0x3E	ubyte		x		\b, stage1 version 0x%x
501327e51cbSPeter Avalos#If it is 0xFF, use a drive passed by BIOS
502327e51cbSPeter Avalos>>>>0x40	ubyte		<0xFF		\b, boot drive 0x%x
503327e51cbSPeter Avalos# in most case 0,1,0x2e for GRUB 0.5.95
504327e51cbSPeter Avalos>>>>0x41	ubyte		>0		\b, LBA flag 0x%x
505327e51cbSPeter Avalos>>>>0x42	uleshort	<0x8000		\b, stage2 address 0x%x
506327e51cbSPeter Avalos#>>>>0x42	uleshort	=0x8000		\b, stage2 address 0x%x (usual)
507327e51cbSPeter Avalos>>>>0x42	uleshort	>0x8000		\b, stage2 address 0x%x
508327e51cbSPeter Avalos#>>>>0x44	ulelong		=1		\b, 1st sector stage2 0x%x (default)
509327e51cbSPeter Avalos>>>>0x44	ulelong		>1		\b, 1st sector stage2 0x%x
510327e51cbSPeter Avalos>>>>0x48	uleshort	<0x800		\b, stage2 segment 0x%x
511327e51cbSPeter Avalos#>>>>0x48	uleshort	=0x800		\b, stage2 segment 0x%x (usual)
512327e51cbSPeter Avalos>>>>0x48	uleshort	>0x800		\b, stage2 segment 0x%x
513327e51cbSPeter Avalos>>>>402		string	Geom\0Hard\ Disk\0Read\0\ Error\0
514327e51cbSPeter Avalos>>>>>394	string	stage1			\b, GRUB version 0.5.95
515327e51cbSPeter Avalos>>>>382		string	Geom\0Hard\ Disk\0Read\0\ Error\0
516327e51cbSPeter Avalos>>>>>376	string	GRUB\ \0		\b, GRUB version 0.93 or 1.94
517327e51cbSPeter Avalos>>>>383		string	Geom\0Hard\ Disk\0Read\0\ Error\0
518327e51cbSPeter Avalos>>>>>377	string	GRUB\ \0		\b, GRUB version 0.94
519327e51cbSPeter Avalos>>>>385		string	Geom\0Hard\ Disk\0Read\0\ Error\0
520327e51cbSPeter Avalos>>>>>379	string	GRUB\ \0		\b, GRUB version 0.95 or 0.96
521327e51cbSPeter Avalos>>>>391		string	Geom\0Hard\ Disk\0Read\0\ Error\0
522327e51cbSPeter Avalos>>>>>385	string	GRUB\ \0		\b, GRUB version 0.97
523*82c5fa3eSPeter Avalos# unknown version
524327e51cbSPeter Avalos>>>343		string	Geom\0Read\0\ Error\0
525327e51cbSPeter Avalos>>>>321		string	Loading\ stage1.5	\b, GRUB version x.y
526327e51cbSPeter Avalos>>>380		string	Geom\0Hard\ Disk\0Read\0\ Error\0
527327e51cbSPeter Avalos>>>>374		string	GRUB\ \0		\b, GRUB version n.m
528e8af9738SPeter Avalos# SYSLINUX bootloader moved
529327e51cbSPeter Avalos>395	string	chksum\0\ ERROR!\0		\b, Gujin bootloader
530327e51cbSPeter Avalos# http://www.bcdwb.de/bcdw/index_e.htm
531327e51cbSPeter Avalos>3	string	BCDL
532327e51cbSPeter Avalos>>498	string	BCDL\ \ \ \ BIN			\b, Bootable CD Loader (1.50Z)
533e8af9738SPeter Avalos# mbr partition table entries updated by Joerg Jenderek at Sep 2013
534e8af9738SPeter Avalos# skip Norton Utilities disc image data
535e8af9738SPeter Avalos>3		string		!IHISK
536e8af9738SPeter Avalos# skip Linux style boot sector starting with assember instructions mov 0x7c0,ax;
537e8af9738SPeter Avalos>>0		belong		!0xb8c0078e
538327e51cbSPeter Avalos# not Linux kernel
539e8af9738SPeter Avalos>>>514		string		!HdrS
540327e51cbSPeter Avalos# not BeOS
541e8af9738SPeter Avalos>>>>422		string		!Be\ Boot\ Loader
542*82c5fa3eSPeter Avalos>>>>>32769	string    CD001
543*82c5fa3eSPeter Avalos>>>>>>0	use cdrom
544e8af9738SPeter Avalos# jump over BPB instruction implies DOS bootsector or AdvanceMAME mbr
545e8af9738SPeter Avalos>>>>>0		ubelong&0xFD000000	=0xE9000000
546e8af9738SPeter Avalos# AdvanceMAME mbr
547e8af9738SPeter Avalos>>>>>>(1.b+2)	ubequad		0xfa31c08ed88ec08e
548e8af9738SPeter Avalos>>>>>>>446	use		partition-table
549e8af9738SPeter Avalos# mbr, Norton Utilities disc image data, or 2nd,etc. sector of x86 bootloader
550e8af9738SPeter Avalos>>>>>0		ubelong&0xFD000000	!0xE9000000
551e8af9738SPeter Avalos# skip FSInfosector
552e8af9738SPeter Avalos>>>>>>0		string		!RRaA
553e8af9738SPeter Avalos# skip 3rd sector of MS x86 bootloader with assember instructions cli;MOVZX EAX,BYTE PTR [BP+10];MOV ECX,
554e8af9738SPeter Avalos# http://thestarman.pcministry.com/asm/mbr/MSWIN41.htm
555e8af9738SPeter Avalos>>>>>>>0	ubequad		!0xfa660fb64610668b
556e8af9738SPeter Avalos# skip 13rd sector of MS x86 bootloader
557e8af9738SPeter Avalos>>>>>>>>0	ubequad		!0x660fb64610668b4e
558e8af9738SPeter Avalos# skip sector starting with DOS new line
559e8af9738SPeter Avalos>>>>>>>>>0	string		!\r\n
560e8af9738SPeter Avalos# allowed active flag 0,80h-FFh
561e8af9738SPeter Avalos>>>>>>>>>>446	ubyte		0
562e8af9738SPeter Avalos>>>>>>>>>>>446	use		partition-table
563e8af9738SPeter Avalos>>>>>>>>>>446	ubyte		>0x7F
564e8af9738SPeter Avalos>>>>>>>>>>>446	use		partition-table
565e8af9738SPeter Avalos# TODO: test for extended bootrecord (ebr) moved and merged with mbr partition table entries
566f72f8299SJan Lentfer# mbr partition table entries end
567327e51cbSPeter Avalos# http://www.acronis.de/
568327e51cbSPeter Avalos#FAT label=ACRONIS\ SZ
569327e51cbSPeter Avalos#OEM-ID=BOOTWIZ0
570327e51cbSPeter Avalos>442	string	Non-system\ disk,\
571327e51cbSPeter Avalos>>459	string	press\ any\ key...\x7\0		\b, Acronis Startup Recovery Loader
572*82c5fa3eSPeter Avalos# updated by Joerg Jenderek at Nov 2012, Sep 2013
573e8af9738SPeter Avalos# DOS names like F11.SYS or BOOTWIZ.SYS are 8 right space padded bytes+3 bytes
574*82c5fa3eSPeter Avalos# display 1 space
575*82c5fa3eSPeter Avalos>>>447	ubyte	x		\b
576*82c5fa3eSPeter Avalos>>>477	use	DOS-filename
577327e51cbSPeter Avalos#
578327e51cbSPeter Avalos>185	string	FDBOOT\ Version\
579327e51cbSPeter Avalos>>204	string	\rNo\ Systemdisk.\
580327e51cbSPeter Avalos>>>220	string	Booting\ from\ harddisk.\n\r
581327e51cbSPeter Avalos>>>245	string	Cannot\ load\ from\ harddisk.\n\r
582327e51cbSPeter Avalos>>>>273 string	Insert\ Systemdisk\
583327e51cbSPeter Avalos>>>>>291 string and\ press\ any\ key.\n\r		\b, FDBOOT harddisk Bootloader
584327e51cbSPeter Avalos>>>>>>200 string	>\0                             \b, version %-3s
585327e51cbSPeter Avalos>242	string	Bootsector\ from\ C.H.\ Hochst\204
586e8af9738SPeter Avalos# http://freecode.com/projects/dosfstools	dosfstools-n.m/src/mkdosfs.c
587e8af9738SPeter Avalos# updated by Joerg Jenderek at Nov 2012. Use search directive with offset instead of string
588e8af9738SPeter Avalos# skip name "C.H. Hochstaetter" partly because it is sometimes written without umlaut
589e8af9738SPeter Avalos>242	search/127	Bootsector\ from\ C.H.\ Hochst
590e8af9738SPeter Avalos>>278	search/127	No\ Systemdisk.\ Booting\ from\ harddisk
591e8af9738SPeter Avalos# followed by variants with point,CR-NL or NL-CR
592e8af9738SPeter Avalos>>>208	search/261	Cannot\ load\ from\ harddisk.
593e8af9738SPeter Avalos# followed by variants CR-NL or NL-CR
594e8af9738SPeter Avalos>>>>236	search/235	Insert\ Systemdisk\ and\ press\ any\ key.
595e8af9738SPeter Avalos# followed by variants with point,CR-NL or NL-CR
596e8af9738SPeter Avalos>>>>>180	search/96	Disk\ formatted\ with\ WinImage\ 	\b, WinImage harddisk Bootloader
597e8af9738SPeter Avalos# followed by string like "6.50 (c) 1993-2004 Gilles Vollant"
598e8af9738SPeter Avalos>>>>>>&0	string		x 					\b, version %-4.4s
599327e51cbSPeter Avalos>(1.b+2)	ubyte		0xe
600327e51cbSPeter Avalos>>(1.b+3)	ubyte		0x1f
601327e51cbSPeter Avalos>>>(1.b+4)	ubyte		0xbe
602e8af9738SPeter Avalos# message offset found at (1.b+5) is 0x77 for FAT32 or 0x5b for others
603e8af9738SPeter Avalos>>>>(1.b+5)	ubyte&0xd3	0x53
604e8af9738SPeter Avalos>>>>>(1.b+6)	ubyte		0x7c
605e8af9738SPeter Avalos# assembler instructions: lodsb;and al,al;jz 0xb;push si;mov ah,
606e8af9738SPeter Avalos>>>>>>(1.b+7)	ubyte		0xac
607e8af9738SPeter Avalos>>>>>>>(1.b+8)	ubyte		0x22
608e8af9738SPeter Avalos>>>>>>>>(1.b+9)	ubyte		0xc0
609e8af9738SPeter Avalos>>>>>>>>>(1.b+10)	ubyte	0x74
610e8af9738SPeter Avalos>>>>>>>>>>(1.b+11)	ubyte	0x0b
611e8af9738SPeter Avalos>>>>>>>>>>>(1.b+12)	ubyte	0x56
612e8af9738SPeter Avalos>>>>>>>>>>>>(1.b+13)	ubyte	0xb4			\b, mkdosfs boot message display
613e8af9738SPeter Avalos# FAT1X version
614e8af9738SPeter Avalos>>>>>>>>>>>>>(1.b+5)	ubyte	0x5b
615e8af9738SPeter Avalos>>>>>>>>>>>>>>0x5b	string	>\0			"%-s"
616e8af9738SPeter Avalos# FAT32 version
617e8af9738SPeter Avalos>>>>>>>>>>>>>(1.b+5)	ubyte	0x77
618e8af9738SPeter Avalos>>>>>>>>>>>>>>0x77	string	>\0			"%-s"
61979343712SPeter Avalos>214	string	Please\ try\ to\ install\ FreeDOS\ 	\b, DOS Emulator boot message display
62079343712SPeter Avalos#>>244	string	from\ dosemu-freedos-*-bin.tgz\r
62179343712SPeter Avalos#>>>170	string	Sorry,\ could\ not\ load\ an\
62279343712SPeter Avalos#>>>>195	string	operating\ system.\r\n
62379343712SPeter Avalos#
624327e51cbSPeter Avalos>103	string	This\ is\ not\ a\ bootable\ disk.\
625327e51cbSPeter Avalos>>132	string	Please\ insert\ a\ bootable\
626327e51cbSPeter Avalos>>>157	string	floppy\ and\r\n
627327e51cbSPeter Avalos>>>>169	string	press\ any\ key\ to\ try\ again...\r	\b, FREE-DOS message display
628327e51cbSPeter Avalos#
629327e51cbSPeter Avalos>66	string	Solaris\ Boot\ Sector
630327e51cbSPeter Avalos>>99	string	Incomplete\ MDBoot\ load.
631327e51cbSPeter Avalos>>>89	string	Version 				\b, Sun Solaris Bootloader
632327e51cbSPeter Avalos>>>>97	byte	x					version %c
633327e51cbSPeter Avalos#
634327e51cbSPeter Avalos>408	string	OS/2\ !!\ SYS01475\r\0
635327e51cbSPeter Avalos>>429	string	OS/2\ !!\ SYS02025\r\0
636327e51cbSPeter Avalos>>>450	string	OS/2\ !!\ SYS02027\r\0
637327e51cbSPeter Avalos>>>469	string	OS2BOOT\ \ \ \ 				\b, IBM OS/2 Warp bootloader
638327e51cbSPeter Avalos#
639327e51cbSPeter Avalos>409	string	OS/2\ !!\ SYS01475\r\0
640327e51cbSPeter Avalos>>430	string	OS/2\ !!\ SYS02025\r\0
641327e51cbSPeter Avalos>>>451	string	OS/2\ !!\ SYS02027\r\0
642327e51cbSPeter Avalos>>>470	string	OS2BOOT\ \ \ \ 				\b, IBM OS/2 Warp Bootloader
643327e51cbSPeter Avalos>112		string	This\ disk\ is\ not\ bootable\r
644327e51cbSPeter Avalos>>142		string	If\ you\ wish\ to\ make\ it\ bootable
645327e51cbSPeter Avalos>>>176		string	run\ the\ DOS\ program\ SYS\
646327e51cbSPeter Avalos>>>200		string	after\ the\r
647327e51cbSPeter Avalos>>>>216		string	system\ has\ been\ loaded\r\n
648327e51cbSPeter Avalos>>>>>242	string	Please\ insert\ a\ DOS\ diskette\
649327e51cbSPeter Avalos>>>>>271	string	into\r\n\ the\ drive\ and\
650327e51cbSPeter Avalos>>>>>>292	string	strike\ any\ key...\0		\b, IBM OS/2 Warp message display
651327e51cbSPeter Avalos# XP
652327e51cbSPeter Avalos>430	string	NTLDR\ is\ missing\xFF\r\n
653327e51cbSPeter Avalos>>449	string	Disk\ error\xFF\r\n
654327e51cbSPeter Avalos>>>462	string	Press\ any\ key\ to\ restart\r		\b, Microsoft Windows XP Bootloader
655327e51cbSPeter Avalos# DOS names like NTLDR,CMLDR,$LDR$ are 8 right space padded bytes+3 bytes
656327e51cbSPeter Avalos>>>>417		ubyte&0xDF	>0
657327e51cbSPeter Avalos>>>>>417	string		x			%-.5s
658327e51cbSPeter Avalos>>>>>>422	ubyte&0xDF	>0
659327e51cbSPeter Avalos>>>>>>>422	string		x 			\b%-.3s
660327e51cbSPeter Avalos>>>>>425	ubyte&0xDF	>0
661327e51cbSPeter Avalos>>>>>>425	string		>\ 			\b.%-.3s
662327e51cbSPeter Avalos#
663327e51cbSPeter Avalos>>>>371		ubyte		>0x20
664327e51cbSPeter Avalos>>>>>368	ubyte&0xDF	>0
665327e51cbSPeter Avalos>>>>>>368	string		x 			%-.5s
666327e51cbSPeter Avalos>>>>>>>373	ubyte&0xDF	>0
667327e51cbSPeter Avalos>>>>>>>>373	string		x 			\b%-.3s
668327e51cbSPeter Avalos>>>>>>376	ubyte&0xDF	>0
669327e51cbSPeter Avalos>>>>>>>376	string		x 			\b.%-.3s
670327e51cbSPeter Avalos#
671327e51cbSPeter Avalos>430	string	NTLDR\ nicht\ gefunden\xFF\r\n
672327e51cbSPeter Avalos>>453	string	Datentr\204gerfehler\xFF\r\n
673327e51cbSPeter Avalos>>>473	string	Neustart\ mit\ beliebiger\ Taste\r	\b, Microsoft Windows XP Bootloader (german)
674327e51cbSPeter Avalos>>>>417		ubyte&0xDF	>0
675327e51cbSPeter Avalos>>>>>417	string		x			%-.5s
676327e51cbSPeter Avalos>>>>>>422	ubyte&0xDF	>0
677327e51cbSPeter Avalos>>>>>>>422	string		x 			\b%-.3s
678327e51cbSPeter Avalos>>>>>425	ubyte&0xDF	>0
679327e51cbSPeter Avalos>>>>>>425	string		>\ 			\b.%-.3s
680327e51cbSPeter Avalos# offset variant
681327e51cbSPeter Avalos>>>>379	string	\0
682327e51cbSPeter Avalos>>>>>368	ubyte&0xDF	>0
683327e51cbSPeter Avalos>>>>>>368	string		x 			%-.5s
684327e51cbSPeter Avalos>>>>>>>373	ubyte&0xDF	>0
685327e51cbSPeter Avalos>>>>>>>>373	string		x 			\b%-.3s
686327e51cbSPeter Avalos#
687327e51cbSPeter Avalos>430	string	NTLDR\ fehlt\xFF\r\n
688327e51cbSPeter Avalos>>444	string	Datentr\204gerfehler\xFF\r\n
689327e51cbSPeter Avalos>>>464	string	Neustart\ mit\ beliebiger\ Taste\r	\b, Microsoft Windows XP Bootloader (2.german)
690327e51cbSPeter Avalos>>>>417		ubyte&0xDF	>0
691327e51cbSPeter Avalos>>>>>417	string		x			%-.5s
692327e51cbSPeter Avalos>>>>>>422	ubyte&0xDF	>0
693327e51cbSPeter Avalos>>>>>>>422	string		x 			\b%-.3s
694327e51cbSPeter Avalos>>>>>425	ubyte&0xDF	>0
695327e51cbSPeter Avalos>>>>>>425	string		>\ 			\b.%-.3s
696327e51cbSPeter Avalos# variant
697327e51cbSPeter Avalos>>>>371		ubyte		>0x20
698327e51cbSPeter Avalos>>>>>368	ubyte&0xDF	>0
699327e51cbSPeter Avalos>>>>>>368	string		x 			%-.5s
700327e51cbSPeter Avalos>>>>>>>373	ubyte&0xDF	>0
701327e51cbSPeter Avalos>>>>>>>>373	string		x 			\b%-.3s
702327e51cbSPeter Avalos>>>>>>376	ubyte&0xDF	>0
703327e51cbSPeter Avalos>>>>>>>376	string		x 			\b.%-.3s
704327e51cbSPeter Avalos#
705327e51cbSPeter Avalos>430	string	NTLDR\ fehlt\xFF\r\n
706327e51cbSPeter Avalos>>444	string	Medienfehler\xFF\r\n
707327e51cbSPeter Avalos>>>459	string	Neustart:\ Taste\ dr\201cken\r		\b, Microsoft Windows XP Bootloader (3.german)
708327e51cbSPeter Avalos>>>>371		ubyte		>0x20
709327e51cbSPeter Avalos>>>>>368	ubyte&0xDF	>0
710327e51cbSPeter Avalos>>>>>>368	string		x 			%-.5s
711327e51cbSPeter Avalos>>>>>>>373	ubyte&0xDF	>0
712327e51cbSPeter Avalos>>>>>>>>373	string		x 			\b%-.3s
713327e51cbSPeter Avalos>>>>>>376	ubyte&0xDF	>0
714327e51cbSPeter Avalos>>>>>>>376	string		x 			\b.%-.3s
715327e51cbSPeter Avalos# variant
716327e51cbSPeter Avalos>>>>417		ubyte&0xDF	>0
717327e51cbSPeter Avalos>>>>>417	string		x			%-.5s
718327e51cbSPeter Avalos>>>>>>422	ubyte&0xDF	>0
719327e51cbSPeter Avalos>>>>>>>422	string		x 			\b%-.3s
720327e51cbSPeter Avalos>>>>>425	ubyte&0xDF	>0
721327e51cbSPeter Avalos>>>>>>425	string		>\ 			\b.%-.3s
722327e51cbSPeter Avalos#
723327e51cbSPeter Avalos>430	string	Datentr\204ger\ entfernen\xFF\r\n
724327e51cbSPeter Avalos>>454	string	Medienfehler\xFF\r\n
725327e51cbSPeter Avalos>>>469	string	Neustart:\ Taste\ dr\201cken\r		\b, Microsoft Windows XP Bootloader (4.german)
72679343712SPeter Avalos>>>>379		string		\0
72779343712SPeter Avalos>>>>>368	ubyte&0xDF	>0
72879343712SPeter Avalos>>>>>>368	string		x 			%-.5s
72979343712SPeter Avalos>>>>>>>373	ubyte&0xDF	>0
73079343712SPeter Avalos>>>>>>>>373	string		x 			\b%-.3s
73179343712SPeter Avalos>>>>>>376	ubyte&0xDF	>0
73279343712SPeter Avalos>>>>>>>376	string		x 			\b.%-.3s
73379343712SPeter Avalos# variant
73479343712SPeter Avalos>>>>417		ubyte&0xDF	>0
73579343712SPeter Avalos>>>>>417	string		x			%-.5s
73679343712SPeter Avalos>>>>>>422	ubyte&0xDF	>0
73779343712SPeter Avalos>>>>>>>422	string		x 			\b%-.3s
73879343712SPeter Avalos>>>>>425	ubyte&0xDF	>0
73979343712SPeter Avalos>>>>>>425	string		>\ 			\b.%-.3s
74079343712SPeter Avalos#
74179343712SPeter Avalos
742327e51cbSPeter Avalos#>3	string	NTFS\ \ \ \
743327e51cbSPeter Avalos>389	string	Fehler\ beim\ Lesen\
744327e51cbSPeter Avalos>>407	string	des\ Datentr\204gers
745327e51cbSPeter Avalos>>>426	string	NTLDR\ fehlt
746327e51cbSPeter Avalos>>>>440	string	NTLDR\ ist\ komprimiert
747327e51cbSPeter Avalos>>>>>464 string	Neustart\ mit\ Strg+Alt+Entf\r		\b, Microsoft Windows XP Bootloader NTFS (german)
748327e51cbSPeter Avalos#>3	string	NTFS\ \ \ \
749327e51cbSPeter Avalos>313	string	A\ disk\ read\ error\ occurred.\r
750327e51cbSPeter Avalos>>345	string	A\ kernel\ file\ is\ missing\
751327e51cbSPeter Avalos>>>370	string	from\ the\ disk.\r
752327e51cbSPeter Avalos>>>>484	string	NTLDR\ is\ compressed
753327e51cbSPeter Avalos>>>>>429 string	Insert\ a\ system\ diskette\
754327e51cbSPeter Avalos>>>>>>454 string and\ restart\r\nthe\ system.\r		\b, Microsoft Windows XP Bootloader NTFS
755327e51cbSPeter Avalos# DOS loader variants different languages,offsets
756327e51cbSPeter Avalos>472	ubyte&0xDF	>0
757327e51cbSPeter Avalos>>389	string	Invalid\ system\ disk\xFF\r\n
758327e51cbSPeter Avalos>>>411	string	Disk\ I/O\ error
759327e51cbSPeter Avalos>>>>428	string	Replace\ the\ disk,\ and\
760327e51cbSPeter Avalos>>>>>455 string	press\ any\ key				\b, Microsoft Windows 98 Bootloader
761327e51cbSPeter Avalos#IO.SYS
762327e51cbSPeter Avalos>>>>>>472	ubyte&0xDF	>0
763327e51cbSPeter Avalos>>>>>>>472	string		x 			\b %-.2s
764327e51cbSPeter Avalos>>>>>>>>474	ubyte&0xDF	>0
765327e51cbSPeter Avalos>>>>>>>>>474	string		x 			\b%-.5s
766327e51cbSPeter Avalos>>>>>>>>>>479	ubyte&0xDF	>0
767327e51cbSPeter Avalos>>>>>>>>>>>479 string		x 			\b%-.1s
768327e51cbSPeter Avalos>>>>>>>480	ubyte&0xDF	>0
769327e51cbSPeter Avalos>>>>>>>>480	string		x 			\b.%-.3s
770327e51cbSPeter Avalos#MSDOS.SYS
771327e51cbSPeter Avalos>>>>>>>483	ubyte&0xDF	>0			\b+
772327e51cbSPeter Avalos>>>>>>>>483	string		x 			\b%-.5s
773327e51cbSPeter Avalos>>>>>>>>>488	ubyte&0xDF	>0
774327e51cbSPeter Avalos>>>>>>>>>>488	string		x 			\b%-.3s
775327e51cbSPeter Avalos>>>>>>>>491	ubyte&0xDF	>0
776327e51cbSPeter Avalos>>>>>>>>>491	string		x 			\b.%-.3s
777327e51cbSPeter Avalos#
778327e51cbSPeter Avalos>>390	string	Invalid\ system\ disk\xFF\r\n
779327e51cbSPeter Avalos>>>412	string	Disk\ I/O\ error\xFF\r\n
780327e51cbSPeter Avalos>>>>429	string	Replace\ the\ disk,\ and\
781327e51cbSPeter Avalos>>>>>451 string	then\ press\ any\ key\r			\b, Microsoft Windows 98 Bootloader
782327e51cbSPeter Avalos>>388	string	Ungueltiges\ System\ \xFF\r\n
783327e51cbSPeter Avalos>>>410	string	E/A-Fehler\ \ \ \ \xFF\r\n
784327e51cbSPeter Avalos>>>>427	string	Datentraeger\ wechseln\ und\
785327e51cbSPeter Avalos>>>>>453 string	Taste\ druecken\r			\b, Microsoft Windows 95/98/ME Bootloader (german)
786327e51cbSPeter Avalos#WINBOOT.SYS only not spaces (0xDF)
787327e51cbSPeter Avalos>>>>>>497	ubyte&0xDF	>0
788327e51cbSPeter Avalos>>>>>>>497	string		x 			%-.5s
789327e51cbSPeter Avalos>>>>>>>>502	ubyte&0xDF	>0
790327e51cbSPeter Avalos>>>>>>>>>502	string		x 			\b%-.1s
791327e51cbSPeter Avalos>>>>>>>>>>503	ubyte&0xDF	>0
792327e51cbSPeter Avalos>>>>>>>>>>>503	string		x 			\b%-.1s
793327e51cbSPeter Avalos>>>>>>>>>>>>504	ubyte&0xDF	>0
794327e51cbSPeter Avalos>>>>>>>>>>>>>504 string		x 			\b%-.1s
795327e51cbSPeter Avalos>>>>>>505	ubyte&0xDF	>0
796327e51cbSPeter Avalos>>>>>>>505	string		x 			\b.%-.3s
797327e51cbSPeter Avalos#IO.SYS
798327e51cbSPeter Avalos>>>>>>472	ubyte&0xDF	>0			or
799327e51cbSPeter Avalos>>>>>>>472	string		x 			\b %-.2s
800327e51cbSPeter Avalos>>>>>>>>474	ubyte&0xDF	>0
801327e51cbSPeter Avalos>>>>>>>>>474	string		x 			\b%-.5s
802327e51cbSPeter Avalos>>>>>>>>>>479	ubyte&0xDF	>0
803327e51cbSPeter Avalos>>>>>>>>>>>479 string		x 			\b%-.1s
804327e51cbSPeter Avalos>>>>>>>480	ubyte&0xDF	>0
805327e51cbSPeter Avalos>>>>>>>>480	string		x 			\b.%-.3s
806327e51cbSPeter Avalos#MSDOS.SYS
807327e51cbSPeter Avalos>>>>>>>483	ubyte&0xDF	>0			\b+
808327e51cbSPeter Avalos>>>>>>>>483	string		x 			\b%-.5s
809327e51cbSPeter Avalos>>>>>>>>>488	ubyte&0xDF	>0
810327e51cbSPeter Avalos>>>>>>>>>>488	string		x 			\b%-.3s
811327e51cbSPeter Avalos>>>>>>>>491	ubyte&0xDF	>0
812327e51cbSPeter Avalos>>>>>>>>>491	string		x 			\b.%-.3s
813327e51cbSPeter Avalos#
814327e51cbSPeter Avalos>>390	string	Ungueltiges\ System\ \xFF\r\n
815327e51cbSPeter Avalos>>>412	string	E/A-Fehler\ \ \ \ \xFF\r\n
816327e51cbSPeter Avalos>>>>429	string	Datentraeger\ wechseln\ und\
817327e51cbSPeter Avalos>>>>>455 string	Taste\ druecken\r			\b, Microsoft Windows 95/98/ME Bootloader (German)
818327e51cbSPeter Avalos#WINBOOT.SYS only not spaces (0xDF)
819327e51cbSPeter Avalos>>>>>>497	ubyte&0xDF	>0
820327e51cbSPeter Avalos>>>>>>>497	string		x 			%-.7s
821327e51cbSPeter Avalos>>>>>>>>504	ubyte&0xDF	>0
822327e51cbSPeter Avalos>>>>>>>>>504	string		x 			\b%-.1s
823327e51cbSPeter Avalos>>>>>>505	ubyte&0xDF	>0
824327e51cbSPeter Avalos>>>>>>>505	string		x 			\b.%-.3s
825327e51cbSPeter Avalos#IO.SYS
826327e51cbSPeter Avalos>>>>>>472	ubyte&0xDF	>0			or
827327e51cbSPeter Avalos>>>>>>>472	string		x 			\b %-.2s
828327e51cbSPeter Avalos>>>>>>>>474	ubyte&0xDF	>0
829327e51cbSPeter Avalos>>>>>>>>>474	string		x 			\b%-.6s
830327e51cbSPeter Avalos>>>>>>>480	ubyte&0xDF	>0
831327e51cbSPeter Avalos>>>>>>>>480	string		x 			\b.%-.3s
832327e51cbSPeter Avalos#MSDOS.SYS
833327e51cbSPeter Avalos>>>>>>>483	ubyte&0xDF	>0			\b+
834327e51cbSPeter Avalos>>>>>>>>483	string		x 			\b%-.5s
835327e51cbSPeter Avalos>>>>>>>>>488	ubyte&0xDF	>0
836327e51cbSPeter Avalos>>>>>>>>>>488	string		x 			\b%-.3s
837327e51cbSPeter Avalos>>>>>>>>491	ubyte&0xDF	>0
838327e51cbSPeter Avalos>>>>>>>>>491	string		x 			\b.%-.3s
839327e51cbSPeter Avalos#
840327e51cbSPeter Avalos>>389	string	Ungueltiges\ System\ \xFF\r\n
841327e51cbSPeter Avalos>>>411	string	E/A-Fehler\ \ \ \ \xFF\r\n
842327e51cbSPeter Avalos>>>>428	string	Datentraeger\ wechseln\ und\
843327e51cbSPeter Avalos>>>>>454 string	Taste\ druecken\r			\b, Microsoft Windows 95/98/ME Bootloader (GERMAN)
844327e51cbSPeter Avalos# DOS names like IO.SYS,WINBOOT.SYS,MSDOS.SYS,WINBOOT.INI are 8 right space padded bytes+3 bytes
845327e51cbSPeter Avalos>>>>>>472	string		x 			%-.2s
846327e51cbSPeter Avalos>>>>>>>474	ubyte&0xDF	>0
847327e51cbSPeter Avalos>>>>>>>>474	string		x 			\b%-.5s
848327e51cbSPeter Avalos>>>>>>>>479	ubyte&0xDF	>0
849327e51cbSPeter Avalos>>>>>>>>>479	string		x 			\b%-.1s
850327e51cbSPeter Avalos>>>>>>480	ubyte&0xDF	>0
851327e51cbSPeter Avalos>>>>>>>480	string		x 			\b.%-.3s
852327e51cbSPeter Avalos>>>>>>483	ubyte&0xDF	>0			\b+
853327e51cbSPeter Avalos>>>>>>>483	string		x 			\b%-.5s
854327e51cbSPeter Avalos>>>>>>>488	ubyte&0xDF	>0
855327e51cbSPeter Avalos>>>>>>>>488	string		x 			\b%-.2s
856327e51cbSPeter Avalos>>>>>>>>490	ubyte&0xDF	>0
857327e51cbSPeter Avalos>>>>>>>>>490	string		x 			\b%-.1s
858327e51cbSPeter Avalos>>>>>>>491	ubyte&0xDF	>0
859327e51cbSPeter Avalos>>>>>>>>491	string		x 			\b.%-.3s
860327e51cbSPeter Avalos>479	ubyte&0xDF	>0
861327e51cbSPeter Avalos>>416	string	Kein\ System\ oder\
862327e51cbSPeter Avalos>>>433	string	Laufwerksfehler
863327e51cbSPeter Avalos>>>>450	string	Wechseln\ und\ Taste\ dr\201cken	\b, Microsoft DOS Bootloader (german)
864327e51cbSPeter Avalos#IO.SYS
865327e51cbSPeter Avalos>>>>>479	string		x 			\b %-.2s
866327e51cbSPeter Avalos>>>>>>481	ubyte&0xDF	>0
867327e51cbSPeter Avalos>>>>>>>481	string		x 			\b%-.6s
868327e51cbSPeter Avalos>>>>>487	ubyte&0xDF	>0
869327e51cbSPeter Avalos>>>>>>487	string		x 			\b.%-.3s
870327e51cbSPeter Avalos#MSDOS.SYS
871327e51cbSPeter Avalos>>>>>>490	ubyte&0xDF	>0			\b+
872327e51cbSPeter Avalos>>>>>>>490	string		x 			\b%-.5s
873327e51cbSPeter Avalos>>>>>>>>495	ubyte&0xDF	>0
874327e51cbSPeter Avalos>>>>>>>>>495	string		x 			\b%-.3s
875327e51cbSPeter Avalos>>>>>>>498	ubyte&0xDF	>0
876327e51cbSPeter Avalos>>>>>>>>498	string		x 			\b.%-.3s
877327e51cbSPeter Avalos#
878327e51cbSPeter Avalos>376	search/41	Non-System\ disk\ or\
879327e51cbSPeter Avalos>>395	search/41	disk\ error\r
880327e51cbSPeter Avalos>>>407	search/41	Replace\ and\
881327e51cbSPeter Avalos>>>>419	search/41	press\ 				\b,
882327e51cbSPeter Avalos>>>>419	search/41	strike\ 			\b, old
883327e51cbSPeter Avalos>>>>426	search/41	any\ key\ when\ ready\r		MS or PC-DOS bootloader
884327e51cbSPeter Avalos#449			Disk\ Boot\ failure\r		MS 3.21
885327e51cbSPeter Avalos#466			Boot\ Failure\r			MS 3.30
886327e51cbSPeter Avalos>>>>>468 search/18	\0
887327e51cbSPeter Avalos#IO.SYS,IBMBIO.COM
888327e51cbSPeter Avalos>>>>>>&0	string		x 			\b %-.2s
889327e51cbSPeter Avalos>>>>>>>&-20	ubyte&0xDF	>0
890327e51cbSPeter Avalos>>>>>>>>&-1	string		x 			\b%-.4s
891327e51cbSPeter Avalos>>>>>>>>>&-16	ubyte&0xDF	>0
892327e51cbSPeter Avalos>>>>>>>>>>&-1	string		x 			\b%-.2s
893327e51cbSPeter Avalos>>>>>>&8	ubyte&0xDF	>0			\b.
894327e51cbSPeter Avalos>>>>>>>&-1	string		x 			\b%-.3s
895327e51cbSPeter Avalos#MSDOS.SYS,IBMDOS.COM
896327e51cbSPeter Avalos>>>>>>&11	ubyte&0xDF	>0			\b+
897327e51cbSPeter Avalos>>>>>>>&-1	string		x 			\b%-.5s
898327e51cbSPeter Avalos>>>>>>>>&-6	ubyte&0xDF	>0
899327e51cbSPeter Avalos>>>>>>>>>&-1	string		x 			\b%-.1s
900327e51cbSPeter Avalos>>>>>>>>>>&-5	ubyte&0xDF	>0
901327e51cbSPeter Avalos>>>>>>>>>>>&-1	string		x 			\b%-.2s
902327e51cbSPeter Avalos>>>>>>>&7	ubyte&0xDF	>0			\b.
903327e51cbSPeter Avalos>>>>>>>>&-1	string		x 			\b%-.3s
904327e51cbSPeter Avalos>441	string	Cannot\ load\ from\ harddisk.\n\r
905327e51cbSPeter Avalos>>469	string	Insert\ Systemdisk\
906327e51cbSPeter Avalos>>>487	string	and\ press\ any\ key.\n\r		\b, MS (2.11) DOS bootloader
907327e51cbSPeter Avalos#>43	string	\224R-LOADER\ \ SYS			=label
908327e51cbSPeter Avalos>54	string	SYS
909327e51cbSPeter Avalos>>324	string	VASKK
910327e51cbSPeter Avalos>>>495	string	NEWLDR\0				\b, DR-DOS Bootloader (LOADER.SYS)
911327e51cbSPeter Avalos#
912327e51cbSPeter Avalos>98	string	Press\ a\ key\ to\ retry\0\r
913327e51cbSPeter Avalos>>120	string	Cannot\ find\ file\ \0\r
914327e51cbSPeter Avalos>>>139	string	Disk\ read\ error\0\r
915327e51cbSPeter Avalos>>>>156	string	Loading\ ...\0				\b, DR-DOS (3.41) Bootloader
916327e51cbSPeter Avalos#DRBIOS.SYS
917327e51cbSPeter Avalos>>>>>44		ubyte&0xDF	>0
918327e51cbSPeter Avalos>>>>>>44	string		x			\b %-.6s
919327e51cbSPeter Avalos>>>>>>>50	ubyte&0xDF	>0
920327e51cbSPeter Avalos>>>>>>>>50	string		x 			\b%-.2s
921327e51cbSPeter Avalos>>>>>>52	ubyte&0xDF	>0
922327e51cbSPeter Avalos>>>>>>>52	string		x 			\b.%-.3s
923327e51cbSPeter Avalos#
924327e51cbSPeter Avalos>70	string	IBMBIO\ \ COM
925327e51cbSPeter Avalos>>472	string	Cannot\ load\ DOS!\
926327e51cbSPeter Avalos>>>489	string	Any\ key\ to\ retry			\b, DR-DOS Bootloader
927327e51cbSPeter Avalos>>471	string	Cannot\ load\ DOS\
928327e51cbSPeter Avalos>>487	string	press\ key\ to\ retry			\b, Open-DOS Bootloader
92979343712SPeter Avalos#??
930327e51cbSPeter Avalos>444	string	KERNEL\ \ SYS
931327e51cbSPeter Avalos>>314	string	BOOT\ error!				\b, FREE-DOS Bootloader
932327e51cbSPeter Avalos>499	string	KERNEL\ \ SYS
933327e51cbSPeter Avalos>>305	string	BOOT\ err!\0				\b, Free-DOS Bootloader
934327e51cbSPeter Avalos>449	string	KERNEL\ \ SYS
935327e51cbSPeter Avalos>>319	string	BOOT\ error!				\b, FREE-DOS 0.5 Bootloader
93679343712SPeter Avalos#
93779343712SPeter Avalos>449	string	Loading\ FreeDOS
93879343712SPeter Avalos>>0x1AF		ulelong		>0			\b, FREE-DOS 0.95,1.0 Bootloader
93979343712SPeter Avalos>>>497		ubyte&0xDF	>0
94079343712SPeter Avalos>>>>497		string		x 			\b %-.6s
94179343712SPeter Avalos>>>>>503	ubyte&0xDF	>0
94279343712SPeter Avalos>>>>>>503	string		x 			\b%-.1s
94379343712SPeter Avalos>>>>>>>504	ubyte&0xDF	>0
94479343712SPeter Avalos>>>>>>>>504	string		x 			\b%-.1s
94579343712SPeter Avalos>>>>505		ubyte&0xDF	>0
94679343712SPeter Avalos>>>>>505	string		x 			\b.%-.3s
94779343712SPeter Avalos#
94879343712SPeter Avalos>331	string	Error!.0				\b, FREE-DOS 1.0 bootloader
94979343712SPeter Avalos#
950327e51cbSPeter Avalos>125	string	Loading\ FreeDOS...\r
951327e51cbSPeter Avalos>>311	string	BOOT\ error!\r				\b, FREE-DOS bootloader
952327e51cbSPeter Avalos>>>441		ubyte&0xDF	>0
953327e51cbSPeter Avalos>>>>441		string		x 			\b %-.6s
954327e51cbSPeter Avalos>>>>>447	ubyte&0xDF	>0
955327e51cbSPeter Avalos>>>>>>447	string		x 			\b%-.1s
956327e51cbSPeter Avalos>>>>>>>448	ubyte&0xDF	>0
957327e51cbSPeter Avalos>>>>>>>>448	string		x 			\b%-.1s
958327e51cbSPeter Avalos>>>>449		ubyte&0xDF	>0
959327e51cbSPeter Avalos>>>>>449	string		x 			\b.%-.3s
960327e51cbSPeter Avalos>124	string	FreeDOS\0
961327e51cbSPeter Avalos>>331	string	\ err\0					\b, FREE-DOS BETa 0.9 Bootloader
962327e51cbSPeter Avalos# DOS names like KERNEL.SYS,KERNEL16.SYS,KERNEL32.SYS,METAKERN.SYS are 8 right space padded bytes+3 bytes
963327e51cbSPeter Avalos>>>497		ubyte&0xDF	>0
964327e51cbSPeter Avalos>>>>497		string		x 			\b %-.6s
965327e51cbSPeter Avalos>>>>>503	ubyte&0xDF	>0
966327e51cbSPeter Avalos>>>>>>503	string		x 			\b%-.1s
967327e51cbSPeter Avalos>>>>>>>504	ubyte&0xDF	>0
968327e51cbSPeter Avalos>>>>>>>>504	string		x 			\b%-.1s
969327e51cbSPeter Avalos>>>>505		ubyte&0xDF	>0
970327e51cbSPeter Avalos>>>>>505	string		x 			\b.%-.3s
971327e51cbSPeter Avalos>>333	string	\ err\0					\b, FREE-DOS BEta 0.9 Bootloader
972327e51cbSPeter Avalos>>>497		ubyte&0xDF	>0
973327e51cbSPeter Avalos>>>>497		string		x 			\b %-.6s
974327e51cbSPeter Avalos>>>>>503	ubyte&0xDF	>0
975327e51cbSPeter Avalos>>>>>>503	string		x 			\b%-.1s
976327e51cbSPeter Avalos>>>>>>>504	ubyte&0xDF	>0
977327e51cbSPeter Avalos>>>>>>>>504	string		x 			\b%-.1s
978327e51cbSPeter Avalos>>>>505		ubyte&0xDF	>0
979327e51cbSPeter Avalos>>>>>505	string		x 			\b.%-.3s
980327e51cbSPeter Avalos>>334	string	\ err\0					\b, FREE-DOS Beta 0.9 Bootloader
981327e51cbSPeter Avalos>>>497		ubyte&0xDF	>0
982327e51cbSPeter Avalos>>>>497		string		x 			\b %-.6s
983327e51cbSPeter Avalos>>>>>503	ubyte&0xDF	>0
984327e51cbSPeter Avalos>>>>>>503	string		x 			\b%-.1s
985327e51cbSPeter Avalos>>>>>>>504	ubyte&0xDF	>0
986327e51cbSPeter Avalos>>>>>>>>504	string		x 			\b%-.1s
987327e51cbSPeter Avalos>>>>505		ubyte&0xDF	>0
988327e51cbSPeter Avalos>>>>>505	string		x 			\b.%-.3s
989327e51cbSPeter Avalos>336	string	Error!\
990327e51cbSPeter Avalos>>343	string	Hit\ a\ key\ to\ reboot.		\b, FREE-DOS Beta 0.9sr1 Bootloader
991327e51cbSPeter Avalos>>>497		ubyte&0xDF	>0
992327e51cbSPeter Avalos>>>>497		string		x 			\b %-.6s
993327e51cbSPeter Avalos>>>>>503	ubyte&0xDF	>0
994327e51cbSPeter Avalos>>>>>>503	string		x 			\b%-.1s
995327e51cbSPeter Avalos>>>>>>>504	ubyte&0xDF	>0
996327e51cbSPeter Avalos>>>>>>>>504	string		x 			\b%-.1s
997327e51cbSPeter Avalos>>>>505		ubyte&0xDF	>0
998327e51cbSPeter Avalos>>>>>505	string		x 			\b.%-.3s
999327e51cbSPeter Avalos# added by Joerg Jenderek
1000327e51cbSPeter Avalos# http://www.visopsys.org/
1001327e51cbSPeter Avalos# http://partitionlogic.org.uk/
1002327e51cbSPeter Avalos# OEM-ID=Visopsys
1003327e51cbSPeter Avalos>478		ulelong	0
1004327e51cbSPeter Avalos>>(1.b+326)	string	I/O\ Error\ reading\
1005327e51cbSPeter Avalos>>>(1.b+344)	string	Visopsys\ loader\r
1006327e51cbSPeter Avalos>>>>(1.b+361)	string	Press\ any\ key\ to\ continue.\r	\b, Visopsys loader
1007327e51cbSPeter Avalos# http://alexfru.chat.ru/epm.html#bootprog
1008327e51cbSPeter Avalos>494	ubyte	>0x4D
1009327e51cbSPeter Avalos>>495	string	>E
1010327e51cbSPeter Avalos>>>495	string	<S
1011327e51cbSPeter Avalos#OEM-ID is not reliable
1012327e51cbSPeter Avalos>>>>3	string	BootProg
1013327e51cbSPeter Avalos# It just looks for a program file name at the root directory
1014327e51cbSPeter Avalos# and loads corresponding file with following execution.
1015327e51cbSPeter Avalos# DOS names like STARTUP.BIN,STARTUPC.COM,STARTUPE.EXE are 8 right space padded bytes+3 bytes
1016327e51cbSPeter Avalos>>>>499			ubyte&0xDF	>0		\b, COM/EXE Bootloader
1017*82c5fa3eSPeter Avalos>>>>>499		use		DOS-filename
1018327e51cbSPeter Avalos#If the boot sector fails to read any other sector,
1019327e51cbSPeter Avalos#it prints a very short message ("RE") to the screen and hangs the computer.
1020327e51cbSPeter Avalos#If the boot sector fails to find needed program in the root directory,
1021327e51cbSPeter Avalos#it also hangs with another message ("NF").
1022327e51cbSPeter Avalos>>>>>492		string		RENF		\b, FAT (12 bit)
1023327e51cbSPeter Avalos>>>>>495		string		RENF		\b, FAT (16 bit)
1024327e51cbSPeter Avalos#If the boot sector fails to read any other sector,
1025327e51cbSPeter Avalos#it prints a very short message ("RE") to the screen and hangs the computer.
102679343712SPeter Avalos# x86 bootloader end
1027e8af9738SPeter Avalos
1028*82c5fa3eSPeter Avalos# added by Joerg Jenderek at Feb 2013 according to http://thestarman.pcministry.com/asm/mbr/MSWIN41.htm#FSINFO
1029*82c5fa3eSPeter Avalos# and http://en.wikipedia.org/wiki/File_Allocation_Table#FS_Information_Sector
1030*82c5fa3eSPeter Avalos>0		string		RRaA
1031*82c5fa3eSPeter Avalos>>0x1E4		string		rrAa		\b, FSInfosector
1032*82c5fa3eSPeter Avalos#>>0x1FC	uleshort	=0		SHOULD BE ZERO
1033*82c5fa3eSPeter Avalos>>>0x1E8	ulelong		<0xffffffff	\b, %u free clusters
1034*82c5fa3eSPeter Avalos>>>0x1EC	ulelong		<0xffffffff	\b, last allocated cluster %u
1035*82c5fa3eSPeter Avalos
1036*82c5fa3eSPeter Avalos# updated by Joerg Jenderek at Sep 2007
1037*82c5fa3eSPeter Avalos>3	ubyte	0
1038*82c5fa3eSPeter Avalos#no active flag
1039*82c5fa3eSPeter Avalos>>446	ubyte	0
1040*82c5fa3eSPeter Avalos# partition 1 not empty
1041*82c5fa3eSPeter Avalos>>>450	ubyte	>0
1042*82c5fa3eSPeter Avalos# partitions 3,4 empty
1043*82c5fa3eSPeter Avalos>>>>482		ubyte	0
1044*82c5fa3eSPeter Avalos>>>>>498	ubyte	0
1045*82c5fa3eSPeter Avalos# partition 2 ID=0,5,15
1046*82c5fa3eSPeter Avalos>>>>>>466	ubyte	<0x10
1047*82c5fa3eSPeter Avalos>>>>>>>466	ubyte	0x05			\b, extended partition table
1048*82c5fa3eSPeter Avalos>>>>>>>466	ubyte	0x0F			\b, extended partition table (LBA)
1049*82c5fa3eSPeter Avalos>>>>>>>466	ubyte	0x0			\b, extended partition table (last)
1050*82c5fa3eSPeter Avalos
1051*82c5fa3eSPeter Avalos# DOS x86 sector separated and moved from "DOS/MBR boot sector" by Joerg Jenderek at May 2011
1052*82c5fa3eSPeter Avalos
1053*82c5fa3eSPeter Avalos>0x200	lelong	0x82564557		\b, BSD disklabel
1054*82c5fa3eSPeter Avalos
1055e8af9738SPeter Avalos# by Joerg Jenderek at Apr 2013
1056e8af9738SPeter Avalos#	Print the DOS filenames from directory entry form with 8 right space padded bytes + 3 bytes for extension
1057e8af9738SPeter Avalos#	like IO.SYS. MSDOS.SYS , KERNEL.SYS , DRBIO.SYS
1058e8af9738SPeter Avalos0	name			DOS-filename
1059e8af9738SPeter Avalos# space=0x20 (00100000b) means empty
1060e8af9738SPeter Avalos>0			ubyte&0xDF	>0
1061e8af9738SPeter Avalos>>0			ubyte		x 		\b%c
1062e8af9738SPeter Avalos>>>1			ubyte&0xDF	>0
1063e8af9738SPeter Avalos>>>>1			ubyte		x 		\b%c
1064e8af9738SPeter Avalos>>>>>2			ubyte&0xDF	>0
1065e8af9738SPeter Avalos>>>>>>2			ubyte		x 		\b%c
1066e8af9738SPeter Avalos>>>>>>>3		ubyte&0xDF	>0
1067e8af9738SPeter Avalos>>>>>>>>3		ubyte		x 		\b%c
1068e8af9738SPeter Avalos>>>>>>>>>4		ubyte&0xDF	>0
1069e8af9738SPeter Avalos>>>>>>>>>>4		ubyte		x 		\b%c
1070e8af9738SPeter Avalos>>>>>>>>>>>5		ubyte&0xDF	>0
1071e8af9738SPeter Avalos>>>>>>>>>>>>5		ubyte		x 		\b%c
1072e8af9738SPeter Avalos>>>>>>>>>>>>>6		ubyte&0xDF	>0
1073e8af9738SPeter Avalos>>>>>>>>>>>>>>6		ubyte		x 		\b%c
1074e8af9738SPeter Avalos>>>>>>>>>>>>>>>7	ubyte&0xDF	>0
1075e8af9738SPeter Avalos>>>>>>>>>>>>>>>>7	ubyte		x 		\b%c
1076e8af9738SPeter Avalos# DOS filename extension
1077e8af9738SPeter Avalos>>8			ubyte&0xDF	>0		\b.
1078e8af9738SPeter Avalos>>>8			ubyte		x 		\b%c
1079e8af9738SPeter Avalos>>>>9			ubyte&0xDF	>0
1080e8af9738SPeter Avalos>>>>>9			ubyte		x 		\b%c
1081e8af9738SPeter Avalos>>>>>>10		ubyte&0xDF	>0
1082e8af9738SPeter Avalos>>>>>>>10		ubyte		x 		\b%c
1083e8af9738SPeter Avalos#	Print 2 following DOS filenames from directory entry form
1084e8af9738SPeter Avalos#	like IO.SYS+MSDOS.SYS or ibmbio.com+ibmdos.com
1085e8af9738SPeter Avalos0	name			2xDOS-filename
1086e8af9738SPeter Avalos# display 1 space
1087e8af9738SPeter Avalos>0			ubyte		x		\b
1088e8af9738SPeter Avalos>0			use		DOS-filename
1089e8af9738SPeter Avalos>11			ubyte		x		\b+
1090e8af9738SPeter Avalos>11			use		DOS-filename
1091e8af9738SPeter Avalos
1092e8af9738SPeter Avalos# http://en.wikipedia.org/wiki/Master_boot_record#PTE
1093e8af9738SPeter Avalos# display standard partition table
1094e8af9738SPeter Avalos0	name				partition-table
1095e8af9738SPeter Avalos#>0		ubyte		x	PARTITION-TABLE
1096e8af9738SPeter Avalos# test and display 1st til 4th partition table entry
1097e8af9738SPeter Avalos>0		use			partition-entry-test
1098e8af9738SPeter Avalos>16		use			partition-entry-test
1099e8af9738SPeter Avalos>32		use			partition-entry-test
1100e8af9738SPeter Avalos>48		use			partition-entry-test
1101e8af9738SPeter Avalos#		test for entry of partition table
1102e8af9738SPeter Avalos0	name				partition-entry-test
1103e8af9738SPeter Avalos# partition type ID > 0
1104e8af9738SPeter Avalos>4		ubyte		>0
1105e8af9738SPeter Avalos# active flag 0
1106e8af9738SPeter Avalos>>0		ubyte		0
1107e8af9738SPeter Avalos>>>0		use		partition-entry
1108e8af9738SPeter Avalos# active flag 0x80, 0x81, ...
1109e8af9738SPeter Avalos>>0		ubyte		>0x7F
1110e8af9738SPeter Avalos>>>0		use		partition-entry
1111e8af9738SPeter Avalos#		Print entry of partition table
1112e8af9738SPeter Avalos0	name				partition-entry
1113e8af9738SPeter Avalos# partition type ID > 0
1114e8af9738SPeter Avalos>4		ubyte		>0	\b; partition
1115e8af9738SPeter Avalos>>64		leshort		0xAA55	1
1116e8af9738SPeter Avalos>>48		leshort		0xAA55	2
1117e8af9738SPeter Avalos>>32		leshort		0xAA55	3
1118e8af9738SPeter Avalos>>16		leshort		0xAA55	4
1119e8af9738SPeter Avalos>>4		ubyte		x	: ID=0x%x
1120e8af9738SPeter Avalos>>0		ubyte&0x80	0x80	\b, active
1121e8af9738SPeter Avalos>>0		ubyte		>0x80	0x%x
1122e8af9738SPeter Avalos>>1		ubyte		x	\b, start-CHS (
1123e8af9738SPeter Avalos>>1		use		partition-chs
1124e8af9738SPeter Avalos>>5		ubyte		x	\b), end-CHS (
1125e8af9738SPeter Avalos>>5		use		partition-chs
1126e8af9738SPeter Avalos>>8		ulelong		x	\b), startsector %u
1127e8af9738SPeter Avalos>>12		ulelong		x	\b, %u sectors
1128e8af9738SPeter Avalos#		Print cylinder,head,sector (CHS) of partition entry
1129e8af9738SPeter Avalos0	name				partition-chs
1130e8af9738SPeter Avalos# cylinder
1131e8af9738SPeter Avalos>1		ubyte		x	\b0x
1132e8af9738SPeter Avalos>1		ubyte&0xC0	0x40	\b1
1133e8af9738SPeter Avalos>1		ubyte&0xC0	0x80	\b2
1134e8af9738SPeter Avalos>1		ubyte&0xC0	0xC0	\b3
1135e8af9738SPeter Avalos>2		ubyte		x	\b%x
1136e8af9738SPeter Avalos# head
1137e8af9738SPeter Avalos>0		ubyte		x	\b,%u
1138e8af9738SPeter Avalos# sector
1139e8af9738SPeter Avalos>1		ubyte&0x3F	x	\b,%u
1140e8af9738SPeter Avalos
1141327e51cbSPeter Avalos# FATX
1142327e51cbSPeter Avalos0		string		FATX		FATX filesystem data
1143327e51cbSPeter Avalos
1144327e51cbSPeter Avalos# romfs filesystems - Juan Cespedes <cespedes@debian.org>
114579343712SPeter Avalos0	string		-rom1fs-	romfs filesystem, version 1
1146327e51cbSPeter Avalos>8	belong	x			%d bytes,
1147327e51cbSPeter Avalos>16	string	x			named %s.
1148327e51cbSPeter Avalos
1149327e51cbSPeter Avalos# netboot image - Juan Cespedes <cespedes@debian.org>
1150327e51cbSPeter Avalos0	lelong		0x1b031336L	Netboot image,
1151327e51cbSPeter Avalos>4	lelong&0xFFFFFF00	0
1152327e51cbSPeter Avalos>>4	lelong&0x100	0x000		mode 2
1153327e51cbSPeter Avalos>>4	lelong&0x100	0x100		mode 3
1154327e51cbSPeter Avalos>4	lelong&0xFFFFFF00	!0	unknown mode
1155327e51cbSPeter Avalos
1156327e51cbSPeter Avalos0x18b	string	OS/2	OS/2 Boot Manager
1157327e51cbSPeter Avalos
1158e8af9738SPeter Avalos# updated by Joerg Jenderek at Oct 2008 and Sep 2012
115979343712SPeter Avalos# http://syslinux.zytor.com/iso.php
1160e8af9738SPeter Avalos# tested with versions 1.47,1.48,1.49,1.50,1.62,1.76,2.00,2.10;3.00,3.11,3.31,;3.70,3.71,3.73,3.75,3.80,3.82,3.84,3.86,4.01,4.03 and 4.05
1161e8af9738SPeter Avalos# assembler instructions: cli;jmp 0:7Cyy (yy=0x40,0x5e,0x6c,0x6e,0x77);nop;nop
1162e8af9738SPeter Avalos0	ulequad&0x909000007cc0eafa	0x909000007c40eafa
1163e8af9738SPeter Avalos>631	search/689	ISOLINUX\ 	isolinux Loader
1164e8af9738SPeter Avalos>>&0	string		x		(version %-4.4s)
116579343712SPeter Avalos# http://syslinux.zytor.com/pxe.php
1166e8af9738SPeter Avalos# assembler instructions: jmp 7C05
1167e8af9738SPeter Avalos0	ulelong	0x007c05ea		pxelinux loader (version 2.13 or older)
1168e8af9738SPeter Avalos# assembler instructions: pushfd;pushad
1169e8af9738SPeter Avalos0	ulelong	0x60669c66		pxelinux loader
1170e8af9738SPeter Avalos# assembler instructions: jmp 05
1171e8af9738SPeter Avalos0	ulelong	0xc00005ea		pxelinux loader (version 3.70 or newer)
1172e8af9738SPeter Avalos# http://syslinux.zytor.com/wiki/index.php/SYSLINUX
1173e8af9738SPeter Avalos0	string	LDLINUX\ SYS\ 		SYSLINUX loader
1174e8af9738SPeter Avalos>12	string	x			(older version %-4.4s)
1175e8af9738SPeter Avalos0	string	\r\nSYSLINUX\ 		SYSLINUX loader
1176e8af9738SPeter Avalos>11	string	x			(version %-4.4s)
1177e8af9738SPeter Avalos# syslinux updated and separated from "DOS/MBR boot sector" by Joerg Jenderek at Sep 2012
1178e8af9738SPeter Avalos# assembler instructions: jmp yy (yy=0x3c,0x58);nop;"SYSLINUX"
1179e8af9738SPeter Avalos0	ulelong&0x80909bEB	0x009018EB
1180e8af9738SPeter Avalos# OEM-ID not always "SYSLINUX"
1181e8af9738SPeter Avalos>434	search/47	Boot\ failed
1182e8af9738SPeter Avalos# followed by \r\n\0 or :\
1183e8af9738SPeter Avalos>>482	search/132	\0LDLINUX\ SYS		Syslinux bootloader (version 2.13 or older)
1184e8af9738SPeter Avalos>>1	ubyte		0x58			Syslinux bootloader (version 3.0-3.9)
1185e8af9738SPeter Avalos>459	search/30	Boot\ error\r\n\0
1186e8af9738SPeter Avalos>>1	ubyte		0x58			Syslinux bootloader (version 3.10 or newer)
1187e8af9738SPeter Avalos# SYSLINUX MBR updated and separated from "DOS/MBR boot sector" by Joerg Jenderek at Sep 2012
1188e8af9738SPeter Avalos# assembler instructions: mov di,0600h;mov cx,0100h
1189e8af9738SPeter Avalos16	search/4	\xbf\x00\x06\xb9\x00\x01
1190e8af9738SPeter Avalos# to display SYSLINUX MBR (36) before old DOS/MBR boot sector one with partition table (strength=50+21)
1191e8af9738SPeter Avalos!:strength +36
1192e8af9738SPeter Avalos>94	search/249	Missing\ operating\ system
1193e8af9738SPeter Avalos# followed by \r for versions older 3.35 , .\r for versions newer 3.52 and point for other
1194e8af9738SPeter Avalos# skip Ranish MBR
1195e8af9738SPeter Avalos>>408	search/4	HD1/\0
1196e8af9738SPeter Avalos>>408	default		x
1197e8af9738SPeter Avalos>>>250	search/118	\0Operating\ system\ load		SYSLINUX MBR
1198e8af9738SPeter Avalos# followed by "ing " or space
1199e8af9738SPeter Avalos>>>>292	search/98	error
1200e8af9738SPeter Avalos>>>>>&0	string		\r		    			(version 3.35 or older)
1201e8af9738SPeter Avalos>>>>>&0	string		.\r					(version 3.52 or newer)
1202e8af9738SPeter Avalos>>>>>&0	default		x					(version 3.36-3.51 )
1203e8af9738SPeter Avalos>368	search/106	\0Disk\ error\ on\ boot\r\n		SYSLINUX GPT-MBR
1204e8af9738SPeter Avalos>>156	search/10	\0Boot\ partition\ not\ found\r\n
1205e8af9738SPeter Avalos>>>270	search/10	\0OS\ not\ bootable\r\n			(version 3.86 or older)
1206e8af9738SPeter Avalos>>174	search/10	\0Missing\ OS\r\n
1207e8af9738SPeter Avalos>>>189	search/10	\0Multiple\ active\ partitions\r\n	(version 4.00 or newer)
1208e8af9738SPeter Avalos# SYSLINUX END
1209e8af9738SPeter Avalos
1210e8af9738SPeter Avalos# NetBSD mbr variants (master-boot-code version 1.22) added by Joerg Jenderek at Nov 2012
1211e8af9738SPeter Avalos# assembler instructions: xor ax,ax;mov	ax,ss;mov sp,0x7c00;mov	ax,
1212e8af9738SPeter Avalos0	ubequad		0x31c08ed0bc007c8e
1213e8af9738SPeter Avalos# mbr_bootsel magic before partition table not reliable with small ipl fragments
1214e8af9738SPeter Avalos#>444	uleshort	0xb5e1
1215e8af9738SPeter Avalos>0004	uleshort	x
1216e8af9738SPeter Avalos# ERRorTeXT
1217e8af9738SPeter Avalos>>181	search/166		Error\ \0\r\n				NetBSD mbr
1218e8af9738SPeter Avalos# NT Drive Serial Number http://thestarman.pcministry.com/asm/mbr/Win2kmbr.htm#DS
1219e8af9738SPeter Avalos>>>0x1B8	ubelong		>0					\b,Serial 0x%-.8x
1220e8af9738SPeter Avalos# BOOTSEL definitions contains assembler instructions: int 0x13;pop dx;push dx;push dx
1221e8af9738SPeter Avalos>>>0xbb		search/71	\xcd\x13\x5a\x52\x52			\b,bootselector
1222e8af9738SPeter Avalos# BOOT_EXTENDED definitions contains assembler instructions:
1223e8af9738SPeter Avalos# xchg ecx,edx;addl ecx,edx;movw lba_info,si;movb 0x42,ah;pop dx;push dx;int 0x13
1224e8af9738SPeter Avalos>>>0x96	search/1	\x66\x87\xca\x66\x01\xca\x66\x89\x16\x3a\x07\xbe\x32\x07\xb4\x42\x5a\x52\xcd\x13	\b,boot extended
1225e8af9738SPeter Avalos# COM_PORT_VAL definitions contains assembler instructions: outb al,dx;add 5,dl;inb %dx;test 0x40,al
1226e8af9738SPeter Avalos>>>0x130	search/55	\xee\x80\xc2\x05\xec\xa8\x40		\b,serial IO
1227e8af9738SPeter Avalos# not TERSE_ERROR
1228e8af9738SPeter Avalos>>>196		search/106	No\ active\ partition\0
1229e8af9738SPeter Avalos>>>>&0		string		Disk\ read\ error\0
1230e8af9738SPeter Avalos>>>>>&0		string		No\ operating\ system\0			\b,verbose
1231e8af9738SPeter Avalos# not NO_CHS definitions contains assembler instructions: pop dx;push dx;movb $8,ah;int0x13
1232e8af9738SPeter Avalos>>>0x7d		search/7	\x5a\x52\xb4\x08\xcd\x13		\b,CHS
1233e8af9738SPeter Avalos# not NO_LBA_CHECK definitions contains assembler instructions: movw 0x55aa,bx;movb 0x41,ah;pop	dx;push	dx;int 0x13
1234e8af9738SPeter Avalos>>>0xa4		search/84	\xbb\xaa\x55\xb4\x41\x5a\x52\xcd\x13	\b,LBA-check
1235e8af9738SPeter Avalos# assembler instructions: movw nametab,bx
1236e8af9738SPeter Avalos>>>0x26	    search/21	\xBB\x94\x07
1237e8af9738SPeter Avalos# not NO_BANNER definitions contains assembler instructions: mov banner,si;call message_crlf
1238e8af9738SPeter Avalos>>>>&-9	ubequad&0xBE00f0E800febb94	0xBE0000E80000bb94
1239e8af9738SPeter Avalos>>>>>181	search/166		Error\ \0
1240e8af9738SPeter Avalos# "a: disk" , "Fn: diskn" or "NetBSD MBR boot"
1241e8af9738SPeter Avalos>>>>>>&3	string			x				\b,"%s"
1242*82c5fa3eSPeter Avalos>>>446	use		partition-table
1243e8af9738SPeter Avalos# Andrea Mazzoleni AdvanceCD mbr loader of http://advancemame.sourceforge.net/boot-readme.html
1244e8af9738SPeter Avalos# added by Joerg Jenderek at Nov 2012 for versions 1.3 - 1.4
1245e8af9738SPeter Avalos# assembler instructions: jmp short 0x58;nop;ASCII
1246e8af9738SPeter Avalos0	ubequad&0xeb58908000000000	0xeb58900000000000
1247e8af9738SPeter Avalos# assembler instructions: cli;xor ax,ax;mov ds,ax;mov es,ax;mov ss,
1248e8af9738SPeter Avalos>(1.b+2)	ubequad			0xfa31c08ed88ec08e
1249e8af9738SPeter Avalos# Error messages at end of code
1250e8af9738SPeter Avalos>>376		string	No\ operating\ system\r\n\0
1251e8af9738SPeter Avalos>>>398		string	Disk\ error\r\n\0FDD\0HDD\0
1252e8af9738SPeter Avalos>>>>419		string	\ EBIOS\r\n\0				AdvanceMAME mbr
1253e8af9738SPeter Avalos
1254e8af9738SPeter Avalos# Neil Turton mbr loader variant of http://www.chiark.greenend.org.uk/~neilt/mbr/
1255e8af9738SPeter Avalos# added by Joerg Jenderek at Mar 2011 for versions 1.0.0 - 1.1.11
1256e8af9738SPeter Avalos# for 1st version assembler instructions:	cld;xor ax,ax;mov DS,ax;MOV ES,AX;mov SI,
1257e8af9738SPeter Avalos# or  	  	  	    			cld;xor ax,ax;mov SS,ax;XOR SP,SP;mov DS,
1258e8af9738SPeter Avalos0	ulequad&0xcE1b40D48EC031FC	0x8E0000D08EC031FC
1259e8af9738SPeter Avalos# pointer to the data starting with Neil Turton signature string
1260e8af9738SPeter Avalos>(0x1BC.s)		string		NDTmbr
1261e8af9738SPeter Avalos>>&-14			string		1234F\0			Turton mbr (
1262e8af9738SPeter Avalos# parameters also viewed by install-mbr --list
1263e8af9738SPeter Avalos>>>(0x1BC.s+7)		ubyte		x			\b%u<=
1264e8af9738SPeter Avalos>>>(0x1BC.s+9)		ubyte		x			\bVersion<=%u
1265e8af9738SPeter Avalos#>>>(0x1BC.s+8)		ubyte		x			asm_flag_%x
1266e8af9738SPeter Avalos>>>(0x1BC.s+8)		ubyte&1		1			\b,Y2K-Fix
1267e8af9738SPeter Avalos# variant used by testdisk of http://www.cgsecurity.org/wiki/Menu_MBRCode
1268e8af9738SPeter Avalos>>>(0x1BC.s+8)		ubyte&2		2			\b,TestDisk
1269e8af9738SPeter Avalos#0x1~1,..,0x8~4,0x10~F,0x80~A enabled
1270e8af9738SPeter Avalos#>>>(0x1BC.s+10)		ubyte		x			\b,flags 0x%x
1271e8af9738SPeter Avalos#0x0~1,0x1~2,...,0x3~4,0x4~F,0x7~D default boot
1272e8af9738SPeter Avalos#>>>(0x1BC.s+11)		ubyte		x			\b,cfg_def 0x%x
1273e8af9738SPeter Avalos# for older versions
1274e8af9738SPeter Avalos>>>(0x1BC.s+9)		ubyte		<2
1275*82c5fa3eSPeter Avalos#>>>>(0x1BC.s+12)	ubyte		18			\b,%hhu/18 seconds
1276e8af9738SPeter Avalos>>>>(0x1BC.s+12)	ubyte		!18			\b,%u/18 seconds
1277e8af9738SPeter Avalos# floppy A: or B:
1278e8af9738SPeter Avalos>>>>(0x1BC.s+13)	ubyte		<2			\b,floppy 0x%x
1279e8af9738SPeter Avalos>>>>(0x1BC.s+13)	ubyte		>1
1280e8af9738SPeter Avalos# 1st hard disc
1281e8af9738SPeter Avalos#>>>>>(0x1BC.s+13)	ubyte		0x80			\b,drive 0x%x
1282e8af9738SPeter Avalos# not 1st hard disc
1283e8af9738SPeter Avalos>>>>>(0x1BC.s+13)	ubyte		!0x80			\b,drive 0x%x
1284e8af9738SPeter Avalos# for version >= 2 maximal timeout can be 65534
1285e8af9738SPeter Avalos>>>(0x1BC.s+9)		ubyte		>1
1286e8af9738SPeter Avalos#>>>>(0x1BC.s+12)	uleshort	18			\b,%u/18 seconds
1287e8af9738SPeter Avalos>>>>(0x1BC.s+12)	uleshort	!18			\b,%u/18 seconds
1288e8af9738SPeter Avalos# floppy A: or B:
1289e8af9738SPeter Avalos>>>>(0x1BC.s+14)	ubyte		<2			\b,floppy 0x%x
1290e8af9738SPeter Avalos>>>>(0x1BC.s+14)	ubyte		>1
1291e8af9738SPeter Avalos# 1st hard disc
1292e8af9738SPeter Avalos#>>>>>(0x1BC.s+14)	ubyte		0x80			\b,drive 0x%x
1293e8af9738SPeter Avalos# not 1st hard disc
1294e8af9738SPeter Avalos>>>>>(0x1BC.s+14)	ubyte		!0x80			\b,drive 0x%x
1295e8af9738SPeter Avalos>>>0	ubyte		x					\b)
129679343712SPeter Avalos
1297327e51cbSPeter Avalos# added by Joerg Jenderek
1298327e51cbSPeter Avalos# In the second sector (+0x200) are variables according to grub-0.97/stage2/asm.S or
1299327e51cbSPeter Avalos# grub-1.94/kern/i386/pc/startup.S
1300327e51cbSPeter Avalos# http://www.gnu.org/software/grub/manual/grub.html#Embedded-data
1301327e51cbSPeter Avalos# usual values are marked with comments to get only informations of strange GRUB loaders
1302327e51cbSPeter Avalos0x200	uleshort		0x70EA
1303327e51cbSPeter Avalos# found only version 3.{1,2}
1304327e51cbSPeter Avalos>0x206		ubeshort	>0x0300
1305327e51cbSPeter Avalos# GRUB version (0.5.)95,0.93,0.94,0.96,0.97 > "00"
1306327e51cbSPeter Avalos>>0x212 	ubyte		>0x29
1307327e51cbSPeter Avalos>>>0x213 	ubyte		>0x29
1308327e51cbSPeter Avalos# not iso9660_stage1_5
1309327e51cbSPeter Avalos#>>>0	ulelong&0x00BE5652	0x00BE5652
1310327e51cbSPeter Avalos>>>>0x213 	ubyte		>0x29		GRand Unified Bootloader
1311327e51cbSPeter Avalos# config_file for stage1_5 is 0xffffffff + default "/boot/grub/stage2"
1312327e51cbSPeter Avalos>>>>0x217 	ubyte		0xFF		stage1_5
1313327e51cbSPeter Avalos>>>>0x217 	ubyte		<0xFF		stage2
1314327e51cbSPeter Avalos>>>>0x206	ubyte		x		\b version %u
1315327e51cbSPeter Avalos>>>>0x207	ubyte		x		\b.%u
1316327e51cbSPeter Avalos# module_size for 1.94
1317327e51cbSPeter Avalos>>>>0x208	ulelong		<0xffffff	\b, installed partition %u
1318*82c5fa3eSPeter Avalos#>>>>0x208	ulelong		=0xffffff	\b, %lu (default)
1319327e51cbSPeter Avalos>>>>0x208	ulelong		>0xffffff	\b, installed partition %u
1320327e51cbSPeter Avalos# GRUB 0.5.95 unofficial
1321327e51cbSPeter Avalos>>>>0x20C	ulelong&0x2E300000 0x2E300000
1322327e51cbSPeter Avalos# 0=stage2	1=ffs	2=e2fs	3=fat	4=minix	5=reiserfs
1323327e51cbSPeter Avalos>>>>>0x20C	ubyte		x		\b, identifier 0x%x
1324327e51cbSPeter Avalos#>>>>>0x20D	ubyte		=0		\b, LBA flag 0x%x (default)
1325327e51cbSPeter Avalos>>>>>0x20D	ubyte		>0		\b, LBA flag 0x%x
1326327e51cbSPeter Avalos# GRUB version as string
1327327e51cbSPeter Avalos>>>>>0x20E 	string		>\0		\b, GRUB version %-s
1328327e51cbSPeter Avalos# for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default
1329327e51cbSPeter Avalos>>>>>>0x215 	ulong		0xffffffff
1330327e51cbSPeter Avalos>>>>>>>0x219 	string		>\0		\b, configuration file %-s
1331327e51cbSPeter Avalos>>>>>>0x215 	ulong		!0xffffffff
1332327e51cbSPeter Avalos>>>>>>>0x215 	string		>\0		\b, configuration file %-s
1333327e51cbSPeter Avalos# newer GRUB versions
1334327e51cbSPeter Avalos>>>>0x20C	ulelong&0x2E300000 !0x2E300000
1335327e51cbSPeter Avalos##>>>>>0x20C	ulelong		=0		\b, saved entry %d (usual)
1336327e51cbSPeter Avalos>>>>>0x20C	ulelong		>0		\b, saved entry %d
1337327e51cbSPeter Avalos# for 1.94 contains kernel image size
1338327e51cbSPeter Avalos# for 0.93,0.94,0.96,0.97
1339327e51cbSPeter Avalos# 0=stage2	1=ffs	2=e2fs	3=fat	4=minix	5=reiserfs	6=vstafs	7=jfs	8=xfs	9=iso9660	a=ufs2
1340327e51cbSPeter Avalos>>>>>0x210	ubyte		x		\b, identifier 0x%x
1341327e51cbSPeter Avalos# The flag for LBA forcing is in most cases 0
1342327e51cbSPeter Avalos#>>>>>0x211	ubyte		=0		\b, LBA flag 0x%x (default)
1343327e51cbSPeter Avalos>>>>>0x211	ubyte		>0		\b, LBA flag 0x%x
1344327e51cbSPeter Avalos# GRUB version as string
1345327e51cbSPeter Avalos>>>>>0x212 	string		>\0		\b, GRUB version %-s
1346327e51cbSPeter Avalos# for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default
1347327e51cbSPeter Avalos>>>>>0x217 	ulong		0xffffffff
1348327e51cbSPeter Avalos>>>>>>0x21b 	string		>\0		\b, configuration file %-s
1349327e51cbSPeter Avalos>>>>>0x217 	ulong		!0xffffffff
1350327e51cbSPeter Avalos>>>>>>0x217 	string		>\0		\b, configuration file %-s
1351327e51cbSPeter Avalos
1352e8af9738SPeter Avalos# DOS x86 sector updated and separated from "DOS/MBR boot sector" by Joerg Jenderek at May 2011
1353e8af9738SPeter Avalos# JuMP short     bootcodeoffset NOP assembler instructions will usually be EB xx 90
1354e8af9738SPeter Avalos# over BIOS parameter block (BPB)
1355e8af9738SPeter Avalos# http://thestarman.pcministry.com/asm/2bytejumps.htm#FWD
1356e8af9738SPeter Avalos# older drives may use Near JuMP instruction E9 xx xx
1357e8af9738SPeter Avalos# minimal short forward jump found 0x29 for bootloaders or 0x0
1358e8af9738SPeter Avalos# maximal short forward jump is 0x7f
1359e8af9738SPeter Avalos# OEM-ID is empty or contain readable bytes
1360e8af9738SPeter Avalos0		ulelong&0x804000E9	0x000000E9
1361*82c5fa3eSPeter Avalos!:strength	+60
1362e8af9738SPeter Avalos# mtools-3.9.8/msdos.h
1363e8af9738SPeter Avalos# usual values are marked with comments to get only informations of strange FAT systems
1364e8af9738SPeter Avalos# valid sectorsize must be a power of 2 from 32 to 32768
1365*82c5fa3eSPeter Avalos>11		uleshort&0x001f	0
1366e8af9738SPeter Avalos>>11		uleshort	<32769
1367e8af9738SPeter Avalos>>>11		uleshort	>31
1368e8af9738SPeter Avalos>>>>21		ubyte&0xf0	0xF0
1369*82c5fa3eSPeter Avalos>>>>>0		ubyte		0xEB		DOS/MBR boot sector
1370e8af9738SPeter Avalos>>>>>>1		ubyte		x		\b, code offset 0x%x+2
1371e8af9738SPeter Avalos>>>>>0		ubyte		0xE9
1372*82c5fa3eSPeter Avalos>>>>>>1		uleshort	x		\b, code offset 0x%x+3
1373e8af9738SPeter Avalos>>>>>3		string		>\0		\b, OEM-ID "%-.8s"
1374e8af9738SPeter Avalos#http://mirror.href.com/thestarman/asm/debug/debug2.htm#IHC
1375e8af9738SPeter Avalos>>>>>>8		string		IHC		\b cached by Windows 9M
1376e8af9738SPeter Avalos>>>>>11		uleshort	>512		\b, Bytes/sector %u
1377e8af9738SPeter Avalos#>>>>>11	uleshort	=512		\b, Bytes/sector %u=512 (usual)
1378e8af9738SPeter Avalos>>>>>11		uleshort	<512		\b, Bytes/sector %u
1379e8af9738SPeter Avalos>>>>>13		ubyte		>1		\b, sectors/cluster %u
1380e8af9738SPeter Avalos#>>>>>13	ubyte		=1		\b, sectors/cluster %u (usual on Floppies)
1381*82c5fa3eSPeter Avalos# for lazy FAT32 implementation like Transcend digital photo frame PF830
1382*82c5fa3eSPeter Avalos>>>>>82		string/c	fat32
1383e8af9738SPeter Avalos>>>>>>14	uleshort	!32		\b, reserved sectors %u
1384e8af9738SPeter Avalos#>>>>>>14	uleshort	=32		\b, reserved sectors %u (usual Fat32)
1385*82c5fa3eSPeter Avalos>>>>>82		string/c	!fat32
1386e8af9738SPeter Avalos>>>>>>14	uleshort	>1		\b, reserved sectors %u
1387e8af9738SPeter Avalos#>>>>>>14	uleshort	=1		\b, reserved sectors %u (usual FAT12,FAT16)
1388e8af9738SPeter Avalos#>>>>>>14	uleshort	0		\b, reserved sectors %u (usual NTFS)
1389e8af9738SPeter Avalos>>>>>16		ubyte		>2		\b, FATs %u
1390e8af9738SPeter Avalos#>>>>>16	ubyte		=2		\b, FATs %u (usual)
1391e8af9738SPeter Avalos>>>>>16		ubyte		=1		\b, FAT  %u
1392e8af9738SPeter Avalos>>>>>16		ubyte		>0
1393e8af9738SPeter Avalos>>>>>17		uleshort	>0		\b, root entries %u
1394*82c5fa3eSPeter Avalos#>>>>>17	uleshort	=0		\b, root entries %hu=0 (usual Fat32)
1395e8af9738SPeter Avalos>>>>>19		uleshort	>0		\b, sectors %u (volumes <=32 MB)
1396*82c5fa3eSPeter Avalos#>>>>>19	uleshort	=0		\b, sectors %hu=0 (usual Fat32)
1397e8af9738SPeter Avalos>>>>>21		ubyte		>0xF0		\b, Media descriptor 0x%x
1398e8af9738SPeter Avalos#>>>>>21	ubyte		=0xF0		\b, Media descriptor 0x%x (usual floppy)
1399e8af9738SPeter Avalos>>>>>21		ubyte		<0xF0		\b, Media descriptor 0x%x
1400e8af9738SPeter Avalos>>>>>22		uleshort	>0		\b, sectors/FAT %u
1401*82c5fa3eSPeter Avalos#>>>>>22	uleshort	=0		\b, sectors/FAT %hu=0 (usual Fat32)
1402e8af9738SPeter Avalos>>>>>24		uleshort	x		\b, sectors/track %u
1403e8af9738SPeter Avalos>>>>>26		ubyte		>2		\b, heads %u
1404e8af9738SPeter Avalos#>>>>>26	ubyte		=2		\b, heads %u (usual floppy)
1405e8af9738SPeter Avalos>>>>>26		ubyte		=1		\b, heads %u
1406e8af9738SPeter Avalos# valid only for sector sizes with more then 32 Bytes
1407e8af9738SPeter Avalos>>>>>11		uleshort	>32
1408*82c5fa3eSPeter Avalos# http://en.wikipedia.org/wiki/Design_of_the_FAT_file_system#Extended_BIOS_Parameter_Block
1409*82c5fa3eSPeter Avalos# skip for values 2,2Ah,70h,73h,DFh
1410*82c5fa3eSPeter Avalos# and continue for extended boot signature values 0,28h,29h,80h
1411*82c5fa3eSPeter Avalos>>>>>>38	ubyte&0x56	=0
1412e8af9738SPeter Avalos>>>>>>>28	ulelong		>0		\b, hidden sectors %u
1413e8af9738SPeter Avalos#>>>>>>>28	ulelong		=0		\b, hidden sectors %u (usual floppy)
1414e8af9738SPeter Avalos>>>>>>>32	ulelong		>0		\b, sectors %u (volumes > 32 MB)
1415e8af9738SPeter Avalos#>>>>>>>32	ulelong		=0		\b, sectors %u (volumes > 32 MB)
1416e8af9738SPeter Avalos# FAT<32 bit specific
1417*82c5fa3eSPeter Avalos>>>>>>>82	string/c	!fat32
1418e8af9738SPeter Avalos#>>>>>>>>36	ubyte		0x80		\b, physical drive 0x%x=0x80 (usual harddisk)
1419e8af9738SPeter Avalos#>>>>>>>>36	ubyte		0		\b, physical drive 0x%x=0 (usual floppy)
1420e8af9738SPeter Avalos>>>>>>>>36	ubyte		!0x80
1421e8af9738SPeter Avalos>>>>>>>>>36	ubyte		!0		\b, physical drive 0x%x
1422*82c5fa3eSPeter Avalos# VGA-copy CRC or
1423*82c5fa3eSPeter Avalos# in Windows NT bit 0 is a dirty flag to request chkdsk at boot time. bit 1 requests surface scan too
1424e8af9738SPeter Avalos>>>>>>>>37	ubyte		>0		\b, reserved 0x%x
1425e8af9738SPeter Avalos#>>>>>>>>37	ubyte		=0		\b, reserved 0x%x
1426*82c5fa3eSPeter Avalos# extended boot signatur value is 0x80 for NTFS, 0x28 or 0x29 for others
1427e8af9738SPeter Avalos>>>>>>>>38	ubyte		!0x29		\b, dos < 4.0 BootSector (0x%x)
1428*82c5fa3eSPeter Avalos>>>>>>>>38	ubyte&0xFE	=0x28
1429e8af9738SPeter Avalos>>>>>>>>>39	ulelong		x		\b, serial number 0x%x
1430*82c5fa3eSPeter Avalos>>>>>>>>38	ubyte		=0x29
1431e8af9738SPeter Avalos>>>>>>>>>43	string		<NO\ NAME	\b, label: "%11.11s"
1432e8af9738SPeter Avalos>>>>>>>>>43	string		>NO\ NAME	\b, label: "%11.11s"
1433e8af9738SPeter Avalos>>>>>>>>>43	string		=NO\ NAME	\b, unlabeled
1434e8af9738SPeter Avalos# there exist some old floppies without word FAT at offset 54
1435e8af9738SPeter Avalos# a word like "FATnm   " is only a hint for a FAT size on nm-bits
1436e8af9738SPeter Avalos# Normally the number of clusters is calculated by the values of BPP.
1437e8af9738SPeter Avalos# if it is small enough FAT is 12 bit, if it is too big enough FAT is 32 bit,
1438e8af9738SPeter Avalos# otherwise FAT is 16 bit.
1439e8af9738SPeter Avalos# http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/determining-fat-widths.html
1440*82c5fa3eSPeter Avalos>>>>>82		string/c	!fat32
1441*82c5fa3eSPeter Avalos>>>>>>54	string		FAT12		\b, FAT (12 bit)
1442*82c5fa3eSPeter Avalos>>>>>>54	string		FAT16		\b, FAT (16 bit)
1443*82c5fa3eSPeter Avalos>>>>>>54	default		x
1444*82c5fa3eSPeter Avalos# determinate FAT bit size by media descriptor
1445*82c5fa3eSPeter Avalos# small floppies implies FAT12
1446*82c5fa3eSPeter Avalos>>>>>>>21	ubyte		<0xF0		\b, FAT (12 bit by descriptor)
1447*82c5fa3eSPeter Avalos# with media descriptor F0h floppy or maybe superfloppy with FAT16
1448*82c5fa3eSPeter Avalos>>>>>>>21	ubyte		=0xF0
1449*82c5fa3eSPeter Avalos# superfloppy (many sectors) implies FAT16
1450*82c5fa3eSPeter Avalos>>>>>>>>32	ulelong		>0xFFFF		\b, FAT (16 bit by descriptor+sectors)
1451*82c5fa3eSPeter Avalos# no superfloppy with media descriptor F0h implies FAT12
1452*82c5fa3eSPeter Avalos>>>>>>>>32	default		x		\b, FAT (12 bit by descriptor+sectors)
1453*82c5fa3eSPeter Avalos# with media descriptor F8h floppy or hard disc with FAT12 or FAT16
1454*82c5fa3eSPeter Avalos>>>>>>>21	ubyte		=0xF8
1455*82c5fa3eSPeter Avalos# 360 KiB with media descriptor F8h, 9 sectors per track ,single sided floppy implies FAT12
1456*82c5fa3eSPeter Avalos>>>>>>>>19	ubequad	0xd002f80300090001	\b, FAT (12 bit by descriptor+geometry)
1457*82c5fa3eSPeter Avalos# hard disc with FAT12 or FAT16
1458*82c5fa3eSPeter Avalos>>>>>>>>19	default		x		\b, FAT (1Y bit by descriptor)
1459*82c5fa3eSPeter Avalos# with media descriptor FAh floppy, RAM disc with FAT12 or FAT16 or Tandy hard disc
1460*82c5fa3eSPeter Avalos>>>>>>>21	ubyte		=0xFA
1461*82c5fa3eSPeter Avalos# 320 KiB with media descriptor FAh, 8 sectors per track ,single sided floppy implies FAT12
1462*82c5fa3eSPeter Avalos>>>>>>>>19	ubequad	0x8002fa0200080001	\b, FAT (12 bit by descriptor+geometry)
1463*82c5fa3eSPeter Avalos# RAM disc with FAT12 or FAT16 or Tandy hard disc
1464*82c5fa3eSPeter Avalos>>>>>>>>19	default		x		\b, FAT (1Y bit by descriptor)
1465*82c5fa3eSPeter Avalos# others are floppy
1466*82c5fa3eSPeter Avalos>>>>>>>21	default		x		\b, FAT (12 bit by descriptor)
1467e8af9738SPeter Avalos# FAT32 bit specific
1468*82c5fa3eSPeter Avalos>>>>>82		string/c	fat32		\b, FAT (32 bit)
1469e8af9738SPeter Avalos>>>>>>36	ulelong		x		\b, sectors/FAT %u
1470e8af9738SPeter Avalos# http://technet.microsoft.com/en-us/library/cc977221.aspx
1471e8af9738SPeter Avalos>>>>>>40	uleshort	>0		\b, extension flags 0x%x
1472*82c5fa3eSPeter Avalos#>>>>>>40	uleshort	=0		\b, extension flags %hu
1473e8af9738SPeter Avalos>>>>>>42	uleshort	>0		\b, fsVersion %u
1474e8af9738SPeter Avalos#>>>>>>42	uleshort	=0		\b, fsVersion %u (usual)
1475e8af9738SPeter Avalos>>>>>>44	ulelong		>2		\b, rootdir cluster %u
1476e8af9738SPeter Avalos#>>>>>>44	ulelong		=2		\b, rootdir cluster %u
1477e8af9738SPeter Avalos#>>>>>>44	ulelong		=1		\b, rootdir cluster %u
1478e8af9738SPeter Avalos>>>>>>48	uleshort	>1		\b, infoSector %u
1479e8af9738SPeter Avalos#>>>>>>48	uleshort	=1		\b, infoSector %u (usual)
1480e8af9738SPeter Avalos>>>>>>48	uleshort	<1		\b, infoSector %u
1481*82c5fa3eSPeter Avalos# 0 or 0xFFFF instead of usual 6 means no backup sector
1482*82c5fa3eSPeter Avalos>>>>>>50	uleshort	=0xFFFF		\b, no Backup boot sector
1483*82c5fa3eSPeter Avalos>>>>>>50	uleshort	=0		\b, no Backup boot sector
1484e8af9738SPeter Avalos#>>>>>>50	uleshort	=6		\b, Backup boot sector %u (usual)
1485*82c5fa3eSPeter Avalos>>>>>>50	default		x
1486*82c5fa3eSPeter Avalos>>>>>>>50	uleshort	x		\b, Backup boot sector %u
1487e8af9738SPeter Avalos# corrected by Joerg Jenderek at Feb 2011 according to http://thestarman.pcministry.com/asm/mbr/MSWIN41.htm#FSINFO
1488e8af9738SPeter Avalos>>>>>>52	ulelong		>0		\b, reserved1 0x%x
1489e8af9738SPeter Avalos>>>>>>56	ulelong		>0		\b, reserved2 0x%x
1490e8af9738SPeter Avalos>>>>>>60	ulelong		>0		\b, reserved3 0x%x
1491e8af9738SPeter Avalos# same structure as FAT1X
1492e8af9738SPeter Avalos#>>>>>>64	ubyte		=0x80		\b, physical drive 0x%x=80 (usual harddisk)
1493e8af9738SPeter Avalos#>>>>>>64	ubyte		=0		\b, physical drive 0x%x=0 (usual floppy)
1494e8af9738SPeter Avalos>>>>>>64	ubyte		!0x80
1495e8af9738SPeter Avalos>>>>>>>64	ubyte		>0		\b, physical drive 0x%x
1496e8af9738SPeter Avalos# in Windows NT bit 0 is a dirty flag to request chkdsk at boot time. bit 1 requests surface scan too
1497e8af9738SPeter Avalos>>>>>>65	ubyte		>0		\b, reserved 0x%x
1498e8af9738SPeter Avalos>>>>>>66	ubyte		!0x29		\b, dos < 4.0 BootSector (0x%x)
1499e8af9738SPeter Avalos>>>>>>66	ubyte		=0x29
1500e8af9738SPeter Avalos>>>>>>>67	ulelong		x		\b, serial number 0x%x
1501e8af9738SPeter Avalos>>>>>>>71	string		<NO\ NAME	\b, label: "%11.11s"
1502e8af9738SPeter Avalos>>>>>>>71	string		>NO\ NAME	\b, label: "%11.11s"
1503e8af9738SPeter Avalos>>>>>>>71	string		=NO\ NAME	\b, unlabeled
1504e8af9738SPeter Avalos# additional tests for floppy image added by Joerg Jenderek
1505e8af9738SPeter Avalos# no fixed disk
1506e8af9738SPeter Avalos>>>>>21		ubyte		!0xF8
1507e8af9738SPeter Avalos# floppy media with 12 bit FAT
1508e8af9738SPeter Avalos>>>>>>54	string		!FAT16
1509e8af9738SPeter Avalos# test for FAT after bootsector
1510e8af9738SPeter Avalos>>>>>>>(11.s)	ulelong&0x00ffffF0	0x00ffffF0	\b, followed by FAT
1511e8af9738SPeter Avalos# floppy image
1512e8af9738SPeter Avalos!:mime application/x-ima
1513e8af9738SPeter Avalos# NTFS specific added by Joerg Jenderek at Mar 2011 according to http://thestarman.pcministry.com/asm/mbr/NTFSBR.htm
1514e8af9738SPeter Avalos# and http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/bios-parameter-block.html
1515e8af9738SPeter Avalos# 0 FATs
1516e8af9738SPeter Avalos>>>>>16	ubyte		=0
1517e8af9738SPeter Avalos# 0 root entries
1518e8af9738SPeter Avalos>>>>>>17	uleshort	=0
1519e8af9738SPeter Avalos# 0 DOS sectors
1520e8af9738SPeter Avalos>>>>>>>19	uleshort	=0
1521e8af9738SPeter Avalos# 0 sectors/FAT
1522e8af9738SPeter Avalos# dos < 4.0 BootSector value found is 0x80
1523e8af9738SPeter Avalos#38	ubyte		=0x80			\b, dos < 4.0 BootSector (0x%x)
1524e8af9738SPeter Avalos>>>>>>>>22	uleshort	=0		\b; NTFS
1525e8af9738SPeter Avalos>>>>>>>>>24	uleshort	>0		\b, sectors/track %u
1526e8af9738SPeter Avalos>>>>>>>>>36	ulelong		!0x800080	\b, physical drive 0x%x
1527e8af9738SPeter Avalos>>>>>>>>>40	ulequad		>0		\b, sectors %lld
1528e8af9738SPeter Avalos>>>>>>>>>48	ulequad		>0		\b, $MFT start cluster %lld
1529e8af9738SPeter Avalos>>>>>>>>>56	ulequad		>0		\b, $MFTMirror start cluster %lld
1530e8af9738SPeter Avalos# Values 0 to 127 represent MFT record sizes of 0 to 127 clusters.
1531e8af9738SPeter Avalos# Values 128 to 255 represent MFT record sizes of 2^(256-N) bytes.
1532e8af9738SPeter Avalos>>>>>>>>>64	lelong		<256
1533e8af9738SPeter Avalos>>>>>>>>>>64	lelong		<128		\b, clusters/RecordSegment %d
1534*82c5fa3eSPeter Avalos>>>>>>>>>>64	ubyte		>127		\b, bytes/RecordSegment 2^(-1*%i)
1535e8af9738SPeter Avalos# Values 0 to 127 represent index block sizes of 0 to 127 clusters.
1536e8af9738SPeter Avalos# Values 128 to 255 represent index block sizes of 2^(256-N) byte
1537e8af9738SPeter Avalos>>>>>>>>>68	ulelong		<256
1538e8af9738SPeter Avalos>>>>>>>>>>68	ulelong		<128		\b, clusters/index block %d
1539e8af9738SPeter Avalos#>>>>>>>>>>68	ulelong		>127		\b, bytes/index block 2^(256-%d)
1540*82c5fa3eSPeter Avalos>>>>>>>>>>68	ubyte		>127		\b, bytes/index block 2^(-1*%i)
1541e8af9738SPeter Avalos>>>>>>>>>72	ulequad		x		\b, serial number 0%llx
1542e8af9738SPeter Avalos>>>>>>>>>80	ulelong		>0		\b, checksum 0x%x
1543e8af9738SPeter Avalos#>>>>>>>>>80	ulelong		=0		\b, checksum 0x%x=0 (usual)
1544e8af9738SPeter Avalos>>>>>>>>>0x258	ulelong&0x00009090	=0x00009090
1545e8af9738SPeter Avalos>>>>>>>>>>&-92		indirect	x	\b; contains
1546e8af9738SPeter Avalos# For 2nd NTFS sector added by Joerg Jenderek at Jan 2013
1547e8af9738SPeter Avalos# http://thestarman.pcministry.com/asm/mbr/NTFSbrHexEd.htm
1548e8af9738SPeter Avalos# unused assembler instructions JMP y2;NOP;NOP
1549e8af9738SPeter Avalos0x056		ulelong&0xFFFF0FFF	0x909002EB
1550e8af9738SPeter Avalos# unicode loadername terminated by CTRL-D
1551e8af9738SPeter Avalos>(0.s*2)	ulelong&0xFFFFFF00	0x00040000
1552e8af9738SPeter Avalos# loadernames are NTLDR,CMLDR,PELDR,$LDR$ or BOOTMGR
1553e8af9738SPeter Avalos>>0x002		lestring16	x	Microsoft Windows XP/VISTA bootloader %-5.5s
1554e8af9738SPeter Avalos>>0x12		string		$
1555e8af9738SPeter Avalos>>>0x0c		lestring16	x	\b%-2.2s
1556e8af9738SPeter Avalos### DOS,NTFS boot sectors end
1557e8af9738SPeter Avalos
1558327e51cbSPeter Avalos9564	lelong		0x00011954	Unix Fast File system [v1] (little-endian),
1559327e51cbSPeter Avalos>8404	string		x		last mounted on %s,
1560327e51cbSPeter Avalos#>9504	ledate		x		last checked at %s,
1561327e51cbSPeter Avalos>8224	ledate		x		last written at %s,
1562327e51cbSPeter Avalos>8401	byte		x		clean flag %d,
1563327e51cbSPeter Avalos>8228	lelong		x		number of blocks %d,
1564327e51cbSPeter Avalos>8232	lelong		x		number of data blocks %d,
1565327e51cbSPeter Avalos>8236	lelong		x		number of cylinder groups %d,
1566327e51cbSPeter Avalos>8240	lelong		x		block size %d,
1567327e51cbSPeter Avalos>8244	lelong		x		fragment size %d,
1568327e51cbSPeter Avalos>8252	lelong		x		minimum percentage of free blocks %d,
1569327e51cbSPeter Avalos>8256	lelong		x		rotational delay %dms,
1570327e51cbSPeter Avalos>8260	lelong		x		disk rotational speed %drps,
1571327e51cbSPeter Avalos>8320	lelong		0		TIME optimization
1572327e51cbSPeter Avalos>8320	lelong		1		SPACE optimization
1573327e51cbSPeter Avalos
1574327e51cbSPeter Avalos42332	lelong		0x19540119	Unix Fast File system [v2] (little-endian)
1575327e51cbSPeter Avalos>&-1164	string		x		last mounted on %s,
1576327e51cbSPeter Avalos>&-696	string		>\0		volume name %s,
1577327e51cbSPeter Avalos>&-304	leqldate	x		last written at %s,
1578327e51cbSPeter Avalos>&-1167	byte		x		clean flag %d,
1579327e51cbSPeter Avalos>&-1168	byte		x		readonly flag %d,
1580327e51cbSPeter Avalos>&-296	lequad		x		number of blocks %lld,
1581327e51cbSPeter Avalos>&-288	lequad		x		number of data blocks %lld,
1582327e51cbSPeter Avalos>&-1332	lelong		x		number of cylinder groups %d,
1583327e51cbSPeter Avalos>&-1328	lelong		x		block size %d,
1584327e51cbSPeter Avalos>&-1324	lelong		x		fragment size %d,
1585327e51cbSPeter Avalos>&-180	lelong		x		average file size %d,
1586327e51cbSPeter Avalos>&-176	lelong		x		average number of files in dir %d,
1587327e51cbSPeter Avalos>&-272	lequad		x		pending blocks to free %lld,
1588*82c5fa3eSPeter Avalos>&-264	lelong		x		pending inodes to free %d,
1589327e51cbSPeter Avalos>&-664	lequad		x		system-wide uuid %0llx,
1590327e51cbSPeter Avalos>&-1316	lelong		x		minimum percentage of free blocks %d,
1591327e51cbSPeter Avalos>&-1248	lelong		0		TIME optimization
1592327e51cbSPeter Avalos>&-1248	lelong		1		SPACE optimization
1593327e51cbSPeter Avalos
1594327e51cbSPeter Avalos66908	lelong		0x19540119	Unix Fast File system [v2] (little-endian)
1595327e51cbSPeter Avalos>&-1164	string		x		last mounted on %s,
1596327e51cbSPeter Avalos>&-696	string		>\0		volume name %s,
1597327e51cbSPeter Avalos>&-304	leqldate	x		last written at %s,
1598327e51cbSPeter Avalos>&-1167	byte		x		clean flag %d,
1599327e51cbSPeter Avalos>&-1168	byte		x		readonly flag %d,
1600327e51cbSPeter Avalos>&-296	lequad		x		number of blocks %lld,
1601327e51cbSPeter Avalos>&-288	lequad		x		number of data blocks %lld,
1602327e51cbSPeter Avalos>&-1332	lelong		x		number of cylinder groups %d,
1603327e51cbSPeter Avalos>&-1328	lelong		x		block size %d,
1604327e51cbSPeter Avalos>&-1324	lelong		x		fragment size %d,
1605327e51cbSPeter Avalos>&-180	lelong		x		average file size %d,
1606327e51cbSPeter Avalos>&-176	lelong		x		average number of files in dir %d,
1607327e51cbSPeter Avalos>&-272	lequad		x		pending blocks to free %lld,
1608*82c5fa3eSPeter Avalos>&-264	lelong		x		pending inodes to free %d,
1609327e51cbSPeter Avalos>&-664	lequad		x		system-wide uuid %0llx,
1610327e51cbSPeter Avalos>&-1316	lelong		x		minimum percentage of free blocks %d,
1611327e51cbSPeter Avalos>&-1248	lelong		0		TIME optimization
1612327e51cbSPeter Avalos>&-1248	lelong		1		SPACE optimization
1613327e51cbSPeter Avalos
1614327e51cbSPeter Avalos9564	belong		0x00011954	Unix Fast File system [v1] (big-endian),
1615327e51cbSPeter Avalos>7168   belong		0x4c41424c	Apple UFS Volume
1616327e51cbSPeter Avalos>>7186  string		x		named %s,
1617327e51cbSPeter Avalos>>7176  belong		x		volume label version %d,
1618327e51cbSPeter Avalos>>7180  bedate		x		created on %s,
1619327e51cbSPeter Avalos>8404	string		x		last mounted on %s,
1620327e51cbSPeter Avalos#>9504	bedate		x		last checked at %s,
1621327e51cbSPeter Avalos>8224	bedate		x		last written at %s,
1622327e51cbSPeter Avalos>8401	byte		x		clean flag %d,
1623327e51cbSPeter Avalos>8228	belong		x		number of blocks %d,
1624327e51cbSPeter Avalos>8232	belong		x		number of data blocks %d,
1625327e51cbSPeter Avalos>8236	belong		x		number of cylinder groups %d,
1626327e51cbSPeter Avalos>8240	belong		x		block size %d,
1627327e51cbSPeter Avalos>8244	belong		x		fragment size %d,
1628327e51cbSPeter Avalos>8252	belong		x		minimum percentage of free blocks %d,
1629327e51cbSPeter Avalos>8256	belong		x		rotational delay %dms,
1630327e51cbSPeter Avalos>8260	belong		x		disk rotational speed %drps,
1631327e51cbSPeter Avalos>8320	belong		0		TIME optimization
1632327e51cbSPeter Avalos>8320	belong		1		SPACE optimization
1633327e51cbSPeter Avalos
1634327e51cbSPeter Avalos42332	belong		0x19540119	Unix Fast File system [v2] (big-endian)
1635327e51cbSPeter Avalos>&-1164	string		x		last mounted on %s,
1636327e51cbSPeter Avalos>&-696	string		>\0		volume name %s,
1637327e51cbSPeter Avalos>&-304	beqldate	x		last written at %s,
1638327e51cbSPeter Avalos>&-1167	byte		x		clean flag %d,
1639327e51cbSPeter Avalos>&-1168	byte		x		readonly flag %d,
1640327e51cbSPeter Avalos>&-296	bequad		x		number of blocks %lld,
1641327e51cbSPeter Avalos>&-288	bequad		x		number of data blocks %lld,
1642327e51cbSPeter Avalos>&-1332	belong		x		number of cylinder groups %d,
1643327e51cbSPeter Avalos>&-1328	belong		x		block size %d,
1644327e51cbSPeter Avalos>&-1324	belong		x		fragment size %d,
1645327e51cbSPeter Avalos>&-180	belong		x		average file size %d,
1646327e51cbSPeter Avalos>&-176	belong		x		average number of files in dir %d,
1647327e51cbSPeter Avalos>&-272	bequad		x		pending blocks to free %lld,
1648*82c5fa3eSPeter Avalos>&-264	belong		x		pending inodes to free %d,
1649327e51cbSPeter Avalos>&-664	bequad		x		system-wide uuid %0llx,
1650327e51cbSPeter Avalos>&-1316	belong		x		minimum percentage of free blocks %d,
1651327e51cbSPeter Avalos>&-1248	belong		0		TIME optimization
1652327e51cbSPeter Avalos>&-1248	belong		1		SPACE optimization
1653327e51cbSPeter Avalos
1654327e51cbSPeter Avalos66908	belong		0x19540119	Unix Fast File system [v2] (big-endian)
1655327e51cbSPeter Avalos>&-1164	string		x		last mounted on %s,
1656327e51cbSPeter Avalos>&-696	string		>\0		volume name %s,
1657327e51cbSPeter Avalos>&-304	beqldate	x		last written at %s,
1658327e51cbSPeter Avalos>&-1167	byte		x		clean flag %d,
1659327e51cbSPeter Avalos>&-1168	byte		x		readonly flag %d,
1660327e51cbSPeter Avalos>&-296	bequad		x		number of blocks %lld,
1661327e51cbSPeter Avalos>&-288	bequad		x		number of data blocks %lld,
1662327e51cbSPeter Avalos>&-1332	belong		x		number of cylinder groups %d,
1663327e51cbSPeter Avalos>&-1328	belong		x		block size %d,
1664327e51cbSPeter Avalos>&-1324	belong		x		fragment size %d,
1665327e51cbSPeter Avalos>&-180	belong		x		average file size %d,
1666327e51cbSPeter Avalos>&-176	belong		x		average number of files in dir %d,
1667327e51cbSPeter Avalos>&-272	bequad		x		pending blocks to free %lld,
1668*82c5fa3eSPeter Avalos>&-264	belong		x		pending inodes to free %d,
1669327e51cbSPeter Avalos>&-664	bequad		x		system-wide uuid %0llx,
1670327e51cbSPeter Avalos>&-1316	belong		x		minimum percentage of free blocks %d,
1671327e51cbSPeter Avalos>&-1248	belong		0		TIME optimization
1672327e51cbSPeter Avalos>&-1248	belong		1		SPACE optimization
1673327e51cbSPeter Avalos
167479343712SPeter Avalos# ext2/ext3 filesystems - Andreas Dilger <adilger@dilger.ca>
167579343712SPeter Avalos# ext4 filesystem - Eric Sandeen <sandeen@sandeen.net>
1676e4d4ce0cSPeter Avalos# volume label and UUID Russell Coker
1677e4d4ce0cSPeter Avalos# http://etbe.coker.com.au/2008/07/08/label-vs-uuid-vs-device/
1678327e51cbSPeter Avalos0x438   leshort         0xEF53          Linux
1679327e51cbSPeter Avalos>0x44c  lelong          x               rev %d
1680327e51cbSPeter Avalos>0x43e  leshort         x               \b.%d
168179343712SPeter Avalos# No journal?  ext2
1682327e51cbSPeter Avalos>0x45c  lelong          ^0x0000004      ext2 filesystem data
1683327e51cbSPeter Avalos>>0x43a leshort         ^0x0000001      (mounted or unclean)
168479343712SPeter Avalos# Has a journal?  ext3 or ext4
168579343712SPeter Avalos>0x45c  lelong          &0x0000004
168679343712SPeter Avalos#  and small INCOMPAT?
168779343712SPeter Avalos>>0x460 lelong          <0x0000040
168879343712SPeter Avalos#   and small RO_COMPAT?
168979343712SPeter Avalos>>>0x464 lelong         <0x0000008      ext3 filesystem data
169079343712SPeter Avalos#   else large RO_COMPAT?
169179343712SPeter Avalos>>>0x464 lelong         >0x0000007      ext4 filesystem data
169279343712SPeter Avalos#  else large INCOMPAT?
169379343712SPeter Avalos>>0x460	lelong          >0x000003f      ext4 filesystem data
1694e4d4ce0cSPeter Avalos>0x468	belong		x		\b, UUID=%08x
1695e4d4ce0cSPeter Avalos>0x46c	beshort		x		\b-%04x
1696e4d4ce0cSPeter Avalos>0x46e	beshort		x		\b-%04x
1697e4d4ce0cSPeter Avalos>0x470	beshort		x		\b-%04x
1698e4d4ce0cSPeter Avalos>0x472	belong		x		\b-%08x
1699e4d4ce0cSPeter Avalos>0x476	beshort		x		\b%04x
1700e4d4ce0cSPeter Avalos>0x478	string		>0		\b, volume name "%s"
170179343712SPeter Avalos# General flags for any ext* fs
170279343712SPeter Avalos>0x460	lelong          &0x0000004      (needs journal recovery)
1703327e51cbSPeter Avalos>0x43a	leshort         &0x0000002      (errors)
170479343712SPeter Avalos# INCOMPAT flags
1705327e51cbSPeter Avalos>0x460	lelong          &0x0000001      (compressed)
1706327e51cbSPeter Avalos#>0x460	lelong          &0x0000002      (filetype)
170779343712SPeter Avalos#>0x460	lelong          &0x0000010      (meta bg)
170879343712SPeter Avalos>0x460	lelong          &0x0000040      (extents)
170979343712SPeter Avalos>0x460	lelong          &0x0000080      (64bit)
171079343712SPeter Avalos#>0x460	lelong          &0x0000100      (mmp)
171179343712SPeter Avalos#>0x460	lelong          &0x0000200      (flex bg)
171279343712SPeter Avalos# RO_INCOMPAT flags
171379343712SPeter Avalos#>0x464	lelong          &0x0000001      (sparse super)
1714327e51cbSPeter Avalos>0x464	lelong          &0x0000002      (large files)
171579343712SPeter Avalos>0x464	lelong          &0x0000008      (huge files)
171679343712SPeter Avalos#>0x464	lelong          &0x0000010      (gdt checksum)
171779343712SPeter Avalos#>0x464	lelong          &0x0000020      (many subdirs)
171879343712SPeter Avalos#>0x463	lelong          &0x0000040      (extra isize)
1719327e51cbSPeter Avalos
1720e8af9738SPeter Avalos# Minix filesystems - Juan Cespedes <cespedes@debian.org>
1721e8af9738SPeter Avalos0x410	leshort		0x137f
1722e8af9738SPeter Avalos!:strength / 2
1723e8af9738SPeter Avalos>0x402	beshort		< 100
1724e8af9738SPeter Avalos>0x402	beshort		> -1		Minix filesystem, V1, %d zones
1725e8af9738SPeter Avalos>0x1e	string		minix		\b, bootable
1726e8af9738SPeter Avalos0x410	beshort		0x137f
1727e8af9738SPeter Avalos!:strength / 2
1728e8af9738SPeter Avalos>0x402	beshort		< 100
1729e8af9738SPeter Avalos>0x402	beshort		> -1		Minix filesystem, V1 (big endian), %d zones
1730e8af9738SPeter Avalos>0x1e	string		minix		\b, bootable
1731e8af9738SPeter Avalos0x410	leshort		0x138f
1732e8af9738SPeter Avalos!:strength / 2
1733e8af9738SPeter Avalos>0x402	beshort		< 100
1734e8af9738SPeter Avalos>0x402	beshort		> -1		Minix filesystem, V1, 30 char names, %d zones
1735e8af9738SPeter Avalos>0x1e	string		minix		\b, bootable
1736e8af9738SPeter Avalos0x410	beshort		0x138f
1737e8af9738SPeter Avalos!:strength / 2
1738e8af9738SPeter Avalos>0x402	beshort		< 100
1739e8af9738SPeter Avalos>0x402	beshort		> -1		Minix filesystem, V1, 30 char names (big endian), %d zones
1740e8af9738SPeter Avalos>0x1e	string		minix		\b, bootable
1741e8af9738SPeter Avalos0x410	leshort		0x2468
1742e8af9738SPeter Avalos>0x402	beshort		< 100
1743e8af9738SPeter Avalos>>0x402	beshort		> -1		Minix filesystem, V2, %d zones
1744e8af9738SPeter Avalos>0x1e	string		minix		\b, bootable
1745e8af9738SPeter Avalos0x410	beshort		0x2468
1746e8af9738SPeter Avalos>0x402	beshort		< 100
1747e8af9738SPeter Avalos>0x402	beshort		> -1		Minix filesystem, V2 (big endian), %d zones
1748e8af9738SPeter Avalos>0x1e	string		minix		\b, bootable
1749e8af9738SPeter Avalos
1750e8af9738SPeter Avalos0x410	leshort		0x2478
1751e8af9738SPeter Avalos>0x402	beshort		< 100
1752e8af9738SPeter Avalos>0x402	beshort		> -1		Minix filesystem, V2, 30 char names, %d zones
1753e8af9738SPeter Avalos>0x1e	string		minix		\b, bootable
1754e8af9738SPeter Avalos0x410	leshort		0x2478
1755e8af9738SPeter Avalos>0x402	beshort		< 100
1756e8af9738SPeter Avalos>0x402	beshort		> -1		Minix filesystem, V2, 30 char names, %d zones
1757e8af9738SPeter Avalos>0x1e	string		minix		\b, bootable
1758e8af9738SPeter Avalos0x410	beshort		0x2478
1759e8af9738SPeter Avalos>0x402	beshort		!0		Minix filesystem, V2, 30 char names (big endian), %d zones
1760e8af9738SPeter Avalos>0x1e	string		minix		\b, bootable
1761e8af9738SPeter Avalos0x410	leshort		0x4d5a
1762e8af9738SPeter Avalos>0x402	beshort		!0		Minix filesystem, V3, %d zones
1763e8af9738SPeter Avalos>0x1e	string		minix		\b, bootable
1764e8af9738SPeter Avalos
1765327e51cbSPeter Avalos# SGI disk labels - Nathan Scott <nathans@debian.org>
1766327e51cbSPeter Avalos0	belong		0x0BE5A941	SGI disk label (volume header)
1767327e51cbSPeter Avalos
1768327e51cbSPeter Avalos# SGI XFS filesystem - Nathan Scott <nathans@debian.org>
1769327e51cbSPeter Avalos0	belong		0x58465342	SGI XFS filesystem data
1770327e51cbSPeter Avalos>0x4	belong		x		(blksz %d,
1771327e51cbSPeter Avalos>0x68	beshort		x		inosz %d,
1772327e51cbSPeter Avalos>0x64	beshort		^0x2004		v1 dirs)
1773327e51cbSPeter Avalos>0x64	beshort		&0x2004		v2 dirs)
1774327e51cbSPeter Avalos
1775327e51cbSPeter Avalos############################################################################
1776327e51cbSPeter Avalos# Minix-ST kernel floppy
1777327e51cbSPeter Avalos0x800	belong		0x46fc2700	Atari-ST Minix kernel image
1778e8af9738SPeter Avalos# http://en.wikipedia.org/wiki/BIOS_parameter_block
1779e8af9738SPeter Avalos# floppies with valid BPB and any instruction at beginning
1780e8af9738SPeter Avalos>19	string		\240\005\371\005\0\011\0\2\0	\b, 720k floppy
1781e8af9738SPeter Avalos>19	string		\320\002\370\005\0\011\0\1\0	\b, 360k floppy
1782327e51cbSPeter Avalos
1783327e51cbSPeter Avalos############################################################################
1784327e51cbSPeter Avalos# Hmmm, is this a better way of detecting _standard_ floppy images ?
1785e8af9738SPeter Avalos19	string		\320\002\360\003\0\011\0\1\0	DOS floppy 360k
1786e8af9738SPeter Avalos>0x1FE	leshort		0xAA55		\b, DOS/MBR hard disk boot sector
1787e8af9738SPeter Avalos19	string		\240\005\371\003\0\011\0\2\0	DOS floppy 720k
1788e8af9738SPeter Avalos>0x1FE	leshort		0xAA55		\b, DOS/MBR hard disk boot sector
1789327e51cbSPeter Avalos19	string		\100\013\360\011\0\022\0\2\0	DOS floppy 1440k
1790e8af9738SPeter Avalos>0x1FE	leshort		0xAA55		\b, DOS/MBR hard disk boot sector
1791327e51cbSPeter Avalos
1792e8af9738SPeter Avalos19	string		\240\005\371\005\0\011\0\2\0	DOS floppy 720k, IBM
1793e8af9738SPeter Avalos>0x1FE	leshort		0xAA55		\b, DOS/MBR hard disk boot sector
1794e8af9738SPeter Avalos19	string		\100\013\371\005\0\011\0\2\0	DOS floppy 1440k, mkdosfs
1795e8af9738SPeter Avalos>0x1FE	leshort		0xAA55		\b, DOS/MBR hard disk boot sector
1796327e51cbSPeter Avalos
1797e8af9738SPeter Avalos19	string		\320\002\370\005\0\011\0\1\0	Atari-ST floppy 360k
1798e8af9738SPeter Avalos19	string		\240\005\371\005\0\011\0\2\0	Atari-ST floppy 720k
1799e8af9738SPeter Avalos#			|       |   |     |     |
1800e8af9738SPeter Avalos#			|       |   |     |     heads
1801e8af9738SPeter Avalos#			|       |   |     sectors/track
1802e8af9738SPeter Avalos#			|       |   sectors/FAT
1803e8af9738SPeter Avalos#			|       media descriptor
1804e8af9738SPeter Avalos#		BPB:	sectors
1805327e51cbSPeter Avalos
1806327e51cbSPeter Avalos#  Valid media descriptor bytes for MS-DOS:
1807327e51cbSPeter Avalos#
1808327e51cbSPeter Avalos#     Byte   Capacity   Media Size and Type
1809327e51cbSPeter Avalos#     -------------------------------------------------
1810327e51cbSPeter Avalos#
1811327e51cbSPeter Avalos#     F0     2.88 MB    3.5-inch, 2-sided, 36-sector
1812327e51cbSPeter Avalos#     F0     1.44 MB    3.5-inch, 2-sided, 18-sector
1813327e51cbSPeter Avalos#     F9     720K       3.5-inch, 2-sided, 9-sector
1814327e51cbSPeter Avalos#     F9     1.2 MB     5.25-inch, 2-sided, 15-sector
1815327e51cbSPeter Avalos#     FD     360K       5.25-inch, 2-sided, 9-sector
1816327e51cbSPeter Avalos#     FF     320K       5.25-inch, 2-sided, 8-sector
1817327e51cbSPeter Avalos#     FC     180K       5.25-inch, 1-sided, 9-sector
1818327e51cbSPeter Avalos#     FE     160K       5.25-inch, 1-sided, 8-sector
1819327e51cbSPeter Avalos#     FE     250K       8-inch, 1-sided, single-density
1820327e51cbSPeter Avalos#     FD     500K       8-inch, 2-sided, single-density
1821327e51cbSPeter Avalos#     FE     1.2 MB     8-inch, 2-sided, double-density
1822327e51cbSPeter Avalos#     F8     -----      Fixed disk
1823327e51cbSPeter Avalos#
1824327e51cbSPeter Avalos#     FC     xxxK       Apricot 70x1x9 boot disk.
1825327e51cbSPeter Avalos#
1826327e51cbSPeter Avalos# Originally a bitmap:
1827327e51cbSPeter Avalos#  xxxxxxx0	Not two sided
1828327e51cbSPeter Avalos#  xxxxxxx1	Double sided
1829327e51cbSPeter Avalos#  xxxxxx0x	Not 8 SPT
1830327e51cbSPeter Avalos#  xxxxxx1x	8 SPT
1831327e51cbSPeter Avalos#  xxxxx0xx	Not Removable drive
1832327e51cbSPeter Avalos#  xxxxx1xx	Removable drive
1833327e51cbSPeter Avalos#  11111xxx	Must be one.
1834327e51cbSPeter Avalos#
1835327e51cbSPeter Avalos# But now it's rather random:
1836327e51cbSPeter Avalos#  111111xx	Low density disk
1837327e51cbSPeter Avalos#        00	SS, Not 8 SPT
1838327e51cbSPeter Avalos#        01	DS, Not 8 SPT
1839327e51cbSPeter Avalos#        10	SS, 8 SPT
1840327e51cbSPeter Avalos#        11	DS, 8 SPT
1841327e51cbSPeter Avalos#
1842e8af9738SPeter Avalos#  11111001	Double density 3 1/2 floppy disk, high density 5 1/4
1843e8af9738SPeter Avalos#  11110000	High density 3 1/2 floppy disk
1844327e51cbSPeter Avalos#  11111000	Hard disk any format
1845327e51cbSPeter Avalos#
1846327e51cbSPeter Avalos
1847e8af9738SPeter Avalos# all FAT12 (strength=70) floppies with sectorsize 512 added by Joerg Jenderek at Jun 2013
1848e8af9738SPeter Avalos# http://en.wikipedia.org/wiki/File_Allocation_Table#Exceptions
1849e8af9738SPeter Avalos# Too Weak.
1850e8af9738SPeter Avalos#512		ubelong&0xE0ffff00	0xE0ffff00
1851e8af9738SPeter Avalos# without valid Media descriptor in place of BPB, cases with are done at other places
1852e8af9738SPeter Avalos#>21		ubyte			<0xE5			floppy with old FAT filesystem
1853e8af9738SPeter Avalos# but valid Media descriptor at begin of FAT
1854e8af9738SPeter Avalos#>>512		ubyte			=0xed			720k
1855e8af9738SPeter Avalos#>>512		ubyte			=0xf0			1440k
1856e8af9738SPeter Avalos#>>512		ubyte			=0xf8			720k
1857e8af9738SPeter Avalos#>>512		ubyte			=0xf9			1220k
1858e8af9738SPeter Avalos#>>512		ubyte			=0xfa			320k
1859e8af9738SPeter Avalos#>>512		ubyte			=0xfb			640k
1860e8af9738SPeter Avalos#>>512		ubyte			=0xfc			180k
1861e8af9738SPeter Avalos# look like an an old DOS directory entry
1862e8af9738SPeter Avalos#>>>0xA0E	ubequad			0
1863e8af9738SPeter Avalos#>>>>0xA00	ubequad			!0
1864e8af9738SPeter Avalos#!:mime application/x-ima
1865e8af9738SPeter Avalos#>>512		ubyte			=0xfd
1866e8af9738SPeter Avalos# look for 2nd FAT at different location to distinguish between 360k and 500k
1867e8af9738SPeter Avalos#>>>0x600	ubelong&0xE0ffff00	0xE0ffff00		360k
1868e8af9738SPeter Avalos#>>>0x500	ubelong&0xE0ffff00	0xE0ffff00		500k
1869e8af9738SPeter Avalos#>>>0xA0E	ubequad			0
1870e8af9738SPeter Avalos#!:mime application/x-ima
1871e8af9738SPeter Avalos#>>512		ubyte			=0xfe
1872e8af9738SPeter Avalos#>>>0x400	ubelong&0xE0ffff00	0xE0ffff00		160k
1873e8af9738SPeter Avalos#>>>>0x60E	ubequad			0
1874e8af9738SPeter Avalos#>>>>>0x600	ubequad			!0
1875e8af9738SPeter Avalos#!:mime application/x-ima
1876e8af9738SPeter Avalos#>>>0xC00	ubelong&0xE0ffff00	0xE0ffff00		1200k
1877e8af9738SPeter Avalos#>>512		ubyte			=0xff			320k
1878e8af9738SPeter Avalos#>>>0x60E	ubequad			0
1879e8af9738SPeter Avalos#>>>>0x600	ubequad			!0
1880e8af9738SPeter Avalos#!:mime application/x-ima
1881e8af9738SPeter Avalos#>>512		ubyte			x			\b, Media descriptor 0x%x
1882e8af9738SPeter Avalos# without x86 jump instruction
1883e8af9738SPeter Avalos#>>0		ulelong&0x804000E9	!0x000000E9
1884e8af9738SPeter Avalos# assembler instructions: CLI;MOV SP,1E7;MOV AX;07c0;MOV
1885e8af9738SPeter Avalos#>>>0	ubequad				0xfabce701b8c0078e	\b, MS-DOS 1.12 bootloader
1886e8af9738SPeter Avalos# IOSYS.COM+MSDOS.COM
1887e8af9738SPeter Avalos#>>>>0xc4	use			2xDOS-filename
1888e8af9738SPeter Avalos#>>0		ulelong&0x804000E9	=0x000000E9
1889e8af9738SPeter Avalos# only x86 short jump instruction found
1890e8af9738SPeter Avalos#>>>0		ubyte			=0xEB
1891e8af9738SPeter Avalos#>>>>1		ubyte			x			\b, code offset 0x%x+2
1892e8af9738SPeter Avalos# http://thestarman.pcministry.com/DOS/ibm100/Boot.htm
1893e8af9738SPeter Avalos# assembler instructions: CLI;MOV AX,CS;MOV DS,AX;MOV DX,0
1894e8af9738SPeter Avalos#>>>>(1.b+2)	ubequad			0xfa8cc88ed8ba0000	\b, PC-DOS 1.0 bootloader
1895e8af9738SPeter Avalos# ibmbio.com+ibmdos.com
1896e8af9738SPeter Avalos#>>>>>0x176	use			DOS-filename
1897e8af9738SPeter Avalos#>>>>>0x181	ubyte			x			\b+
1898e8af9738SPeter Avalos#>>>>>0x182	use			DOS-filename
1899e8af9738SPeter Avalos# http://thestarman.pcministry.com/DOS/ibm110/Boot.htm
1900e8af9738SPeter Avalos# assembler instructions: CLI;MOV AX,CS;MOV DS,AX;XOR DX,DX;MOV
1901e8af9738SPeter Avalos#>>>>(1.b+2)	ubequad			0xfa8cc88ed833d28e	\b, PC-DOS 1.1 bootloader
1902e8af9738SPeter Avalos# ibmbio.com+ibmdos.com
1903e8af9738SPeter Avalos#>>>>>0x18b	use			DOS-filename
1904e8af9738SPeter Avalos#>>>>>0x196	ubyte			x			\b+
1905e8af9738SPeter Avalos#>>>>>0x197	use			DOS-filename
1906e8af9738SPeter Avalos# http://en.wikipedia.org/wiki/Zenith_Data_Systems
1907e8af9738SPeter Avalos# assembler instructions: MOV BX,07c0;MOV SS,BX;MOV SP,01c6
1908e8af9738SPeter Avalos#>>>>(1.b+2)	ubequad			0xbbc0078ed3bcc601	\b, Zenith Data Systems MS-DOS 1.25 bootloader
1909e8af9738SPeter Avalos# IO.SYS+MSDOS.SYS
1910e8af9738SPeter Avalos#>>>>>0x20	use			2xDOS-filename
1911e8af9738SPeter Avalos# http://en.wikipedia.org/wiki/Corona_Data_Systems
1912e8af9738SPeter Avalos# assembler instructions: MOV AX,CS;MOV DS,AX;CLI;MOV SS,AX;
1913e8af9738SPeter Avalos#>>>>(1.b+2)	ubequad			0x8cc88ed8fa8ed0bc	\b, MS-DOS 1.25 bootloader
1914e8af9738SPeter Avalos# IO.SYS+MSDOS.SYS
1915e8af9738SPeter Avalos#>>>>>0x69	use			2xDOS-filename
1916e8af9738SPeter Avalos# assembler instructions: CLI;PUSH CS;POP SS;MOV SP,7c00;
1917e8af9738SPeter Avalos#>>>>(1.b+2)	ubequad			0xfa0e17bc007cb860	\b, MS-DOS 2.11 bootloader
1918e8af9738SPeter Avalos# defect IO.SYS+MSDOS.SYS ?
1919e8af9738SPeter Avalos#>>>>>0x162	use			2xDOS-filename
1920e8af9738SPeter Avalos
1921*82c5fa3eSPeter Avalos0	name				cdrom
1922327e51cbSPeter Avalos>38913	string   !NSR0      ISO 9660 CD-ROM filesystem data
1923*82c5fa3eSPeter Avalos!:mime	application/x-iso9660-image
1924327e51cbSPeter Avalos>38913	string    NSR0      UDF filesystem data
1925*82c5fa3eSPeter Avalos!:mime	application/x-iso9660-image
1926327e51cbSPeter Avalos>>38917	string    1         (version 1.0)
1927327e51cbSPeter Avalos>>38917	string    2         (version 1.5)
1928327e51cbSPeter Avalos>>38917	string    3         (version 2.0)
1929327e51cbSPeter Avalos>>38917	byte     >0x33      (unknown version, ID 0x%X)
1930327e51cbSPeter Avalos>>38917	byte     <0x31      (unknown version, ID 0x%X)
1931327e51cbSPeter Avalos# "application id" which appears to be used as a volume label
1932e8af9738SPeter Avalos>32808	string/T  >\0       '%s'
1933327e51cbSPeter Avalos>34816	string    \000CD001\001EL\ TORITO\ SPECIFICATION    (bootable)
1934327e51cbSPeter Avalos37633	string    CD001     ISO 9660 CD-ROM filesystem data (raw 2352 byte sectors)
193579343712SPeter Avalos!:mime	application/x-iso9660-image
1936e8af9738SPeter Avalos32777	string    CDROM     High Sierra CD-ROM filesystem data
1937327e51cbSPeter Avalos
1938*82c5fa3eSPeter Avalos# CDROM Filesystems
1939*82c5fa3eSPeter Avalos# https://en.wikipedia.org/wiki/ISO_9660
1940*82c5fa3eSPeter Avalos# Modified for UDF by gerardo.cacciari@gmail.com
1941*82c5fa3eSPeter Avalos32769	string    CD001
1942*82c5fa3eSPeter Avalos# mime line at that position does not work
1943*82c5fa3eSPeter Avalos# to display CD-ROM (70=81-11) after MBR (113=40+72+1), partition-table (71=50+21) and before Apple Driver Map (51)
1944*82c5fa3eSPeter Avalos!:strength -11
1945*82c5fa3eSPeter Avalos# to display CD-ROM (114=81+33) before MBR (113=40+72+1), partition-table (71=50+21) and Apple Driver Map (51)
1946*82c5fa3eSPeter Avalos# does not work
1947*82c5fa3eSPeter Avalos#!:strength +33
1948*82c5fa3eSPeter Avalos>0	use cdrom
1949*82c5fa3eSPeter Avalos
1950f72f8299SJan Lentfer# .cso files
1951f72f8299SJan Lentfer0    string    CISO	Compressed ISO CD image
1952f72f8299SJan Lentfer
1953327e51cbSPeter Avalos# cramfs filesystem - russell@coker.com.au
1954327e51cbSPeter Avalos0       lelong    0x28cd3d45      Linux Compressed ROM File System data, little endian
1955*82c5fa3eSPeter Avalos>4      lelong  x size %u
1956327e51cbSPeter Avalos>8      lelong  &1 version #2
1957327e51cbSPeter Avalos>8      lelong  &2 sorted_dirs
1958327e51cbSPeter Avalos>8      lelong  &4 hole_support
1959327e51cbSPeter Avalos>32     lelong  x CRC 0x%x,
1960*82c5fa3eSPeter Avalos>36     lelong  x edition %u,
1961*82c5fa3eSPeter Avalos>40     lelong  x %u blocks,
1962*82c5fa3eSPeter Avalos>44     lelong  x %u files
1963327e51cbSPeter Avalos
1964327e51cbSPeter Avalos0       belong    0x28cd3d45      Linux Compressed ROM File System data, big endian
1965*82c5fa3eSPeter Avalos>4      belong  x size %u
1966327e51cbSPeter Avalos>8      belong  &1 version #2
1967327e51cbSPeter Avalos>8      belong  &2 sorted_dirs
1968327e51cbSPeter Avalos>8      belong  &4 hole_support
1969327e51cbSPeter Avalos>32     belong  x CRC 0x%x,
1970*82c5fa3eSPeter Avalos>36     belong  x edition %u,
1971*82c5fa3eSPeter Avalos>40     belong  x %u blocks,
1972*82c5fa3eSPeter Avalos>44     belong  x %u files
1973327e51cbSPeter Avalos
1974327e51cbSPeter Avalos# reiserfs - russell@coker.com.au
1975327e51cbSPeter Avalos0x10034		string	ReIsErFs	ReiserFS V3.5
1976327e51cbSPeter Avalos0x10034		string	ReIsEr2Fs	ReiserFS V3.6
1977e4d4ce0cSPeter Avalos0x10034		string	ReIsEr3Fs	ReiserFS V3.6.19
1978327e51cbSPeter Avalos>0x1002c 	leshort	x		block size %d
1979327e51cbSPeter Avalos>0x10032	leshort	&2		(mounted or unclean)
1980327e51cbSPeter Avalos>0x10000	lelong	x		num blocks %d
1981327e51cbSPeter Avalos>0x10040	lelong	1		tea hash
1982327e51cbSPeter Avalos>0x10040	lelong	2		yura hash
1983327e51cbSPeter Avalos>0x10040	lelong	3		r5 hash
1984327e51cbSPeter Avalos
1985327e51cbSPeter Avalos# JFFS - russell@coker.com.au
1986327e51cbSPeter Avalos0	lelong	0x34383931	Linux Journalled Flash File system, little endian
1987327e51cbSPeter Avalos0	belong	0x34383931	Linux Journalled Flash File system, big endian
1988327e51cbSPeter Avalos
1989327e51cbSPeter Avalos# EST flat binary format (which isn't, but anyway)
1990327e51cbSPeter Avalos# From: Mark Brown <broonie@sirena.org.uk>
1991327e51cbSPeter Avalos0	string	ESTFBINR	EST flat binary
1992327e51cbSPeter Avalos
1993327e51cbSPeter Avalos# Aculab VoIP firmware
1994327e51cbSPeter Avalos# From: Mark Brown <broonie@sirena.org.uk>
1995327e51cbSPeter Avalos0	string	VoIP\ Startup\ and	Aculab VoIP firmware
1996327e51cbSPeter Avalos>35	string	x	format %s
1997327e51cbSPeter Avalos
1998f72f8299SJan Lentfer# From: Mark Brown <broonie@sirena.org.uk> [old]
1999f72f8299SJan Lentfer# From: Behan Webster <behanw@websterwood.com>
2000f72f8299SJan Lentfer0	belong	0x27051956	u-boot legacy uImage,
2001f72f8299SJan Lentfer>32	string	x		%s,
2002f72f8299SJan Lentfer>28	byte	0		Invalid os/
2003f72f8299SJan Lentfer>28	byte	1		OpenBSD/
2004f72f8299SJan Lentfer>28	byte	2		NetBSD/
2005f72f8299SJan Lentfer>28	byte	3		FreeBSD/
2006f72f8299SJan Lentfer>28	byte	4		4.4BSD/
2007f72f8299SJan Lentfer>28	byte	5		Linux/
2008f72f8299SJan Lentfer>28	byte	6		SVR4/
2009f72f8299SJan Lentfer>28	byte	7		Esix/
2010f72f8299SJan Lentfer>28	byte	8		Solaris/
2011f72f8299SJan Lentfer>28	byte	9		Irix/
2012f72f8299SJan Lentfer>28	byte	10		SCO/
2013f72f8299SJan Lentfer>28	byte	11		Dell/
2014f72f8299SJan Lentfer>28	byte	12		NCR/
2015f72f8299SJan Lentfer>28	byte	13		LynxOS/
2016f72f8299SJan Lentfer>28	byte	14		VxWorks/
2017f72f8299SJan Lentfer>28	byte	15		pSOS/
2018f72f8299SJan Lentfer>28	byte	16		QNX/
2019f72f8299SJan Lentfer>28	byte	17		Firmware/
2020f72f8299SJan Lentfer>28	byte	18		RTEMS/
2021f72f8299SJan Lentfer>28	byte	19		ARTOS/
2022f72f8299SJan Lentfer>28	byte	20		Unity OS/
2023f72f8299SJan Lentfer>28	byte	21		INTEGRITY/
2024f72f8299SJan Lentfer>29	byte	0		\bInvalid CPU,
2025f72f8299SJan Lentfer>29	byte	1		\bAlpha,
2026f72f8299SJan Lentfer>29	byte	2		\bARM,
2027f72f8299SJan Lentfer>29	byte	3		\bIntel x86,
2028f72f8299SJan Lentfer>29	byte	4		\bIA64,
2029f72f8299SJan Lentfer>29	byte	5		\bMIPS,
2030f72f8299SJan Lentfer>29	byte	6		\bMIPS 64-bit,
2031f72f8299SJan Lentfer>29	byte	7		\bPowerPC,
2032f72f8299SJan Lentfer>29	byte	8		\bIBM S390,
2033f72f8299SJan Lentfer>29	byte	9		\bSuperH,
2034f72f8299SJan Lentfer>29	byte	10		\bSparc,
2035f72f8299SJan Lentfer>29	byte	11		\bSparc 64-bit,
2036f72f8299SJan Lentfer>29	byte	12		\bM68K,
2037f72f8299SJan Lentfer>29	byte	13		\bNios-32,
2038f72f8299SJan Lentfer>29	byte	14		\bMicroBlaze,
2039f72f8299SJan Lentfer>29	byte	15		\bNios-II,
2040f72f8299SJan Lentfer>29	byte	16		\bBlackfin,
2041f72f8299SJan Lentfer>29	byte	17		\bAVR32,
2042f72f8299SJan Lentfer>29	byte	18		\bSTMicroelectronics ST200,
2043f72f8299SJan Lentfer>30	byte	0		Invalid Image
2044f72f8299SJan Lentfer>30	byte	1		Standalone Program
2045f72f8299SJan Lentfer>30	byte	2		OS Kernel Image
2046f72f8299SJan Lentfer>30	byte	3		RAMDisk Image
2047f72f8299SJan Lentfer>30	byte	4		Multi-File Image
2048f72f8299SJan Lentfer>30	byte	5		Firmware Image
2049f72f8299SJan Lentfer>30	byte	6		Script File
2050f72f8299SJan Lentfer>30	byte	7		Filesystem Image (any type)
2051f72f8299SJan Lentfer>30	byte	8		Binary Flat Device Tree BLOB
2052f72f8299SJan Lentfer>31	byte	0		(Not compressed),
2053f72f8299SJan Lentfer>31	byte	1		(gzip),
2054f72f8299SJan Lentfer>31	byte	2		(bzip2),
2055f72f8299SJan Lentfer>31	byte	3		(lzma),
2056f72f8299SJan Lentfer>12	belong	x		%d bytes,
2057f72f8299SJan Lentfer>8	bedate	x		%s,
2058f72f8299SJan Lentfer>16	belong	x		Load Address: 0x%08X,
2059f72f8299SJan Lentfer>20	belong	x		Entry Point: 0x%08X,
2060f72f8299SJan Lentfer>4	belong	x		Header CRC: 0x%08X,
2061f72f8299SJan Lentfer>24	belong	x		Data CRC: 0x%08X
2062327e51cbSPeter Avalos
2063327e51cbSPeter Avalos# JFFS2 file system
2064327e51cbSPeter Avalos0	leshort	0x1984		Linux old jffs2 filesystem data little endian
2065327e51cbSPeter Avalos0	leshort	0x1985		Linux jffs2 filesystem data little endian
2066327e51cbSPeter Avalos
2067327e51cbSPeter Avalos# Squashfs
2068327e51cbSPeter Avalos0	string	sqsh	Squashfs filesystem, big endian,
2069327e51cbSPeter Avalos>28	beshort	x	version %d.
2070327e51cbSPeter Avalos>30	beshort x	\b%d,
2071327e51cbSPeter Avalos>28	beshort <3
2072327e51cbSPeter Avalos>>8	belong	x	%d bytes,
2073327e51cbSPeter Avalos>28	beshort >2
2074e4d4ce0cSPeter Avalos>>28 beshort <4
2075e4d4ce0cSPeter Avalos>>>63	bequad x	%lld bytes,
2076e4d4ce0cSPeter Avalos>>28 beshort >3
2077e4d4ce0cSPeter Avalos>>>40	bequad x	%lld bytes,
2078327e51cbSPeter Avalos#>>67	belong	x	%d bytes,
2079327e51cbSPeter Avalos>4	belong	x	%d inodes,
2080327e51cbSPeter Avalos>28	beshort <2
2081327e51cbSPeter Avalos>>32	beshort	x	blocksize: %d bytes,
2082327e51cbSPeter Avalos>28	beshort >1
2083e4d4ce0cSPeter Avalos>>28 beshort <4
2084e4d4ce0cSPeter Avalos>>>51	belong	x	blocksize: %d bytes,
2085e4d4ce0cSPeter Avalos>>28 beshort >3
2086e4d4ce0cSPeter Avalos>>>12	belong	x	blocksize: %d bytes,
2087e4d4ce0cSPeter Avalos>28 beshort <4
2088e4d4ce0cSPeter Avalos>>39	bedate	x	created: %s
2089e4d4ce0cSPeter Avalos>28 beshort >3
2090e4d4ce0cSPeter Avalos>>8	bedate	x	created: %s
2091327e51cbSPeter Avalos0	string	hsqs	Squashfs filesystem, little endian,
2092327e51cbSPeter Avalos>28	leshort	x	version %d.
2093327e51cbSPeter Avalos>30	leshort	x	\b%d,
2094327e51cbSPeter Avalos>28	leshort <3
2095327e51cbSPeter Avalos>>8	lelong	x	%d bytes,
2096327e51cbSPeter Avalos>28	leshort >2
2097e4d4ce0cSPeter Avalos>>28 leshort <4
2098e4d4ce0cSPeter Avalos>>>63	lequad x	%lld bytes,
2099e4d4ce0cSPeter Avalos>>28 leshort >3
2100e4d4ce0cSPeter Avalos>>>40	lequad x	%lld bytes,
2101327e51cbSPeter Avalos#>>63	lelong	x	%d bytes,
2102327e51cbSPeter Avalos>4	lelong	x	%d inodes,
2103327e51cbSPeter Avalos>28	leshort <2
2104327e51cbSPeter Avalos>>32	leshort	x	blocksize: %d bytes,
2105327e51cbSPeter Avalos>28	leshort >1
2106e4d4ce0cSPeter Avalos>>28 leshort <4
2107e4d4ce0cSPeter Avalos>>>51	lelong	x	blocksize: %d bytes,
2108e4d4ce0cSPeter Avalos>>28 leshort >3
2109e4d4ce0cSPeter Avalos>>>12	lelong	x	blocksize: %d bytes,
2110e4d4ce0cSPeter Avalos>28 leshort <4
2111e4d4ce0cSPeter Avalos>>39	ledate	x	created: %s
2112e4d4ce0cSPeter Avalos>28 leshort >3
2113e4d4ce0cSPeter Avalos>>8	ledate	x	created: %s
2114327e51cbSPeter Avalos
2115327e51cbSPeter Avalos# AFS Dump Magic
2116327e51cbSPeter Avalos# From: Ty Sarna <tsarna@sarna.org>
2117327e51cbSPeter Avalos0       string                  \x01\xb3\xa1\x13\x22    AFS Dump
2118327e51cbSPeter Avalos>&0     belong                  x                       (v%d)
2119327e51cbSPeter Avalos>>&0    byte                    0x76
2120327e51cbSPeter Avalos>>>&0   belong                  x                       Vol %d,
2121327e51cbSPeter Avalos>>>>&0  byte                    0x6e
2122327e51cbSPeter Avalos>>>>>&0 string                  x                       %s
2123327e51cbSPeter Avalos>>>>>>&1        byte            0x74
2124327e51cbSPeter Avalos>>>>>>>&0       beshort         2
2125327e51cbSPeter Avalos>>>>>>>>&4      bedate          x                       on: %s
2126327e51cbSPeter Avalos>>>>>>>>&0      bedate          =0                      full dump
2127327e51cbSPeter Avalos>>>>>>>>&0      bedate          !0                      incremental since: %s
2128327e51cbSPeter Avalos
2129327e51cbSPeter Avalos#----------------------------------------------------------
2130f72f8299SJan Lentfer#delta ISO    Daniel Novotny (dnovotny@redhat.com)
2131f72f8299SJan Lentfer0	string  DISO	Delta ISO data
2132*82c5fa3eSPeter Avalos!:strength +50
2133f72f8299SJan Lentfer>4	belong  x	version %d
2134f72f8299SJan Lentfer
2135327e51cbSPeter Avalos# VMS backup savesets - gerardo.cacciari@gmail.com
2136327e51cbSPeter Avalos#
2137327e51cbSPeter Avalos4            string  \x01\x00\x01\x00\x01\x00
2138327e51cbSPeter Avalos>(0.s+16)    string  \x01\x01
2139327e51cbSPeter Avalos>>&(&0.b+8)  byte    0x42       OpenVMS backup saveset data
2140327e51cbSPeter Avalos>>>40        lelong  x          (block size %d,
2141327e51cbSPeter Avalos>>>49        string  >\0        original name '%s',
2142327e51cbSPeter Avalos>>>2         short   1024       VAX generated)
2143327e51cbSPeter Avalos>>>2         short   2048       AXP generated)
2144327e51cbSPeter Avalos>>>2         short   4096       I64 generated)
2145327e51cbSPeter Avalos
214679343712SPeter Avalos# Summary: Oracle Clustered Filesystem
214779343712SPeter Avalos# Created by: Aaron Botsis <redhat@digitalmafia.org>
214879343712SPeter Avalos8	string		OracleCFS	Oracle Clustered Filesystem,
214979343712SPeter Avalos>4	long		x		rev %d
215079343712SPeter Avalos>0	long		x		\b.%d,
215179343712SPeter Avalos>560	string		x		label: %.64s,
215279343712SPeter Avalos>136	string		x		mountpoint: %.128s
215379343712SPeter Avalos
215479343712SPeter Avalos# Summary: Oracle ASM tagged volume
215579343712SPeter Avalos# Created by: Aaron Botsis <redhat@digitalmafia.org>
215679343712SPeter Avalos32	string		ORCLDISK	Oracle ASM Volume,
215779343712SPeter Avalos>40	string		x		Disk Name: %0.12s
215879343712SPeter Avalos32	string		ORCLCLRD	Oracle ASM Volume (cleared),
215979343712SPeter Avalos>40	string		x		Disk Name: %0.12s
216079343712SPeter Avalos
216179343712SPeter Avalos# Oracle Clustered Filesystem - Aaron Botsis <redhat@digitalmafia.org>
216279343712SPeter Avalos8	string		OracleCFS	Oracle Clustered Filesystem,
216379343712SPeter Avalos>4	long		x		rev %d
216479343712SPeter Avalos>0	long		x		\b.%d,
216579343712SPeter Avalos>560	string		x		label: %.64s,
216679343712SPeter Avalos>136	string		x		mountpoint: %.128s
216779343712SPeter Avalos
216879343712SPeter Avalos# Oracle ASM tagged volume - Aaron Botsis <redhat@digitalmafia.org>
216979343712SPeter Avalos32	string		ORCLDISK	Oracle ASM Volume,
217079343712SPeter Avalos>40	string		x		Disk Name: %0.12s
217179343712SPeter Avalos32	string		ORCLCLRD	Oracle ASM Volume (cleared),
217279343712SPeter Avalos>40	string		x		Disk Name: %0.12s
217379343712SPeter Avalos
2174327e51cbSPeter Avalos# Compaq/HP RILOE floppy image
2175327e51cbSPeter Avalos# From: Dirk Jagdmann <doj@cubic.org>
2176327e51cbSPeter Avalos0	string	CPQRFBLO	Compaq/HP RILOE floppy image
2177327e51cbSPeter Avalos
2178327e51cbSPeter Avalos#------------------------------------------------------------------------------
2179e4d4ce0cSPeter Avalos# Files-11 On-Disk Structure (File system for various RSX-11 and VMS flavours).
2180e4d4ce0cSPeter Avalos# These bits come from LBN 1 (home block) of ODS-1, ODS-2 and ODS-5 volumes,
2181e4d4ce0cSPeter Avalos# which is mapped to VBN 2 of [000000]INDEXF.SYS;1 - gerardo.cacciari@gmail.com
2182327e51cbSPeter Avalos#
2183e4d4ce0cSPeter Avalos1008    string          DECFILE11       Files-11 On-Disk Structure
2184e4d4ce0cSPeter Avalos>525    byte            x               (ODS-%d);
2185e4d4ce0cSPeter Avalos>1017   string          A               RSX-11, VAX/VMS or OpenVMS VAX file system;
2186e4d4ce0cSPeter Avalos>1017   string          B
2187e4d4ce0cSPeter Avalos>>525   byte            2               VAX/VMS or OpenVMS file system;
2188e4d4ce0cSPeter Avalos>>525   byte            5               OpenVMS Alpha or Itanium file system;
2189327e51cbSPeter Avalos>984    string          x               volume label is '%-12.12s'
2190327e51cbSPeter Avalos
2191327e51cbSPeter Avalos# From: Thomas Klausner <wiz@NetBSD.org>
2192327e51cbSPeter Avalos# http://filext.com/file-extension/DAA
2193327e51cbSPeter Avalos# describes the daa file format. The magic would be:
2194327e51cbSPeter Avalos0	string		DAA\x0\x0\x0\x0\x0	PowerISO Direct-Access-Archive
219579343712SPeter Avalos
219679343712SPeter Avalos# From Albert Cahalan <acahalan@gmail.com>
219779343712SPeter Avalos# really le32 operation,destination,payloadsize (but quite predictable)
219879343712SPeter Avalos# 01 00 00 00 00 00 00 c0 00 02 00 00
219979343712SPeter Avalos0	string		\1\0\0\0\0\0\0\300\0\2\0\0	Marvell Libertas firmware
220079343712SPeter Avalos
220179343712SPeter Avalos# From Eric Sandeen
220279343712SPeter Avalos# GFS2
2203e4d4ce0cSPeter Avalos0x10000         belong          0x01161970
2204e4d4ce0cSPeter Avalos>0x10018        belong          0x0000051d      GFS1 Filesystem
2205e4d4ce0cSPeter Avalos>>0x10024        belong          x               (blocksize %d,
2206e4d4ce0cSPeter Avalos>>0x10060        string          >\0             lockproto %s)
2207e4d4ce0cSPeter Avalos>0x10018        belong          0x00000709      GFS2 Filesystem
2208e4d4ce0cSPeter Avalos>>0x10024        belong          x               (blocksize %d,
2209e4d4ce0cSPeter Avalos>>0x10060        string          >\0             lockproto %s)
221079343712SPeter Avalos
221179343712SPeter Avalos# BTRFS
221279343712SPeter Avalos0x10040         string          _BHRfS_M        BTRFS Filesystem
221379343712SPeter Avalos>0x1012b        string          >\0             (label "%s",
221479343712SPeter Avalos>0x10090        lelong          x               sectorsize %d,
221579343712SPeter Avalos>0x10094        lelong          x               nodesize %d,
221679343712SPeter Avalos>0x10098        lelong          x               leafsize %d)
221779343712SPeter Avalos
221879343712SPeter Avalos
221979343712SPeter Avalos# dvdisaster's .ecc
222079343712SPeter Avalos# From: "Nelson A. de Oliveira" <naoliv@gmail.com>
222179343712SPeter Avalos0	string	*dvdisaster*	dvdisaster error correction file
2222f72f8299SJan Lentfer
2223f72f8299SJan Lentfer# xfs metadump image
2224f72f8299SJan Lentfer# mb_magic XFSM at 0; superblock magic XFSB at 1 << mb_blocklog
2225f72f8299SJan Lentfer# but can we do the << ?  For now it's always 512 (0x200) anyway.
2226f72f8299SJan Lentfer0	string XFSM
2227f72f8299SJan Lentfer>0x200	string XFSB	XFS filesystem metadump image
2228f72f8299SJan Lentfer
2229e4d4ce0cSPeter Avalos# Type:	CROM filesystem
2230e4d4ce0cSPeter Avalos# From:	Werner Fink <werner@suse.de>
2231e4d4ce0cSPeter Avalos0	string	CROMFS	CROMFS
2232e4d4ce0cSPeter Avalos>6	string	>\0	\b version %2.2s,
2233e4d4ce0cSPeter Avalos>8	ulequad	>0	\b block data at %lld,
2234e4d4ce0cSPeter Avalos>16	ulequad	>0	\b fblock table at %lld,
2235e4d4ce0cSPeter Avalos>24	ulequad	>0	\b inode table at %lld,
2236e4d4ce0cSPeter Avalos>32	ulequad	>0	\b root at %lld,
2237*82c5fa3eSPeter Avalos>40	ulelong	>0	\b fblock size = %d,
2238*82c5fa3eSPeter Avalos>44	ulelong	>0	\b block size = %d,
2239e4d4ce0cSPeter Avalos>48	ulequad	>0	\b bytes = %lld
2240e4d4ce0cSPeter Avalos
2241e4d4ce0cSPeter Avalos# Type:	xfs metadump image
2242e4d4ce0cSPeter Avalos# From:	Daniel Novotny <dnovotny@redhat.com>
2243e4d4ce0cSPeter Avalos# mb_magic XFSM at 0; superblock magic XFSB at 1 << mb_blocklog
2244e4d4ce0cSPeter Avalos# but can we do the << ? For now it's always 512 (0x200) anyway.
2245e4d4ce0cSPeter Avalos0	string	XFSM
2246e4d4ce0cSPeter Avalos>0x200	string	XFSB	XFS filesystem metadump image
2247e4d4ce0cSPeter Avalos
2248e4d4ce0cSPeter Avalos# Type:	delta ISO
2249e4d4ce0cSPeter Avalos# From:	Daniel Novotny <dnovotny@redhat.com>
2250e4d4ce0cSPeter Avalos0	string	DISO	Delta ISO data,
2251e4d4ce0cSPeter Avalos>4	belong	x	version %d
2252e4d4ce0cSPeter Avalos
2253e4d4ce0cSPeter Avalos# JFS2 (Journaling File System) image. (Old JFS1 has superblock at 0x1000.)
2254e4d4ce0cSPeter Avalos# See linux/fs/jfs/jfs_superblock.h for layout; see jfs_filsys.h for flags.
2255e4d4ce0cSPeter Avalos# From: Adam Buchbinder <adam.buchbinder@gmail.com>
2256e4d4ce0cSPeter Avalos0x8000	string	JFS1
2257e4d4ce0cSPeter Avalos# Because it's text-only magic, check a binary value (version) to be sure.
2258e4d4ce0cSPeter Avalos# Should always be 2, but mkfs.jfs writes it as 1. Needs to be 2 or 1 to be
2259e4d4ce0cSPeter Avalos# mountable.
2260e4d4ce0cSPeter Avalos>&0	lelong	<3	JFS2 filesystem image
2261e4d4ce0cSPeter Avalos# Label is followed by a UUID; we have to limit string length to avoid
2262e4d4ce0cSPeter Avalos# appending the UUID in the case of a 16-byte label.
2263e4d4ce0cSPeter Avalos>>&144	regex	[\x20-\x7E]{1,16}	(label "%s")
2264e4d4ce0cSPeter Avalos>>&0	lequad	x	\b, %lld blocks
2265e4d4ce0cSPeter Avalos>>&8	lelong	x	\b, blocksize %d
2266e4d4ce0cSPeter Avalos>>&32	lelong&0x00000006	>0	(dirty)
2267e4d4ce0cSPeter Avalos>>&36	lelong	>0	(compressed)
2268e8af9738SPeter Avalos
2269e8af9738SPeter Avalos# LFS
2270e8af9738SPeter Avalos0	lelong	0x070162	LFS filesystem image
2271e8af9738SPeter Avalos>4	lelong	1		version 1,
2272e8af9738SPeter Avalos>>8	lelong	x		\b blocks %u,
2273e8af9738SPeter Avalos>>12	lelong	x		\b blocks per segment %u,
2274e8af9738SPeter Avalos>4	lelong	2		version 2,
2275e8af9738SPeter Avalos>>8	lelong	x		\b fragments %u,
2276e8af9738SPeter Avalos>>12	lelong	x		\b bytes per segment %u,
2277e8af9738SPeter Avalos>16	lelong	x		\b disk blocks %u,
2278e8af9738SPeter Avalos>20	lelong	x		\b block size %u,
2279e8af9738SPeter Avalos>24	lelong	x		\b fragment size %u,
2280e8af9738SPeter Avalos>28	lelong	x		\b fragments per block %u,
2281e8af9738SPeter Avalos>32	lelong	x		\b start for free list %u,
2282e8af9738SPeter Avalos>36	lelong	x		\b number of free blocks %d,
2283e8af9738SPeter Avalos>40	lelong	x		\b number of files %u,
2284e8af9738SPeter Avalos>44	lelong	x		\b blocks available for writing %d,
2285e8af9738SPeter Avalos>48	lelong	x		\b inodes in cache %d,
2286e8af9738SPeter Avalos>52	lelong	x		\b inode file disk address 0x%x,
2287e8af9738SPeter Avalos>56	lelong	x		\b inode file inode number %u,
2288e8af9738SPeter Avalos>60	lelong	x		\b address of last segment written 0x%x,
2289e8af9738SPeter Avalos>64	lelong	x		\b address of next segment to write 0x%x,
2290e8af9738SPeter Avalos>68	lelong	x		\b address of current segment written 0x%x
2291e8af9738SPeter Avalos
2292e8af9738SPeter Avalos0	string	td\000		floppy image data (TeleDisk, compressed)
2293e8af9738SPeter Avalos0	string	TD\000		floppy image data (TeleDisk)
2294e8af9738SPeter Avalos
2295e8af9738SPeter Avalos0	string	CQ\024		floppy image data (CopyQM,
2296e8af9738SPeter Avalos>16	leshort	x		%d sectors,
2297e8af9738SPeter Avalos>18	leshort	x		%d heads.)
2298e8af9738SPeter Avalos
2299e8af9738SPeter Avalos0	string	ACT\020Apricot\020disk\020image\032\004	floppy image data (ApriDisk)
2300e8af9738SPeter Avalos
2301e8af9738SPeter Avalos0	beshort	0xAA58		floppy image data (IBM SaveDskF, old)
2302e8af9738SPeter Avalos0	beshort	0xAA59		floppy image data (IBM SaveDskF)
2303e8af9738SPeter Avalos0	beshort	0xAA5A		floppy image data (IBM SaveDskF, compressed)
2304e8af9738SPeter Avalos
2305e8af9738SPeter Avalos0	string	\074CPM_Disk\076	disk image data (YAZE)
2306e8af9738SPeter Avalos
2307e8af9738SPeter Avalos# ReFS
2308e8af9738SPeter Avalos# Richard W.M. Jones <rjones@redhat.com>
2309e8af9738SPeter Avalos0	string	\0\0\0ReFS\0	ReFS filesystem image
2310e8af9738SPeter Avalos
2311e8af9738SPeter Avalos# EFW encase image file format:
2312e8af9738SPeter Avalos# Gregoire Passault
2313e8af9738SPeter Avalos# http://www.forensicswiki.org/wiki/Encase_image_file_format
2314e8af9738SPeter Avalos0	string	EVF\x09\x0d\x0a\xff\x00	EWF/Expert Witness/EnCase image file format
2315e8af9738SPeter Avalos
2316e8af9738SPeter Avalos# UBIfs
2317e8af9738SPeter Avalos# Linux kernel sources: fs/ubifs/ubifs-media.h
2318*82c5fa3eSPeter Avalos0	lelong	0x06101831
2319*82c5fa3eSPeter Avalos>0x16	leshort	0		UBIfs image
2320e8af9738SPeter Avalos>0x08	lequad	x		\b, sequence number %llu
2321e8af9738SPeter Avalos>0x10	leshort x		\b, length %u
2322e8af9738SPeter Avalos>0x04	lelong	x		\b, CRC 0x%08x
2323e8af9738SPeter Avalos
2324*82c5fa3eSPeter Avalos0	lelong	0x23494255
2325*82c5fa3eSPeter Avalos>0x04	leshort	<2
2326e8af9738SPeter Avalos>0x05	string	\0\0\0
2327e8af9738SPeter Avalos>0x1c	string	\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
2328*82c5fa3eSPeter Avalos>0x04	leshort	x		UBI image, version %u
2329*82c5fa3eSPeter Avalos
2330*82c5fa3eSPeter Avalos# NEC PC-88 2D disk image
2331*82c5fa3eSPeter Avalos# From Fabio R. Schmidlin <sd-snatcher@users.sourceforge.net>
2332*82c5fa3eSPeter Avalos0x20		ulelong&0xFFFFFEFF	0x2A0
2333*82c5fa3eSPeter Avalos>0x10		string			\0\0\0\0\0\0\0\0\0\0
2334*82c5fa3eSPeter Avalos>>0x280		string			\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
2335*82c5fa3eSPeter Avalos>>>0x1A		ubyte&0xEF		0
2336*82c5fa3eSPeter Avalos>>>>0x1B	ubyte&0x8F		0
2337*82c5fa3eSPeter Avalos>>>>>0x1B	ubyte&70		<0x40
2338*82c5fa3eSPeter Avalos>>>>>>0x1C	ulelong			>0x21
2339*82c5fa3eSPeter Avalos>>>>>>>0	regex	[[:print:]]*	NEC PC-88 disk image, name=%s
2340*82c5fa3eSPeter Avalos>>>>>>>>0x1B	ubyte	0		\b, media=2D
2341*82c5fa3eSPeter Avalos>>>>>>>>0x1B	ubyte	0x10		\b, media=2DD
2342*82c5fa3eSPeter Avalos>>>>>>>>0x1B	ubyte	0x20		\b, media=2HD
2343*82c5fa3eSPeter Avalos>>>>>>>>0x1B	ubyte	0x30		\b, media=1D
2344*82c5fa3eSPeter Avalos>>>>>>>>0x1B	ubyte	0x40		\b, media=1DD
2345*82c5fa3eSPeter Avalos>>>>>>>>0x1A	ubyte	0x10		\b, write-protected
2346