Re: VFAT Madness

Steffen Grunewald (steffen@gfz-potsdam.de)
Tue, 1 Jul 1997 10:06:14 +0200 (MET DST)


"Joe Pranevich writes"
>
|> Okay, we'll let's compare your origional (bad) one with the "real"
|> struct for the block and see if we see asnything blatant. (I could
|> easily make an error here, I'm doing this by hand as I don't have a
|> compiler handy.)
|>
|> __s8 ignored[3];
|> __s8 system_id[8]; -- This is the MSWIN4.1 signature that it leaves.
|> OSR 2. Feh.
|> __u8 sector_size[2]; -- 0x0 and 0x2 (2 -> a bit low? Or am I reading
|> this wrong?)
Read this in opposite order, you get 0x0200 = 512 bytes - OK.
|> __u8 cluster_size; -- 0x10 (16)
|> __u16 reserved; -- 0x100 (256)
0x0001 - OK
|> __u8 fats; -- 0x2
|> __u8 dir_entries[2]; -- 0x0 and 0x2
0x0200 = 512 - OK
|> __u8 sectors[2]; -- 0x0 and 0x0 (!)
|> __u8 media;
|> __u16 fat_length; -- 0xa800 (43008)
0x00a8 = 168 - maybe...
|> __u16 secs_track; -- 0x3f00 (16128)
0x003f = 63 - what BIOS allows
|> __u16 heads; -- 0x4000 (16384)
0x0040 = 64 - ditto
|> __u32 hidden;
|> __u32 total_sect; -- 0x20202020 (538976288)
that's four blanks, you won't have 500 million sectors (250 GB) in one
partition !
so the problem seems to be in this entry - or its interpretation :-(
|>
|> That looks fine, I guess. No answers jump at you.
???
|>
|> How about the good one?
|>
|> __s8 ignored[3];
|> __s8 system_id[8]; -- This is the MSWIN4.1 signature that it leaves.
|> OSR 2. Feh.
|> __u8 sector_size[2]; -- 0x0 and 0x2 (Same as before)
|> __u8 cluster_size; -- 0x10 (16) (Ditto)
|> __u16 reserved; -- 0x100 (256) (Ditto)
|> __u8 fats; -- 0x2 (La da da da)
|> __u8 dir_entries[2]; -- 0x0 and 0x2 (Same old, same old...)
|> __u8 sectors[2]; -- 0x0 and 0x0 (Yep...)
|> __u8 media;
|> __u16 fat_length; -- 0xb000 (45056)
0x00b0 = 176, somewhat larger
|> __u16 secs_track; -- 0x3f00 (16128) (Again)
|> __u16 heads; -- 0x8000 (32768)
0x0080 = 128 - LBA addressing ???
|> __u32 hidden;
|> __u32 total_sect; -- 0x20202020 (538976288) (Mitchell)
OK, since this is the same junk, maybe the interpretation is wrong.
|>
|> Well, maybe someone who knows more about this than I do can help you
|> out, this is the end of the line for me. Maybe the problem doesn't lie
|> within your boot sector, but in your root directory entry? Something
|> along those lines.
|>
|> Joe Pranevich
|>

To find out why the partition won't mount it would be helpful to scandisk
it - maybe the FAT signature is wrong or something like that. Unfortunately
I don't recall the whole story... Perhaps some Norton tools would tell you
what might be wrong :-/

-- 
Steffen Grunewald |  email steffen@gfz-potsdam.de |  fax (+49)-331-8877 520
GeoForschungsZentrum Potsdam, Telegrafenberg A17, D-14473 Potsdam,  Germany 
                      http://www.gfz-potsdam.de/
/* Disclaimer : I don't speak for my employers, they don't speak for me  */