Merge from vendor branch FILE:
[games.git] / contrib / file-4 / magic / Magdir / filesystems
1
2 #------------------------------------------------------------------------------
3 # filesystems:  file(1) magic for different filesystems
4 #
5 0       string  \366\366\366\366        PC formatted floppy with no filesystem
6 # Sun disk labels
7 # From /usr/include/sun/dklabel.h:
8 0774    beshort         0xdabe          
9 # modified by Joerg Jenderek, because original test
10 # succeeds for Cabinet archive dao360.dl_ with negative blocks
11 >0770   long            >0              Sun disk label
12 >>0     string          x               '%s
13 >>>31   string          >\0             \b%s
14 >>>>63  string          >\0             \b%s
15 >>>>>95 string          >\0             \b%s
16 >>0     string          x               \b'
17 >>0734  short           >0              %d rpm,
18 >>0736  short           >0              %d phys cys,
19 >>0740  short           >0              %d alts/cyl,
20 >>0746  short           >0              %d interleave,
21 >>0750  short           >0              %d data cyls,
22 >>0752  short           >0              %d alt cyls,
23 >>0754  short           >0              %d heads/partition,
24 >>0756  short           >0              %d sectors/track,
25 >>0764  long            >0              start cyl %ld,
26 >>0770  long            x               %ld blocks
27 # Is there a boot block written 1 sector in?
28 >512    belong&077777777        0600407 \b, boot block present
29 # Joerg Jenderek: Smart Boot Manager backup file is 41 byte header + first sectors of disc
30 # (http://btmgr.sourceforge.net/docs/user-guide-3.html)
31 0               string  SBMBAKUP_       Smart Boot Manager backup file
32 >9              string  x               \b, version %-5.5s
33 >>14            string  =_              
34 >>>15           string  x               %-.1s
35 >>>>16          string  =_              \b.
36 >>>>>17         string  x               \b%-.1s
37 >>>>>>18        string  =_              \b.
38 >>>>>>>19       string  x               \b%-.1s
39 >>>22           ubyte   0               
40 >>>>21          ubyte   x               \b, from drive 0x%x
41 >>>22           ubyte   >0              
42 >>>>21          string  x               \b, from drive %s
43
44 # Joerg Jenderek
45 # DOS Emulator image is 128 byte, null right padded header + harddisc image
46 0       string  DOSEMU\0                        
47 >0x27E  leshort 0xAA55                  
48 #offset is 128
49 >>19    ubyte   128                     
50 >>>(19.b-1)     ubyte   0x0     DOS Emulator image
51 >>>>7   ulelong >0              \b, %u heads
52 >>>>11  ulelong >0              \b, %d sectors/track
53 >>>>15  ulelong >0              \b, %d cylinders
54
55 0x1FE   leshort 0xAA55                  x86 boot sector
56 >2      string  OSBS                    \b, OS/BS MBR
57 # J\xf6rg Jenderek <joerg dot jenderek at web dot de>
58 >0x8C   string  Invalid\ partition\ table       \b, MS-DOS MBR
59 # dr-dos with some upper-, lowercase variants
60 >0x9D   string  Invalid\ partition\ table$      
61 >>181   string  No\ Operating\ System$          
62 >>>201  string  Operating\ System\ load\ error$ \b, DR-DOS MBR, Version 7.01 to 7.03
63 >0x9D   string  Invalid\ partition\ table$      
64 >>181   string  No\ operating\ system$          
65 >>>201  string  Operating\ system\ load\ error$ \b, DR-DOS MBR, Version 7.01 to 7.03
66 >342    string  Invalid\ partition\ table$      
67 >>366   string  No\ operating\ system$          
68 >>>386  string  Operating\ system\ load\ error$ \b, DR-DOS MBR, version 7.01 to 7.03
69 >295    string  NEWLDR\0                                
70 >>302   string  Bad\ PT\ $                              
71 >>>310  string  No\ OS\ $                               
72 >>>>317 string  OS\ load\ err$                          
73 >>>>>329        string  Moved\ or\ missing\ IBMBIO.LDR\n\r      
74 >>>>>>358       string  Press\ any\ key\ to\ continue.\n\r$     
75 >>>>>>>387      string  Copyright\ (c)\ 1984,1998       
76 >>>>>>>>411     string  Caldera\ Inc.\0         \b, DR-DOS MBR (IBMBIO.LDR)
77 >0x10F  string  Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 4.10.1998, 4.10.2222
78 >>0x1B8 ubelong >0                              \b, Serial 0x%-.4x
79 >0x8B   string  Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 5.00 to 4.00.950
80 >271    string  Invalid\ partition\ table\0             
81 >>295   string  Error\ loading\ operating\ system\0     
82 >>>326  string  Missing\ operating\ system\0            \b, mbr
83 #
84 >139    string  Invalid\ partition\ table\0             
85 >>163   string  Error\ loading\ operating\ system\0     
86 >>>194  string  Missing\ operating\ system\0            \b, Microsoft Windows XP mbr
87 # http://www.heise.de/ct/05/09/006/ page 184
88 #HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\DosDevices\?:=Serial4Bytes+8Bytes
89 >>>>0x1B8       ulelong >0                              \b,Serial 0x%-.4x
90 >300    string  Invalid\ partition\ table\0     
91 >>324   string  Error\ loading\ operating\ system\0
92 >>>355  string  Missing\ operating\ system\0            \b, Microsoft Windows XP MBR
93 #??>>>389       string  Invalid\ system\ disk           
94 >>>>0x1B8       ulelong >0                              \b, Serial 0x%-.4x
95 >300    string  Ung\201ltige\ Partitionstabelle
96 #split string to avoid error: String too long
97 >>328   string  Fehler\ beim\ Laden\    
98 >>>346  string  des\ Betriebssystems    
99 >>>>366 string  Betriebssystem\ nicht\ vorhanden        \b, Microsoft Windows XP MBR (german)
100 >>>>>0x1B8      ulelong >0                              \b, Serial 0x%-.4x
101 >0x145  string  Default:\ F                             \b, FREE-DOS MBR
102 >64     string  no\ active\ partition\ found    
103 >>96    string  read\ error\ while\ reading\ drive      \b, FREE-DOS Beta 0.9 MBR
104 >271    string  Operating\ system\ loading              
105 >>296   string  error\r                                 \b, SYSLINUX MBR (2.10)
106 # http://www.acronis.de/
107 >362    string  MBR\ Error\ \0\r                        
108 >>376   string  ress\ any\ key\ to\                     
109 >>>392  string  boot\ from\ floppy...\0                 \b, Acronis MBR
110 # added by Joerg Jenderek
111 # http://www.visopsys.org/
112 # http://partitionlogic.org.uk/
113 >309    string  No\ bootable\ partition\ found\r        
114 >>339   string  I/O\ Error\ reading\ boot\ sector\r     \b, Visopsys MBR
115 >349    string  No\ bootable\ partition\ found\r        
116 >>379   string  I/O\ Error\ reading\ boot\ sector\r     \b, simple Visopsys MBR
117 # bootloader, bootmanager
118 >0x40   string  SBML                            
119 # label with 11 characters of FAT 12 bit filesystem
120 >>43    string  SMART\ BTMGR                    
121 >>>430  string  SBMK\ Bad!\r                    
122 >>>>3   string  SBM                             \b, Smart Boot Manager
123 >>>>>6  string  >\0                             \b, version %s
124 >382    string  XOSLLOADXCF                     \b, eXtended Operating System Loader
125 >6      string  LILO                            \b, LInux i386 boot LOader
126 >>120   string  LILO                            \b, version 22.3.4 SuSe
127 >>172   string  LILO                            \b, version 22.5.8 Debian
128 # updated by Joerg Jenderek
129 # variables according to grub-0.97/stage1/stage1.S or
130 # http://www.gnu.org/software/grub/manual/grub.html#Embedded-data
131 # usual values are marked with comments to get only informations of strange GRUB loaders
132 >0              ulelong         0x009048EB      
133 >>0x41          ubyte           <2              
134 >>>0x3E         ubyte           >2              \b; GRand Unified Bootloader
135 # 0x3 for 0.5.95,0.93,0.94,0.96 0x4 for 1.90 
136 >>>>0x3E        ubyte           x               \b, stage1 version 0x%x
137 #If it is 0xFF, use a drive passed by BIOS
138 >>>>0x40        ubyte           <0xFF           \b, boot drive 0x%x
139 # in most case 0,1,0x2e for GRUB 0.5.95
140 >>>>0x41        ubyte           >0              \b, LBA flag 0x%x
141 >>>>0x42        uleshort        <0x8000         \b, stage2 address 0x%x
142 #>>>>0x42       uleshort        =0x8000         \b, stage2 address 0x%x (usual)
143 >>>>0x42        uleshort        >0x8000         \b, stage2 address 0x%x
144 #>>>>0x44       ulelong         =1              \b, 1st sector stage2 0x%x (default)
145 >>>>0x44        ulelong         >1              \b, 1st sector stage2 0x%x
146 >>>>0x48        uleshort        <0x800          \b, stage2 segment 0x%x
147 #>>>>0x48       uleshort        =0x800          \b, stage2 segment 0x%x (usual)
148 >>>>0x48        uleshort        >0x800          \b, stage2 segment 0x%x
149 >>>>402         string  Geom\0Hard\ Disk\0Read\0\ Error\0
150 >>>>>394        string  stage1                  \b, GRUB version 0.5.95
151 >>>>382         string  Geom\0Hard\ Disk\0Read\0\ Error\0
152 >>>>>376        string  GRUB\ \0                \b, GRUB version 0.93 or 1.94
153 >>>>383         string  Geom\0Hard\ Disk\0Read\0\ Error\0
154 >>>>>377        string  GRUB\ \0                \b, GRUB version 0.94
155 >>>>385         string  Geom\0Hard\ Disk\0Read\0\ Error\0
156 >>>>>379        string  GRUB\ \0                \b, GRUB version 0.95 or 0.96
157 >>>>391         string  Geom\0Hard\ Disk\0Read\0\ Error\0
158 >>>>>385        string  GRUB\ \0                \b, GRUB version 0.97
159 #unkown version
160 >>>343          string  Geom\0Read\0\ Error\0   
161 >>>>321         string  Loading\ stage1.5       \b, GRUB version x.y
162 >>>380          string  Geom\0Hard\ Disk\0Read\0\ Error\0
163 >>>>374         string  GRUB\ \0                \b, GRUB version n.m
164 # http://syslinux.zytor.com/
165 >478    string  Boot\ failed\r                  
166 >>495   string  LDLINUX\ SYS                    \b, SYSLINUX bootloader (1.62)
167 >480    string  Boot\ failed\r                  
168 >>495   string  LDLINUX\ SYS                    \b, SYSLINUX bootloader (2.06 or 2.11)
169 >484    string  Boot\ error\r                   \b, SYSLINUX bootloader (3.11)
170 >395    string  chksum\0\ ERROR!\0              \b, Gujin bootloader
171 # http://www.bcdwb.de/bcdw/index_e.htm
172 >3      string  BCDL                            
173 >>498   string  BCDL\ \ \ \ BIN                 \b, Bootable CD Loader (1.50Z)
174 # mbr partion table entries
175 # OEM-ID not Microsoft,SYSLINUX,or MTOOLs
176 >3                      string          !MS     
177 >>3                     string          !SYSLINUX
178 >>>3                    string          !MTOOL
179 # not FAT (32 bit)
180 >>>>82                  string          !FAT32  
181 #not IO.SYS
182 >>>>>472                string          !IO\ \ \ \ \ \ SYS
183 #not Linux kernel
184 >>>>>>514               string          !HdrS           
185 # active flag 0 or 0x80 and type > 0
186 >>>>>>>446              ubyte           <0x81   
187 >>>>>>>>446             ubyte&0x7F      0       
188 >>>>>>>>>>>450          ubyte           >0      \b; partition 1: ID=0x%x
189 >>>>>>>>>>446           ubyte           0x80    \b, active
190 >>>>>>>>>>447           ubyte           x       \b, starthead %u
191 #>>>>>>>>>>448          ubyte           x       \b, start C_S: 0x%x
192 #>>>>>>>>>>448          ubeshort&1023   x       \b, startcylinder? %d
193 >>>>>>>>>>454           ulelong         x       \b, startsector %u
194 >>>>>>>>>>458           ulelong         x       \b, %u sectors
195 #
196 >>>>>>>462              ubyte           <0x81   
197 >>>>>>>>462             ubyte&0x7F      0               
198 >>>>>>>>>466            ubyte           >0      \b; partition 2: ID=0x%x
199 >>>>>>>>>>462           ubyte           0x80    \b, active
200 >>>>>>>>>>463           ubyte           x       \b, starthead %u
201 #>>>>>>>>>>464          ubyte           x       \b, start C_S: 0x%x
202 #>>>>>>>>>>464          ubeshort&1023   x       \b, startcylinder? %d
203 >>>>>>>>>>470           ulelong         x       \b, startsector %u
204 >>>>>>>>>>474           ulelong         x       \b, %u sectors
205 #
206 >>>>>>>478              ubyte           <0x81           
207 >>>>>>>>478             ubyte&0x7F      0               
208 >>>>>>>>>482            ubyte           >0      \b; partition 3: ID=0x%x
209 >>>>>>>>>>478           ubyte           0x80    \b, active
210 >>>>>>>>>>479           ubyte           x       \b, starthead %u
211 #>>>>>>>>>>480          ubyte           x       \b, start C_S: 0x%x
212 #>>>>>>>>>>481          ubyte           x       \b, start C2S: 0x%x
213 #>>>>>>>>>>480          ubeshort&1023   x       \b, startcylinder? %d
214 >>>>>>>>>>486           ulelong         x       \b, startsector %u
215 >>>>>>>>>>490           ulelong         x       \b, %u sectors
216 #
217 >>>>>>>494              ubyte           <0x81   
218 >>>>>>>>494             ubyte&0x7F      0               
219 >>>>>>>>>498            ubyte           >0      \b; partition 4: ID=0x%x
220 >>>>>>>>>>494           ubyte           0x80    \b, active
221 >>>>>>>>>>495           ubyte           x       \b, starthead %u
222 #>>>>>>>>>>496          ubyte           x       \b, start C_S: 0x%x
223 #>>>>>>>>>>496          ubeshort&1023   x       \b, startcylinder? %d
224 >>>>>>>>>>502           ulelong         x       \b, startsector %u
225 >>>>>>>>>>506           ulelong         x       \b, %u sectors
226 # mbr partion table entries end
227 # http://www.acronis.de/
228 #FAT label=ACRONIS\ SZ
229 #OEM-ID=BOOTWIZ0
230 >442    string  Non-system\ disk,\      
231 >>459   string  press\ any\ key...\x7\0         \b, Acronis Startup Recovery Loader
232 # DOS names like F11.SYS are 8 right space padded bytes+3 bytes
233 >>>477          ubyte&0xDF      >0              
234 >>>>477         string          x               \b %-.3s
235 >>>>>480        ubyte&0xDF      >0              
236 >>>>>>480       string          x               \b%-.5s
237 >>>>485         ubyte&0xDF      >0              
238 >>>>>485        string          x               \b.%-.3s
239 #
240 >185    string  FDBOOT\ Version\                        
241 >>204   string  \rNo\ Systemdisk.\                      
242 >>>220  string  Booting\ from\ harddisk.\n\r            
243 >>>245  string  Cannot\ load\ from\ harddisk.\n\r       
244 >>>>273 string  Insert\ Systemdisk\                     
245 >>>>>291 string and\ press\ any\ key.\n\r               \b, FDBOOT harddisk Bootloader
246 >>>>>>200 string        >\0                             \b, version %-3s
247 >242    string  Bootsector\ from\ C.H.\ Hochst\204      
248 >>278   string  No\ Systemdisk.\                        
249 >>>293  string  Booting\ from\ harddisk.\n\r            
250 >>>441  string  Cannot\ load\ from\ harddisk.\n\r       
251 >>>>469 string  Insert\ Systemdisk\                     
252 >>>>>487 string and\ press\ any\ key.\n\r               \b, WinImage harddisk Bootloader
253 >>>>>>209 string        >\0                             \b, version %-4.4s
254 >(1.b+2)        ubyte           0xe                     
255 >>(1.b+3)       ubyte           0x1f                    
256 >>>(1.b+4)      ubyte           0xbe                    
257 >>>>(1.b+5)     ubyte           0x77                    
258 >>>>(1.b+6)     ubyte           0x7c                    
259 >>>>>(1.b+7)    ubyte           0xac                    
260 >>>>>>(1.b+8)   ubyte           0x22                    
261 >>>>>>>(1.b+9)  ubyte           0xc0                    
262 >>>>>>>>(1.b+10)        ubyte   0x74                    
263 >>>>>>>>>(1.b+11)       ubyte   0xb                     
264 >>>>>>>>>>(1.b+12)      ubyte   0x56                    
265 >>>>>>>>>>(1.b+13)      ubyte   0xb4                    \b, mkdosfs boot message display
266 >103    string  This\ is\ not\ a\ bootable\ disk.\      
267 >>132   string  Please\ insert\ a\ bootable\            
268 >>>157  string  floppy\ and\r\n                         
269 >>>>169 string  press\ any\ key\ to\ try\ again...\r    \b, FREE-DOS message display
270 #
271 >66     string  Solaris\ Boot\ Sector                   
272 >>99    string  Incomplete\ MDBoot\ load.               
273 >>>89   string  Version                                 \b, Sun Solaris Bootloader
274 >>>>97  byte    x                                       version %c
275 #
276 >408    string  OS/2\ !!\ SYS01475\r\0                  
277 >>429   string  OS/2\ !!\ SYS02025\r\0                  
278 >>>450  string  OS/2\ !!\ SYS02027\r\0                  
279 >>>469  string  OS2BOOT\ \ \ \                          \b, IBM OS/2 Warp bootloader
280 #
281 >409    string  OS/2\ !!\ SYS01475\r\0                  
282 >>430   string  OS/2\ !!\ SYS02025\r\0                  
283 >>>451  string  OS/2\ !!\ SYS02027\r\0                  
284 >>>470  string  OS2BOOT\ \ \ \                          \b, IBM OS/2 Warp Bootloader
285 >112            string  This\ disk\ is\ not\ bootable\r                 
286 >>142           string  If\ you\ wish\ to\ make\ it\ bootable           
287 >>>176          string  run\ the\ DOS\ program\ SYS\                    
288 >>>200          string  after\ the\r                                    
289 >>>>216         string  system\ has\ been\ loaded\r\n                   
290 >>>>>242        string  Please\ insert\ a\ DOS\ diskette\               
291 >>>>>271        string  into\r\n\ the\ drive\ and\                      
292 >>>>>>292       string  strike\ any\ key...\0           \b, IBM OS/2 Warp message display
293 # XP
294 >430    string  NTLDR\ is\ missing\xFF\r\n              
295 >>449   string  Disk\ error\xFF\r\n                     
296 >>>462  string  Press\ any\ key\ to\ restart\r          \b, Microsoft Windows XP Bootloader
297 # DOS names like NTLDR,CMLDR,$LDR$ are 8 right space padded bytes+3 bytes
298 >>>>417         ubyte&0xDF      >0                      
299 >>>>>417        string          x                       %-.5s
300 >>>>>>422       ubyte&0xDF      >0                      
301 >>>>>>>422      string          x                       \b%-.3s
302 >>>>>425        ubyte&0xDF      >0                      
303 >>>>>>425       string          >\                      \b.%-.3s
304 #
305 >>>>371         ubyte           >0x20                   
306 >>>>>368        ubyte&0xDF      >0                      
307 >>>>>>368       string          x                       %-.5s
308 >>>>>>>373      ubyte&0xDF      >0                      
309 >>>>>>>>373     string          x                       \b%-.3s
310 >>>>>>376       ubyte&0xDF      >0                      
311 >>>>>>>376      string          x                       \b.%-.3s
312 #
313 >430    string  NTLDR\ nicht\ gefunden\xFF\r\n          
314 >>453   string  Datentr\204gerfehler\xFF\r\n            
315 >>>473  string  Neustart\ mit\ beliebiger\ Taste\r      \b, Microsoft Windows XP Bootloader (german)
316 >>>>417         ubyte&0xDF      >0                      
317 >>>>>417        string          x                       %-.5s
318 >>>>>>422       ubyte&0xDF      >0                      
319 >>>>>>>422      string          x                       \b%-.3s
320 >>>>>425        ubyte&0xDF      >0                      
321 >>>>>>425       string          >\                      \b.%-.3s
322 # offset variant
323 >>>>379 string  \0                                      
324 >>>>>368        ubyte&0xDF      >0                      
325 >>>>>>368       string          x                       %-.5s
326 >>>>>>>373      ubyte&0xDF      >0                      
327 >>>>>>>>373     string          x                       \b%-.3s
328 #
329 >430    string  NTLDR\ fehlt\xFF\r\n                    
330 >>444   string  Datentr\204gerfehler\xFF\r\n            
331 >>>464  string  Neustart\ mit\ beliebiger\ Taste\r      \b, Microsoft Windows XP Bootloader (2.german)
332 >>>>417         ubyte&0xDF      >0                      
333 >>>>>417        string          x                       %-.5s
334 >>>>>>422       ubyte&0xDF      >0                      
335 >>>>>>>422      string          x                       \b%-.3s
336 >>>>>425        ubyte&0xDF      >0                      
337 >>>>>>425       string          >\                      \b.%-.3s
338 # variant
339 >>>>371         ubyte           >0x20                   
340 >>>>>368        ubyte&0xDF      >0                      
341 >>>>>>368       string          x                       %-.5s
342 >>>>>>>373      ubyte&0xDF      >0                      
343 >>>>>>>>373     string          x                       \b%-.3s
344 >>>>>>376       ubyte&0xDF      >0                      
345 >>>>>>>376      string          x                       \b.%-.3s
346 #
347 >430    string  NTLDR\ fehlt\xFF\r\n                    
348 >>444   string  Medienfehler\xFF\r\n                    
349 >>>459  string  Neustart:\ Taste\ dr\201cken\r          \b, Microsoft Windows XP Bootloader (3.german)
350 >>>>371         ubyte           >0x20                   
351 >>>>>368        ubyte&0xDF      >0                      
352 >>>>>>368       string          x                       %-.5s
353 >>>>>>>373      ubyte&0xDF      >0                      
354 >>>>>>>>373     string          x                       \b%-.3s
355 >>>>>>376       ubyte&0xDF      >0                      
356 >>>>>>>376      string          x                       \b.%-.3s
357 # variant
358 >>>>417         ubyte&0xDF      >0                      
359 >>>>>417        string          x                       %-.5s
360 >>>>>>422       ubyte&0xDF      >0                      
361 >>>>>>>422      string          x                       \b%-.3s
362 >>>>>425        ubyte&0xDF      >0                      
363 >>>>>>425       string          >\                      \b.%-.3s
364 #
365 >430    string  Datentr\204ger\ entfernen\xFF\r\n       
366 >>454   string  Medienfehler\xFF\r\n                    
367 >>>469  string  Neustart:\ Taste\ dr\201cken\r          \b, Microsoft Windows XP Bootloader (4.german)
368 >>>>368         ubyte&0xDF      >0                      
369 >>>>>368        string          x                       %-.5s
370 >>>>>>373       ubyte&0xDF      >0                      
371 >>>>>>>373      string          x                       \b%-.3s
372 >>>>>376        ubyte&0xDF      >0                      
373 >>>>>>376       string          x                       \b.%-.3s
374 #>3     string  NTFS\ \ \ \                             
375 >389    string  Fehler\ beim\ Lesen\ 
376 >>407   string  des\ Datentr\204gers
377 >>>426  string  NTLDR\ fehlt                            
378 >>>>440 string  NTLDR\ ist\ komprimiert
379 >>>>>464 string Neustart\ mit\ Strg+Alt+Entf\r          \b, Microsoft Windows XP Bootloader NTFS (german)
380 #>3     string  NTFS\ \ \ \                             
381 >313    string  A\ disk\ read\ error\ occurred.\r
382 >>345   string  A\ kernel\ file\ is\ missing\   
383 >>>370  string  from\ the\ disk.\r              
384 >>>>484 string  NTLDR\ is\ compressed           
385 >>>>>429 string Insert\ a\ system\ diskette\    
386 >>>>>>454 string and\ restart\r\nthe\ system.\r         \b, Microsoft Windows XP Bootloader NTFS
387 # DOS loader variants different languages,offsets
388 >472    ubyte&0xDF      >0
389 >>389   string  Invalid\ system\ disk\xFF\r\n           
390 >>>411  string  Disk\ I/O\ error                        
391 >>>>428 string  Replace\ the\ disk,\ and\               
392 >>>>>455 string press\ any\ key                         \b, Microsoft Windows 98 Bootloader
393 #IO.SYS
394 >>>>>>472       ubyte&0xDF      >0                      
395 >>>>>>>472      string          x                       \b %-.2s
396 >>>>>>>>474     ubyte&0xDF      >0                      
397 >>>>>>>>>474    string          x                       \b%-.5s
398 >>>>>>>>>>479   ubyte&0xDF      >0                      
399 >>>>>>>>>>>479 string           x                       \b%-.1s
400 >>>>>>>480      ubyte&0xDF      >0                      
401 >>>>>>>>480     string          x                       \b.%-.3s
402 #MSDOS.SYS
403 >>>>>>>483      ubyte&0xDF      >0                      \b+
404 >>>>>>>>483     string          x                       \b%-.5s
405 >>>>>>>>>488    ubyte&0xDF      >0                      
406 >>>>>>>>>>488   string          x                       \b%-.3s
407 >>>>>>>>491     ubyte&0xDF      >0                      
408 >>>>>>>>>491    string          x                       \b.%-.3s
409 #
410 >>390   string  Invalid\ system\ disk\xFF\r\n           
411 >>>412  string  Disk\ I/O\ error\xFF\r\n                
412 >>>>429 string  Replace\ the\ disk,\ and\               
413 >>>>>451 string then\ press\ any\ key\r                 \b, Microsoft Windows 98 Bootloader
414 >>388   string  Ungueltiges\ System\ \xFF\r\n           
415 >>>410  string  E/A-Fehler\ \ \ \ \xFF\r\n              
416 >>>>427 string  Datentraeger\ wechseln\ und\            
417 >>>>>453 string Taste\ druecken\r                       \b, Microsoft Windows 95/98/ME Bootloader (german)
418 #WINBOOT.SYS only not spaces (0xDF)
419 >>>>>>497       ubyte&0xDF      >0                      
420 >>>>>>>497      string          x                       %-.5s
421 >>>>>>>>502     ubyte&0xDF      >0                      
422 >>>>>>>>>502    string          x                       \b%-.1s
423 >>>>>>>>>>503   ubyte&0xDF      >0                      
424 >>>>>>>>>>>503  string          x                       \b%-.1s
425 >>>>>>>>>>>>504 ubyte&0xDF      >0                      
426 >>>>>>>>>>>>>504 string         x                       \b%-.1s
427 >>>>>>505       ubyte&0xDF      >0                      
428 >>>>>>>505      string          x                       \b.%-.3s
429 #IO.SYS
430 >>>>>>472       ubyte&0xDF      >0                      or
431 >>>>>>>472      string          x                       \b %-.2s
432 >>>>>>>>474     ubyte&0xDF      >0                      
433 >>>>>>>>>474    string          x                       \b%-.5s
434 >>>>>>>>>>479   ubyte&0xDF      >0                      
435 >>>>>>>>>>>479 string           x                       \b%-.1s
436 >>>>>>>480      ubyte&0xDF      >0                      
437 >>>>>>>>480     string          x                       \b.%-.3s
438 #MSDOS.SYS
439 >>>>>>>483      ubyte&0xDF      >0                      \b+
440 >>>>>>>>483     string          x                       \b%-.5s
441 >>>>>>>>>488    ubyte&0xDF      >0                      
442 >>>>>>>>>>488   string          x                       \b%-.3s
443 >>>>>>>>491     ubyte&0xDF      >0                      
444 >>>>>>>>>491    string          x                       \b.%-.3s
445 #
446 >>390   string  Ungueltiges\ System\ \xFF\r\n           
447 >>>412  string  E/A-Fehler\ \ \ \ \xFF\r\n              
448 >>>>429 string  Datentraeger\ wechseln\ und\            
449 >>>>>455 string Taste\ druecken\r                       \b, Microsoft Windows 95/98/ME Bootloader (German)
450 #WINBOOT.SYS only not spaces (0xDF)
451 >>>>>>497       ubyte&0xDF      >0                      
452 >>>>>>>497      string          x                       %-.7s
453 >>>>>>>>504     ubyte&0xDF      >0                      
454 >>>>>>>>>504    string          x                       \b%-.1s
455 >>>>>>505       ubyte&0xDF      >0                      
456 >>>>>>>505      string          x                       \b.%-.3s
457 #IO.SYS
458 >>>>>>472       ubyte&0xDF      >0                      or
459 >>>>>>>472      string          x                       \b %-.2s
460 >>>>>>>>474     ubyte&0xDF      >0                      
461 >>>>>>>>>474    string          x                       \b%-.6s
462 >>>>>>>480      ubyte&0xDF      >0                      
463 >>>>>>>>480     string          x                       \b.%-.3s
464 #MSDOS.SYS
465 >>>>>>>483      ubyte&0xDF      >0                      \b+
466 >>>>>>>>483     string          x                       \b%-.5s
467 >>>>>>>>>488    ubyte&0xDF      >0                      
468 >>>>>>>>>>488   string          x                       \b%-.3s
469 >>>>>>>>491     ubyte&0xDF      >0                      
470 >>>>>>>>>491    string          x                       \b.%-.3s
471 #
472 >>389   string  Ungueltiges\ System\ \xFF\r\n           
473 >>>411  string  E/A-Fehler\ \ \ \ \xFF\r\n              
474 >>>>428 string  Datentraeger\ wechseln\ und\            
475 >>>>>454 string Taste\ druecken\r                       \b, Microsoft Windows 95/98/ME Bootloader (GERMAN)
476 # DOS names like IO.SYS,WINBOOT.SYS,MSDOS.SYS,WINBOOT.INI are 8 right space padded bytes+3 bytes
477 >>>>>>472       string          x                       %-.2s
478 >>>>>>>474      ubyte&0xDF      >0                      
479 >>>>>>>>474     string          x                       \b%-.5s
480 >>>>>>>>479     ubyte&0xDF      >0                      
481 >>>>>>>>>479    string          x                       \b%-.1s
482 >>>>>>480       ubyte&0xDF      >0                      
483 >>>>>>>480      string          x                       \b.%-.3s
484 >>>>>>483       ubyte&0xDF      >0                      \b+
485 >>>>>>>483      string          x                       \b%-.5s
486 >>>>>>>488      ubyte&0xDF      >0                      
487 >>>>>>>>488     string          x                       \b%-.2s
488 >>>>>>>>490     ubyte&0xDF      >0                      
489 >>>>>>>>>490    string          x                       \b%-.1s
490 >>>>>>>491      ubyte&0xDF      >0                      
491 >>>>>>>>491     string          x                       \b.%-.3s
492 >479    ubyte&0xDF      >0
493 >>416   string  Kein\ System\ oder\                     
494 >>>433  string  Laufwerksfehler                         
495 >>>>450 string  Wechseln\ und\ Taste\ dr\201cken        \b, Microsoft DOS Bootloader (german)
496 #IO.SYS
497 >>>>>479        string          x                       \b %-.2s
498 >>>>>>481       ubyte&0xDF      >0                      
499 >>>>>>>481      string          x                       \b%-.6s
500 >>>>>487        ubyte&0xDF      >0                      
501 >>>>>>487       string          x                       \b.%-.3s
502 #MSDOS.SYS
503 >>>>>>490       ubyte&0xDF      >0                      \b+
504 >>>>>>>490      string          x                       \b%-.5s
505 >>>>>>>>495     ubyte&0xDF      >0                      
506 >>>>>>>>>495    string          x                       \b%-.3s
507 >>>>>>>498      ubyte&0xDF      >0                      
508 >>>>>>>>498     string          x                       \b.%-.3s
509 #
510 >486    ubyte&0xDF      >0
511 >>416   string  Non-System\ disk\ or\                   
512 >>>435  string  disk\ error\r                           
513 >>>>447 string  Replace\ and\ press\ any\ key\          
514 >>>>>473 string when\ ready\r                           \b, Microsoft DOS Bootloader
515 >480    ubyte&0xDF      >0                      
516 >>393   string  Non-System\ disk\ or\                   
517 >>>412  string  disk\ error\r                           
518 >>>>424 string  Replace\ and\ press\ any\ key\          
519 >>>>>450 string when\ ready\r                           \b, Microsoft DOS bootloader
520 #IO.SYS
521 >>>>>480        string          x                       \b %-.2s
522 >>>>>>482       ubyte&0xDF      >0                      
523 >>>>>>>48       string          x                       \b%-.6s
524 >>>>>488        ubyte&0xDF      >0                      
525 >>>>>>488       string          x                       \b.%-.3s
526 #MSDOS.SYS
527 >>>>>>491       ubyte&0xDF      >0                      \b+
528 >>>>>>>491      string          x                       \b%-.5s
529 >>>>>>>>496     ubyte&0xDF      >0                      
530 >>>>>>>>>496    string          x                       \b%-.3s
531 >>>>>>>499      ubyte&0xDF      >0                      
532 >>>>>>>>499     string          x                       \b.%-.3s
533 #>43    string  \224R-LOADER\ \ SYS                     =label                                  
534 >54     string  SYS
535 >>324   string  VASKK
536 >>>495  string  NEWLDR\0                                \b, DR-DOS Bootloader (LOADER.SYS)
537 #
538 >70     string  IBMBIO\ \ COM                           
539 >>472   string  Cannot\ load\ DOS!\                     
540 >>>489  string  Any\ key\ to\ retry                     \b, DR-DOS Bootloader
541 >>471   string  Cannot\ load\ DOS\                      
542 >>487   string  press\ key\ to\ retry                   \b, Open-DOS Bootloader
543 >444    string  KERNEL\ \ SYS                                   
544 >>314   string  BOOT\ error!                            \b, FREE-DOS Bootloader
545 >499    string  KERNEL\ \ SYS                           
546 >>305   string  BOOT\ err!\0                            \b, Free-DOS Bootloader
547 >449    string  KERNEL\ \ SYS                           
548 >>319   string  BOOT\ error!                            \b, FREE-DOS 0.5 Bootloader
549 >125    string  Loading\ FreeDOS...\r                   
550 >>311   string  BOOT\ error!\r                          \b, FREE-DOS bootloader
551 >>>441          ubyte&0xDF      >0                      
552 >>>>441         string          x                       \b %-.6s
553 >>>>>447        ubyte&0xDF      >0                      
554 >>>>>>447       string          x                       \b%-.1s
555 >>>>>>>448      ubyte&0xDF      >0                      
556 >>>>>>>>448     string          x                       \b%-.1s
557 >>>>449         ubyte&0xDF      >0                      
558 >>>>>449        string          x                       \b.%-.3s
559 >124    string  FreeDOS\0                               
560 >>331   string  \ err\0                                 \b, FREE-DOS BETa 0.9 Bootloader
561 # DOS names like KERNEL.SYS,KERNEL16.SYS,KERNEL32.SYS,METAKERN.SYS are 8 right space padded bytes+3 bytes
562 >>>497          ubyte&0xDF      >0                      
563 >>>>497         string          x                       \b %-.6s
564 >>>>>503        ubyte&0xDF      >0                      
565 >>>>>>503       string          x                       \b%-.1s
566 >>>>>>>504      ubyte&0xDF      >0                      
567 >>>>>>>>504     string          x                       \b%-.1s
568 >>>>505         ubyte&0xDF      >0                      
569 >>>>>505        string          x                       \b.%-.3s
570 >>333   string  \ err\0                                 \b, FREE-DOS BEta 0.9 Bootloader
571 >>>497          ubyte&0xDF      >0                      
572 >>>>497         string          x                       \b %-.6s
573 >>>>>503        ubyte&0xDF      >0                      
574 >>>>>>503       string          x                       \b%-.1s
575 >>>>>>>504      ubyte&0xDF      >0                      
576 >>>>>>>>504     string          x                       \b%-.1s
577 >>>>505         ubyte&0xDF      >0                      
578 >>>>>505        string          x                       \b.%-.3s
579 >>334   string  \ err\0                                 \b, FREE-DOS Beta 0.9 Bootloader
580 >>>497          ubyte&0xDF      >0                      
581 >>>>497         string          x                       \b %-.6s
582 >>>>>503        ubyte&0xDF      >0                      
583 >>>>>>503       string          x                       \b%-.1s
584 >>>>>>>504      ubyte&0xDF      >0                      
585 >>>>>>>>504     string          x                       \b%-.1s
586 >>>>505         ubyte&0xDF      >0                      
587 >>>>>505        string          x                       \b.%-.3s
588 >336    string  Error!\                                 
589 >>343   string  Hit\ a\ key\ to\ reboot.                \b, FREE-DOS Beta 0.9sr1 Bootloader
590 >>>497          ubyte&0xDF      >0                      
591 >>>>497         string          x                       \b %-.6s
592 >>>>>503        ubyte&0xDF      >0                      
593 >>>>>>503       string          x                       \b%-.1s
594 >>>>>>>504      ubyte&0xDF      >0                      
595 >>>>>>>>504     string          x                       \b%-.1s
596 >>>>505         ubyte&0xDF      >0                      
597 >>>>>505        string          x                       \b.%-.3s
598 # added by Joerg Jenderek
599 # http://www.visopsys.org/
600 # http://partitionlogic.org.uk/
601 # OEM-ID=Visopsys
602 >478            ulelong 0                                       
603 >>(1.b+326)     string  I/O\ Error\ reading\                    
604 >>>(1.b+344)    string  Visopsys\ loader\r                      
605 >>>>(1.b+361)   string  Press\ any\ key\ to\ continue.\r        \b, Visopsys loader
606 # http://alexfru.chat.ru/epm.html#bootprog
607 >494    ubyte   >0x4D                                   
608 >>495   string  >E                                      
609 >>>495  string  <S                                      
610 #OEM-ID is not reliable
611 >>>>3   string  BootProg                                
612 # It just looks for a program file name at the root directory
613 # and loads corresponding file with following execution.
614 # DOS names like STARTUP.BIN,STARTUPC.COM,STARTUPE.EXE are 8 right space padded bytes+3 bytes
615 >>>>499                 ubyte&0xDF      >0              \b, COM/EXE Bootloader
616 >>>>>499                string          x               \b %-.1s
617 >>>>>>500               ubyte&0xDF      >0              
618 >>>>>>>500              string          x               \b%-.1s
619 >>>>>>>>501             ubyte&0xDF      >0              
620 >>>>>>>>>501            string          x               \b%-.1s
621 >>>>>>>>>>502           ubyte&0xDF      >0              
622 >>>>>>>>>>>502          string          x               \b%-.1s
623 >>>>>>>>>>>>503         ubyte&0xDF      >0              
624 >>>>>>>>>>>>>503        string          x               \b%-.1s
625 >>>>>>>>>>>>>>504       ubyte&0xDF      >0              
626 >>>>>>>>>>>>>>>504      string          x               \b%-.1s
627 >>>>>>>>>>>>>>>>505     ubyte&0xDF      >0              
628 >>>>>>>>>>>>>>>>>505    string          x               \b%-.1s
629 >>>>>>>>>>>>>>>>>>506   ubyte&0xDF      >0              
630 >>>>>>>>>>>>>>>>>>>506  string          x               \b%-.1s
631 #name extension
632 >>>>>507                ubyte&0xDF      >0              \b.
633 >>>>>>507               string          x               \b%-.1s
634 >>>>>>>508              ubyte&0xDF      >0              
635 >>>>>>>>508             string          x               \b%-.1s
636 >>>>>>>>>509            ubyte&0xDF      >0              
637 >>>>>>>>>>509           string          x               \b%-.1s
638 #If the boot sector fails to read any other sector,
639 #it prints a very short message ("RE") to the screen and hangs the computer.
640 #If the boot sector fails to find needed program in the root directory,
641 #it also hangs with another message ("NF").
642 >>>>>492                string          RENF            \b, FAT (12 bit)
643 >>>>>495                string          RENF            \b, FAT (16 bit)
644 # http://alexfru.chat.ru/epm.html#bootprog
645 >494    ubyte   >0x4D                                   
646 >>495   string  >E                                      
647 >>>495  string  <S                                      
648 #OEM-ID is not reliable
649 >>>>3   string  BootProg                                
650 # It just looks for a program file name at the root directory
651 # and loads corresponding file with following execution.
652 # DOS names like STARTUP.BIN,STARTUPC.COM,STARTUPE.EXE are 8 right space padded bytes+3 bytes
653 >>>>499                 ubyte&0xDF      >0              \b, COM/EXE Bootloader
654 >>>>>499                string          x               \b %-.1s
655 >>>>>>500               ubyte&0xDF      >0              
656 >>>>>>>500              string          x               \b%-.1s
657 >>>>>>>>501             ubyte&0xDF      >0              
658 >>>>>>>>>501            string          x               \b%-.1s
659 >>>>>>>>>>502           ubyte&0xDF      >0              
660 >>>>>>>>>>>502          string          x               \b%-.1s
661 >>>>>>>>>>>>503         ubyte&0xDF      >0              
662 >>>>>>>>>>>>>503        string          x               \b%-.1s
663 >>>>>>>>>>>>>>504       ubyte&0xDF      >0              
664 >>>>>>>>>>>>>>>504      string          x               \b%-.1s
665 >>>>>>>>>>>>>>>>505     ubyte&0xDF      >0              
666 >>>>>>>>>>>>>>>>>505    string          x               \b%-.1s
667 >>>>>>>>>>>>>>>>>>506   ubyte&0xDF      >0              
668 >>>>>>>>>>>>>>>>>>>506  string          x               \b%-.1s
669 #name extension
670 >>>>>507                ubyte&0xDF      >0              \b.
671 >>>>>>507               string          x               \b%-.1s
672 >>>>>>>508              ubyte&0xDF      >0              
673 >>>>>>>>508             string          x               \b%-.1s
674 >>>>>>>>>509            ubyte&0xDF      >0              
675 >>>>>>>>>>509           string          x               \b%-.1s
676 #If the boot sector fails to read any other sector,
677 #it prints a very short message ("RE") to the screen and hangs the computer.
678 #If the boot sector fails to find needed program in the root directory,
679 #it also hangs with another message ("NF").
680 >>>>>492                string          RENF            \b, FAT (12 bit)
681 >>>>>495                string          RENF            \b, FAT (16 bit)
682 # loader end
683 # Joerg Jenderek
684 >446    ubyte   0                       
685 >>450   ubyte   >0                      
686 >>>482  ubyte   0                       
687 >>>>498 ubyte   0                       
688 >>>>466 ubyte   0x05                    \b, extended partition table
689 >>>>466 ubyte   0x0F                    \b, extended partition table (LBA)
690 >>>>466 ubyte   0x0                     \b, extended partition table (last)     
691 # JuMP short     bootcodeoffset NOP assembler instructions will usually be EB xx 90
692 # older drives may use E9 xx xx
693 >0              lelong&0x009000EB       0x009000EB 
694 >0              lelong&0x000000E9       0x000000E9 
695 >>1             ubyte                   >37     \b, code offset 0x%x
696 # mtools-3.9.8/msdos.h
697 # usual values are marked with comments to get only informations of strange FAT systems
698 # valid sectorsize are from 32 to 2048
699 >>>11           uleshort        <2049   
700 >>>>11          uleshort        >31     
701 >>>>>3          string          >\0             \b, OEM-ID "%8.8s"
702 >>>>>11         uleshort        >512            \b, Bytes/sector %u
703 #>>>>>11        uleshort        =512            \b, Bytes/sector %u=512 (usual)
704 >>>>>11         uleshort        <512            \b, Bytes/sector %u
705 >>>>>13         ubyte           >1              \b, sectors/cluster %u
706 #>>>>>13        ubyte           =1              \b, sectors/cluster %u (usual on Floppies)
707 >>>>>14         uleshort        >32             \b, reserved sectors %u
708 #>>>>>14        uleshort        =32             \b, reserved sectors %u (usual Fat32)
709 #>>>>>14        uleshort        >1              \b, reserved sectors %u
710 #>>>>>14        uleshort        =1              \b, reserved sectors %u (usual FAT12,FAT16)
711 >>>>>14         uleshort        <1              \b, reserved sectors %u
712 >>>>>16         ubyte           >2              \b, FATs %u
713 #>>>>>16        ubyte           =2              \b, FATs %u (usual)
714 >>>>>16         ubyte           =1              \b, FAT  %u
715 >>>>>16         ubyte           >0
716 >>>>>17         uleshort        >0              \b, root entries %u
717 #>>>>>17        uleshort        =0              \b, root entries %u=0 (usual Fat32)
718 >>>>>19         uleshort        >0              \b, sectors %u (volumes <=32 MB) 
719 #>>>>>19        uleshort        =0              \b, sectors %u=0 (usual Fat32)
720 >>>>>21         ubyte           >0xF0           \b, Media descriptor 0x%x
721 #>>>>>21        ubyte           =0xF0           \b, Media descriptor 0x%x (usual floppy)
722 >>>>>21         ubyte           <0xF0           \b, Media descriptor 0x%x
723 >>>>>22         uleshort        >0              \b, sectors/FAT %u
724 #>>>>>22        uleshort        =0              \b, sectors/FAT %u=0 (usual Fat32)
725 >>>>>26         ubyte           >2              \b, heads %u
726 #>>>>>26        ubyte           =2              \b, heads %u (usual floppy)
727 >>>>>26         ubyte           =1              \b, heads %u
728 >>>>>28         ulelong         >0              \b, hidden sectors %u
729 #>>>>>28        ulelong         =0              \b, hidden sectors %u (usual floppy)
730 >>>>>32         ulelong         >0              \b, sectors %u (volumes > 32 MB) 
731 #>>>>>32        ulelong         =0              \b, sectors %u (volumes > 32 MB) 
732 # FAT<32 specific 
733 # NOT le FAT3=NOT 3TAF=0xCCABBEB9
734 >>>>>82         ulelong&0xCCABBEB9      >0
735 >>>>>>36        ubyte           >0x80           \b, physical drive 0x%x
736 #>>>>>>36       ubyte           =0x80           \b, physical drive 0x%x=0x80 (usual harddisk)
737 >>>>>>36        ubyte&0x7F      >0              \b, physical drive 0x%x
738 #>>>>>>36       ubyte           =0              \b, physical drive 0x%x=0 (usual floppy)
739 >>>>>>37        ubyte           >0              \b, reserved 0x%x
740 #>>>>>>37       ubyte           =0              \b, reserved 0x%x
741 >>>>>>38        ubyte           >0x29           \b, dos < 4.0 BootSector (0x%x)
742 >>>>>>38        ubyte           <0x29           \b, dos < 4.0 BootSector (0x%x)
743 >>>>>>38        ubyte           =0x29
744 >>>>>>>39       ulelong         x               \b, serial number 0x%x
745 >>>>>>>43       string          <NO\ NAME       \b, label: "%11.11s"
746 >>>>>>>43       string          >NO\ NAME       \b, label: "%11.11s"
747 >>>>>>>43       string          =NO\ NAME       \b, unlabeled
748 >>>>>>54        string          FAT             \b, FAT
749 >>>>>>>54       string          FAT12           \b (12 bit)
750 >>>>>>>54       string          FAT16           \b (16 bit)
751 # FAT32 specific
752 >>>>>82         string          FAT32           \b, FAT (32 bit)
753 >>>>>>36        ulelong         x               \b, sectors/FAT %u
754 >>>>>>40        uleshort        >0              \b, extension flags %u
755 #>>>>>>40       uleshort        =0              \b, extension flags %u
756 >>>>>>42        uleshort        >0              \b, fsVersion %u
757 #>>>>>>42       uleshort        =0              \b, fsVersion %u (usual)
758 >>>>>>44        ulelong         >2              \b, rootdir cluster %u
759 #>>>>>>44       ulelong         =2              \b, rootdir cluster %u
760 #>>>>>>44       ulelong         =1              \b, rootdir cluster %u
761 >>>>>>48        uleshort        >1              \b, infoSector %u
762 #>>>>>>48       uleshort        =1              \b, infoSector %u (usual)
763 >>>>>>48        uleshort        <1              \b, infoSector %u
764 >>>>>>50        uleshort        >6              \b, Backup boot sector %u
765 #>>>>>>50       uleshort        =6              \b, Backup boot sector %u (usual) 
766 >>>>>>50        uleshort        <6              \b, Backup boot sector %u
767 >>>>>>54        ulelong         >0              \b, reserved1 0x%x
768 >>>>>>58        ulelong         >0              \b, reserved2 0x%x
769 >>>>>>62        ulelong         >0              \b, reserved3 0x%x
770 # same structure as FAT1X 
771 >>>>>>64        ubyte           >0x80           \b, physical drive 0x%x
772 #>>>>>>64       ubyte           =0x80           \b, physical drive 0x%x=80 (usual harddisk)
773 >>>>>>64        ubyte&0x7F      >0              \b, physical drive 0x%x
774 #>>>>>>64       ubyte           =0              \b, physical drive 0x%x=0 (usual floppy)
775 >>>>>>65        ubyte           >0              \b, reserved 0x%x
776 >>>>>>66        ubyte           >0x29           \b, dos < 4.0 BootSector (0x%x)
777 >>>>>>66        ubyte           <0x29           \b, dos < 4.0 BootSector (0x%x)
778 >>>>>>66        ubyte           =0x29
779 >>>>>>>67       ulelong         x               \b, serial number 0x%x
780 >>>>>>>71       string          <NO\ NAME       \b, label: "%11.11s"
781 >>>>>>71        string          >NO\ NAME       \b, label: "%11.11s"
782 >>>>>>71        string          =NO\ NAME       \b, unlabeled
783 ### FATs end
784 >0x200  lelong  0x82564557              \b, BSD disklabel
785 # FATX 
786 0               string          FATX            FATX filesystem data
787
788
789 # Minix filesystems - Juan Cespedes <cespedes@debian.org>
790 0x410   leshort         0x137f          Minix filesystem
791 0x410   beshort         0x137f          Minix filesystem (big endian),
792 >0x402  beshort         !0              \b, %d zones
793 >0x1e   string          minix           \b, bootable
794 0x410   leshort         0x138f          Minix filesystem, 30 char names
795 0x410   leshort         0x2468          Minix filesystem, version 2
796 0x410   leshort         0x2478          Minix filesystem, version 2, 30 char names
797
798 # romfs filesystems - Juan Cespedes <cespedes@debian.org>
799 0       string          -rom1fs-\0      romfs filesystem, version 1
800 >8      belong  x                       %d bytes,
801 >16     string  x                       named %s.
802
803 # netboot image - Juan Cespedes <cespedes@debian.org>
804 0       lelong          0x1b031336L     Netboot image,
805 >4      lelong&0xFFFFFF00       0
806 >>4     lelong&0x100    0x000           mode 2
807 >>4     lelong&0x100    0x100           mode 3
808 >4      lelong&0xFFFFFF00       !0      unknown mode
809
810 0x18b   string  OS/2    OS/2 Boot Manager
811
812 # added by Joerg Jenderek
813 # In the second sector (+0x200) are variables according to grub-0.97/stage2/asm.S or
814 # grub-1.94/kern/i386/pc/startup.S
815 # http://www.gnu.org/software/grub/manual/grub.html#Embedded-data
816 # usual values are marked with comments to get only informations of strange GRUB loaders
817 0x200   uleshort                0x70EA          
818 # found only version 3.{1,2}
819 >0x206          ubeshort        >0x0300         
820 # GRUB version (0.5.)95,0.93,0.94,0.96,0.97 > "00"
821 >>0x212         ubyte           >0x29           
822 >>>0x213        ubyte           >0x29           
823 # not iso9660_stage1_5
824 #>>>0   ulelong&0x00BE5652      0x00BE5652      
825 >>>>0x213       ubyte           >0x29           GRand Unified Bootloader
826 # config_file for stage1_5 is 0xffffffff + default "/boot/grub/stage2"
827 >>>>0x217       ubyte           0xFF            stage1_5
828 >>>>0x217       ubyte           <0xFF           stage2
829 >>>>0x206       ubyte           x               \b version %u
830 >>>>0x207       ubyte           x               \b.%u
831 # module_size for 1.94
832 >>>>0x208       ulelong         <0xffffff       \b, installed partition %u
833 #>>>>0x208      ulelong         =0xffffff       \b, %u (default)
834 >>>>0x208       ulelong         >0xffffff       \b, installed partition %u
835 # GRUB 0.5.95 unofficial
836 >>>>0x20C       ulelong&0x2E300000 0x2E300000   
837 # 0=stage2      1=ffs   2=e2fs  3=fat   4=minix 5=reiserfs
838 >>>>>0x20C      ubyte           x               \b, identifier 0x%x
839 #>>>>>0x20D     ubyte           =0              \b, LBA flag 0x%x (default)
840 >>>>>0x20D      ubyte           >0              \b, LBA flag 0x%x
841 # GRUB version as string
842 >>>>>0x20E      string          >\0             \b, GRUB version %-s
843 # for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default
844 >>>>>>0x215     ulong           0xffffffff      
845 >>>>>>>0x219    string          >\0             \b, configuration file %-s
846 >>>>>>0x215     ulong           !0xffffffff     
847 >>>>>>>0x215    string          >\0             \b, configuration file %-s
848 # newer GRUB versions
849 >>>>0x20C       ulelong&0x2E300000 !0x2E300000  
850 ##>>>>>0x20C    ulelong         =0              \b, saved entry %d (usual)
851 >>>>>0x20C      ulelong         >0              \b, saved entry %d
852 # for 1.94 contains kernel image size
853 # for 0.93,0.94,0.96,0.97
854 # 0=stage2      1=ffs   2=e2fs  3=fat   4=minix 5=reiserfs      6=vstafs        7=jfs   8=xfs   9=iso9660       a=ufs2  
855 >>>>>0x210      ubyte           x               \b, identifier 0x%x
856 # The flag for LBA forcing is in most cases 0
857 #>>>>>0x211     ubyte           =0              \b, LBA flag 0x%x (default)
858 >>>>>0x211      ubyte           >0              \b, LBA flag 0x%x
859 # GRUB version as string
860 >>>>>0x212      string          >\0             \b, GRUB version %-s
861 # for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default
862 >>>>>0x217      ulong           0xffffffff      
863 >>>>>>0x21b     string          >\0             \b, configuration file %-s
864 >>>>>0x217      ulong           !0xffffffff     
865 >>>>>>0x217     string          >\0             \b, configuration file %-s
866
867 9564    lelong          0x00011954      Unix Fast File system [v1] (little-endian),
868 >8404   string          x               last mounted on %s,
869 #>9504  ledate          x               last checked at %s,
870 >8224   ledate          x               last written at %s,
871 >8401   byte            x               clean flag %d,
872 >8228   lelong          x               number of blocks %d,
873 >8232   lelong          x               number of data blocks %d,
874 >8236   lelong          x               number of cylinder groups %d,
875 >8240   lelong          x               block size %d,
876 >8244   lelong          x               fragment size %d,
877 >8252   lelong          x               minimum percentage of free blocks %d,
878 >8256   lelong          x               rotational delay %dms,
879 >8260   lelong          x               disk rotational speed %drps,
880 >8320   lelong          0               TIME optimization
881 >8320   lelong          1               SPACE optimization
882
883 42332   lelong          0x19540119      Unix Fast File system [v2] (little-endian)
884 >&-1164 string          x               last mounted on %s,
885 >&-696  string          >\0             volume name %s,
886 >&-304  leqldate        x               last written at %s,
887 >&-1167 byte            x               clean flag %d,
888 >&-1168 byte            x               readonly flag %d,
889 >&-296  lequad          x               number of blocks %lld,
890 >&-288  lequad          x               number of data blocks %lld,
891 >&-1332 lelong          x               number of cylinder groups %d,
892 >&-1328 lelong          x               block size %d,
893 >&-1324 lelong          x               fragment size %d,
894 >&-180  lelong          x               average file size %d,
895 >&-176  lelong          x               average number of files in dir %d,
896 >&-272  lequad          x               pending blocks to free %lld,
897 >&-264  lelong          x               pending inodes to free %ld,
898 >&-664  lequad          x               system-wide uuid %0llx,
899 >&-1316 lelong          x               minimum percentage of free blocks %d,
900 >&-1248 lelong          0               TIME optimization
901 >&-1248 lelong          1               SPACE optimization
902
903 66908   lelong          0x19540119      Unix Fast File system [v2] (little-endian)
904 >&-1164 string          x               last mounted on %s,
905 >&-696  string          >\0             volume name %s,
906 >&-304  leqldate        x               last written at %s,
907 >&-1167 byte            x               clean flag %d,
908 >&-1168 byte            x               readonly flag %d,
909 >&-296  lequad          x               number of blocks %lld,
910 >&-288  lequad          x               number of data blocks %lld,
911 >&-1332 lelong          x               number of cylinder groups %d,
912 >&-1328 lelong          x               block size %d,
913 >&-1324 lelong          x               fragment size %d,
914 >&-180  lelong          x               average file size %d,
915 >&-176  lelong          x               average number of files in dir %d,
916 >&-272  lequad          x               pending blocks to free %lld,
917 >&-264  lelong          x               pending inodes to free %ld,
918 >&-664  lequad          x               system-wide uuid %0llx,
919 >&-1316 lelong          x               minimum percentage of free blocks %d,
920 >&-1248 lelong          0               TIME optimization
921 >&-1248 lelong          1               SPACE optimization
922
923 9564    belong          0x00011954      Unix Fast File system [v1] (big-endian),
924 >7168   belong          0x4c41424c      Apple UFS Volume
925 >>7186  string          x               named %s,
926 >>7176  belong          x               volume label version %d,
927 >>7180  bedate          x               created on %s,
928 >8404   string          x               last mounted on %s,
929 #>9504  bedate          x               last checked at %s,
930 >8224   bedate          x               last written at %s,
931 >8401   byte            x               clean flag %d,
932 >8228   belong          x               number of blocks %d,
933 >8232   belong          x               number of data blocks %d,
934 >8236   belong          x               number of cylinder groups %d,
935 >8240   belong          x               block size %d,
936 >8244   belong          x               fragment size %d,
937 >8252   belong          x               minimum percentage of free blocks %d,
938 >8256   belong          x               rotational delay %dms,
939 >8260   belong          x               disk rotational speed %drps,
940 >8320   belong          0               TIME optimization
941 >8320   belong          1               SPACE optimization
942
943 42332   belong          0x19540119      Unix Fast File system [v2] (big-endian)
944 >&-1164 string          x               last mounted on %s,
945 >&-696  string          >\0             volume name %s,
946 >&-304  beqldate        x               last written at %s,
947 >&-1167 byte            x               clean flag %d,
948 >&-1168 byte            x               readonly flag %d,
949 >&-296  bequad          x               number of blocks %lld,
950 >&-288  bequad          x               number of data blocks %lld,
951 >&-1332 belong          x               number of cylinder groups %d,
952 >&-1328 belong          x               block size %d,
953 >&-1324 belong          x               fragment size %d,
954 >&-180  belong          x               average file size %d,
955 >&-176  belong          x               average number of files in dir %d,
956 >&-272  bequad          x               pending blocks to free %lld,
957 >&-264  belong          x               pending inodes to free %ld,
958 >&-664  bequad          x               system-wide uuid %0llx,
959 >&-1316 belong          x               minimum percentage of free blocks %d,
960 >&-1248 belong          0               TIME optimization
961 >&-1248 belong          1               SPACE optimization
962
963 66908   belong          0x19540119      Unix Fast File system [v2] (big-endian)
964 >&-1164 string          x               last mounted on %s,
965 >&-696  string          >\0             volume name %s,
966 >&-304  beqldate        x               last written at %s,
967 >&-1167 byte            x               clean flag %d,
968 >&-1168 byte            x               readonly flag %d,
969 >&-296  bequad          x               number of blocks %lld,
970 >&-288  bequad          x               number of data blocks %lld,
971 >&-1332 belong          x               number of cylinder groups %d,
972 >&-1328 belong          x               block size %d,
973 >&-1324 belong          x               fragment size %d,
974 >&-180  belong          x               average file size %d,
975 >&-176  belong          x               average number of files in dir %d,
976 >&-272  bequad          x               pending blocks to free %lld,
977 >&-264  belong          x               pending inodes to free %ld,
978 >&-664  bequad          x               system-wide uuid %0llx,
979 >&-1316 belong          x               minimum percentage of free blocks %d,
980 >&-1248 belong          0               TIME optimization
981 >&-1248 belong          1               SPACE optimization
982
983 # ext2/ext3 filesystems - Andreas Dilger <adilger@turbolabs.com>
984 0x438   leshort         0xEF53          Linux
985 >0x44c  lelong          x               rev %d
986 >0x43e  leshort         x               \b.%d
987 >0x45c  lelong          ^0x0000004      ext2 filesystem data
988 >>0x43a leshort         ^0x0000001      (mounted or unclean)
989 >0x45c  lelong          &0x0000004      ext3 filesystem data
990 >>0x460 lelong          &0x0000004      (needs journal recovery)
991 >0x43a  leshort         &0x0000002      (errors)
992 >0x460  lelong          &0x0000001      (compressed)
993 #>0x460 lelong          &0x0000002      (filetype)
994 #>0x464 lelong          &0x0000001      (sparse_super)
995 >0x464  lelong          &0x0000002      (large files)
996
997 # SGI disk labels - Nathan Scott <nathans@debian.org>
998 0       belong          0x0BE5A941      SGI disk label (volume header)
999
1000 # SGI XFS filesystem - Nathan Scott <nathans@debian.org>
1001 0       belong          0x58465342      SGI XFS filesystem data
1002 >0x4    belong          x               (blksz %d,
1003 >0x68   beshort         x               inosz %d,
1004 >0x64   beshort         ^0x2004         v1 dirs)
1005 >0x64   beshort         &0x2004         v2 dirs)
1006
1007 ############################################################################
1008 # Minix-ST kernel floppy
1009 0x800   belong          0x46fc2700      Atari-ST Minix kernel image
1010 >19     string          \240\5\371\5\0\011\0\2\0        \b, 720k floppy
1011 >19     string          \320\2\370\5\0\011\0\1\0        \b, 360k floppy
1012
1013 ############################################################################
1014 # Hmmm, is this a better way of detecting _standard_ floppy images ?
1015 19      string          \320\2\360\3\0\011\0\1\0        DOS floppy 360k
1016 >0x1FE  leshort         0xAA55          \b, x86 hard disk boot sector
1017 19      string          \240\5\371\3\0\011\0\2\0        DOS floppy 720k
1018 >0x1FE  leshort         0xAA55          \b, x86 hard disk boot sector
1019 19      string          \100\013\360\011\0\022\0\2\0    DOS floppy 1440k
1020 >0x1FE  leshort         0xAA55          \b, x86 hard disk boot sector
1021
1022 19      string          \240\5\371\5\0\011\0\2\0        DOS floppy 720k, IBM
1023 >0x1FE  leshort         0xAA55          \b, x86 hard disk boot sector
1024 19      string          \100\013\371\5\0\011\0\2\0      DOS floppy 1440k, mkdosfs
1025 >0x1FE  leshort         0xAA55          \b, x86 hard disk boot sector
1026
1027 19      string          \320\2\370\5\0\011\0\1\0        Atari-ST floppy 360k
1028 19      string          \240\5\371\5\0\011\0\2\0        Atari-ST floppy 720k
1029
1030 #  Valid media descriptor bytes for MS-DOS:
1031 #
1032 #     Byte   Capacity   Media Size and Type
1033 #     -------------------------------------------------
1034 #
1035 #     F0     2.88 MB    3.5-inch, 2-sided, 36-sector
1036 #     F0     1.44 MB    3.5-inch, 2-sided, 18-sector
1037 #     F9     720K       3.5-inch, 2-sided, 9-sector
1038 #     F9     1.2 MB     5.25-inch, 2-sided, 15-sector
1039 #     FD     360K       5.25-inch, 2-sided, 9-sector
1040 #     FF     320K       5.25-inch, 2-sided, 8-sector
1041 #     FC     180K       5.25-inch, 1-sided, 9-sector
1042 #     FE     160K       5.25-inch, 1-sided, 8-sector
1043 #     FE     250K       8-inch, 1-sided, single-density
1044 #     FD     500K       8-inch, 2-sided, single-density
1045 #     FE     1.2 MB     8-inch, 2-sided, double-density
1046 #     F8     -----      Fixed disk 
1047 #
1048 #     FC     xxxK       Apricot 70x1x9 boot disk.
1049 #
1050 # Originally a bitmap:
1051 #  xxxxxxx0     Not two sided
1052 #  xxxxxxx1     Double sided
1053 #  xxxxxx0x     Not 8 SPT
1054 #  xxxxxx1x     8 SPT
1055 #  xxxxx0xx     Not Removable drive
1056 #  xxxxx1xx     Removable drive
1057 #  11111xxx     Must be one.
1058 #
1059 # But now it's rather random:
1060 #  111111xx     Low density disk
1061 #        00     SS, Not 8 SPT
1062 #        01     DS, Not 8 SPT
1063 #        10     SS, 8 SPT
1064 #        11     DS, 8 SPT
1065 #
1066 #  11111001     Double density 3½ floppy disk, high density 5¼
1067 #  11110000     High density 3½ floppy disk
1068 #  11111000     Hard disk any format
1069 #
1070
1071 # CDROM Filesystems
1072 # Modified for UDF by gerardo.cacciari@gmail.com
1073 32769    string    CD001
1074 >38913   string   !NSR0      ISO 9660 CD-ROM filesystem data
1075 >38913   string    NSR01     UDF filesystem data (version 1.0)
1076 >38913   string    NSR02     UDF filesystem data (version 1.5)
1077 >38913   string    NSR03     UDF filesystem data (version 2.0)
1078 >38913   string    >NSR03    UDF filesystem data (unknown version,
1079 >>38917  byte      x         id 'NSR0%c')
1080 >38913   string    <NSR01    UDF filesystem data (unknown version,
1081 >>38917  byte      x         id 'NSR0%c')
1082 # "application id" which appears to be used as a volume label
1083 >32808   string    >\0       '%s'
1084 >34816   string    \000CD001\001EL\ TORITO\ SPECIFICATION    (bootable)
1085 37633    string    CD001     ISO 9660 CD-ROM filesystem data (raw 2352 byte sectors)
1086 32776    string    CDROM     High Sierra CD-ROM filesystem data
1087
1088 # cramfs filesystem - russell@coker.com.au
1089 0       lelong    0x28cd3d45      Linux Compressed ROM File System data, little endian
1090 >4      lelong  x size %d
1091 >8      lelong  &1 version #2
1092 >8      lelong  &2 sorted_dirs
1093 >8      lelong  &4 hole_support
1094 >32     lelong  x CRC 0x%x,
1095 >36     lelong  x edition %d,
1096 >40     lelong  x %d blocks,
1097 >44     lelong  x %d files
1098
1099 0       belong    0x28cd3d45      Linux Compressed ROM File System data, big endian
1100 >4      belong  x size %d
1101 >8      belong  &1 version #2
1102 >8      belong  &2 sorted_dirs
1103 >8      belong  &4 hole_support
1104 >32     belong  x CRC 0x%x,
1105 >36     belong  x edition %d,
1106 >40     belong  x %d blocks,
1107 >44     belong  x %d files
1108
1109 # reiserfs - russell@coker.com.au
1110 0x10034         string  ReIsErFs        ReiserFS V3.5
1111 0x10034         string  ReIsEr2Fs       ReiserFS V3.6
1112 >0x1002c        leshort x               block size %d
1113 >0x10032        leshort &2              (mounted or unclean)
1114 >0x10000        lelong  x               num blocks %d
1115 >0x10040        lelong  1               tea hash
1116 >0x10040        lelong  2               yura hash
1117 >0x10040        lelong  3               r5 hash
1118
1119 # JFFS - russell@coker.com.au
1120 0       lelong  0x34383931      Linux Journalled Flash File system, little endian
1121 0       belong  0x34383931      Linux Journalled Flash File system, big endian
1122
1123 # EST flat binary format (which isn't, but anyway)
1124 # From: Mark Brown <broonie@sirena.org.uk>
1125 0       string  ESTFBINR        EST flat binary
1126
1127 # Aculab VoIP firmware
1128 # From: Mark Brown <broonie@sirena.org.uk>
1129 0       string  VoIP\ Startup\ and      Aculab VoIP firmware
1130 >35     string  x       format %s
1131
1132 # u-boot/PPCBoot image file
1133 # From: Mark Brown <broonie@sirena.org.uk>
1134 0       belong  0x27051956      u-boot/PPCBoot image
1135 >4      string  PPCBoot
1136 >>12    string  x               version %s
1137
1138 # JFFS2 file system
1139 0       leshort 0x1984          Linux old jffs2 filesystem data little endian
1140 0       leshort 0x1985          Linux jffs2 filesystem data little endian
1141
1142 # Squashfs
1143 0       string  sqsh    Squashfs filesystem, big endian,
1144 >28     beshort x       version %d.
1145 >30     beshort x       \b%d,
1146 >28     beshort <3
1147 >>8     belong  x       %d bytes,
1148 >28     beshort >2
1149 >>63    bequad x        %lld bytes,
1150 #>>67   belong  x       %d bytes,
1151 >4      belong  x       %d inodes,
1152 >28     beshort <2
1153 >>32    beshort x       blocksize: %d bytes,
1154 >28     beshort >1
1155 >>51    belong  x       blocksize: %d bytes,
1156 >39     bedate  x       created: %s
1157 0       string  hsqs    Squashfs filesystem, little endian,
1158 >28     leshort x       version %d.
1159 >30     leshort x       \b%d,
1160 >28     leshort <3
1161 >>8     lelong  x       %d bytes,
1162 >28     leshort >2
1163 >>63    lequad x        %lld bytes,
1164 #>>63   lelong  x       %d bytes,
1165 >4      lelong  x       %d inodes,
1166 >28     leshort <2
1167 >>32    leshort x       blocksize: %d bytes,
1168 >28     leshort >1
1169 >>51    lelong  x       blocksize: %d bytes,
1170 >39     ledate  x       created: %s
1171
1172 0       string          td\000          floppy image data (TeleDisk)
1173
1174 # AFS Dump Magic
1175 # From: Ty Sarna <tsarna@sarna.org> 
1176 0       string                  \x01\xb3\xa1\x13\x22    AFS Dump
1177 >&0     belong                  x                       (v%d)
1178 >>&0    byte                    0x76
1179 >>>&0   belong                  x                       Vol %d,
1180 >>>>&0  byte                    0x6e
1181 >>>>>&0 string                  x                       %s
1182 >>>>>>&1        byte            0x74
1183 >>>>>>>&0       beshort         2
1184 >>>>>>>>&4      bedate          x                       on: %s
1185 >>>>>>>>&0      bedate          =0                      full dump
1186 >>>>>>>>&0      bedate          !0                      incremental since: %s
1187
1188 #----------------------------------------------------------
1189 # VMS backup savesets - gerardo.cacciari@gmail.com
1190 #
1191 4            string  \x01\x00\x01\x00\x01\x00
1192 >(0.s+16)    string  \x01\x01
1193 >>&(&0.b+8)  byte    0x42       OpenVMS backup saveset data
1194 >>>40        lelong  x          (block size %d,
1195 >>>49        string  >\0        original name '%s',
1196 >>>2         short   1024       VAX generated)
1197 >>>2         short   2048       AXP generated)
1198 >>>2         short   4096       I64 generated)
1199
1200 # Compaq/HP RILOE floppy image
1201 # From: Dirk Jagdmann <doj@cubic.org>
1202 0       string  CPQRFBLO        Compaq/HP RILOE floppy image
1203
1204 #------------------------------------------------------------------------------
1205 # Files-11 On-Disk Structure (OpenVMS file system) - gerardo.cacciari@gmail.com
1206 # These bits come from LBN 1 (home block) of ODS-2 and ODS-5 volumes, which is
1207 # mapped to VBN 2 of [000000]INDEXF.SYS;1
1208 #
1209 1008    string          DECFILE11B      Files-11 On-Disk Structure
1210 >525    byte            x               Level %d
1211 >525    byte            x               (ODS-%d OpenVMS file system),
1212 >984    string          x               volume label is '%-12.12s'