Principle of FAT file system 2

 

 

Table 5 FAT32 partitions extended BPB field           
Byte displacement Field Length (bytes) Figure 8 corresponds to the value of Field names and definitions
0x40 1 0x80 Physical drive number (Physical Drive Number) and BIOS physical drive number related. Floppy drive is identified as 0x00, physical hard disk is identified as 0x80, regardless of the physical disk drive. In general, before issuing a call to set the value INT13h BIOS, specifically designated by the access device. Only when the device is a boot device, this value is meaningful
0x41 1 0x00 Reserved (Reserved) FAT32 partition is always set the value of this field is 0
0x42 1 0x29 Extended boot label (Extended Boot Signature) This field must have a value that can be recognized by 2000 Windows 0x28 or 0x29
0x43 4 0x33391CFE Partition number (Volume Serial Number) when a random number generated by the disk is formatted, it helps to distinguish disk
0x47 11 "NO NAME" Label (Volume Label) This field is used only once, and it was used to save the volume label. Now, the label is stored in the root directory as a special file
0x52 8 "FAT32" System ID (System ID) FAT32 file system is generally taken to be "FAT32"

 


     DBR start offset 0x5A data for the operating system boot code. This is offset by the start of the jump instruction 0x00 points. At offset 0x00 ~ 0x02 jump instructions listed in Figure 8 "EB 58 90" clearly indicate the OS boot code offset. jump 58H with the desired amount of displacement of a jump instruction, which starts at 0x5A. This section of the boot instructions and different ways on different operating systems, its content is different. Say win98, win2000 fat build on the basic partition, DBR winxp used only occupy the first primary partition sector 0 on most data. They mentioned, for fat32, generally 32 reserved sectors, only the first primary partition 0 sector is useful. In fact, in order to build an operating system FAT32 if it is win98, the system will use the first primary partition 0 sector and the second sector os boot code storage; built to FAT32 if the operating system is win2000 or winxp, the system uses the basic partition 0 of sectors and 0xC sector (win2000 or winxp, the location of its first 0xC 0xAB 0th sector offset noted) os boot code storage. So, in the fat32 partition format, if the contents of DBR and the lack of a proper sector 2 sector (win98 system) or 0xC sector (win2000 or winxp system), the system also will not start. If you manually set your own NTLDR dual system, you must know that. 
     DBR DBR valid flag last two bytes to store the value 0x55AA sector in general, and for other values, the system will not run DBR related instructions. Several other sectors involved in the above-mentioned guide os also need to 0x55AA end flag is legal.

FAT16 DBR: 
     the DBR generally true meaning of FAT32, FAT12 and FAT16 for its basic meaning is similar, but the meaning and parameters related to offset a small difference, and the difference between FAT format to reason, we will discuss later, not much here says FAT12 and FAT16. I will list the sector parameter significance of FAT16. Interested friends to look at yourself, and FAT32 or less the same.

 

 

Segment partition table boot sector on a FAT16 6
Byte displacement Field Length (bytes) Field Name
0x00 3 Jump instruction (Jump Instruction)
0x03 8 OEM ID
0x0B 25 BPB
0x24 26 Extended BPB
0x3E 448 Boot code (Bootstrap Code)
0x01FE 4 Sector End Identifier (0x55AA)

 

 

 

Table 7 FAT16 partition BPB field     
Byte displacement Field Length (bytes) Example value Names and definitions
0x0B 2 0x0200 The size of the number of sectors (Bytes Per Sector) byte hardware sectors. Decimal value of the legal field has 512,1024,2048 and 4096. For most disks, the field is 512
0x0D 1 0x40 Number of sectors (Sectors Per Cluster) the number of sectors per cluster in a cluster.Due to the FAT16 file system can only track a finite number of clusters (up to 65536). Thus, by increasing the number of sectors per cluster can support a maximum number of partitions. The default partition size depends on the size of the cluster partition. The legal field has the decimal value 1,2,4,8,16,32,64 and 128. Resulting in clusters larger than 32KB (bytes per sector * number of sectors per cluster) values ​​will cause disk errors and software errors
0x0e 2 0x0001 Number of reserved sectors (Reserved Sector) first started a few sectors before FAT, including the boot sector. Decimal value of the field is generally a
0x10 1 0x02 The number of copies of the FAT FAT partition number (Number of FAT). The value of this field is generally 2
0x11 2 0x0200 32 bytes long file and the number of root directory entries (Root Entries) can be stored in the root directory of the partition folder name in the total number of items in the folder. On a typical hard drive, this field is 512. One term is often used as a volume label (Volume Label), long file and folder names for each file using multiple items. Maximum number of files and folders is generally 511 entries, but if you use long file names, often reach this number
0x13 2 0x0000 Number of sectors on the partition small number of sectors (Small Sector), expressed as 16 (<65536). Sector of the partition is greater than 65,536, the value of this field is 0, and using it to replace a large number of sectors
0x15 1 0xF8 Media descriptor (Media Descriptor) to provide information about the media being used. Value 0xF8 indicates hard, 0xF0 indicates a high-density 3.5-inch floppy disk. Media descriptor to be used in MS-DOS FAT16 disks, has not been used in Windows 2000
0x16 2 0x00FC Number of sectors occupied by each FAT partition on the number of sectors (Sectors Per FAT) per FAT. Computer use this number and the number of FAT and hidden sectors to determine the root directory of where to start. The computer also can (512) determines the number of partitions based on the root directory of the user data area from where to start
0x18 2 0x003F Road number of sectors (Sectors Per Trark) per
0x1A 2 0x0040 Heads (Number of head)
0x1C 4 0x0000003F Number of sectors before the boot sector on the partition to hide the number of sectors (Hidden Sector). This value is used during the boot sequence to calculate the root of the absolute displacement of the data area and
0x20 4 0x003EF001 A large number of sectors (Large Sector) If a small sector of the digital segment value is 0, the field contains the FAT16 partition of the total number of sectors. If the value of the digital section of the small sector is not 0, then the field is 0

 

 

 

Table 8 FAT16 partition extended BPB field           
Byte displacement Field Length (bytes) Figure 8 corresponds to the value of Field names and definitions
0x24 1 0x80 Physical drive number (Physical Drive Number) and BIOS physical drive number related. Floppy drive is identified as 0x00, physical hard disk is identified as 0x80, regardless of the physical disk drive. In general, before issuing a call to set the value INT13h BIOS, specifically designated by the access device. Only when the device is a boot device, this value is meaningful
0x25 1 0x00 Reserved (Reserved) FAT16 partition will generally set the value of this field is 0
0x26 1 0x29 Extended boot label (Extended Boot Signature) This field must have a value that can be recognized by 2000 Windows 0x28 or 0x29
0x27 2 0x52368BA8 Volume number (Volume Serial Number) when a random number generated by the disk is formatted, it helps to distinguish disk
0x2B 11 "NO NAME" Label (Volume Label) This field is used only once, and it was used to save the volume label. Now, the label is stored in the root directory as a special file
0x36 8 "FAT16" File system type (File System Type) According to the disk format, the value of this field can be FAT, FAT12, or FAT16


     

 

 
Domain name: www.mrtlab.com | | Telephone: +86-27-82621261 | Terms of use
MRT data recovery website,provides professional HDD firmware repair and data recovery technical resources!
Copyright 2003-2019 Powered By MrtLab