Data Recovery from External FAT32 Drive



I need to recover some files from an external hard drive. I'm not sure
how the drive stopped responding, but when I try to connect it to a
Windows system, the system just hangs for awhile, with nothing
happening. I connected it to my Linux box, and tried to mount it, and
all it reports back is "can't read superblock". This is the relevant
output from fdisk -l:

Disk /dev/sdb: 300.0 GB, 300090728448 bytes
255 heads, 63 sectors/track, 36483 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 1 36483 293049666 c W95 FAT32
(LBA)

I thought about using fsck, or even trying to use something like
UBCD4Win, or the SysRescue CD, to try to fix it, but I didn't want to
do anything like that without knowing what all my options were, and
which path would be the best one to ensure as little data loss as
possible.

.