FAT16/FAT32 filesystem info needed (low level)

FAT16/FAT32 filesystem info needed (low level)

Post by Michael She » Sat, 04 Apr 1998 04:00:00

 Hi Folks,

 I need detailed (low level) information on how the FAT32 filesystem works.

The pointer to the FAT and the root dir on a WIN95 FA32 partition has
become corrupted due to an errant program under win95. The Linux partition
and the partition table was untouched. The FAT32 partition has all the data
and FAT tables intact - as shown by one of those smart FAT32 recovery programs
(which is just a demo - so I can't save the files out).

I know where the two FAT tables are and where the root dir starts. I don't
where to enter these values in the MBR with a disk editor.
And, until I do, win95 can't access it's partition on the C: drive.
(I guess I should celebrate in a sick sorta way!)

At any rate, someone must have information on the FAT16, FAT32 and ext2
filesystems as linux reads them to varying degress. (It's good to keep handy
info on all the filesystems one uses)

 I would be thankful if someone could point me in the right way to a
book, ftp, web site, etc that contains low level info about these filesystems.

Thank you,


Mike Shell


1. linux fdisk hidden fat32 (1b) --> fat32 (0b) = dos fdisk fat16 ???

  Well, well.

  I decided to give Partition Manager's
boot manager a test drive today (QBOOT or
whatever the hell it's called).

  This was on Win98SE.

  I fired it up and got a menu asking me if I wanted to boot
drive J:, which is where I have win2000 installed.

  "Aha,", I thought, "here's a way to boot from Win98SE
right into Win2000. Neat!"


  What it did was

  (1) hide my Windows boot partition and set it to Inactive

  (2) set my Windows2000 partition to active, and

then it rebooted the machine.

  Unfortunately, my Windows2000 partition is not bootable.

  Now I can't boot Win98SE to use P.M to unhide my C: drive and I can't
get into Win2k.

  What do I now?

  My first thought was to use Linux fdisk to reverse the process:

  (1) unhide my Windows boot partition, by changing its ID from 1b
(hidden fat32) to 0b (fat32) and make it active,

  (2) make my Win2000 partition inactive

   So, that's what I did, which gave me this:

Disk /dev/hde: 255 heads, 63 sectors, 4865 cylinders
Units = cylinders of 16065 * 512 bytes

    Device Boot    Start       End    Blocks   Id  System
/dev/hde1    *        1       261   2096451    b  Win95 FAT32
/dev/hde2           262      1536  10241437+   f  Win95 Ext'd (LBA)
/dev/hde3          1537      3066  12289725    7  HPFS/NTFS
/dev/hde5           262       516   2048256    b  Win95 FAT32
/dev/hde6           517       771   2048256    b  Win95 FAT32
/dev/hde7           772      1026   2048256    b  Win95 FAT32
/dev/hde8          1027      1536   4096543+   b  Win95 FAT32

   Next, I booted my Win98 restart disk and ran Windows FDISK
to check the partition info.

   Guess what?

   Windows FDISK now thinks my C: drive/partition is FAT16 -- and the
file names all look like this:

. *
. *

  Anyone seen anything like this before?

  Drives E,F,G, and H seem ok.

  And my Win2000 partition seems ok afaict after booting from the win2k
cdrom and opening the repair console.

  What should I do next?

  How can I unhide my boot partition so Windows FDISK sees it as FAT32?

  Can I boot from the win2k cdrom and then boot Win2000 from the repair
comsole "dos" prompt?

  What should I do next?


2. LILO and Compaq Proliant 5000

3. Looking for low level SunOS programming info sources

4. how do I turn off promiscuous mode?

5. Getting info about the client, without delving into low level RPC

6. /dev/dps Problems

7. SCSI disk low level info ??

8. Epson Scanner for Linux

9. Low level info on how to read hard disk

10. Wanted:Info on low level SVGA coding for Linux

11. Good bit and low level protocol level FibreChannel reference Book?

12. LOW-low level debugging

13. NEED: Low Level disk format utility