8d60f69fd644556ce0ba2ccbf34c65db9d3a94ed
[dragonfly.git] / contrib / file / magic / Magdir / filesystems
1
2 #------------------------------------------------------------------------------
3 # $File: filesystems,v 1.55 2010/01/16 17:45:12 chl Exp $
4 # filesystems:  file(1) magic for different filesystems
5 #
6 0       string  \366\366\366\366        PC formatted floppy with no filesystem
7 # Sun disk labels
8 # From /usr/include/sun/dklabel.h:
9 0774    beshort         0xdabe          
10 # modified by Joerg Jenderek, because original test
11 # succeeds for Cabinet archive dao360.dl_ with negative blocks
12 >0770   long            >0              Sun disk label
13 >>0     string          x               '%s
14 >>>31   string          >\0             \b%s
15 >>>>63  string          >\0             \b%s
16 >>>>>95 string          >\0             \b%s
17 >>0     string          x               \b'
18 >>0734  short           >0              %d rpm,
19 >>0736  short           >0              %d phys cys,
20 >>0740  short           >0              %d alts/cyl,
21 >>0746  short           >0              %d interleave,
22 >>0750  short           >0              %d data cyls,
23 >>0752  short           >0              %d alt cyls,
24 >>0754  short           >0              %d heads/partition,
25 >>0756  short           >0              %d sectors/track,
26 >>0764  long            >0              start cyl %ld,
27 >>0770  long            x               %ld blocks
28 # Is there a boot block written 1 sector in?
29 >512    belong&077777777        0600407 \b, boot block present
30 # Joerg Jenderek: Smart Boot Manager backup file is 41 byte header + first sectors of disc
31 # (http://btmgr.sourceforge.net/docs/user-guide-3.html)
32 0               string  SBMBAKUP_       Smart Boot Manager backup file
33 >9              string  x               \b, version %-5.5s
34 >>14            string  =_              
35 >>>15           string  x               %-.1s
36 >>>>16          string  =_              \b.
37 >>>>>17         string  x               \b%-.1s
38 >>>>>>18        string  =_              \b.
39 >>>>>>>19       string  x               \b%-.1s
40 >>>22           ubyte   0               
41 >>>>21          ubyte   x               \b, from drive 0x%x
42 >>>22           ubyte   >0              
43 >>>>21          string  x               \b, from drive %s
44
45 # Joerg Jenderek
46 # DOS Emulator image is 128 byte, null right padded header + harddisc image
47 0       string  DOSEMU\0                        
48 >0x27E  leshort 0xAA55                  
49 #offset is 128
50 >>19    ubyte   128                     
51 >>>(19.b-1)     ubyte   0x0     DOS Emulator image
52 >>>>7   ulelong >0              \b, %u heads
53 >>>>11  ulelong >0              \b, %d sectors/track
54 >>>>15  ulelong >0              \b, %d cylinders
55
56 # updated by Joerg Jenderek at Sep 2007
57 # only for sector sizes with 512 or more Bytes
58 0x1FE   leshort 0xAA55                  x86 boot sector
59 # to do also for sectors < than 512 Bytes and some other files, GRR
60 #30     search/481      \x55\xAA        x86 boot sector
61 # not for BeOS floppy 1440k, MBRs
62 #(11.s-2) uleshort      0xAA55          x86 boot sector
63 >2      string  OSBS                    \b, OS/BS MBR
64 # J\xf6rg Jenderek <joerg dot jenderek at web dot de>
65 >0x8C   string  Invalid\ partition\ table       \b, MS-DOS MBR
66 # dr-dos with some upper-, lowercase variants
67 >0x9D   string  Invalid\ partition\ table$      
68 >>181   string  No\ Operating\ System$          
69 >>>201  string  Operating\ System\ load\ error$ \b, DR-DOS MBR, Version 7.01 to 7.03
70 >0x9D   string  Invalid\ partition\ table$      
71 >>181   string  No\ operating\ system$          
72 >>>201  string  Operating\ system\ load\ error$ \b, DR-DOS MBR, Version 7.01 to 7.03
73 >342    string  Invalid\ partition\ table$      
74 >>366   string  No\ operating\ system$          
75 >>>386  string  Operating\ system\ load\ error$ \b, DR-DOS MBR, version 7.01 to 7.03
76 >295    string  NEWLDR\0                                
77 >>302   string  Bad\ PT\ $                              
78 >>>310  string  No\ OS\ $                               
79 >>>>317 string  OS\ load\ err$                          
80 >>>>>329        string  Moved\ or\ missing\ IBMBIO.LDR\n\r      
81 >>>>>>358       string  Press\ any\ key\ to\ continue.\n\r$     
82 >>>>>>>387      string  Copyright\ (c)\ 1984,1998       
83 >>>>>>>>411     string  Caldera\ Inc.\0         \b, DR-DOS MBR (IBMBIO.LDR)
84 >0x10F  string  Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 4.10.1998, 4.10.2222
85 >>0x1B8 ubelong >0                              \b, Serial 0x%-.4x
86 >0x8B   string  Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 5.00 to 4.00.950
87 >271    string  Invalid\ partition\ table\0             
88 >>295   string  Error\ loading\ operating\ system\0     
89 >>>326  string  Missing\ operating\ system\0            \b, mbr
90 #
91 >139    string  Invalid\ partition\ table\0             
92 >>163   string  Error\ loading\ operating\ system\0     
93 >>>194  string  Missing\ operating\ system\0            \b, Microsoft Windows XP mbr
94 # http://www.heise.de/ct/05/09/006/ page 184
95 #HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\DosDevices\?:=Serial4Bytes+8Bytes
96 >>>>0x1B8       ulelong >0                              \b,Serial 0x%-.4x
97 >300    string  Invalid\ partition\ table\0     
98 >>324   string  Error\ loading\ operating\ system\0
99 >>>355  string  Missing\ operating\ system\0            \b, Microsoft Windows XP MBR
100 #??>>>389       string  Invalid\ system\ disk           
101 >>>>0x1B8       ulelong >0                              \b, Serial 0x%-.4x
102 >300    string  Ung\201ltige\ Partitionstabelle
103 #split string to avoid error: String too long
104 >>328   string  Fehler\ beim\ Laden\    
105 >>>346  string  des\ Betriebssystems    
106 >>>>366 string  Betriebssystem\ nicht\ vorhanden        \b, Microsoft Windows XP MBR (german)
107 >>>>>0x1B8      ulelong >0                              \b, Serial 0x%-.4x
108 #>0x145 string  Default:\ F                             \b, FREE-DOS MBR
109 #>0x14B string  Default:\ F                             \b, FREE-DOS 1.0 MBR
110 >0x145  search/7        Default:\ F                     \b, FREE-DOS MBR
111 #>>313          string  F0\ .\ .\ .                     
112 #>>>322         string  disk\ 1                         
113 #>>>>382        string  FAT3                            
114 >64     string  no\ active\ partition\ found    
115 >>96    string  read\ error\ while\ reading\ drive      \b, FREE-DOS Beta 0.9 MBR
116 # Ranish Partition Manager http://www.ranish.com/part/
117 >387    search/4        \0\ Error!\r                    
118 >>378   search/7        Virus!                          
119 >>>397  search/4        Booting\                        
120 >>>>408 search/4        HD1/\0                          \b, Ranish MBR (
121 >>>>>416        string  Writing\ changes...             \b2.37
122 >>>>>>438       ubyte           x                       \b,0x%x dots
123 >>>>>>440       ubyte           >0                      \b,virus check
124 >>>>>>441       ubyte           >0                      \b,partition %c
125 #2.38,2.42,2.44
126 >>>>>416        string  !Writing\ changes...            \b
127 >>>>>>418       ubyte   1                               \bvirus check,
128 >>>>>>419       ubyte   x                               \b0x%x seconds
129 >>>>>>420       ubyte&0x0F      >0                      \b,partition
130 >>>>>>>420      ubyte&0x0F      <5                      \b %x
131 >>>>>>>420      ubyte&0x0F      0Xf                     \b ask
132 >>>>>420        ubyte           x                       \b)
133 #
134 >271    string  Operating\ system\ loading              
135 >>296   string  error\r                                 \b, SYSLINUX MBR (2.10)
136 # http://www.acronis.de/
137 >362    string  MBR\ Error\ \0\r                        
138 >>376   string  ress\ any\ key\ to\                     
139 >>>392  string  boot\ from\ floppy...\0                 \b, Acronis MBR
140 # added by Joerg Jenderek
141 # http://www.visopsys.org/
142 # http://partitionlogic.org.uk/
143 >309    string  No\ bootable\ partition\ found\r        
144 >>339   string  I/O\ Error\ reading\ boot\ sector\r     \b, Visopsys MBR
145 >349    string  No\ bootable\ partition\ found\r        
146 >>379   string  I/O\ Error\ reading\ boot\ sector\r     \b, simple Visopsys MBR
147 # bootloader, bootmanager
148 >0x40   string  SBML                            
149 # label with 11 characters of FAT 12 bit filesystem
150 >>43    string  SMART\ BTMGR                    
151 >>>430  string  SBMK\ Bad!\r                    \b, Smart Boot Manager
152 # OEM-ID not always "SBM"
153 #>>>>3  strings SBM                             
154 >>>>6   string  >\0                             \b, version %s
155 >382    string  XOSLLOADXCF                     \b, eXtended Operating System Loader
156 >6      string  LILO                            \b, LInux i386 boot LOader
157 >>120   string  LILO                            \b, version 22.3.4 SuSe
158 >>172   string  LILO                            \b, version 22.5.8 Debian
159 # updated by Joerg Jenderek at Oct 2008
160 # variables according to grub-0.97/stage1/stage1.S or
161 # http://www.gnu.org/software/grub/manual/grub.html#Embedded-data
162 # usual values are marked with comments to get only informations of strange GRUB loaders
163 >342            search/60       \0Geom\0        
164 #>0             ulelong         x               %x=0x009048EB , 0x2a9048EB  0
165 >>0x41          ubyte           <2              
166 >>>0x3E         ubyte           >2              \b; GRand Unified Bootloader
167 # 0x3 for 0.5.95,0.93,0.94,0.96 0x4 for 1.90 
168 >>>>0x3E        ubyte           x               \b, stage1 version 0x%x
169 #If it is 0xFF, use a drive passed by BIOS
170 >>>>0x40        ubyte           <0xFF           \b, boot drive 0x%x
171 # in most case 0,1,0x2e for GRUB 0.5.95
172 >>>>0x41        ubyte           >0              \b, LBA flag 0x%x
173 >>>>0x42        uleshort        <0x8000         \b, stage2 address 0x%x
174 #>>>>0x42       uleshort        =0x8000         \b, stage2 address 0x%x (usual)
175 >>>>0x42        uleshort        >0x8000         \b, stage2 address 0x%x
176 #>>>>0x44       ulelong         =1              \b, 1st sector stage2 0x%x (default)
177 >>>>0x44        ulelong         >1              \b, 1st sector stage2 0x%x
178 >>>>0x48        uleshort        <0x800          \b, stage2 segment 0x%x
179 #>>>>0x48       uleshort        =0x800          \b, stage2 segment 0x%x (usual)
180 >>>>0x48        uleshort        >0x800          \b, stage2 segment 0x%x
181 >>>>402         string  Geom\0Hard\ Disk\0Read\0\ Error\0
182 >>>>>394        string  stage1                  \b, GRUB version 0.5.95
183 >>>>382         string  Geom\0Hard\ Disk\0Read\0\ Error\0
184 >>>>>376        string  GRUB\ \0                \b, GRUB version 0.93 or 1.94
185 >>>>383         string  Geom\0Hard\ Disk\0Read\0\ Error\0
186 >>>>>377        string  GRUB\ \0                \b, GRUB version 0.94
187 >>>>385         string  Geom\0Hard\ Disk\0Read\0\ Error\0
188 >>>>>379        string  GRUB\ \0                \b, GRUB version 0.95 or 0.96
189 >>>>391         string  Geom\0Hard\ Disk\0Read\0\ Error\0
190 >>>>>385        string  GRUB\ \0                \b, GRUB version 0.97
191 #unkown version
192 >>>343          string  Geom\0Read\0\ Error\0   
193 >>>>321         string  Loading\ stage1.5       \b, GRUB version x.y
194 >>>380          string  Geom\0Hard\ Disk\0Read\0\ Error\0
195 >>>>374         string  GRUB\ \0                \b, GRUB version n.m
196 # http://syslinux.zytor.com/
197 >478    string  Boot\ failed\r                  
198 >>495   string  LDLINUX\ SYS                    \b, SYSLINUX bootloader (1.62)
199 >480    string  Boot\ failed\r                  
200 >>495   string  LDLINUX\ SYS                    \b, SYSLINUX bootloader (2.06 or 2.11)
201 >484    string  Boot\ error\r                   \b, SYSLINUX bootloader (3.11)
202 >395    string  chksum\0\ ERROR!\0              \b, Gujin bootloader
203 # http://www.bcdwb.de/bcdw/index_e.htm
204 >3      string  BCDL                            
205 >>498   string  BCDL\ \ \ \ BIN                 \b, Bootable CD Loader (1.50Z)
206 # mbr partition table entries
207 # OEM-ID does not contain MicroSoft,NEWLDR,DOS,SYSLINUX,or MTOOLs
208 >3                      string          !MS
209 >>3                     string          !SYSLINUX
210 >>>3                    string          !MTOOL
211 >>>>3                   string          !NEWLDR
212 >>>>>5                  string          !DOS
213 # not FAT (32 bit)
214 >>>>>>82                string          !FAT32
215 #not Linux kernel
216 >>>>>>>514              string          !HdrS
217 #not BeOS
218 >>>>>>>>422             string          !Be\ Boot\ Loader
219 # active flag 0 or 0x80 and type > 0
220 >>>>>>>>>446            ubyte           <0x81   
221 >>>>>>>>>>446           ubyte&0x7F      0       
222 >>>>>>>>>>>450          ubyte           >0      \b; partition 1: ID=0x%x
223 >>>>>>>>>>>>446         ubyte           0x80    \b, active
224 >>>>>>>>>>>>447         ubyte           x       \b, starthead %u
225 #>>>>>>>>>>>>448                ubyte           x       \b, start C_S: 0x%x
226 #>>>>>>>>>>>>448                ubeshort&1023   x       \b, startcylinder? %d
227 >>>>>>>>>>>>454         ulelong         x       \b, startsector %u
228 >>>>>>>>>>>>458         ulelong         x       \b, %u sectors
229 #
230 >>>>>>>>>462            ubyte           <0x81   
231 >>>>>>>>>>462           ubyte&0x7F      0               
232 >>>>>>>>>>>466          ubyte           >0      \b; partition 2: ID=0x%x
233 >>>>>>>>>>>>462         ubyte           0x80    \b, active
234 >>>>>>>>>>>>463         ubyte           x       \b, starthead %u
235 #>>>>>>>>>>>>464                ubyte           x       \b, start C_S: 0x%x
236 #>>>>>>>>>>>>464                ubeshort&1023   x       \b, startcylinder? %d
237 >>>>>>>>>>>>470         ulelong         x       \b, startsector %u
238 >>>>>>>>>>>>474         ulelong         x       \b, %u sectors
239 #
240 >>>>>>>>>478            ubyte           <0x81           
241 >>>>>>>>>>478           ubyte&0x7F      0               
242 >>>>>>>>>>>482          ubyte           >0      \b; partition 3: ID=0x%x
243 >>>>>>>>>>>>478         ubyte           0x80    \b, active
244 >>>>>>>>>>>>479         ubyte           x       \b, starthead %u
245 #>>>>>>>>>>>>480                ubyte           x       \b, start C_S: 0x%x
246 #>>>>>>>>>>>>481                ubyte           x       \b, start C2S: 0x%x
247 #>>>>>>>>>>>>480                ubeshort&1023   x       \b, startcylinder? %d
248 >>>>>>>>>>>>486         ulelong         x       \b, startsector %u
249 >>>>>>>>>>>>490         ulelong         x       \b, %u sectors
250 #
251 >>>>>>>>>494            ubyte           <0x81   
252 >>>>>>>>>>494           ubyte&0x7F      0               
253 >>>>>>>>>>>498          ubyte           >0      \b; partition 4: ID=0x%x
254 >>>>>>>>>>>>494         ubyte           0x80    \b, active
255 >>>>>>>>>>>>495         ubyte           x       \b, starthead %u
256 #>>>>>>>>>>>>496                ubyte           x       \b, start C_S: 0x%x
257 #>>>>>>>>>>>>496                ubeshort&1023   x       \b, startcylinder? %d
258 >>>>>>>>>>>>502         ulelong         x       \b, startsector %u
259 >>>>>>>>>>>>506         ulelong         x       \b, %u sectors
260 # mbr partition table entries end
261 # http://www.acronis.de/
262 #FAT label=ACRONIS\ SZ
263 #OEM-ID=BOOTWIZ0
264 >442    string  Non-system\ disk,\      
265 >>459   string  press\ any\ key...\x7\0         \b, Acronis Startup Recovery Loader
266 # DOS names like F11.SYS are 8 right space padded bytes+3 bytes
267 >>>477          ubyte&0xDF      >0              
268 >>>>477         string          x               \b %-.3s
269 >>>>>480        ubyte&0xDF      >0              
270 >>>>>>480       string          x               \b%-.5s
271 >>>>485         ubyte&0xDF      >0              
272 >>>>>485        string          x               \b.%-.3s
273 #
274 >185    string  FDBOOT\ Version\                        
275 >>204   string  \rNo\ Systemdisk.\                      
276 >>>220  string  Booting\ from\ harddisk.\n\r            
277 >>>245  string  Cannot\ load\ from\ harddisk.\n\r       
278 >>>>273 string  Insert\ Systemdisk\                     
279 >>>>>291 string and\ press\ any\ key.\n\r               \b, FDBOOT harddisk Bootloader
280 >>>>>>200 string        >\0                             \b, version %-3s
281 >242    string  Bootsector\ from\ C.H.\ Hochst\204      
282 >>278   string  No\ Systemdisk.\                        
283 >>>293  string  Booting\ from\ harddisk.\n\r            
284 >>>441  string  Cannot\ load\ from\ harddisk.\n\r       
285 >>>>469 string  Insert\ Systemdisk\                     
286 >>>>>487 string and\ press\ any\ key.\n\r               \b, WinImage harddisk Bootloader
287 >>>>>>209 string        >\0                             \b, version %-4.4s
288 >(1.b+2)        ubyte           0xe                     
289 >>(1.b+3)       ubyte           0x1f                    
290 >>>(1.b+4)      ubyte           0xbe                    
291 >>>>(1.b+5)     ubyte           0x77                    
292 >>>>(1.b+6)     ubyte           0x7c                    
293 >>>>>(1.b+7)    ubyte           0xac                    
294 >>>>>>(1.b+8)   ubyte           0x22                    
295 >>>>>>>(1.b+9)  ubyte           0xc0                    
296 >>>>>>>>(1.b+10)        ubyte   0x74                    
297 >>>>>>>>>(1.b+11)       ubyte   0xb                     
298 >>>>>>>>>>(1.b+12)      ubyte   0x56                    
299 >>>>>>>>>>(1.b+13)      ubyte   0xb4                    \b, mkdosfs boot message display
300 >214    string  Please\ try\ to\ install\ FreeDOS\      \b, DOS Emulator boot message display
301 #>>244  string  from\ dosemu-freedos-*-bin.tgz\r        
302 #>>>170 string  Sorry,\ could\ not\ load\ an\           
303 #>>>>195        string  operating\ system.\r\n          
304 #
305 >103    string  This\ is\ not\ a\ bootable\ disk.\      
306 >>132   string  Please\ insert\ a\ bootable\            
307 >>>157  string  floppy\ and\r\n                         
308 >>>>169 string  press\ any\ key\ to\ try\ again...\r    \b, FREE-DOS message display
309 #
310 >66     string  Solaris\ Boot\ Sector                   
311 >>99    string  Incomplete\ MDBoot\ load.               
312 >>>89   string  Version                                 \b, Sun Solaris Bootloader
313 >>>>97  byte    x                                       version %c
314 #
315 >408    string  OS/2\ !!\ SYS01475\r\0                  
316 >>429   string  OS/2\ !!\ SYS02025\r\0                  
317 >>>450  string  OS/2\ !!\ SYS02027\r\0                  
318 >>>469  string  OS2BOOT\ \ \ \                          \b, IBM OS/2 Warp bootloader
319 #
320 >409    string  OS/2\ !!\ SYS01475\r\0                  
321 >>430   string  OS/2\ !!\ SYS02025\r\0                  
322 >>>451  string  OS/2\ !!\ SYS02027\r\0                  
323 >>>470  string  OS2BOOT\ \ \ \                          \b, IBM OS/2 Warp Bootloader
324 >112            string  This\ disk\ is\ not\ bootable\r                 
325 >>142           string  If\ you\ wish\ to\ make\ it\ bootable           
326 >>>176          string  run\ the\ DOS\ program\ SYS\                    
327 >>>200          string  after\ the\r                                    
328 >>>>216         string  system\ has\ been\ loaded\r\n                   
329 >>>>>242        string  Please\ insert\ a\ DOS\ diskette\               
330 >>>>>271        string  into\r\n\ the\ drive\ and\                      
331 >>>>>>292       string  strike\ any\ key...\0           \b, IBM OS/2 Warp message display
332 # XP
333 >430    string  NTLDR\ is\ missing\xFF\r\n              
334 >>449   string  Disk\ error\xFF\r\n                     
335 >>>462  string  Press\ any\ key\ to\ restart\r          \b, Microsoft Windows XP Bootloader
336 # DOS names like NTLDR,CMLDR,$LDR$ are 8 right space padded bytes+3 bytes
337 >>>>417         ubyte&0xDF      >0                      
338 >>>>>417        string          x                       %-.5s
339 >>>>>>422       ubyte&0xDF      >0                      
340 >>>>>>>422      string          x                       \b%-.3s
341 >>>>>425        ubyte&0xDF      >0                      
342 >>>>>>425       string          >\                      \b.%-.3s
343 #
344 >>>>371         ubyte           >0x20                   
345 >>>>>368        ubyte&0xDF      >0                      
346 >>>>>>368       string          x                       %-.5s
347 >>>>>>>373      ubyte&0xDF      >0                      
348 >>>>>>>>373     string          x                       \b%-.3s
349 >>>>>>376       ubyte&0xDF      >0                      
350 >>>>>>>376      string          x                       \b.%-.3s
351 #
352 >430    string  NTLDR\ nicht\ gefunden\xFF\r\n          
353 >>453   string  Datentr\204gerfehler\xFF\r\n            
354 >>>473  string  Neustart\ mit\ beliebiger\ Taste\r      \b, Microsoft Windows XP Bootloader (german)
355 >>>>417         ubyte&0xDF      >0                      
356 >>>>>417        string          x                       %-.5s
357 >>>>>>422       ubyte&0xDF      >0                      
358 >>>>>>>422      string          x                       \b%-.3s
359 >>>>>425        ubyte&0xDF      >0                      
360 >>>>>>425       string          >\                      \b.%-.3s
361 # offset variant
362 >>>>379 string  \0                                      
363 >>>>>368        ubyte&0xDF      >0                      
364 >>>>>>368       string          x                       %-.5s
365 >>>>>>>373      ubyte&0xDF      >0                      
366 >>>>>>>>373     string          x                       \b%-.3s
367 #
368 >430    string  NTLDR\ fehlt\xFF\r\n                    
369 >>444   string  Datentr\204gerfehler\xFF\r\n            
370 >>>464  string  Neustart\ mit\ beliebiger\ Taste\r      \b, Microsoft Windows XP Bootloader (2.german)
371 >>>>417         ubyte&0xDF      >0                      
372 >>>>>417        string          x                       %-.5s
373 >>>>>>422       ubyte&0xDF      >0                      
374 >>>>>>>422      string          x                       \b%-.3s
375 >>>>>425        ubyte&0xDF      >0                      
376 >>>>>>425       string          >\                      \b.%-.3s
377 # variant
378 >>>>371         ubyte           >0x20                   
379 >>>>>368        ubyte&0xDF      >0                      
380 >>>>>>368       string          x                       %-.5s
381 >>>>>>>373      ubyte&0xDF      >0                      
382 >>>>>>>>373     string          x                       \b%-.3s
383 >>>>>>376       ubyte&0xDF      >0                      
384 >>>>>>>376      string          x                       \b.%-.3s
385 #
386 >430    string  NTLDR\ fehlt\xFF\r\n                    
387 >>444   string  Medienfehler\xFF\r\n                    
388 >>>459  string  Neustart:\ Taste\ dr\201cken\r          \b, Microsoft Windows XP Bootloader (3.german)
389 >>>>371         ubyte           >0x20                   
390 >>>>>368        ubyte&0xDF      >0                      
391 >>>>>>368       string          x                       %-.5s
392 >>>>>>>373      ubyte&0xDF      >0                      
393 >>>>>>>>373     string          x                       \b%-.3s
394 >>>>>>376       ubyte&0xDF      >0                      
395 >>>>>>>376      string          x                       \b.%-.3s
396 # variant
397 >>>>417         ubyte&0xDF      >0                      
398 >>>>>417        string          x                       %-.5s
399 >>>>>>422       ubyte&0xDF      >0                      
400 >>>>>>>422      string          x                       \b%-.3s
401 >>>>>425        ubyte&0xDF      >0                      
402 >>>>>>425       string          >\                      \b.%-.3s
403 #
404 >430    string  Datentr\204ger\ entfernen\xFF\r\n       
405 >>454   string  Medienfehler\xFF\r\n                    
406 >>>469  string  Neustart:\ Taste\ dr\201cken\r          \b, Microsoft Windows XP Bootloader (4.german)
407 >>>>379         string          \0                      
408 >>>>>368        ubyte&0xDF      >0                      
409 >>>>>>368       string          x                       %-.5s
410 >>>>>>>373      ubyte&0xDF      >0                      
411 >>>>>>>>373     string          x                       \b%-.3s
412 >>>>>>376       ubyte&0xDF      >0                      
413 >>>>>>>376      string          x                       \b.%-.3s
414 # variant
415 >>>>417         ubyte&0xDF      >0                      
416 >>>>>417        string          x                       %-.5s
417 >>>>>>422       ubyte&0xDF      >0                      
418 >>>>>>>422      string          x                       \b%-.3s
419 >>>>>425        ubyte&0xDF      >0                      
420 >>>>>>425       string          >\                      \b.%-.3s
421 #
422
423 #>3     string  NTFS\ \ \ \                             
424 >389    string  Fehler\ beim\ Lesen\ 
425 >>407   string  des\ Datentr\204gers
426 >>>426  string  NTLDR\ fehlt                            
427 >>>>440 string  NTLDR\ ist\ komprimiert
428 >>>>>464 string Neustart\ mit\ Strg+Alt+Entf\r          \b, Microsoft Windows XP Bootloader NTFS (german)
429 #>3     string  NTFS\ \ \ \                             
430 >313    string  A\ disk\ read\ error\ occurred.\r
431 >>345   string  A\ kernel\ file\ is\ missing\   
432 >>>370  string  from\ the\ disk.\r              
433 >>>>484 string  NTLDR\ is\ compressed           
434 >>>>>429 string Insert\ a\ system\ diskette\    
435 >>>>>>454 string and\ restart\r\nthe\ system.\r         \b, Microsoft Windows XP Bootloader NTFS
436 # DOS loader variants different languages,offsets
437 >472    ubyte&0xDF      >0
438 >>389   string  Invalid\ system\ disk\xFF\r\n           
439 >>>411  string  Disk\ I/O\ error                        
440 >>>>428 string  Replace\ the\ disk,\ and\               
441 >>>>>455 string press\ any\ key                         \b, Microsoft Windows 98 Bootloader
442 #IO.SYS
443 >>>>>>472       ubyte&0xDF      >0                      
444 >>>>>>>472      string          x                       \b %-.2s
445 >>>>>>>>474     ubyte&0xDF      >0                      
446 >>>>>>>>>474    string          x                       \b%-.5s
447 >>>>>>>>>>479   ubyte&0xDF      >0                      
448 >>>>>>>>>>>479 string           x                       \b%-.1s
449 >>>>>>>480      ubyte&0xDF      >0                      
450 >>>>>>>>480     string          x                       \b.%-.3s
451 #MSDOS.SYS
452 >>>>>>>483      ubyte&0xDF      >0                      \b+
453 >>>>>>>>483     string          x                       \b%-.5s
454 >>>>>>>>>488    ubyte&0xDF      >0                      
455 >>>>>>>>>>488   string          x                       \b%-.3s
456 >>>>>>>>491     ubyte&0xDF      >0                      
457 >>>>>>>>>491    string          x                       \b.%-.3s
458 #
459 >>390   string  Invalid\ system\ disk\xFF\r\n           
460 >>>412  string  Disk\ I/O\ error\xFF\r\n                
461 >>>>429 string  Replace\ the\ disk,\ and\               
462 >>>>>451 string then\ press\ any\ key\r                 \b, Microsoft Windows 98 Bootloader
463 >>388   string  Ungueltiges\ System\ \xFF\r\n           
464 >>>410  string  E/A-Fehler\ \ \ \ \xFF\r\n              
465 >>>>427 string  Datentraeger\ wechseln\ und\            
466 >>>>>453 string Taste\ druecken\r                       \b, Microsoft Windows 95/98/ME Bootloader (german)
467 #WINBOOT.SYS only not spaces (0xDF)
468 >>>>>>497       ubyte&0xDF      >0                      
469 >>>>>>>497      string          x                       %-.5s
470 >>>>>>>>502     ubyte&0xDF      >0                      
471 >>>>>>>>>502    string          x                       \b%-.1s
472 >>>>>>>>>>503   ubyte&0xDF      >0                      
473 >>>>>>>>>>>503  string          x                       \b%-.1s
474 >>>>>>>>>>>>504 ubyte&0xDF      >0                      
475 >>>>>>>>>>>>>504 string         x                       \b%-.1s
476 >>>>>>505       ubyte&0xDF      >0                      
477 >>>>>>>505      string          x                       \b.%-.3s
478 #IO.SYS
479 >>>>>>472       ubyte&0xDF      >0                      or
480 >>>>>>>472      string          x                       \b %-.2s
481 >>>>>>>>474     ubyte&0xDF      >0                      
482 >>>>>>>>>474    string          x                       \b%-.5s
483 >>>>>>>>>>479   ubyte&0xDF      >0                      
484 >>>>>>>>>>>479 string           x                       \b%-.1s
485 >>>>>>>480      ubyte&0xDF      >0                      
486 >>>>>>>>480     string          x                       \b.%-.3s
487 #MSDOS.SYS
488 >>>>>>>483      ubyte&0xDF      >0                      \b+
489 >>>>>>>>483     string          x                       \b%-.5s
490 >>>>>>>>>488    ubyte&0xDF      >0                      
491 >>>>>>>>>>488   string          x                       \b%-.3s
492 >>>>>>>>491     ubyte&0xDF      >0                      
493 >>>>>>>>>491    string          x                       \b.%-.3s
494 #
495 >>390   string  Ungueltiges\ System\ \xFF\r\n           
496 >>>412  string  E/A-Fehler\ \ \ \ \xFF\r\n              
497 >>>>429 string  Datentraeger\ wechseln\ und\            
498 >>>>>455 string Taste\ druecken\r                       \b, Microsoft Windows 95/98/ME Bootloader (German)
499 #WINBOOT.SYS only not spaces (0xDF)
500 >>>>>>497       ubyte&0xDF      >0                      
501 >>>>>>>497      string          x                       %-.7s
502 >>>>>>>>504     ubyte&0xDF      >0                      
503 >>>>>>>>>504    string          x                       \b%-.1s
504 >>>>>>505       ubyte&0xDF      >0                      
505 >>>>>>>505      string          x                       \b.%-.3s
506 #IO.SYS
507 >>>>>>472       ubyte&0xDF      >0                      or
508 >>>>>>>472      string          x                       \b %-.2s
509 >>>>>>>>474     ubyte&0xDF      >0                      
510 >>>>>>>>>474    string          x                       \b%-.6s
511 >>>>>>>480      ubyte&0xDF      >0                      
512 >>>>>>>>480     string          x                       \b.%-.3s
513 #MSDOS.SYS
514 >>>>>>>483      ubyte&0xDF      >0                      \b+
515 >>>>>>>>483     string          x                       \b%-.5s
516 >>>>>>>>>488    ubyte&0xDF      >0                      
517 >>>>>>>>>>488   string          x                       \b%-.3s
518 >>>>>>>>491     ubyte&0xDF      >0                      
519 >>>>>>>>>491    string          x                       \b.%-.3s
520 #
521 >>389   string  Ungueltiges\ System\ \xFF\r\n           
522 >>>411  string  E/A-Fehler\ \ \ \ \xFF\r\n              
523 >>>>428 string  Datentraeger\ wechseln\ und\            
524 >>>>>454 string Taste\ druecken\r                       \b, Microsoft Windows 95/98/ME Bootloader (GERMAN)
525 # DOS names like IO.SYS,WINBOOT.SYS,MSDOS.SYS,WINBOOT.INI are 8 right space padded bytes+3 bytes
526 >>>>>>472       string          x                       %-.2s
527 >>>>>>>474      ubyte&0xDF      >0                      
528 >>>>>>>>474     string          x                       \b%-.5s
529 >>>>>>>>479     ubyte&0xDF      >0                      
530 >>>>>>>>>479    string          x                       \b%-.1s
531 >>>>>>480       ubyte&0xDF      >0                      
532 >>>>>>>480      string          x                       \b.%-.3s
533 >>>>>>483       ubyte&0xDF      >0                      \b+
534 >>>>>>>483      string          x                       \b%-.5s
535 >>>>>>>488      ubyte&0xDF      >0                      
536 >>>>>>>>488     string          x                       \b%-.2s
537 >>>>>>>>490     ubyte&0xDF      >0                      
538 >>>>>>>>>490    string          x                       \b%-.1s
539 >>>>>>>491      ubyte&0xDF      >0                      
540 >>>>>>>>491     string          x                       \b.%-.3s
541 >479    ubyte&0xDF      >0
542 >>416   string  Kein\ System\ oder\                     
543 >>>433  string  Laufwerksfehler                         
544 >>>>450 string  Wechseln\ und\ Taste\ dr\201cken        \b, Microsoft DOS Bootloader (german)
545 #IO.SYS
546 >>>>>479        string          x                       \b %-.2s
547 >>>>>>481       ubyte&0xDF      >0                      
548 >>>>>>>481      string          x                       \b%-.6s
549 >>>>>487        ubyte&0xDF      >0                      
550 >>>>>>487       string          x                       \b.%-.3s
551 #MSDOS.SYS
552 >>>>>>490       ubyte&0xDF      >0                      \b+
553 >>>>>>>490      string          x                       \b%-.5s
554 >>>>>>>>495     ubyte&0xDF      >0                      
555 >>>>>>>>>495    string          x                       \b%-.3s
556 >>>>>>>498      ubyte&0xDF      >0                      
557 >>>>>>>>498     string          x                       \b.%-.3s
558 #
559 >376    search/41       Non-System\ disk\ or\           
560 >>395   search/41       disk\ error\r                   
561 >>>407  search/41       Replace\ and\                   
562 >>>>419 search/41       press\                          \b,
563 >>>>419 search/41       strike\                         \b, old
564 >>>>426 search/41       any\ key\ when\ ready\r         MS or PC-DOS bootloader
565 #449                    Disk\ Boot\ failure\r           MS 3.21
566 #466                    Boot\ Failure\r                 MS 3.30
567 >>>>>468 search/18      \0                              
568 #IO.SYS,IBMBIO.COM
569 >>>>>>&0        string          x                       \b %-.2s
570 >>>>>>>&-20     ubyte&0xDF      >0                      
571 >>>>>>>>&-1     string          x                       \b%-.4s
572 >>>>>>>>>&-16   ubyte&0xDF      >0                      
573 >>>>>>>>>>&-1   string          x                       \b%-.2s
574 >>>>>>&8        ubyte&0xDF      >0                      \b.
575 >>>>>>>&-1      string          x                       \b%-.3s
576 #MSDOS.SYS,IBMDOS.COM
577 >>>>>>&11       ubyte&0xDF      >0                      \b+
578 >>>>>>>&-1      string          x                       \b%-.5s
579 >>>>>>>>&-6     ubyte&0xDF      >0                      
580 >>>>>>>>>&-1    string          x                       \b%-.1s
581 >>>>>>>>>>&-5   ubyte&0xDF      >0                      
582 >>>>>>>>>>>&-1  string          x                       \b%-.2s
583 >>>>>>>&7       ubyte&0xDF      >0                      \b.
584 >>>>>>>>&-1     string          x                       \b%-.3s
585 >441    string  Cannot\ load\ from\ harddisk.\n\r
586 >>469   string  Insert\ Systemdisk\                     
587 >>>487  string  and\ press\ any\ key.\n\r               \b, MS (2.11) DOS bootloader
588 #>43    string  \224R-LOADER\ \ SYS                     =label                                  
589 >54     string  SYS
590 >>324   string  VASKK
591 >>>495  string  NEWLDR\0                                \b, DR-DOS Bootloader (LOADER.SYS)
592 #
593 >98     string  Press\ a\ key\ to\ retry\0\r            
594 >>120   string  Cannot\ find\ file\ \0\r                
595 >>>139  string  Disk\ read\ error\0\r                   
596 >>>>156 string  Loading\ ...\0                          \b, DR-DOS (3.41) Bootloader
597 #DRBIOS.SYS
598 >>>>>44         ubyte&0xDF      >0                      
599 >>>>>>44        string          x                       \b %-.6s
600 >>>>>>>50       ubyte&0xDF      >0                      
601 >>>>>>>>50      string          x                       \b%-.2s
602 >>>>>>52        ubyte&0xDF      >0                      
603 >>>>>>>52       string          x                       \b.%-.3s
604 #
605 >70     string  IBMBIO\ \ COM                           
606 >>472   string  Cannot\ load\ DOS!\                     
607 >>>489  string  Any\ key\ to\ retry                     \b, DR-DOS Bootloader
608 >>471   string  Cannot\ load\ DOS\                      
609 >>487   string  press\ key\ to\ retry                   \b, Open-DOS Bootloader
610 #??
611 >444    string  KERNEL\ \ SYS                                   
612 >>314   string  BOOT\ error!                            \b, FREE-DOS Bootloader
613 >499    string  KERNEL\ \ SYS                           
614 >>305   string  BOOT\ err!\0                            \b, Free-DOS Bootloader
615 >449    string  KERNEL\ \ SYS                           
616 >>319   string  BOOT\ error!                            \b, FREE-DOS 0.5 Bootloader
617 #
618 >449    string  Loading\ FreeDOS                        
619 >>0x1AF         ulelong         >0                      \b, FREE-DOS 0.95,1.0 Bootloader
620 >>>497          ubyte&0xDF      >0                      
621 >>>>497         string          x                       \b %-.6s
622 >>>>>503        ubyte&0xDF      >0                      
623 >>>>>>503       string          x                       \b%-.1s
624 >>>>>>>504      ubyte&0xDF      >0                      
625 >>>>>>>>504     string          x                       \b%-.1s
626 >>>>505         ubyte&0xDF      >0                      
627 >>>>>505        string          x                       \b.%-.3s
628 #
629 >331    string  Error!.0                                \b, FREE-DOS 1.0 bootloader
630 #
631 >125    string  Loading\ FreeDOS...\r                   
632 >>311   string  BOOT\ error!\r                          \b, FREE-DOS bootloader
633 >>>441          ubyte&0xDF      >0                      
634 >>>>441         string          x                       \b %-.6s
635 >>>>>447        ubyte&0xDF      >0                      
636 >>>>>>447       string          x                       \b%-.1s
637 >>>>>>>448      ubyte&0xDF      >0                      
638 >>>>>>>>448     string          x                       \b%-.1s
639 >>>>449         ubyte&0xDF      >0                      
640 >>>>>449        string          x                       \b.%-.3s
641 >124    string  FreeDOS\0                               
642 >>331   string  \ err\0                                 \b, FREE-DOS BETa 0.9 Bootloader
643 # DOS names like KERNEL.SYS,KERNEL16.SYS,KERNEL32.SYS,METAKERN.SYS are 8 right space padded bytes+3 bytes
644 >>>497          ubyte&0xDF      >0                      
645 >>>>497         string          x                       \b %-.6s
646 >>>>>503        ubyte&0xDF      >0                      
647 >>>>>>503       string          x                       \b%-.1s
648 >>>>>>>504      ubyte&0xDF      >0                      
649 >>>>>>>>504     string          x                       \b%-.1s
650 >>>>505         ubyte&0xDF      >0                      
651 >>>>>505        string          x                       \b.%-.3s
652 >>333   string  \ err\0                                 \b, FREE-DOS BEta 0.9 Bootloader
653 >>>497          ubyte&0xDF      >0                      
654 >>>>497         string          x                       \b %-.6s
655 >>>>>503        ubyte&0xDF      >0                      
656 >>>>>>503       string          x                       \b%-.1s
657 >>>>>>>504      ubyte&0xDF      >0                      
658 >>>>>>>>504     string          x                       \b%-.1s
659 >>>>505         ubyte&0xDF      >0                      
660 >>>>>505        string          x                       \b.%-.3s
661 >>334   string  \ err\0                                 \b, FREE-DOS Beta 0.9 Bootloader
662 >>>497          ubyte&0xDF      >0                      
663 >>>>497         string          x                       \b %-.6s
664 >>>>>503        ubyte&0xDF      >0                      
665 >>>>>>503       string          x                       \b%-.1s
666 >>>>>>>504      ubyte&0xDF      >0                      
667 >>>>>>>>504     string          x                       \b%-.1s
668 >>>>505         ubyte&0xDF      >0                      
669 >>>>>505        string          x                       \b.%-.3s
670 >336    string  Error!\                                 
671 >>343   string  Hit\ a\ key\ to\ reboot.                \b, FREE-DOS Beta 0.9sr1 Bootloader
672 >>>497          ubyte&0xDF      >0                      
673 >>>>497         string          x                       \b %-.6s
674 >>>>>503        ubyte&0xDF      >0                      
675 >>>>>>503       string          x                       \b%-.1s
676 >>>>>>>504      ubyte&0xDF      >0                      
677 >>>>>>>>504     string          x                       \b%-.1s
678 >>>>505         ubyte&0xDF      >0                      
679 >>>>>505        string          x                       \b.%-.3s
680 # added by Joerg Jenderek
681 # http://www.visopsys.org/
682 # http://partitionlogic.org.uk/
683 # OEM-ID=Visopsys
684 >478            ulelong 0                                       
685 >>(1.b+326)     string  I/O\ Error\ reading\                    
686 >>>(1.b+344)    string  Visopsys\ loader\r                      
687 >>>>(1.b+361)   string  Press\ any\ key\ to\ continue.\r        \b, Visopsys loader
688 # http://alexfru.chat.ru/epm.html#bootprog
689 >494    ubyte   >0x4D                                   
690 >>495   string  >E                                      
691 >>>495  string  <S                                      
692 #OEM-ID is not reliable
693 >>>>3   string  BootProg                                
694 # It just looks for a program file name at the root directory
695 # and loads corresponding file with following execution.
696 # DOS names like STARTUP.BIN,STARTUPC.COM,STARTUPE.EXE are 8 right space padded bytes+3 bytes
697 >>>>499                 ubyte&0xDF      >0              \b, COM/EXE Bootloader
698 >>>>>499                string          x               \b %-.1s
699 >>>>>>500               ubyte&0xDF      >0              
700 >>>>>>>500              string          x               \b%-.1s
701 >>>>>>>>501             ubyte&0xDF      >0              
702 >>>>>>>>>501            string          x               \b%-.1s
703 >>>>>>>>>>502           ubyte&0xDF      >0              
704 >>>>>>>>>>>502          string          x               \b%-.1s
705 >>>>>>>>>>>>503         ubyte&0xDF      >0              
706 >>>>>>>>>>>>>503        string          x               \b%-.1s
707 >>>>>>>>>>>>>>504       ubyte&0xDF      >0              
708 >>>>>>>>>>>>>>>504      string          x               \b%-.1s
709 >>>>>>>>>>>>>>>>505     ubyte&0xDF      >0              
710 >>>>>>>>>>>>>>>>>505    string          x               \b%-.1s
711 >>>>>>>>>>>>>>>>>>506   ubyte&0xDF      >0              
712 >>>>>>>>>>>>>>>>>>>506  string          x               \b%-.1s
713 #name extension
714 >>>>>507                ubyte&0xDF      >0              \b.
715 >>>>>>507               string          x               \b%-.1s
716 >>>>>>>508              ubyte&0xDF      >0              
717 >>>>>>>>508             string          x               \b%-.1s
718 >>>>>>>>>509            ubyte&0xDF      >0              
719 >>>>>>>>>>509           string          x               \b%-.1s
720 #If the boot sector fails to read any other sector,
721 #it prints a very short message ("RE") to the screen and hangs the computer.
722 #If the boot sector fails to find needed program in the root directory,
723 #it also hangs with another message ("NF").
724 >>>>>492                string          RENF            \b, FAT (12 bit)
725 >>>>>495                string          RENF            \b, FAT (16 bit)
726 # http://alexfru.chat.ru/epm.html#bootprog
727 >494    ubyte   >0x4D                                   
728 >>495   string  >E                                      
729 >>>495  string  <S                                      
730 #OEM-ID is not reliable
731 >>>>3   string  BootProg                                
732 # It just looks for a program file name at the root directory
733 # and loads corresponding file with following execution.
734 # DOS names like STARTUP.BIN,STARTUPC.COM,STARTUPE.EXE are 8 right space padded bytes+3 bytes
735 >>>>499                 ubyte&0xDF      >0              \b, COM/EXE Bootloader
736 >>>>>499                string          x               \b %-.1s
737 >>>>>>500               ubyte&0xDF      >0              
738 >>>>>>>500              string          x               \b%-.1s
739 >>>>>>>>501             ubyte&0xDF      >0              
740 >>>>>>>>>501            string          x               \b%-.1s
741 >>>>>>>>>>502           ubyte&0xDF      >0              
742 >>>>>>>>>>>502          string          x               \b%-.1s
743 >>>>>>>>>>>>503         ubyte&0xDF      >0              
744 >>>>>>>>>>>>>503        string          x               \b%-.1s
745 >>>>>>>>>>>>>>504       ubyte&0xDF      >0              
746 >>>>>>>>>>>>>>>504      string          x               \b%-.1s
747 >>>>>>>>>>>>>>>>505     ubyte&0xDF      >0              
748 >>>>>>>>>>>>>>>>>505    string          x               \b%-.1s
749 >>>>>>>>>>>>>>>>>>506   ubyte&0xDF      >0              
750 >>>>>>>>>>>>>>>>>>>506  string          x               \b%-.1s
751 #name extension
752 >>>>>507                ubyte&0xDF      >0              \b.
753 >>>>>>507               string          x               \b%-.1s
754 >>>>>>>508              ubyte&0xDF      >0              
755 >>>>>>>>508             string          x               \b%-.1s
756 >>>>>>>>>509            ubyte&0xDF      >0              
757 >>>>>>>>>>509           string          x               \b%-.1s
758 #If the boot sector fails to read any other sector,
759 #it prints a very short message ("RE") to the screen and hangs the computer.
760 #If the boot sector fails to find needed program in the root directory,
761 #it also hangs with another message ("NF").
762 >>>>>492                string          RENF            \b, FAT (12 bit)
763 >>>>>495                string          RENF            \b, FAT (16 bit)
764 # x86 bootloader end
765 # updated by Joerg Jenderek at Sep 2007
766 >3      ubyte   0                       
767 #no active flag
768 >>446   ubyte   0                       
769 # partition 1 not empty
770 >>>450  ubyte   >0                      
771 # partitions 3,4 empty
772 >>>>482         ubyte   0                       
773 >>>>>498        ubyte   0                       
774 # partition 2 ID=0,5,15
775 >>>>>>466       ubyte   <0x10                   
776 >>>>>>>466      ubyte   0x05                    \b, extended partition table
777 >>>>>>>466      ubyte   0x0F                    \b, extended partition table (LBA)
778 >>>>>>>466      ubyte   0x0                     \b, extended partition table (last)     
779 # JuMP short     bootcodeoffset NOP assembler instructions will usually be EB xx 90
780 # http://mirror.href.com/thestarman/asm/2bytejumps.htmm#FWD
781 # older drives may use Near JuMP instruction E9 xx xx
782 >0              lelong&0x009000EB       0x009000EB 
783 >0              lelong&0x000000E9       0x000000E9 
784 # minimal short forward jump found 03cx??
785 # maximal short forward jump is 07fx
786 >1              ubyte                   <0xff   \b, code offset 0x%x
787 # mtools-3.9.8/msdos.h
788 # usual values are marked with comments to get only informations of strange FAT systems
789 # valid sectorsize must be a power of 2 from 32 to 32768
790 >>11            uleshort&0x000f x               
791 >>>11           uleshort        <32769          
792 >>>>11          uleshort        >31             
793 >>>>>21         ubyte&0xf0      0xF0            
794 >>>>>>3         string          >\0             \b, OEM-ID "%8.8s"
795 #http://mirror.href.com/thestarman/asm/debug/debug2.htm#IHC
796 >>>>>>>8        string          IHC             \b cached by Windows 9M
797 >>>>>>11        uleshort        >512            \b, Bytes/sector %u
798 #>>>>>>11       uleshort        =512            \b, Bytes/sector %u=512 (usual)
799 >>>>>>11        uleshort        <512            \b, Bytes/sector %u
800 >>>>>>13        ubyte           >1              \b, sectors/cluster %u
801 #>>>>>>13       ubyte           =1              \b, sectors/cluster %u (usual on Floppies)
802 >>>>>>14        uleshort        >32             \b, reserved sectors %u
803 #>>>>>>14       uleshort        =32             \b, reserved sectors %u (usual Fat32)
804 #>>>>>>14       uleshort        >1              \b, reserved sectors %u
805 #>>>>>>14       uleshort        =1              \b, reserved sectors %u (usual FAT12,FAT16)
806 >>>>>>14        uleshort        <1              \b, reserved sectors %u
807 >>>>>>16        ubyte           >2              \b, FATs %u
808 #>>>>>>16       ubyte           =2              \b, FATs %u (usual)
809 >>>>>>16        ubyte           =1              \b, FAT  %u
810 >>>>>>16        ubyte           >0
811 >>>>>>17        uleshort        >0              \b, root entries %u
812 #>>>>>>17       uleshort        =0              \b, root entries %u=0 (usual Fat32)
813 >>>>>>19        uleshort        >0              \b, sectors %u (volumes <=32 MB) 
814 #>>>>>>19       uleshort        =0              \b, sectors %u=0 (usual Fat32)
815 >>>>>>21        ubyte           >0xF0           \b, Media descriptor 0x%x
816 #>>>>>>21       ubyte           =0xF0           \b, Media descriptor 0x%x (usual floppy)
817 >>>>>>21        ubyte           <0xF0           \b, Media descriptor 0x%x
818 >>>>>>22        uleshort        >0              \b, sectors/FAT %u
819 #>>>>>>22       uleshort        =0              \b, sectors/FAT %u=0 (usual Fat32)
820 >>>>>>26        ubyte           >2              \b, heads %u
821 #>>>>>>26       ubyte           =2              \b, heads %u (usual floppy)
822 >>>>>>26        ubyte           =1              \b, heads %u
823 #skip for Digital Research DOS (version 3.41) 1440 kB Bootdisk
824 >>>>>>38        ubyte           !0x70           
825 >>>>>>>28       ulelong         >0              \b, hidden sectors %u
826 #>>>>>>>28      ulelong         =0              \b, hidden sectors %u (usual floppy)
827 >>>>>>>32       ulelong         >0              \b, sectors %u (volumes > 32 MB) 
828 #>>>>>>>32      ulelong         =0              \b, sectors %u (volumes > 32 MB)
829 # FAT<32 specific 
830 >>>>>>82        string          !FAT32
831 #>>>>>>>36      ubyte           0x80            \b, physical drive 0x%x=0x80 (usual harddisk)
832 #>>>>>>>36      ubyte           0               \b, physical drive 0x%x=0 (usual floppy)
833 >>>>>>>36       ubyte           !0x80           
834 >>>>>>>>36      ubyte           !0              \b, physical drive 0x%x
835 >>>>>>>37       ubyte           >0              \b, reserved 0x%x
836 #>>>>>>>37      ubyte           =0              \b, reserved 0x%x
837 >>>>>>>38       ubyte           >0x29           \b, dos < 4.0 BootSector (0x%x)
838 >>>>>>>38       ubyte           <0x29           \b, dos < 4.0 BootSector (0x%x)
839 >>>>>>>38       ubyte           =0x29
840 >>>>>>>>39      ulelong         x               \b, serial number 0x%x
841 >>>>>>>>43      string          <NO\ NAME       \b, label: "%11.11s"
842 >>>>>>>>43      string          >NO\ NAME       \b, label: "%11.11s"
843 >>>>>>>>43      string          =NO\ NAME       \b, unlabeled
844 >>>>>>>54       string          FAT             \b, FAT
845 >>>>>>>>54      string          FAT12           \b (12 bit)
846 >>>>>>>>54      string          FAT16           \b (16 bit)
847 # FAT32 specific
848 >>>>>>82        string          FAT32           \b, FAT (32 bit)
849 >>>>>>>36       ulelong         x               \b, sectors/FAT %u
850 >>>>>>>40       uleshort        >0              \b, extension flags %u
851 #>>>>>>>40      uleshort        =0              \b, extension flags %u
852 >>>>>>>42       uleshort        >0              \b, fsVersion %u
853 #>>>>>>>42      uleshort        =0              \b, fsVersion %u (usual)
854 >>>>>>>44       ulelong         >2              \b, rootdir cluster %u
855 #>>>>>>>44      ulelong         =2              \b, rootdir cluster %u
856 #>>>>>>>44      ulelong         =1              \b, rootdir cluster %u
857 >>>>>>>48       uleshort        >1              \b, infoSector %u
858 #>>>>>>>48      uleshort        =1              \b, infoSector %u (usual)
859 >>>>>>>48       uleshort        <1              \b, infoSector %u
860 >>>>>>>50       uleshort        >6              \b, Backup boot sector %u
861 #>>>>>>>50      uleshort        =6              \b, Backup boot sector %u (usual) 
862 >>>>>>>50       uleshort        <6              \b, Backup boot sector %u
863 >>>>>>>54       ulelong         >0              \b, reserved1 0x%x
864 >>>>>>>58       ulelong         >0              \b, reserved2 0x%x
865 >>>>>>>62       ulelong         >0              \b, reserved3 0x%x
866 # same structure as FAT1X 
867 >>>>>>>64       ubyte           >0x80           \b, physical drive 0x%x
868 #>>>>>>>64      ubyte           =0x80           \b, physical drive 0x%x=80 (usual harddisk)
869 >>>>>>>64       ubyte&0x7F      >0              \b, physical drive 0x%x
870 #>>>>>>>64      ubyte           =0              \b, physical drive 0x%x=0 (usual floppy)
871 >>>>>>>65       ubyte           >0              \b, reserved 0x%x
872 >>>>>>>66       ubyte           >0x29           \b, dos < 4.0 BootSector (0x%x)
873 >>>>>>>66       ubyte           <0x29           \b, dos < 4.0 BootSector (0x%x)
874 >>>>>>>66       ubyte           =0x29
875 >>>>>>>>67      ulelong         x               \b, serial number 0x%x
876 >>>>>>>>71      string          <NO\ NAME       \b, label: "%11.11s"
877 >>>>>>>71       string          >NO\ NAME       \b, label: "%11.11s"
878 >>>>>>>71       string          =NO\ NAME       \b, unlabeled
879 ### FATs end
880 >0x200  lelong  0x82564557              \b, BSD disklabel
881 # FATX 
882 0               string          FATX            FATX filesystem data
883
884
885 # Minix filesystems - Juan Cespedes <cespedes@debian.org>
886 0x410   leshort         0x137f
887 >0x402  beshort         < 100           Minix filesystem, V1, %d zones
888 >0x1e   string          minix           \b, bootable
889 0x410   beshort         0x137f
890 >0x402  beshort         < 100           Minix filesystem, V1 (big endian), %d zones
891 >0x1e   string          minix           \b, bootable
892 0x410   leshort         0x138f
893 >0x402  beshort         < 100           Minix filesystem, V1, 30 char names, %d zones
894 >0x1e   string          minix           \b, bootable
895 0x410   beshort         0x138f
896 >0x402  beshort         < 100           Minix filesystem, V1, 30 char names (big endian), %d zones
897 >0x1e   string          minix           \b, bootable
898 0x410   leshort         0x2468
899 >0x402  beshort         < 100           Minix filesystem, V2, %d zones
900 >0x1e   string          minix           \b, bootable
901 0x410   beshort         0x2468
902 >0x402  beshort         < 100           Minix filesystem, V2 (big endian), %d zones
903 >0x1e   string          minix           \b, bootable
904
905 0x410   leshort         0x2478
906 >0x402  beshort         < 100           Minix filesystem, V2, 30 char names, %d zones
907 >0x1e   string          minix           \b, bootable
908 0x410   leshort         0x2478
909 >0x402  beshort         < 100           Minix filesystem, V2, 30 char names, %d zones
910 >0x1e   string          minix           \b, bootable
911 0x410   beshort         0x2478
912 >0x402  beshort         !0              Minix filesystem, V2, 30 char names (big endian), %d zones
913 >0x1e   string          minix           \b, bootable
914 0x410   leshort         0x4d5a
915 >0x402  beshort         !0              Minix filesystem, V3, %d zones
916 >0x1e   string          minix           \b, bootable
917
918 # romfs filesystems - Juan Cespedes <cespedes@debian.org>
919 0       string          -rom1fs-        romfs filesystem, version 1
920 >8      belong  x                       %d bytes,
921 >16     string  x                       named %s.
922
923 # netboot image - Juan Cespedes <cespedes@debian.org>
924 0       lelong          0x1b031336L     Netboot image,
925 >4      lelong&0xFFFFFF00       0
926 >>4     lelong&0x100    0x000           mode 2
927 >>4     lelong&0x100    0x100           mode 3
928 >4      lelong&0xFFFFFF00       !0      unknown mode
929
930 0x18b   string  OS/2    OS/2 Boot Manager
931
932 # updated by Joerg Jenderek at Oct 2008!!
933 # http://syslinux.zytor.com/iso.php
934 0       ulelong 0x7c40eafa              isolinux Loader
935 # http://syslinux.zytor.com/pxe.php
936 0       ulelong 0x007c05ea              pxelinux Loader
937 0       ulelong 0x60669c66              pxelinux Loader
938
939 # added by Joerg Jenderek
940 # In the second sector (+0x200) are variables according to grub-0.97/stage2/asm.S or
941 # grub-1.94/kern/i386/pc/startup.S
942 # http://www.gnu.org/software/grub/manual/grub.html#Embedded-data
943 # usual values are marked with comments to get only informations of strange GRUB loaders
944 0x200   uleshort                0x70EA          
945 # found only version 3.{1,2}
946 >0x206          ubeshort        >0x0300         
947 # GRUB version (0.5.)95,0.93,0.94,0.96,0.97 > "00"
948 >>0x212         ubyte           >0x29           
949 >>>0x213        ubyte           >0x29           
950 # not iso9660_stage1_5
951 #>>>0   ulelong&0x00BE5652      0x00BE5652      
952 >>>>0x213       ubyte           >0x29           GRand Unified Bootloader
953 # config_file for stage1_5 is 0xffffffff + default "/boot/grub/stage2"
954 >>>>0x217       ubyte           0xFF            stage1_5
955 >>>>0x217       ubyte           <0xFF           stage2
956 >>>>0x206       ubyte           x               \b version %u
957 >>>>0x207       ubyte           x               \b.%u
958 # module_size for 1.94
959 >>>>0x208       ulelong         <0xffffff       \b, installed partition %u
960 #>>>>0x208      ulelong         =0xffffff       \b, %u (default)
961 >>>>0x208       ulelong         >0xffffff       \b, installed partition %u
962 # GRUB 0.5.95 unofficial
963 >>>>0x20C       ulelong&0x2E300000 0x2E300000   
964 # 0=stage2      1=ffs   2=e2fs  3=fat   4=minix 5=reiserfs
965 >>>>>0x20C      ubyte           x               \b, identifier 0x%x
966 #>>>>>0x20D     ubyte           =0              \b, LBA flag 0x%x (default)
967 >>>>>0x20D      ubyte           >0              \b, LBA flag 0x%x
968 # GRUB version as string
969 >>>>>0x20E      string          >\0             \b, GRUB version %-s
970 # for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default
971 >>>>>>0x215     ulong           0xffffffff      
972 >>>>>>>0x219    string          >\0             \b, configuration file %-s
973 >>>>>>0x215     ulong           !0xffffffff     
974 >>>>>>>0x215    string          >\0             \b, configuration file %-s
975 # newer GRUB versions
976 >>>>0x20C       ulelong&0x2E300000 !0x2E300000  
977 ##>>>>>0x20C    ulelong         =0              \b, saved entry %d (usual)
978 >>>>>0x20C      ulelong         >0              \b, saved entry %d
979 # for 1.94 contains kernel image size
980 # for 0.93,0.94,0.96,0.97
981 # 0=stage2      1=ffs   2=e2fs  3=fat   4=minix 5=reiserfs      6=vstafs        7=jfs   8=xfs   9=iso9660       a=ufs2  
982 >>>>>0x210      ubyte           x               \b, identifier 0x%x
983 # The flag for LBA forcing is in most cases 0
984 #>>>>>0x211     ubyte           =0              \b, LBA flag 0x%x (default)
985 >>>>>0x211      ubyte           >0              \b, LBA flag 0x%x
986 # GRUB version as string
987 >>>>>0x212      string          >\0             \b, GRUB version %-s
988 # for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default
989 >>>>>0x217      ulong           0xffffffff      
990 >>>>>>0x21b     string          >\0             \b, configuration file %-s
991 >>>>>0x217      ulong           !0xffffffff     
992 >>>>>>0x217     string          >\0             \b, configuration file %-s
993
994 9564    lelong          0x00011954      Unix Fast File system [v1] (little-endian),
995 >8404   string          x               last mounted on %s,
996 #>9504  ledate          x               last checked at %s,
997 >8224   ledate          x               last written at %s,
998 >8401   byte            x               clean flag %d,
999 >8228   lelong          x               number of blocks %d,
1000 >8232   lelong          x               number of data blocks %d,
1001 >8236   lelong          x               number of cylinder groups %d,
1002 >8240   lelong          x               block size %d,
1003 >8244   lelong          x               fragment size %d,
1004 >8252   lelong          x               minimum percentage of free blocks %d,
1005 >8256   lelong          x               rotational delay %dms,
1006 >8260   lelong          x               disk rotational speed %drps,
1007 >8320   lelong          0               TIME optimization
1008 >8320   lelong          1               SPACE optimization
1009
1010 42332   lelong          0x19540119      Unix Fast File system [v2] (little-endian)
1011 >&-1164 string          x               last mounted on %s,
1012 >&-696  string          >\0             volume name %s,
1013 >&-304  leqldate        x               last written at %s,
1014 >&-1167 byte            x               clean flag %d,
1015 >&-1168 byte            x               readonly flag %d,
1016 >&-296  lequad          x               number of blocks %lld,
1017 >&-288  lequad          x               number of data blocks %lld,
1018 >&-1332 lelong          x               number of cylinder groups %d,
1019 >&-1328 lelong          x               block size %d,
1020 >&-1324 lelong          x               fragment size %d,
1021 >&-180  lelong          x               average file size %d,
1022 >&-176  lelong          x               average number of files in dir %d,
1023 >&-272  lequad          x               pending blocks to free %lld,
1024 >&-264  lelong          x               pending inodes to free %ld,
1025 >&-664  lequad          x               system-wide uuid %0llx,
1026 >&-1316 lelong          x               minimum percentage of free blocks %d,
1027 >&-1248 lelong          0               TIME optimization
1028 >&-1248 lelong          1               SPACE optimization
1029
1030 66908   lelong          0x19540119      Unix Fast File system [v2] (little-endian)
1031 >&-1164 string          x               last mounted on %s,
1032 >&-696  string          >\0             volume name %s,
1033 >&-304  leqldate        x               last written at %s,
1034 >&-1167 byte            x               clean flag %d,
1035 >&-1168 byte            x               readonly flag %d,
1036 >&-296  lequad          x               number of blocks %lld,
1037 >&-288  lequad          x               number of data blocks %lld,
1038 >&-1332 lelong          x               number of cylinder groups %d,
1039 >&-1328 lelong          x               block size %d,
1040 >&-1324 lelong          x               fragment size %d,
1041 >&-180  lelong          x               average file size %d,
1042 >&-176  lelong          x               average number of files in dir %d,
1043 >&-272  lequad          x               pending blocks to free %lld,
1044 >&-264  lelong          x               pending inodes to free %ld,
1045 >&-664  lequad          x               system-wide uuid %0llx,
1046 >&-1316 lelong          x               minimum percentage of free blocks %d,
1047 >&-1248 lelong          0               TIME optimization
1048 >&-1248 lelong          1               SPACE optimization
1049
1050 9564    belong          0x00011954      Unix Fast File system [v1] (big-endian),
1051 >7168   belong          0x4c41424c      Apple UFS Volume
1052 >>7186  string          x               named %s,
1053 >>7176  belong          x               volume label version %d,
1054 >>7180  bedate          x               created on %s,
1055 >8404   string          x               last mounted on %s,
1056 #>9504  bedate          x               last checked at %s,
1057 >8224   bedate          x               last written at %s,
1058 >8401   byte            x               clean flag %d,
1059 >8228   belong          x               number of blocks %d,
1060 >8232   belong          x               number of data blocks %d,
1061 >8236   belong          x               number of cylinder groups %d,
1062 >8240   belong          x               block size %d,
1063 >8244   belong          x               fragment size %d,
1064 >8252   belong          x               minimum percentage of free blocks %d,
1065 >8256   belong          x               rotational delay %dms,
1066 >8260   belong          x               disk rotational speed %drps,
1067 >8320   belong          0               TIME optimization
1068 >8320   belong          1               SPACE optimization
1069
1070 42332   belong          0x19540119      Unix Fast File system [v2] (big-endian)
1071 >&-1164 string          x               last mounted on %s,
1072 >&-696  string          >\0             volume name %s,
1073 >&-304  beqldate        x               last written at %s,
1074 >&-1167 byte            x               clean flag %d,
1075 >&-1168 byte            x               readonly flag %d,
1076 >&-296  bequad          x               number of blocks %lld,
1077 >&-288  bequad          x               number of data blocks %lld,
1078 >&-1332 belong          x               number of cylinder groups %d,
1079 >&-1328 belong          x               block size %d,
1080 >&-1324 belong          x               fragment size %d,
1081 >&-180  belong          x               average file size %d,
1082 >&-176  belong          x               average number of files in dir %d,
1083 >&-272  bequad          x               pending blocks to free %lld,
1084 >&-264  belong          x               pending inodes to free %ld,
1085 >&-664  bequad          x               system-wide uuid %0llx,
1086 >&-1316 belong          x               minimum percentage of free blocks %d,
1087 >&-1248 belong          0               TIME optimization
1088 >&-1248 belong          1               SPACE optimization
1089
1090 66908   belong          0x19540119      Unix Fast File system [v2] (big-endian)
1091 >&-1164 string          x               last mounted on %s,
1092 >&-696  string          >\0             volume name %s,
1093 >&-304  beqldate        x               last written at %s,
1094 >&-1167 byte            x               clean flag %d,
1095 >&-1168 byte            x               readonly flag %d,
1096 >&-296  bequad          x               number of blocks %lld,
1097 >&-288  bequad          x               number of data blocks %lld,
1098 >&-1332 belong          x               number of cylinder groups %d,
1099 >&-1328 belong          x               block size %d,
1100 >&-1324 belong          x               fragment size %d,
1101 >&-180  belong          x               average file size %d,
1102 >&-176  belong          x               average number of files in dir %d,
1103 >&-272  bequad          x               pending blocks to free %lld,
1104 >&-264  belong          x               pending inodes to free %ld,
1105 >&-664  bequad          x               system-wide uuid %0llx,
1106 >&-1316 belong          x               minimum percentage of free blocks %d,
1107 >&-1248 belong          0               TIME optimization
1108 >&-1248 belong          1               SPACE optimization
1109
1110 # ext2/ext3 filesystems - Andreas Dilger <adilger@dilger.ca>
1111 # ext4 filesystem - Eric Sandeen <sandeen@sandeen.net>
1112 0x438   leshort         0xEF53          Linux
1113 >0x44c  lelong          x               rev %d
1114 >0x43e  leshort         x               \b.%d
1115 # No journal?  ext2
1116 >0x45c  lelong          ^0x0000004      ext2 filesystem data
1117 >>0x43a leshort         ^0x0000001      (mounted or unclean)
1118 # Has a journal?  ext3 or ext4
1119 >0x45c  lelong          &0x0000004
1120 #  and small INCOMPAT?
1121 >>0x460 lelong          <0x0000040
1122 #   and small RO_COMPAT?
1123 >>>0x464 lelong         <0x0000008      ext3 filesystem data
1124 #   else large RO_COMPAT?
1125 >>>0x464 lelong         >0x0000007      ext4 filesystem data
1126 #  else large INCOMPAT?
1127 >>0x460 lelong          >0x000003f      ext4 filesystem data
1128 # General flags for any ext* fs
1129 >0x460  lelong          &0x0000004      (needs journal recovery)
1130 >0x43a  leshort         &0x0000002      (errors)
1131 # INCOMPAT flags
1132 >0x460  lelong          &0x0000001      (compressed)
1133 #>0x460 lelong          &0x0000002      (filetype)
1134 #>0x460 lelong          &0x0000010      (meta bg)
1135 >0x460  lelong          &0x0000040      (extents)
1136 >0x460  lelong          &0x0000080      (64bit)
1137 #>0x460 lelong          &0x0000100      (mmp)
1138 #>0x460 lelong          &0x0000200      (flex bg)
1139 # RO_INCOMPAT flags
1140 #>0x464 lelong          &0x0000001      (sparse super)
1141 >0x464  lelong          &0x0000002      (large files)
1142 >0x464  lelong          &0x0000008      (huge files)
1143 #>0x464 lelong          &0x0000010      (gdt checksum)
1144 #>0x464 lelong          &0x0000020      (many subdirs)
1145 #>0x463 lelong          &0x0000040      (extra isize)
1146
1147 # SGI disk labels - Nathan Scott <nathans@debian.org>
1148 0       belong          0x0BE5A941      SGI disk label (volume header)
1149
1150 # SGI XFS filesystem - Nathan Scott <nathans@debian.org>
1151 0       belong          0x58465342      SGI XFS filesystem data
1152 >0x4    belong          x               (blksz %d,
1153 >0x68   beshort         x               inosz %d,
1154 >0x64   beshort         ^0x2004         v1 dirs)
1155 >0x64   beshort         &0x2004         v2 dirs)
1156
1157 ############################################################################
1158 # Minix-ST kernel floppy
1159 0x800   belong          0x46fc2700      Atari-ST Minix kernel image
1160 >19     string          \240\5\371\5\0\011\0\2\0        \b, 720k floppy
1161 >19     string          \320\2\370\5\0\011\0\1\0        \b, 360k floppy
1162
1163 ############################################################################
1164 # Hmmm, is this a better way of detecting _standard_ floppy images ?
1165 19      string          \320\2\360\3\0\011\0\1\0        DOS floppy 360k
1166 >0x1FE  leshort         0xAA55          \b, x86 hard disk boot sector
1167 19      string          \240\5\371\3\0\011\0\2\0        DOS floppy 720k
1168 >0x1FE  leshort         0xAA55          \b, x86 hard disk boot sector
1169 19      string          \100\013\360\011\0\022\0\2\0    DOS floppy 1440k
1170 >0x1FE  leshort         0xAA55          \b, x86 hard disk boot sector
1171
1172 19      string          \240\5\371\5\0\011\0\2\0        DOS floppy 720k, IBM
1173 >0x1FE  leshort         0xAA55          \b, x86 hard disk boot sector
1174 19      string          \100\013\371\5\0\011\0\2\0      DOS floppy 1440k, mkdosfs
1175 >0x1FE  leshort         0xAA55          \b, x86 hard disk boot sector
1176
1177 19      string          \320\2\370\5\0\011\0\1\0        Atari-ST floppy 360k
1178 19      string          \240\5\371\5\0\011\0\2\0        Atari-ST floppy 720k
1179
1180 #  Valid media descriptor bytes for MS-DOS:
1181 #
1182 #     Byte   Capacity   Media Size and Type
1183 #     -------------------------------------------------
1184 #
1185 #     F0     2.88 MB    3.5-inch, 2-sided, 36-sector
1186 #     F0     1.44 MB    3.5-inch, 2-sided, 18-sector
1187 #     F9     720K       3.5-inch, 2-sided, 9-sector
1188 #     F9     1.2 MB     5.25-inch, 2-sided, 15-sector
1189 #     FD     360K       5.25-inch, 2-sided, 9-sector
1190 #     FF     320K       5.25-inch, 2-sided, 8-sector
1191 #     FC     180K       5.25-inch, 1-sided, 9-sector
1192 #     FE     160K       5.25-inch, 1-sided, 8-sector
1193 #     FE     250K       8-inch, 1-sided, single-density
1194 #     FD     500K       8-inch, 2-sided, single-density
1195 #     FE     1.2 MB     8-inch, 2-sided, double-density
1196 #     F8     -----      Fixed disk 
1197 #
1198 #     FC     xxxK       Apricot 70x1x9 boot disk.
1199 #
1200 # Originally a bitmap:
1201 #  xxxxxxx0     Not two sided
1202 #  xxxxxxx1     Double sided
1203 #  xxxxxx0x     Not 8 SPT
1204 #  xxxxxx1x     8 SPT
1205 #  xxxxx0xx     Not Removable drive
1206 #  xxxxx1xx     Removable drive
1207 #  11111xxx     Must be one.
1208 #
1209 # But now it's rather random:
1210 #  111111xx     Low density disk
1211 #        00     SS, Not 8 SPT
1212 #        01     DS, Not 8 SPT
1213 #        10     SS, 8 SPT
1214 #        11     DS, 8 SPT
1215 #
1216 #  11111001     Double density 3½ floppy disk, high density 5¼
1217 #  11110000     High density 3½ floppy disk
1218 #  11111000     Hard disk any format
1219 #
1220
1221 # CDROM Filesystems
1222 # Modified for UDF by gerardo.cacciari@gmail.com
1223 32769   string    CD001
1224 !:mime  application/x-iso9660-image
1225 >38913  string   !NSR0      ISO 9660 CD-ROM filesystem data
1226 >38913  string    NSR0      UDF filesystem data
1227 >>38917 string    1         (version 1.0)
1228 >>38917 string    2         (version 1.5)
1229 >>38917 string    3         (version 2.0)
1230 >>38917 byte     >0x33      (unknown version, ID 0x%X)
1231 >>38917 byte     <0x31      (unknown version, ID 0x%X)
1232 # "application id" which appears to be used as a volume label
1233 >32808  string    >\0       '%s'
1234 >34816  string    \000CD001\001EL\ TORITO\ SPECIFICATION    (bootable)
1235 37633   string    CD001     ISO 9660 CD-ROM filesystem data (raw 2352 byte sectors)
1236 !:mime  application/x-iso9660-image
1237 32776   string    CDROM     High Sierra CD-ROM filesystem data
1238
1239 # .cso files
1240 0    string    CISO     Compressed ISO CD image
1241
1242 # cramfs filesystem - russell@coker.com.au
1243 0       lelong    0x28cd3d45      Linux Compressed ROM File System data, little endian
1244 >4      lelong  x size %lu
1245 >8      lelong  &1 version #2
1246 >8      lelong  &2 sorted_dirs
1247 >8      lelong  &4 hole_support
1248 >32     lelong  x CRC 0x%x,
1249 >36     lelong  x edition %lu,
1250 >40     lelong  x %lu blocks,
1251 >44     lelong  x %lu files
1252
1253 0       belong    0x28cd3d45      Linux Compressed ROM File System data, big endian
1254 >4      belong  x size %lu
1255 >8      belong  &1 version #2
1256 >8      belong  &2 sorted_dirs
1257 >8      belong  &4 hole_support
1258 >32     belong  x CRC 0x%x,
1259 >36     belong  x edition %lu,
1260 >40     belong  x %lu blocks,
1261 >44     belong  x %lu files
1262
1263 # reiserfs - russell@coker.com.au
1264 0x10034         string  ReIsErFs        ReiserFS V3.5
1265 0x10034         string  ReIsEr2Fs       ReiserFS V3.6
1266 >0x1002c        leshort x               block size %d
1267 >0x10032        leshort &2              (mounted or unclean)
1268 >0x10000        lelong  x               num blocks %d
1269 >0x10040        lelong  1               tea hash
1270 >0x10040        lelong  2               yura hash
1271 >0x10040        lelong  3               r5 hash
1272
1273 # JFFS - russell@coker.com.au
1274 0       lelong  0x34383931      Linux Journalled Flash File system, little endian
1275 0       belong  0x34383931      Linux Journalled Flash File system, big endian
1276
1277 # EST flat binary format (which isn't, but anyway)
1278 # From: Mark Brown <broonie@sirena.org.uk>
1279 0       string  ESTFBINR        EST flat binary
1280
1281 # Aculab VoIP firmware
1282 # From: Mark Brown <broonie@sirena.org.uk>
1283 0       string  VoIP\ Startup\ and      Aculab VoIP firmware
1284 >35     string  x       format %s
1285
1286 # From: Mark Brown <broonie@sirena.org.uk> [old]
1287 # From: Behan Webster <behanw@websterwood.com>
1288 0       belong  0x27051956      u-boot legacy uImage,
1289 >32     string  x               %s,
1290 >28     byte    0               Invalid os/
1291 >28     byte    1               OpenBSD/
1292 >28     byte    2               NetBSD/
1293 >28     byte    3               FreeBSD/
1294 >28     byte    4               4.4BSD/
1295 >28     byte    5               Linux/
1296 >28     byte    6               SVR4/
1297 >28     byte    7               Esix/
1298 >28     byte    8               Solaris/
1299 >28     byte    9               Irix/
1300 >28     byte    10              SCO/
1301 >28     byte    11              Dell/
1302 >28     byte    12              NCR/
1303 >28     byte    13              LynxOS/
1304 >28     byte    14              VxWorks/
1305 >28     byte    15              pSOS/
1306 >28     byte    16              QNX/
1307 >28     byte    17              Firmware/
1308 >28     byte    18              RTEMS/
1309 >28     byte    19              ARTOS/
1310 >28     byte    20              Unity OS/
1311 >28     byte    21              INTEGRITY/
1312 >29     byte    0               \bInvalid CPU,
1313 >29     byte    1               \bAlpha,
1314 >29     byte    2               \bARM,
1315 >29     byte    3               \bIntel x86,
1316 >29     byte    4               \bIA64,
1317 >29     byte    5               \bMIPS,
1318 >29     byte    6               \bMIPS 64-bit,
1319 >29     byte    7               \bPowerPC,
1320 >29     byte    8               \bIBM S390,
1321 >29     byte    9               \bSuperH,
1322 >29     byte    10              \bSparc,
1323 >29     byte    11              \bSparc 64-bit,
1324 >29     byte    12              \bM68K,
1325 >29     byte    13              \bNios-32,
1326 >29     byte    14              \bMicroBlaze,
1327 >29     byte    15              \bNios-II,
1328 >29     byte    16              \bBlackfin,
1329 >29     byte    17              \bAVR32,
1330 >29     byte    18              \bSTMicroelectronics ST200,
1331 >30     byte    0               Invalid Image
1332 >30     byte    1               Standalone Program
1333 >30     byte    2               OS Kernel Image
1334 >30     byte    3               RAMDisk Image
1335 >30     byte    4               Multi-File Image
1336 >30     byte    5               Firmware Image
1337 >30     byte    6               Script File
1338 >30     byte    7               Filesystem Image (any type)
1339 >30     byte    8               Binary Flat Device Tree BLOB
1340 >31     byte    0               (Not compressed),
1341 >31     byte    1               (gzip),
1342 >31     byte    2               (bzip2),
1343 >31     byte    3               (lzma),
1344 >12     belong  x               %d bytes,
1345 >8      bedate  x               %s,
1346 >16     belong  x               Load Address: 0x%08X,
1347 >20     belong  x               Entry Point: 0x%08X,
1348 >4      belong  x               Header CRC: 0x%08X,
1349 >24     belong  x               Data CRC: 0x%08X
1350
1351 # JFFS2 file system
1352 0       leshort 0x1984          Linux old jffs2 filesystem data little endian
1353 0       leshort 0x1985          Linux jffs2 filesystem data little endian
1354
1355 # Squashfs
1356 0       string  sqsh    Squashfs filesystem, big endian,
1357 >28     beshort x       version %d.
1358 >30     beshort x       \b%d,
1359 >28     beshort <3
1360 >>8     belong  x       %d bytes,
1361 >28     beshort >2
1362 >>63    bequad x        %lld bytes,
1363 #>>67   belong  x       %d bytes,
1364 >4      belong  x       %d inodes,
1365 >28     beshort <2
1366 >>32    beshort x       blocksize: %d bytes,
1367 >28     beshort >1
1368 >>51    belong  x       blocksize: %d bytes,
1369 >39     bedate  x       created: %s
1370 0       string  hsqs    Squashfs filesystem, little endian,
1371 >28     leshort x       version %d.
1372 >30     leshort x       \b%d,
1373 >28     leshort <3
1374 >>8     lelong  x       %d bytes,
1375 >28     leshort >2
1376 >>63    lequad x        %lld bytes,
1377 #>>63   lelong  x       %d bytes,
1378 >4      lelong  x       %d inodes,
1379 >28     leshort <2
1380 >>32    leshort x       blocksize: %d bytes,
1381 >28     leshort >1
1382 >>51    lelong  x       blocksize: %d bytes,
1383 >39     ledate  x       created: %s
1384
1385 0       string          td\000          floppy image data (TeleDisk)
1386
1387 # AFS Dump Magic
1388 # From: Ty Sarna <tsarna@sarna.org> 
1389 0       string                  \x01\xb3\xa1\x13\x22    AFS Dump
1390 >&0     belong                  x                       (v%d)
1391 >>&0    byte                    0x76
1392 >>>&0   belong                  x                       Vol %d,
1393 >>>>&0  byte                    0x6e
1394 >>>>>&0 string                  x                       %s
1395 >>>>>>&1        byte            0x74
1396 >>>>>>>&0       beshort         2
1397 >>>>>>>>&4      bedate          x                       on: %s
1398 >>>>>>>>&0      bedate          =0                      full dump
1399 >>>>>>>>&0      bedate          !0                      incremental since: %s
1400
1401 #----------------------------------------------------------
1402 #delta ISO    Daniel Novotny (dnovotny@redhat.com)
1403 0       string  DISO    Delta ISO data
1404 >4      belong  x       version %d
1405
1406 # VMS backup savesets - gerardo.cacciari@gmail.com
1407 #
1408 4            string  \x01\x00\x01\x00\x01\x00
1409 >(0.s+16)    string  \x01\x01
1410 >>&(&0.b+8)  byte    0x42       OpenVMS backup saveset data
1411 >>>40        lelong  x          (block size %d,
1412 >>>49        string  >\0        original name '%s',
1413 >>>2         short   1024       VAX generated)
1414 >>>2         short   2048       AXP generated)
1415 >>>2         short   4096       I64 generated)
1416
1417 # Summary: Oracle Clustered Filesystem
1418 # Created by: Aaron Botsis <redhat@digitalmafia.org>
1419 8       string          OracleCFS       Oracle Clustered Filesystem,
1420 >4      long            x               rev %d
1421 >0      long            x               \b.%d,
1422 >560    string          x               label: %.64s,
1423 >136    string          x               mountpoint: %.128s
1424
1425 # Summary: Oracle ASM tagged volume
1426 # Created by: Aaron Botsis <redhat@digitalmafia.org>
1427 32      string          ORCLDISK        Oracle ASM Volume,
1428 >40     string          x               Disk Name: %0.12s
1429 32      string          ORCLCLRD        Oracle ASM Volume (cleared),
1430 >40     string          x               Disk Name: %0.12s
1431
1432 # Oracle Clustered Filesystem - Aaron Botsis <redhat@digitalmafia.org>
1433 8       string          OracleCFS       Oracle Clustered Filesystem,
1434 >4      long            x               rev %d
1435 >0      long            x               \b.%d,
1436 >560    string          x               label: %.64s,
1437 >136    string          x               mountpoint: %.128s
1438
1439 # Oracle ASM tagged volume - Aaron Botsis <redhat@digitalmafia.org>
1440 32      string          ORCLDISK        Oracle ASM Volume,
1441 >40     string          x               Disk Name: %0.12s
1442 32      string          ORCLCLRD        Oracle ASM Volume (cleared),
1443 >40     string          x               Disk Name: %0.12s
1444
1445 # Compaq/HP RILOE floppy image
1446 # From: Dirk Jagdmann <doj@cubic.org>
1447 0       string  CPQRFBLO        Compaq/HP RILOE floppy image
1448
1449 #------------------------------------------------------------------------------
1450 # Files-11 On-Disk Structure (OpenVMS file system) - gerardo.cacciari@gmail.com
1451 # These bits come from LBN 1 (home block) of ODS-2 and ODS-5 volumes, which is
1452 # mapped to VBN 2 of [000000]INDEXF.SYS;1
1453 #
1454 1008    string          DECFILE11B      Files-11 On-Disk Structure
1455 >525    byte            x               Level %d
1456 >525    byte            x               (ODS-%d OpenVMS file system),
1457 >984    string          x               volume label is '%-12.12s'
1458
1459 # From: Thomas Klausner <wiz@NetBSD.org>
1460 # http://filext.com/file-extension/DAA
1461 # describes the daa file format. The magic would be:
1462 0       string          DAA\x0\x0\x0\x0\x0      PowerISO Direct-Access-Archive
1463
1464 # From Albert Cahalan <acahalan@gmail.com>
1465 # really le32 operation,destination,payloadsize (but quite predictable)
1466 # 01 00 00 00 00 00 00 c0 00 02 00 00
1467 0       string          \1\0\0\0\0\0\0\300\0\2\0\0      Marvell Libertas firmware
1468
1469 # From Eric Sandeen
1470 # GFS2
1471 0x10000         belong          0x01161970      GFS2 Filesystem
1472 >0x10024        belong          x               (blocksize %d,
1473 >0x10060        string          >\0             lockproto %s)
1474
1475 # BTRFS
1476 0x10040         string          _BHRfS_M        BTRFS Filesystem
1477 >0x1012b        string          >\0             (label "%s",
1478 >0x10090        lelong          x               sectorsize %d,
1479 >0x10094        lelong          x               nodesize %d,
1480 >0x10098        lelong          x               leafsize %d)
1481
1482
1483 # dvdisaster's .ecc
1484 # From: "Nelson A. de Oliveira" <naoliv@gmail.com>
1485 0       string  *dvdisaster*    dvdisaster error correction file
1486
1487 # xfs metadump image 
1488 # mb_magic XFSM at 0; superblock magic XFSB at 1 << mb_blocklog
1489 # but can we do the << ?  For now it's always 512 (0x200) anyway.
1490 0       string XFSM
1491 >0x200  string XFSB     XFS filesystem metadump image
1492