vm: merge i386 and arm pagetable code
[minix.git] / external / bsd / file / dist / magic / magdir / filesystems
blobaf9695b9a42a7374114f826adbfc3159be4f7794
2 #------------------------------------------------------------------------------
3 # $File: filesystems,v 1.61 2011/01/10 14:01:10 christos Exp $
4 # filesystems:  file(1) magic for different filesystems
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
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
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
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)
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
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
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
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
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          
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
629 >331    string  Error!.0                                \b, FREE-DOS 1.0 bootloader
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
885 # Minix filesystems - Juan Cespedes <cespedes@debian.org>
886 0x410   leshort         0x137f
887 !:strength / 2
888 >0x402  beshort         < 100           Minix filesystem, V1, %d zones
889 >0x1e   string          minix           \b, bootable
890 0x410   beshort         0x137f
891 !:strength / 2
892 >0x402  beshort         < 100           Minix filesystem, V1 (big endian), %d zones
893 >0x1e   string          minix           \b, bootable
894 0x410   leshort         0x138f
895 !:strength / 2
896 >0x402  beshort         < 100           Minix filesystem, V1, 30 char names, %d zones
897 >0x1e   string          minix           \b, bootable
898 0x410   beshort         0x138f
899 !:strength / 2
900 >0x402  beshort         < 100           Minix filesystem, V1, 30 char names (big endian), %d zones
901 >0x1e   string          minix           \b, bootable
902 0x410   leshort         0x2468
903 >0x402  beshort         < 100           Minix filesystem, V2, %d zones
904 >0x1e   string          minix           \b, bootable
905 0x410   beshort         0x2468
906 >0x402  beshort         < 100           Minix filesystem, V2 (big endian), %d zones
907 >0x1e   string          minix           \b, bootable
909 0x410   leshort         0x2478
910 >0x402  beshort         < 100           Minix filesystem, V2, 30 char names, %d zones
911 >0x1e   string          minix           \b, bootable
912 0x410   leshort         0x2478
913 >0x402  beshort         < 100           Minix filesystem, V2, 30 char names, %d zones
914 >0x1e   string          minix           \b, bootable
915 0x410   beshort         0x2478
916 >0x402  beshort         !0              Minix filesystem, V2, 30 char names (big endian), %d zones
917 >0x1e   string          minix           \b, bootable
918 0x410   leshort         0x4d5a
919 >0x402  beshort         !0              Minix filesystem, V3, %d zones
920 >0x1e   string          minix           \b, bootable
922 # romfs filesystems - Juan Cespedes <cespedes@debian.org>
923 0       string          -rom1fs-        romfs filesystem, version 1
924 >8      belong  x                       %d bytes,
925 >16     string  x                       named %s.
927 # netboot image - Juan Cespedes <cespedes@debian.org>
928 0       lelong          0x1b031336L     Netboot image,
929 >4      lelong&0xFFFFFF00       0
930 >>4     lelong&0x100    0x000           mode 2
931 >>4     lelong&0x100    0x100           mode 3
932 >4      lelong&0xFFFFFF00       !0      unknown mode
934 0x18b   string  OS/2    OS/2 Boot Manager
936 # updated by Joerg Jenderek at Oct 2008!!
937 # http://syslinux.zytor.com/iso.php
938 0       ulelong 0x7c40eafa              isolinux Loader
939 # http://syslinux.zytor.com/pxe.php
940 0       ulelong 0x007c05ea              pxelinux Loader
941 0       ulelong 0x60669c66              pxelinux Loader
943 # added by Joerg Jenderek
944 # In the second sector (+0x200) are variables according to grub-0.97/stage2/asm.S or
945 # grub-1.94/kern/i386/pc/startup.S
946 # http://www.gnu.org/software/grub/manual/grub.html#Embedded-data
947 # usual values are marked with comments to get only informations of strange GRUB loaders
948 0x200   uleshort                0x70EA          
949 # found only version 3.{1,2}
950 >0x206          ubeshort        >0x0300         
951 # GRUB version (0.5.)95,0.93,0.94,0.96,0.97 > "00"
952 >>0x212         ubyte           >0x29           
953 >>>0x213        ubyte           >0x29           
954 # not iso9660_stage1_5
955 #>>>0   ulelong&0x00BE5652      0x00BE5652      
956 >>>>0x213       ubyte           >0x29           GRand Unified Bootloader
957 # config_file for stage1_5 is 0xffffffff + default "/boot/grub/stage2"
958 >>>>0x217       ubyte           0xFF            stage1_5
959 >>>>0x217       ubyte           <0xFF           stage2
960 >>>>0x206       ubyte           x               \b version %u
961 >>>>0x207       ubyte           x               \b.%u
962 # module_size for 1.94
963 >>>>0x208       ulelong         <0xffffff       \b, installed partition %u
964 #>>>>0x208      ulelong         =0xffffff       \b, %u (default)
965 >>>>0x208       ulelong         >0xffffff       \b, installed partition %u
966 # GRUB 0.5.95 unofficial
967 >>>>0x20C       ulelong&0x2E300000 0x2E300000   
968 # 0=stage2      1=ffs   2=e2fs  3=fat   4=minix 5=reiserfs
969 >>>>>0x20C      ubyte           x               \b, identifier 0x%x
970 #>>>>>0x20D     ubyte           =0              \b, LBA flag 0x%x (default)
971 >>>>>0x20D      ubyte           >0              \b, LBA flag 0x%x
972 # GRUB version as string
973 >>>>>0x20E      string          >\0             \b, GRUB version %-s
974 # for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default
975 >>>>>>0x215     ulong           0xffffffff      
976 >>>>>>>0x219    string          >\0             \b, configuration file %-s
977 >>>>>>0x215     ulong           !0xffffffff     
978 >>>>>>>0x215    string          >\0             \b, configuration file %-s
979 # newer GRUB versions
980 >>>>0x20C       ulelong&0x2E300000 !0x2E300000  
981 ##>>>>>0x20C    ulelong         =0              \b, saved entry %d (usual)
982 >>>>>0x20C      ulelong         >0              \b, saved entry %d
983 # for 1.94 contains kernel image size
984 # for 0.93,0.94,0.96,0.97
985 # 0=stage2      1=ffs   2=e2fs  3=fat   4=minix 5=reiserfs      6=vstafs        7=jfs   8=xfs   9=iso9660       a=ufs2  
986 >>>>>0x210      ubyte           x               \b, identifier 0x%x
987 # The flag for LBA forcing is in most cases 0
988 #>>>>>0x211     ubyte           =0              \b, LBA flag 0x%x (default)
989 >>>>>0x211      ubyte           >0              \b, LBA flag 0x%x
990 # GRUB version as string
991 >>>>>0x212      string          >\0             \b, GRUB version %-s
992 # for stage1_5 is 0xffffffff + config_file "/boot/grub/stage2" default
993 >>>>>0x217      ulong           0xffffffff      
994 >>>>>>0x21b     string          >\0             \b, configuration file %-s
995 >>>>>0x217      ulong           !0xffffffff     
996 >>>>>>0x217     string          >\0             \b, configuration file %-s
998 9564    lelong          0x00011954      Unix Fast File system [v1] (little-endian),
999 >8404   string          x               last mounted on %s,
1000 #>9504  ledate          x               last checked at %s,
1001 >8224   ledate          x               last written at %s,
1002 >8401   byte            x               clean flag %d,
1003 >8228   lelong          x               number of blocks %d,
1004 >8232   lelong          x               number of data blocks %d,
1005 >8236   lelong          x               number of cylinder groups %d,
1006 >8240   lelong          x               block size %d,
1007 >8244   lelong          x               fragment size %d,
1008 >8252   lelong          x               minimum percentage of free blocks %d,
1009 >8256   lelong          x               rotational delay %dms,
1010 >8260   lelong          x               disk rotational speed %drps,
1011 >8320   lelong          0               TIME optimization
1012 >8320   lelong          1               SPACE optimization
1014 42332   lelong          0x19540119      Unix Fast File system [v2] (little-endian)
1015 >&-1164 string          x               last mounted on %s,
1016 >&-696  string          >\0             volume name %s,
1017 >&-304  leqldate        x               last written at %s,
1018 >&-1167 byte            x               clean flag %d,
1019 >&-1168 byte            x               readonly flag %d,
1020 >&-296  lequad          x               number of blocks %lld,
1021 >&-288  lequad          x               number of data blocks %lld,
1022 >&-1332 lelong          x               number of cylinder groups %d,
1023 >&-1328 lelong          x               block size %d,
1024 >&-1324 lelong          x               fragment size %d,
1025 >&-180  lelong          x               average file size %d,
1026 >&-176  lelong          x               average number of files in dir %d,
1027 >&-272  lequad          x               pending blocks to free %lld,
1028 >&-264  lelong          x               pending inodes to free %ld,
1029 >&-664  lequad          x               system-wide uuid %0llx,
1030 >&-1316 lelong          x               minimum percentage of free blocks %d,
1031 >&-1248 lelong          0               TIME optimization
1032 >&-1248 lelong          1               SPACE optimization
1034 66908   lelong          0x19540119      Unix Fast File system [v2] (little-endian)
1035 >&-1164 string          x               last mounted on %s,
1036 >&-696  string          >\0             volume name %s,
1037 >&-304  leqldate        x               last written at %s,
1038 >&-1167 byte            x               clean flag %d,
1039 >&-1168 byte            x               readonly flag %d,
1040 >&-296  lequad          x               number of blocks %lld,
1041 >&-288  lequad          x               number of data blocks %lld,
1042 >&-1332 lelong          x               number of cylinder groups %d,
1043 >&-1328 lelong          x               block size %d,
1044 >&-1324 lelong          x               fragment size %d,
1045 >&-180  lelong          x               average file size %d,
1046 >&-176  lelong          x               average number of files in dir %d,
1047 >&-272  lequad          x               pending blocks to free %lld,
1048 >&-264  lelong          x               pending inodes to free %ld,
1049 >&-664  lequad          x               system-wide uuid %0llx,
1050 >&-1316 lelong          x               minimum percentage of free blocks %d,
1051 >&-1248 lelong          0               TIME optimization
1052 >&-1248 lelong          1               SPACE optimization
1054 9564    belong          0x00011954      Unix Fast File system [v1] (big-endian),
1055 >7168   belong          0x4c41424c      Apple UFS Volume
1056 >>7186  string          x               named %s,
1057 >>7176  belong          x               volume label version %d,
1058 >>7180  bedate          x               created on %s,
1059 >8404   string          x               last mounted on %s,
1060 #>9504  bedate          x               last checked at %s,
1061 >8224   bedate          x               last written at %s,
1062 >8401   byte            x               clean flag %d,
1063 >8228   belong          x               number of blocks %d,
1064 >8232   belong          x               number of data blocks %d,
1065 >8236   belong          x               number of cylinder groups %d,
1066 >8240   belong          x               block size %d,
1067 >8244   belong          x               fragment size %d,
1068 >8252   belong          x               minimum percentage of free blocks %d,
1069 >8256   belong          x               rotational delay %dms,
1070 >8260   belong          x               disk rotational speed %drps,
1071 >8320   belong          0               TIME optimization
1072 >8320   belong          1               SPACE optimization
1074 42332   belong          0x19540119      Unix Fast File system [v2] (big-endian)
1075 >&-1164 string          x               last mounted on %s,
1076 >&-696  string          >\0             volume name %s,
1077 >&-304  beqldate        x               last written at %s,
1078 >&-1167 byte            x               clean flag %d,
1079 >&-1168 byte            x               readonly flag %d,
1080 >&-296  bequad          x               number of blocks %lld,
1081 >&-288  bequad          x               number of data blocks %lld,
1082 >&-1332 belong          x               number of cylinder groups %d,
1083 >&-1328 belong          x               block size %d,
1084 >&-1324 belong          x               fragment size %d,
1085 >&-180  belong          x               average file size %d,
1086 >&-176  belong          x               average number of files in dir %d,
1087 >&-272  bequad          x               pending blocks to free %lld,
1088 >&-264  belong          x               pending inodes to free %ld,
1089 >&-664  bequad          x               system-wide uuid %0llx,
1090 >&-1316 belong          x               minimum percentage of free blocks %d,
1091 >&-1248 belong          0               TIME optimization
1092 >&-1248 belong          1               SPACE optimization
1094 66908   belong          0x19540119      Unix Fast File system [v2] (big-endian)
1095 >&-1164 string          x               last mounted on %s,
1096 >&-696  string          >\0             volume name %s,
1097 >&-304  beqldate        x               last written at %s,
1098 >&-1167 byte            x               clean flag %d,
1099 >&-1168 byte            x               readonly flag %d,
1100 >&-296  bequad          x               number of blocks %lld,
1101 >&-288  bequad          x               number of data blocks %lld,
1102 >&-1332 belong          x               number of cylinder groups %d,
1103 >&-1328 belong          x               block size %d,
1104 >&-1324 belong          x               fragment size %d,
1105 >&-180  belong          x               average file size %d,
1106 >&-176  belong          x               average number of files in dir %d,
1107 >&-272  bequad          x               pending blocks to free %lld,
1108 >&-264  belong          x               pending inodes to free %ld,
1109 >&-664  bequad          x               system-wide uuid %0llx,
1110 >&-1316 belong          x               minimum percentage of free blocks %d,
1111 >&-1248 belong          0               TIME optimization
1112 >&-1248 belong          1               SPACE optimization
1114 # ext2/ext3 filesystems - Andreas Dilger <adilger@dilger.ca>
1115 # ext4 filesystem - Eric Sandeen <sandeen@sandeen.net>
1116 # volume label and UUID Russell Coker
1117 # http://etbe.coker.com.au/2008/07/08/label-vs-uuid-vs-device/
1118 0x438   leshort         0xEF53          Linux
1119 >0x44c  lelong          x               rev %d
1120 >0x43e  leshort         x               \b.%d
1121 # No journal?  ext2
1122 >0x45c  lelong          ^0x0000004      ext2 filesystem data
1123 >>0x43a leshort         ^0x0000001      (mounted or unclean)
1124 # Has a journal?  ext3 or ext4
1125 >0x45c  lelong          &0x0000004
1126 #  and small INCOMPAT?
1127 >>0x460 lelong          <0x0000040
1128 #   and small RO_COMPAT?
1129 >>>0x464 lelong         <0x0000008      ext3 filesystem data
1130 #   else large RO_COMPAT?
1131 >>>0x464 lelong         >0x0000007      ext4 filesystem data
1132 #  else large INCOMPAT?
1133 >>0x460 lelong          >0x000003f      ext4 filesystem data
1134 >0x468  belong          x               \b, UUID=%08x
1135 >0x46c  beshort         x               \b-%04x
1136 >0x46e  beshort         x               \b-%04x
1137 >0x470  beshort         x               \b-%04x
1138 >0x472  belong          x               \b-%08x
1139 >0x476  beshort         x               \b%04x
1140 >0x478  string          >0              \b, volume name "%s"
1141 # General flags for any ext* fs
1142 >0x460  lelong          &0x0000004      (needs journal recovery)
1143 >0x43a  leshort         &0x0000002      (errors)
1144 # INCOMPAT flags
1145 >0x460  lelong          &0x0000001      (compressed)
1146 #>0x460 lelong          &0x0000002      (filetype)
1147 #>0x460 lelong          &0x0000010      (meta bg)
1148 >0x460  lelong          &0x0000040      (extents)
1149 >0x460  lelong          &0x0000080      (64bit)
1150 #>0x460 lelong          &0x0000100      (mmp)
1151 #>0x460 lelong          &0x0000200      (flex bg)
1152 # RO_INCOMPAT flags
1153 #>0x464 lelong          &0x0000001      (sparse super)
1154 >0x464  lelong          &0x0000002      (large files)
1155 >0x464  lelong          &0x0000008      (huge files)
1156 #>0x464 lelong          &0x0000010      (gdt checksum)
1157 #>0x464 lelong          &0x0000020      (many subdirs)
1158 #>0x463 lelong          &0x0000040      (extra isize)
1160 # SGI disk labels - Nathan Scott <nathans@debian.org>
1161 0       belong          0x0BE5A941      SGI disk label (volume header)
1163 # SGI XFS filesystem - Nathan Scott <nathans@debian.org>
1164 0       belong          0x58465342      SGI XFS filesystem data
1165 >0x4    belong          x               (blksz %d,
1166 >0x68   beshort         x               inosz %d,
1167 >0x64   beshort         ^0x2004         v1 dirs)
1168 >0x64   beshort         &0x2004         v2 dirs)
1170 ############################################################################
1171 # Minix-ST kernel floppy
1172 0x800   belong          0x46fc2700      Atari-ST Minix kernel image
1173 >19     string          \240\5\371\5\0\011\0\2\0        \b, 720k floppy
1174 >19     string          \320\2\370\5\0\011\0\1\0        \b, 360k floppy
1176 ############################################################################
1177 # Hmmm, is this a better way of detecting _standard_ floppy images ?
1178 19      string          \320\2\360\3\0\011\0\1\0        DOS floppy 360k
1179 >0x1FE  leshort         0xAA55          \b, x86 hard disk boot sector
1180 19      string          \240\5\371\3\0\011\0\2\0        DOS floppy 720k
1181 >0x1FE  leshort         0xAA55          \b, x86 hard disk boot sector
1182 19      string          \100\013\360\011\0\022\0\2\0    DOS floppy 1440k
1183 >0x1FE  leshort         0xAA55          \b, x86 hard disk boot sector
1185 19      string          \240\5\371\5\0\011\0\2\0        DOS floppy 720k, IBM
1186 >0x1FE  leshort         0xAA55          \b, x86 hard disk boot sector
1187 19      string          \100\013\371\5\0\011\0\2\0      DOS floppy 1440k, mkdosfs
1188 >0x1FE  leshort         0xAA55          \b, x86 hard disk boot sector
1190 19      string          \320\2\370\5\0\011\0\1\0        Atari-ST floppy 360k
1191 19      string          \240\5\371\5\0\011\0\2\0        Atari-ST floppy 720k
1193 #  Valid media descriptor bytes for MS-DOS:
1195 #     Byte   Capacity   Media Size and Type
1196 #     -------------------------------------------------
1198 #     F0     2.88 MB    3.5-inch, 2-sided, 36-sector
1199 #     F0     1.44 MB    3.5-inch, 2-sided, 18-sector
1200 #     F9     720K       3.5-inch, 2-sided, 9-sector
1201 #     F9     1.2 MB     5.25-inch, 2-sided, 15-sector
1202 #     FD     360K       5.25-inch, 2-sided, 9-sector
1203 #     FF     320K       5.25-inch, 2-sided, 8-sector
1204 #     FC     180K       5.25-inch, 1-sided, 9-sector
1205 #     FE     160K       5.25-inch, 1-sided, 8-sector
1206 #     FE     250K       8-inch, 1-sided, single-density
1207 #     FD     500K       8-inch, 2-sided, single-density
1208 #     FE     1.2 MB     8-inch, 2-sided, double-density
1209 #     F8     -----      Fixed disk 
1211 #     FC     xxxK       Apricot 70x1x9 boot disk.
1213 # Originally a bitmap:
1214 #  xxxxxxx0     Not two sided
1215 #  xxxxxxx1     Double sided
1216 #  xxxxxx0x     Not 8 SPT
1217 #  xxxxxx1x     8 SPT
1218 #  xxxxx0xx     Not Removable drive
1219 #  xxxxx1xx     Removable drive
1220 #  11111xxx     Must be one.
1222 # But now it's rather random:
1223 #  111111xx     Low density disk
1224 #        00     SS, Not 8 SPT
1225 #        01     DS, Not 8 SPT
1226 #        10     SS, 8 SPT
1227 #        11     DS, 8 SPT
1229 #  11111001     Double density 3½ floppy disk, high density 5¼
1230 #  11110000     High density 3½ floppy disk
1231 #  11111000     Hard disk any format
1234 # CDROM Filesystems
1235 # Modified for UDF by gerardo.cacciari@gmail.com
1236 32769   string    CD001     #
1237 !:mime  application/x-iso9660-image
1238 >38913  string   !NSR0      ISO 9660 CD-ROM filesystem data
1239 >38913  string    NSR0      UDF filesystem data
1240 >>38917 string    1         (version 1.0)
1241 >>38917 string    2         (version 1.5)
1242 >>38917 string    3         (version 2.0)
1243 >>38917 byte     >0x33      (unknown version, ID 0x%X)
1244 >>38917 byte     <0x31      (unknown version, ID 0x%X)
1245 # "application id" which appears to be used as a volume label
1246 >32808  string    >\0       '%s'
1247 >34816  string    \000CD001\001EL\ TORITO\ SPECIFICATION    (bootable)
1248 37633   string    CD001     ISO 9660 CD-ROM filesystem data (raw 2352 byte sectors)
1249 !:mime  application/x-iso9660-image
1250 32776   string    CDROM     High Sierra CD-ROM filesystem data
1252 # .cso files
1253 0    string    CISO     Compressed ISO CD image
1255 # cramfs filesystem - russell@coker.com.au
1256 0       lelong    0x28cd3d45      Linux Compressed ROM File System data, little endian
1257 >4      lelong  x size %lu
1258 >8      lelong  &1 version #2
1259 >8      lelong  &2 sorted_dirs
1260 >8      lelong  &4 hole_support
1261 >32     lelong  x CRC 0x%x,
1262 >36     lelong  x edition %lu,
1263 >40     lelong  x %lu blocks,
1264 >44     lelong  x %lu files
1266 0       belong    0x28cd3d45      Linux Compressed ROM File System data, big endian
1267 >4      belong  x size %lu
1268 >8      belong  &1 version #2
1269 >8      belong  &2 sorted_dirs
1270 >8      belong  &4 hole_support
1271 >32     belong  x CRC 0x%x,
1272 >36     belong  x edition %lu,
1273 >40     belong  x %lu blocks,
1274 >44     belong  x %lu files
1276 # reiserfs - russell@coker.com.au
1277 0x10034         string  ReIsErFs        ReiserFS V3.5
1278 0x10034         string  ReIsEr2Fs       ReiserFS V3.6
1279 0x10034         string  ReIsEr3Fs       ReiserFS V3.6.19
1280 >0x1002c        leshort x               block size %d
1281 >0x10032        leshort &2              (mounted or unclean)
1282 >0x10000        lelong  x               num blocks %d
1283 >0x10040        lelong  1               tea hash
1284 >0x10040        lelong  2               yura hash
1285 >0x10040        lelong  3               r5 hash
1287 # JFFS - russell@coker.com.au
1288 0       lelong  0x34383931      Linux Journalled Flash File system, little endian
1289 0       belong  0x34383931      Linux Journalled Flash File system, big endian
1291 # EST flat binary format (which isn't, but anyway)
1292 # From: Mark Brown <broonie@sirena.org.uk>
1293 0       string  ESTFBINR        EST flat binary
1295 # Aculab VoIP firmware
1296 # From: Mark Brown <broonie@sirena.org.uk>
1297 0       string  VoIP\ Startup\ and      Aculab VoIP firmware
1298 >35     string  x       format %s
1300 # From: Mark Brown <broonie@sirena.org.uk> [old]
1301 # From: Behan Webster <behanw@websterwood.com>
1302 0       belong  0x27051956      u-boot legacy uImage,
1303 >32     string  x               %s,
1304 >28     byte    0               Invalid os/
1305 >28     byte    1               OpenBSD/
1306 >28     byte    2               NetBSD/
1307 >28     byte    3               FreeBSD/
1308 >28     byte    4               4.4BSD/
1309 >28     byte    5               Linux/
1310 >28     byte    6               SVR4/
1311 >28     byte    7               Esix/
1312 >28     byte    8               Solaris/
1313 >28     byte    9               Irix/
1314 >28     byte    10              SCO/
1315 >28     byte    11              Dell/
1316 >28     byte    12              NCR/
1317 >28     byte    13              LynxOS/
1318 >28     byte    14              VxWorks/
1319 >28     byte    15              pSOS/
1320 >28     byte    16              QNX/
1321 >28     byte    17              Firmware/
1322 >28     byte    18              RTEMS/
1323 >28     byte    19              ARTOS/
1324 >28     byte    20              Unity OS/
1325 >28     byte    21              INTEGRITY/
1326 >29     byte    0               \bInvalid CPU,
1327 >29     byte    1               \bAlpha,
1328 >29     byte    2               \bARM,
1329 >29     byte    3               \bIntel x86,
1330 >29     byte    4               \bIA64,
1331 >29     byte    5               \bMIPS,
1332 >29     byte    6               \bMIPS 64-bit,
1333 >29     byte    7               \bPowerPC,
1334 >29     byte    8               \bIBM S390,
1335 >29     byte    9               \bSuperH,
1336 >29     byte    10              \bSparc,
1337 >29     byte    11              \bSparc 64-bit,
1338 >29     byte    12              \bM68K,
1339 >29     byte    13              \bNios-32,
1340 >29     byte    14              \bMicroBlaze,
1341 >29     byte    15              \bNios-II,
1342 >29     byte    16              \bBlackfin,
1343 >29     byte    17              \bAVR32,
1344 >29     byte    18              \bSTMicroelectronics ST200,
1345 >30     byte    0               Invalid Image
1346 >30     byte    1               Standalone Program
1347 >30     byte    2               OS Kernel Image
1348 >30     byte    3               RAMDisk Image
1349 >30     byte    4               Multi-File Image
1350 >30     byte    5               Firmware Image
1351 >30     byte    6               Script File
1352 >30     byte    7               Filesystem Image (any type)
1353 >30     byte    8               Binary Flat Device Tree BLOB
1354 >31     byte    0               (Not compressed),
1355 >31     byte    1               (gzip),
1356 >31     byte    2               (bzip2),
1357 >31     byte    3               (lzma),
1358 >12     belong  x               %d bytes,
1359 >8      bedate  x               %s,
1360 >16     belong  x               Load Address: 0x%08X,
1361 >20     belong  x               Entry Point: 0x%08X,
1362 >4      belong  x               Header CRC: 0x%08X,
1363 >24     belong  x               Data CRC: 0x%08X
1365 # JFFS2 file system
1366 0       leshort 0x1984          Linux old jffs2 filesystem data little endian
1367 0       leshort 0x1985          Linux jffs2 filesystem data little endian
1369 # Squashfs
1370 0       string  sqsh    Squashfs filesystem, big endian,
1371 >28     beshort x       version %d.
1372 >30     beshort x       \b%d,
1373 >28     beshort <3
1374 >>8     belong  x       %d bytes,
1375 >28     beshort >2
1376 >>28 beshort <4
1377 >>>63   bequad x        %lld bytes,
1378 >>28 beshort >3
1379 >>>40   bequad x        %lld bytes,
1380 #>>67   belong  x       %d bytes,
1381 >4      belong  x       %d inodes,
1382 >28     beshort <2
1383 >>32    beshort x       blocksize: %d bytes,
1384 >28     beshort >1
1385 >>28 beshort <4
1386 >>>51   belong  x       blocksize: %d bytes,
1387 >>28 beshort >3
1388 >>>12   belong  x       blocksize: %d bytes,
1389 >28 beshort <4
1390 >>39    bedate  x       created: %s
1391 >28 beshort >3
1392 >>8     bedate  x       created: %s
1393 0       string  hsqs    Squashfs filesystem, little endian,
1394 >28     leshort x       version %d.
1395 >30     leshort x       \b%d,
1396 >28     leshort <3
1397 >>8     lelong  x       %d bytes,
1398 >28     leshort >2
1399 >>28 leshort <4
1400 >>>63   lequad x        %lld bytes,
1401 >>28 leshort >3
1402 >>>40   lequad x        %lld bytes,
1403 #>>63   lelong  x       %d bytes,
1404 >4      lelong  x       %d inodes,
1405 >28     leshort <2
1406 >>32    leshort x       blocksize: %d bytes,
1407 >28     leshort >1
1408 >>28 leshort <4
1409 >>>51   lelong  x       blocksize: %d bytes,
1410 >>28 leshort >3
1411 >>>12   lelong  x       blocksize: %d bytes,
1412 >28 leshort <4
1413 >>39    ledate  x       created: %s
1414 >28 leshort >3
1415 >>8     ledate  x       created: %s
1417 0       string          td\000          floppy image data (TeleDisk)
1419 # AFS Dump Magic
1420 # From: Ty Sarna <tsarna@sarna.org> 
1421 0       string                  \x01\xb3\xa1\x13\x22    AFS Dump
1422 >&0     belong                  x                       (v%d)
1423 >>&0    byte                    0x76
1424 >>>&0   belong                  x                       Vol %d,
1425 >>>>&0  byte                    0x6e
1426 >>>>>&0 string                  x                       %s
1427 >>>>>>&1        byte            0x74
1428 >>>>>>>&0       beshort         2
1429 >>>>>>>>&4      bedate          x                       on: %s
1430 >>>>>>>>&0      bedate          =0                      full dump
1431 >>>>>>>>&0      bedate          !0                      incremental since: %s
1433 #----------------------------------------------------------
1434 #delta ISO    Daniel Novotny (dnovotny@redhat.com)
1435 0       string  DISO    Delta ISO data
1436 >4      belong  x       version %d
1438 # VMS backup savesets - gerardo.cacciari@gmail.com
1440 4            string  \x01\x00\x01\x00\x01\x00
1441 >(0.s+16)    string  \x01\x01
1442 >>&(&0.b+8)  byte    0x42       OpenVMS backup saveset data
1443 >>>40        lelong  x          (block size %d,
1444 >>>49        string  >\0        original name '%s',
1445 >>>2         short   1024       VAX generated)
1446 >>>2         short   2048       AXP generated)
1447 >>>2         short   4096       I64 generated)
1449 # Summary: Oracle Clustered Filesystem
1450 # Created by: Aaron Botsis <redhat@digitalmafia.org>
1451 8       string          OracleCFS       Oracle Clustered Filesystem,
1452 >4      long            x               rev %d
1453 >0      long            x               \b.%d,
1454 >560    string          x               label: %.64s,
1455 >136    string          x               mountpoint: %.128s
1457 # Summary: Oracle ASM tagged volume
1458 # Created by: Aaron Botsis <redhat@digitalmafia.org>
1459 32      string          ORCLDISK        Oracle ASM Volume,
1460 >40     string          x               Disk Name: %0.12s
1461 32      string          ORCLCLRD        Oracle ASM Volume (cleared),
1462 >40     string          x               Disk Name: %0.12s
1464 # Oracle Clustered Filesystem - Aaron Botsis <redhat@digitalmafia.org>
1465 8       string          OracleCFS       Oracle Clustered Filesystem,
1466 >4      long            x               rev %d
1467 >0      long            x               \b.%d,
1468 >560    string          x               label: %.64s,
1469 >136    string          x               mountpoint: %.128s
1471 # Oracle ASM tagged volume - Aaron Botsis <redhat@digitalmafia.org>
1472 32      string          ORCLDISK        Oracle ASM Volume,
1473 >40     string          x               Disk Name: %0.12s
1474 32      string          ORCLCLRD        Oracle ASM Volume (cleared),
1475 >40     string          x               Disk Name: %0.12s
1477 # Compaq/HP RILOE floppy image
1478 # From: Dirk Jagdmann <doj@cubic.org>
1479 0       string  CPQRFBLO        Compaq/HP RILOE floppy image
1481 #------------------------------------------------------------------------------
1482 # Files-11 On-Disk Structure (File system for various RSX-11 and VMS flavours).
1483 # These bits come from LBN 1 (home block) of ODS-1, ODS-2 and ODS-5 volumes,
1484 # which is mapped to VBN 2 of [000000]INDEXF.SYS;1 - gerardo.cacciari@gmail.com
1486 1008    string          DECFILE11       Files-11 On-Disk Structure
1487 >525    byte            x               Level %d
1488 >525    byte            x               (ODS-%d);
1489 >1017   string          A               RSX-11, VAX/VMS or OpenVMS VAX file system;
1490 >1017   string          B
1491 >>525   byte            2               VAX/VMS or OpenVMS file system;
1492 >>525   byte            5               OpenVMS Alpha or Itanium file system;
1493 >984    string          x               volume label is '%-12.12s'
1495 # From: Thomas Klausner <wiz@NetBSD.org>
1496 # http://filext.com/file-extension/DAA
1497 # describes the daa file format. The magic would be:
1498 0       string          DAA\x0\x0\x0\x0\x0      PowerISO Direct-Access-Archive
1500 # From Albert Cahalan <acahalan@gmail.com>
1501 # really le32 operation,destination,payloadsize (but quite predictable)
1502 # 01 00 00 00 00 00 00 c0 00 02 00 00
1503 0       string          \1\0\0\0\0\0\0\300\0\2\0\0      Marvell Libertas firmware
1505 # From Eric Sandeen
1506 # GFS2
1507 0x10000         belong          0x01161970
1508 >0x10018        belong          0x0000051d      GFS1 Filesystem
1509 >>0x10024        belong          x               (blocksize %d,
1510 >>0x10060        string          >\0             lockproto %s)
1511 >0x10018        belong          0x00000709      GFS2 Filesystem
1512 >>0x10024        belong          x               (blocksize %d,
1513 >>0x10060        string          >\0             lockproto %s)
1515 # BTRFS
1516 0x10040         string          _BHRfS_M        BTRFS Filesystem
1517 >0x1012b        string          >\0             (label "%s",
1518 >0x10090        lelong          x               sectorsize %d,
1519 >0x10094        lelong          x               nodesize %d,
1520 >0x10098        lelong          x               leafsize %d)
1523 # dvdisaster's .ecc
1524 # From: "Nelson A. de Oliveira" <naoliv@gmail.com>
1525 0       string  *dvdisaster*    dvdisaster error correction file
1527 # xfs metadump image 
1528 # mb_magic XFSM at 0; superblock magic XFSB at 1 << mb_blocklog
1529 # but can we do the << ?  For now it's always 512 (0x200) anyway.
1530 0       string XFSM
1531 >0x200  string XFSB     XFS filesystem metadump image
1533 # Type: CROM filesystem
1534 # From: Werner Fink <werner@suse.de>
1535 0       string  CROMFS  CROMFS
1536 >6      string  >\0     \b version %2.2s,
1537 >8      ulequad >0      \b block data at %lld,
1538 >16     ulequad >0      \b fblock table at %lld,
1539 >24     ulequad >0      \b inode table at %lld,
1540 >32     ulequad >0      \b root at %lld,
1541 >40     ulelong >0      \b fblock size = %ld,
1542 >44     ulelong >0      \b block size = %ld,
1543 >48     ulequad >0      \b bytes = %lld
1545 # Type: xfs metadump image
1546 # From: Daniel Novotny <dnovotny@redhat.com>
1547 # mb_magic XFSM at 0; superblock magic XFSB at 1 << mb_blocklog
1548 # but can we do the << ? For now it's always 512 (0x200) anyway.
1549 0       string  XFSM
1550 >0x200  string  XFSB    XFS filesystem metadump image
1552 # Type: delta ISO
1553 # From: Daniel Novotny <dnovotny@redhat.com>
1554 0       string  DISO    Delta ISO data,
1555 >4      belong  x       version %d
1557 # JFS2 (Journaling File System) image. (Old JFS1 has superblock at 0x1000.)
1558 # See linux/fs/jfs/jfs_superblock.h for layout; see jfs_filsys.h for flags.
1559 # From: Adam Buchbinder <adam.buchbinder@gmail.com>
1560 0x8000  string  JFS1
1561 # Because it's text-only magic, check a binary value (version) to be sure.
1562 # Should always be 2, but mkfs.jfs writes it as 1. Needs to be 2 or 1 to be
1563 # mountable.
1564 >&0     lelong  <3      JFS2 filesystem image
1565 # Label is followed by a UUID; we have to limit string length to avoid
1566 # appending the UUID in the case of a 16-byte label.
1567 >>&144  regex   [\x20-\x7E]{1,16}       (label "%s")
1568 >>&0    lequad  x       \b, %lld blocks
1569 >>&8    lelong  x       \b, blocksize %d
1570 >>&32   lelong&0x00000006       >0      (dirty)
1571 >>&36   lelong  >0      (compressed)