The partition won't mount, that's why /drive0 is empty. The primary superblock is corrupt, and using the "-b NNNNN" option is the only way to bring the filesystem back.

The question is, what to use for NNNNN, i.e. where to look for the backup superblock. I suggest trying 24576, 24577, 98304, and 98305. (Those numbers are the first and second blocks in the third block group, for the common blocks-per-group values 8192 and 32768.)

Oh, and while you're there, we ought to check that your partition table is sane.

That is,
Code:
fdisk -l /dev/hda
swapon /swapfile
fsck -fay -b 24576 /dev/hda4
fsck -fay -b 24577 /dev/hda4
fsck -fay -b 98304 /dev/hda4
fsck -fay -b 98305 /dev/hda4

but stop, and report back here the first time any of those fscks does anything other than come back immediately with the "Bad magic number in super-block while trying to open /dev/hda4" error, don't carry on issuing the other fscks.

Peter