FAT16 on a floppy?
-
- Member
- Posts: 2566
- Joined: Sun Jan 14, 2007 9:15 pm
- Libera.chat IRC: miselin
- Location: Sydney, Australia (I come from a land down under!)
- Contact:
FAT16 on a floppy?
Ok, I'm (officially) sick of FAT12.
Is there any way to make my boot floppy FAT16? If I can use FAT16 then I can finally have reading the FAT much easier because there are 16-bits not 12-bits in each cluster entry.
From my Googling, I've seen many references to a FAT16 floppy, so it must be possible.
Is there any way to make my boot floppy FAT16? If I can use FAT16 then I can finally have reading the FAT much easier because there are 16-bits not 12-bits in each cluster entry.
From my Googling, I've seen many references to a FAT16 floppy, so it must be possible.
I've attached the result of:
Note the warning. I have no idea if that's also true for Windows, but I thought I'd mention it.
Hope this helps.
Code: Select all
$ dd if=/dev/zero of=fat16.img bs=512 count=2880
$ mkdosfs -F 16 fat16.img
mkdosfs 2.11 (12 Mar 2005)
WARNING: Not enough clusters for a 16 bit FAT! The filesystem will be
misinterpreted as having a 12 bit FAT without mount option "fat=16".
$ gzip fat16.img
Hope this helps.
- Attachments
-
- fat16.img.gz
- Empty FAT16 floppy image
- (1.63 KiB) Downloaded 207 times
The FAT types are pretty much always determined by the number of clusters on the disk. If you were able to format a disk with less than the proper number of clusters as FAT16 than it would still be mistaken for FAT12. That would cause havoc. So if you do get this too work, don't expect it too work on other OSs.
EDIT: Oops must have missed the sarcasm, sorry
According to the document this is the only way to determine FAT type:
That is from the FAT: General Overview of On-Disk Format from microsoft. Take it for whatever you want to.Microsoft wrote:The FAT type—
one of FAT12, FAT16, or FAT32—is determined by the count of clusters on the volume and nothing
else.
According to the document this is the only way to determine FAT type:
Code: Select all
If(CountofClusters < 4085) {
/* Volume is FAT12 */
} else if(CountofClusters < 65525) {
/* Volume is FAT16 */
} else {
/* Volume is FAT32 */
}
Well... the official docs specify that the "FAT12" and "FAT16" doesn't matter but that you just count the number of clusters. In this case, this was from the Microsoft docs.Combuster wrote:maybe its just crappy open source software that does not check the mbr for 'FAT12' or 'FAT16' </sarcasm>
You probably know that though, as per the </sarcasm> tag.