recover from badblocks destructive write?
Is this possible? This is what fdisk shows:
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
The number of cylinders for this disk is set to 49360.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
I ran the (unintentional) destructive badblocks test after seeing this message from
fsck -n -r /dev/sda1:
...Illegal triply indirect block found while reading bad blocks inode
... Bad block inode has illegal blocks
Now, when I check with fsck, it shows:
fsck.ext3: No such device or address while trying to open /dev/sda1
Possibly non-existent or swap device?
When I was running badblocks, I found that the log was filled with:
Jun 24 13:34:00 gal14 kernel: 08:01: rw=1, want=715827884, limit=396484168
Jun 24 13:34:00 gal14 kernel: attempt to access beyond end of device
Although, the raid disk showed no bad blocks from running badblocks command.
How can I tell how much data is lost? How can it be retrieved? Is there a way to fix the partition table safely?