During boot I get "Buffer I/O error on device hda2" messages. So, I figure a files system check is in order, but fsck returns:
Server:~ # fsck /dev/hda2
fsck 1.38 (30-Jun-2005)
e2fsck 1.38 (30-Jun-2005)
Couldn't find ext2 superblock, trying backup blocks...
fsck.ext2: Bad magic number in super-block while trying to open /dev/hda2
So, I boot up from CD and use mkfs -n /dev/hda2 to obtain a list of super-blocks which returns block size=4096 and the following list of super-blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000
Continuing from the CD boot and without hda2 mounted I enter each of these super-blocks in sequence as:
fsck -b <super-block> /dev/hda2
The first 5 super-blocks return bad magic number in super-block. The last 5 returns invalid argument.

Any ideas what to do next? The system does boot, but I'm worried that someday it might not due to filesystem corruption. Since the system is running, is there anyway to force the super-block to the correct value. As FYI in case it is somehow involved, I created this drive using Ghost For Linux (G4L) option Click'n'Clone. I don't know if the original drive has these same problems or not.