2 #------------------------------------------------------------------------------
3 # filesystems: file(1) magic for different filesystems
5 0 string \366\366\366\366 PC formatted floppy with no filesystem
7 # From /usr/include/sun/dklabel.h:
8 0774 beshort 0xdabe Sun disk label
12 >>>>95 string >\0 \b%s
14 >0734 short >0 %d rpm,
15 >0736 short >0 %d phys cys,
16 >0740 short >0 %d alts/cyl,
17 >0746 short >0 %d interleave,
18 >0750 short >0 %d data cyls,
19 >0752 short >0 %d alt cyls,
20 >0754 short >0 %d heads/partition,
21 >0756 short >0 %d sectors/track,
22 >0764 long >0 start cyl %ld,
23 >0770 long x %ld blocks
24 # Is there a boot block written 1 sector in?
25 >512 belong&077777777 0600407 \b, boot block present
26 0x1FE leshort 0xAA55 x86 boot sector
27 >2 string OSBS \b, OS/BS MBR
28 # J\xf6rg Jenderek <joerg.jenderek@gmx.net>
29 >0x8C string Invalid\ partition\ table \b, MS-DOS MBR
30 >0x9D string Invalid\ partition\ table \b, DR-DOS MBR, version 7.01 to 7.03
31 >0x10F string Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 4.10.1998, 4.10.2222
32 >0x8B string Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 5.00 to 4.00.950
33 >0x145 string Default:\ F \b, FREE-DOS MBR
34 >0 string \0\0\0\0 \b, extended partition table
35 # JuMP short bootcodeoffset NOP assembler instructions will usually be EB xx 90
36 # older drives may use E9 xx xx
37 >0 lelong&0x009000EB 0x009000EB
38 >0 lelong&0x000000E9 0x000000E9
39 >>1 ubyte >37 \b, code offset 0x%x
40 # mtools-3.9.8/msdos.h
41 # usual values are marked with comments to get only informations of strange FAT systems
42 # valid sectorsize are from 32 to 2048
45 >>>>>3 string >\0 \b, OEM-ID "%8.8s"
46 >>>>>11 uleshort >512 \b, Bytes/sector %u
47 #>>>>>11 uleshort =512 \b, Bytes/sector %u=512 (usual)
48 >>>>>11 uleshort <512 \b, Bytes/sector %u
49 >>>>>13 ubyte >1 \b, sectors/cluster %u
50 #>>>>>13 ubyte =1 \b, sectors/cluster %u (usual on Floppies)
51 >>>>>14 uleshort >32 \b, reserved sectors %u
52 #>>>>>14 uleshort =32 \b, reserved sectors %u (usual Fat32)
53 #>>>>>14 uleshort >1 \b, reserved sectors %u
54 #>>>>>14 uleshort =1 \b, reserved sectors %u (usual FAT12,FAT16)
55 >>>>>14 uleshort <1 \b, reserved sectors %u
56 >>>>>16 ubyte >2 \b, FATs %u
57 #>>>>>16 ubyte =2 \b, FATs %u (usual)
58 >>>>>16 ubyte =1 \b, FAT %u
60 >>>>>17 uleshort >0 \b, root entries %u
61 #>>>>>17 uleshort =0 \b, root entries %u=0 (usual Fat32)
62 >>>>>19 uleshort >0 \b, sectors %u (volumes <=32 MB)
63 #>>>>>19 uleshort =0 \b, sectors %u=0 (usual Fat32)
64 >>>>>21 ubyte >0xF0 \b, Media descriptor 0x%x
65 #>>>>>21 ubyte =0xF0 \b, Media descriptor 0x%x (usual floppy)
66 >>>>>21 ubyte <0xF0 \b, Media descriptor 0x%x
67 >>>>>22 uleshort >0 \b, sectors/FAT %u
68 #>>>>>22 uleshort =0 \b, sectors/FAT %u=0 (usual Fat32)
69 >>>>>26 ubyte >2 \b, heads %u
70 #>>>>>26 ubyte =2 \b, heads %u (usual floppy)
71 >>>>>26 ubyte =1 \b, heads %u
72 >>>>>28 ulelong >0 \b, hidden sectors %u
73 #>>>>>28 ulelong =0 \b, hidden sectors %u (usual floppy)
74 >>>>>32 ulelong >0 \b, sectors %u (volumes > 32 MB)
75 #>>>>>32 ulelong =0 \b, sectors %u (volumes > 32 MB)
77 # NOT le FAT3=NOT 3TAF=0xCCABBEB9
78 >>>>>82 ulelong&0xCCABBEB9 >0
79 >>>>>>36 ubyte >0x80 \b, physical drive 0x%x
80 #>>>>>>36 ubyte =0x80 \b, physical drive 0x%x=0x80 (usual harddisk)
81 >>>>>>36 ubyte&0x7F >0 \b, physical drive 0x%x
82 #>>>>>>36 ubyte =0 \b, physical drive 0x%x=0 (usual floppy)
83 >>>>>>37 ubyte >0 \b, reserved 0x%x
84 #>>>>>>37 ubyte =0 \b, reserved 0x%x
85 >>>>>>38 ubyte >0x29 \b, dos < 4.0 BootSector (0x%x)
86 >>>>>>38 ubyte <0x29 \b, dos < 4.0 BootSector (0x%x)
88 >>>>>>>39 ulelong x \b, serial number 0x%x
89 >>>>>>>43 string <NO\ NAME \b, label: "%11.11s"
90 >>>>>>>43 string >NO\ NAME \b, label: "%11.11s"
91 >>>>>>>43 string =NO\ NAME \b, unlabeled
92 >>>>>>54 string FAT1 \b, FAT
93 >>>>>>>54 string FAT12 \b (12 bit)
94 >>>>>>>54 string FAT16 \b (16 bit)
96 >>>>>82 string FAT32 \b, FAT (32 bit)
97 >>>>>>36 ulelong x \b, sectors/FAT %u
98 >>>>>>40 uleshort >0 \b, extension flags %u
99 #>>>>>>40 uleshort =0 \b, extension flags %u
100 >>>>>>42 uleshort >0 \b, fsVersion %u
101 #>>>>>>42 uleshort =0 \b, fsVersion %u (usual)
102 >>>>>>44 ulelong >2 \b, rootdir cluster %u
103 #>>>>>>44 ulelong =2 \b, rootdir cluster %u
104 #>>>>>>44 ulelong =1 \b, rootdir cluster %u
105 >>>>>>48 uleshort >1 \b, infoSector %u
106 #>>>>>>48 uleshort =1 \b, infoSector %u (usual)
107 >>>>>>48 uleshort <1 \b, infoSector %u
108 >>>>>>50 uleshort >6 \b, Backup boot sector %u
109 #>>>>>>50 uleshort =6 \b, Backup boot sector %u (usual)
110 >>>>>>50 uleshort <6 \b, Backup boot sector %u
111 >>>>>>54 ulelong >0 \b, reserved1 0x%x
112 >>>>>>58 ulelong >0 \b, reserved2 0x%x
113 >>>>>>62 ulelong >0 \b, reserved3 0x%x
114 # same structure as FAT1X
115 >>>>>>64 ubyte >0x80 \b, physical drive 0x%x
116 #>>>>>>64 ubyte =0x80 \b, physical drive 0x%x=80 (usual harddisk)
117 >>>>>>64 ubyte&0x7F >0 \b, physical drive 0x%x
118 #>>>>>>64 ubyte =0 \b, physical drive 0x%x=0 (usual floppy)
119 >>>>>>65 ubyte >0 \b, reserved 0x%x
120 >>>>>>66 ubyte >0x29 \b, dos < 4.0 BootSector (0x%x)
121 >>>>>>66 ubyte <0x29 \b, dos < 4.0 BootSector (0x%x)
123 >>>>>>>67 ulelong x \b, serial number 0x%x
124 >>>>>>>71 string <NO\ NAME \b, label: "%11.11s"
125 >>>>>>71 string >NO\ NAME \b, label: "%11.11s"
126 >>>>>>71 string =NO\ NAME \b, unlabeled
128 >0x200 lelong 0x82564557 \b, BSD disklabel
130 # Minix filesystems - Juan Cespedes <cespedes@debian.org>
131 0x410 leshort 0x137f Minix filesystem
132 0x410 beshort 0x137f Minix filesystem (big endian),
133 >0x402 beshort !0 \b, %d zones
134 >0x1e string minix \b, bootable
135 0x410 leshort 0x138f Minix filesystem, 30 char names
136 0x410 leshort 0x2468 Minix filesystem, version 2
137 0x410 leshort 0x2478 Minix filesystem, version 2, 30 char names
139 # romfs filesystems - Juan Cespedes <cespedes@debian.org>
140 0 string -rom1fs-\0 romfs filesystem, version 1
141 >8 belong x %d bytes,
142 >16 string x named %s.
144 # netboot image - Juan Cespedes <cespedes@debian.org>
145 0 lelong 0x1b031336L Netboot image,
146 >4 lelong&0xFFFFFF00 0
147 >>4 lelong&0x100 0x000 mode 2
148 >>4 lelong&0x100 0x100 mode 3
149 >4 lelong&0xFFFFFF00 !0 unknown mode
151 0x18b string OS/2 OS/2 Boot Manager
153 9564 lelong 0x00011954 Unix Fast File system (little-endian),
154 >8404 string x last mounted on %s,
155 #>9504 ledate x last checked at %s,
156 >8224 ledate x last written at %s,
157 >8401 byte x clean flag %d,
158 >8228 lelong x number of blocks %d,
159 >8232 lelong x number of data blocks %d,
160 >8236 lelong x number of cylinder groups %d,
161 >8240 lelong x block size %d,
162 >8244 lelong x fragment size %d,
163 >8252 lelong x minimum percentage of free blocks %d,
164 >8256 lelong x rotational delay %dms,
165 >8260 lelong x disk rotational speed %drps,
166 >8320 lelong 0 TIME optimization
167 >8320 lelong 1 SPACE optimization
169 9564 belong 0x00011954 Unix Fast File system (big-endian),
170 >7168 long 0x4c41424c Apple UFS Volume
171 >>7186 string x named %s,
172 >>7176 belong x volume label version %d,
173 >>7180 bedate x created on %s,
174 >8404 string x last mounted on %s,
175 #>9504 bedate x last checked at %s,
176 >8224 bedate x last written at %s,
177 >8401 byte x clean flag %d,
178 >8228 belong x number of blocks %d,
179 >8232 belong x number of data blocks %d,
180 >8236 belong x number of cylinder groups %d,
181 >8240 belong x block size %d,
182 >8244 belong x fragment size %d,
183 >8252 belong x minimum percentage of free blocks %d,
184 >8256 belong x rotational delay %dms,
185 >8260 belong x disk rotational speed %drps,
186 >8320 belong 0 TIME optimization
187 >8320 belong 1 SPACE optimization
189 # ext2/ext3 filesystems - Andreas Dilger <adilger@turbolabs.com>
190 0x438 leshort 0xEF53 Linux
191 >0x44c lelong x rev %d
192 >0x43e leshort x \b.%d
193 >0x45c lelong ^0x0000004 ext2 filesystem data
194 >>0x43a leshort ^0x0000001 (mounted or unclean)
195 >0x45c lelong &0x0000004 ext3 filesystem data
196 >>0x460 lelong &0x0000004 (needs journal recovery)
197 >0x43a leshort &0x0000002 (errors)
198 >0x460 lelong &0x0000001 (compressed)
199 #>0x460 lelong &0x0000002 (filetype)
200 #>0x464 lelong &0x0000001 (sparse_super)
201 >0x464 lelong &0x0000002 (large files)
203 # SGI disk labels - Nathan Scott <nathans@debian.org>
204 0 belong 0x0BE5A941 SGI disk label (volume header)
206 # SGI XFS filesystem - Nathan Scott <nathans@debian.org>
207 0 belong 0x58465342 SGI XFS filesystem data
208 >0x4 belong x (blksz=3D%d,
209 >0x68 beshort x inosz=3D%d,
210 >0x64 beshort ^0x2004 v1 dirs)
211 >0x64 beshort &0x2004 v2 dirs)
213 ############################################################################
214 # Minix-ST kernel floppy
215 0x800 belong 0x46fc2700 Atari-ST Minix kernel image
216 >19 string \240\5\371\5\0\011\0\2\0 \b, 720k floppy
217 >19 string \320\2\370\5\0\011\0\1\0 \b, 360k floppy
219 ############################################################################
220 # Hmmm, is this a better way of detecting _standard_ floppy images ?
221 19 string \320\2\360\3\0\011\0\1\0 DOS floppy 360k
222 >0x1FE leshort 0xAA55 \b, x86 hard disk boot sector
223 19 string \240\5\371\3\0\011\0\2\0 DOS floppy 720k
224 >0x1FE leshort 0xAA55 \b, x86 hard disk boot sector
225 19 string \100\013\360\011\0\022\0\2\0 DOS floppy 1440k
226 >0x1FE leshort 0xAA55 \b, x86 hard disk boot sector
228 19 string \240\5\371\5\0\011\0\2\0 DOS floppy 720k, IBM
229 >0x1FE leshort 0xAA55 \b, x86 hard disk boot sector
230 19 string \100\013\371\5\0\011\0\2\0 DOS floppy 1440k, mkdosfs
231 >0x1FE leshort 0xAA55 \b, x86 hard disk boot sector
233 19 string \320\2\370\5\0\011\0\1\0 Atari-ST floppy 360k
234 19 string \240\5\371\5\0\011\0\2\0 Atari-ST floppy 720k
236 # Valid media descriptor bytes for MS-DOS:
238 # Byte Capacity Media Size and Type
239 # -------------------------------------------------
241 # F0 2.88 MB 3.5-inch, 2-sided, 36-sector
242 # F0 1.44 MB 3.5-inch, 2-sided, 18-sector
243 # F9 720K 3.5-inch, 2-sided, 9-sector
244 # F9 1.2 MB 5.25-inch, 2-sided, 15-sector
245 # FD 360K 5.25-inch, 2-sided, 9-sector
246 # FF 320K 5.25-inch, 2-sided, 8-sector
247 # FC 180K 5.25-inch, 1-sided, 9-sector
248 # FE 160K 5.25-inch, 1-sided, 8-sector
249 # FE 250K 8-inch, 1-sided, single-density
250 # FD 500K 8-inch, 2-sided, single-density
251 # FE 1.2 MB 8-inch, 2-sided, double-density
252 # F8 ----- Fixed disk
254 # FC xxxK Apricot 70x1x9 boot disk.
256 # Originally a bitmap:
257 # xxxxxxx0 Not two sided
258 # xxxxxxx1 Double sided
261 # xxxxx0xx Not Removable drive
262 # xxxxx1xx Removable drive
263 # 11111xxx Must be one.
265 # But now it's rather random:
266 # 111111xx Low density disk
272 # 11111001 Double density 3½ floppy disk, high density 5¼
273 # 11110000 High density 3½ floppy disk
274 # 11111000 Hard disk any format
278 32769 string CD001 ISO 9660 CD-ROM filesystem data
279 37633 string CD001 ISO 9660 CD-ROM filesystem data (raw 2352 byte sectors)
280 32776 string CDROM High Sierra CD-ROM filesystem data