Odd problem with a FAT32 filesystem -- semi-usable, but unfixable? Weird...

N

Nathan Eady

I'm having a strange issue with a FAT32 filesystem. This fs has Win98SE
installed on it (OEM), and Windows will not boot from the drive, not even
in command-prompt-only mode (further details below), even after I booted
from CD and ran SYS C:

So I ran scandisk, and got this:

ScanDisk encountered a data error while reading the FAT on drive C.
This error prevents ScanDisk from fixing the Drive

Marvy. So I stuck in a Knoppix CD and ran dosfsck -r -v /dev/hda1
and got this:

dosfsck 2.8 (28 Feb 2001)
dosfsck 2.8, 28 Feb 2001, FAT32, LFN
Boot sector contents:
System ID "MSWIN4.1"
Media byte 0xf8 (hard disk)
512 bytes per logical sector
16384 bytes per cluster
32 reserved sectors
First FAT starts at byte 16384 (sector 32)
2 FATs, 32 bit entries
4883456 bytes per FAT (= 9538 sectors)
Root directory start at cluster 2 (arbitrary size)
Data area starts at byte 9783296 (sector 19108)
1220813 data clusters (2821931008 bytes)
63 sectors/track, 240 heads
63 hidden sectors
39085137 sectors total
Got 217088 bytes instead of 4883260 at 16384

That last line (got n bytes instead...) came on the error stream (rather than
standard output) and dosfsck terminated right away. I assume 16384 is the
address for the part of the drive where the problem is, which would be the
address of the first FAT. Getting the wrong number of bytes sounds like the
result of a hardware problem, but I'm not deeply knowledgeable of such things,
so any light anyone can shed on this would be deeply appreciated. Can I use
the second table to repair the first, or can I set the fs up to use the
second table? Wish I knew more about FAT32...

However, if I boot from CD I'm able to read files from the drive, execute
programs from the drive, whatever -- I just can't _boot_ from the drive.
If I try that, I can get as far as the boot menu (if I press F8), but
whatever choice I choose I don't get much further. If I try to boot in
Command Prompt Only mode, I don't get any further at all. If I try to boot
in Normal mode, the boot logo screen comes up, with the pallette rotating
on the bottom blue/white bar forever. (It'll do that for at _least_
ten minutes, and I gave up at that point.)

So I pulled the drive out and stuck it in my workstation, which is dual-boot
Mandrake 8.1 and WinXP Home Edition. After I figured out how to jumper it
correctly, Linux can mount and read the filesystem in question. I wanted to
try the repair utils built into WinXP; however, XP won't boot at all unless
I remove the drive with the offending filesystem. It gets the logo screen
with the rotating colored bars, then goes black and stays black. I find
this really odd, since WinXP is supposed to be booting from hda1 (the
first partition on the primary master drive) and the broken FAT is on
hdb1 (only partition on what is currently the secondary master drive).
Shouldn't WinXP be able to boot from the first drive despite the problems
with the fs on the second drive? Odd.

Do I really have to fdisk and reinstall this thing from scratch? Shouldn't
there be a way to manually repair the FAT, if I'm comfortable with a hex
editor, given the information from dosfsck?

From field is my home address, but this is work stuff; please followup to
usenet or reply to my work address, eady atsign galion dot lib dot oh dot us

TIA for any clues.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top