Jump to content


How to find the content of FAT12 file?

  • Please log in to reply
1 reply to this topic

#1 stupidgal

  • Members
  • 5 posts

Posted 18 June 2013 - 01:39 PM



I'm recently doing some research on FAT12 file system. However, I was unable to find the method. Assuming it does not start right after the root directory, we cannot use the cluster number and add the block number right? This is the website I refer to: http://www.tavi.co.uk/phobos/fat.html (3rd para of example 4)


Next, another question is to find out the date. I also refer to http://www.maverick-...FileSystem.html but its format is different from the one above. So which should I use?


Lastly, what is the difference between MBR and VBR? I took reference from http://en.wikipedia....ter_boot_record and http://en.wikipedia....ume_boot_record but I was unable to understand. Is anyone able to explain to me in a simpler and easier way to understand?


Sorry for any inconvenience caused.


Thank you.


Best regards,




#2 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 14284 posts
  • Location:The Outside of the Asylum (gate is closed)

Posted 18 June 2013 - 02:07 PM

Strangely enough, you should (temporarily) FORGET :w00t: about FAT 12 and become familiar, instead with FAT16.


They are exactly the same, only in FAT16 tables offsets are two bytes (and thus easily readable) whilst in FAT12 they are 1.5 byte and this makes inspection with a hex editor a tidbit more complex.

A good resource for FAT16 (and conversely for FAT12) is - from the mouth of wolf - the FAT32 format specification as it points out differences with FAT16, so it indirectly explains a lot about the format:



I am not sure to understand the question about dates. :unsure:

Do you mean file dates?




That site you reference has seemingly re-titled a FAT16 article to "FAT12" :dubbio:



About MBR and VBR forget any other reference and only look here:



But what do you mean "difference"?


They are two completely different things.


The MBR is one (and one only) on a whole disk and it is it's first sector or LBA0 of the device.

It is made of three or four main parts:

  1. Code <- this normally chainloads the first sector of the Active Primary paritition in the partition table
  2. Disk Signature (only on NT based system) <- this identify the device
  3. Data <- the partition table, made of four entries of which at most one can be of the "extended type", i.e. you can have at the most 4 primary partitions or 3 primary + 1 extended, one of the primary is normally set as Active
  4. Magic Bytes <- 0x55AA at offset 510, this tell the bios and the os that it is actually a "system sector"

Each Volume (no matter if primary partition or logical volume inside extended) has it's own VBR.

It is made of four main parts:

  1. Code <- this normally chainloads the OS loader
  2. Volume serial and Label <- to identify the volume, the label has been not used since several years
  3. Data <- this is the so-called BPB or Bios Parameter Block where info on the volume formatting is given
  4. Magic Bytes <- again 0x55AA at offset 510, this tell the bios and the os that it is actually a "system sector"

Both are 512 bytes in size but the actual MBR "code" (example grub4dos) may extend over some of the hidden sectors after the MBR, and as well FAT32 and NTFS VBR's (other example) have code that extend after the first 512 bytes on other sectors.


Do also check this one:


To better understand the differences between a volume which is a primary partition and a volume which is a logical one inside extended.




  • stupidgal likes this

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users