LQ Newbie
Registered: Aug 2004
Distribution: SuSE9.0
Posts: 3
Rep:
|
Partition table recovery
Hi,
I've run into problems with my 120 GB Seagate HDD. It used to hold four primary partitions
(hdb1 -reiserfs, hdb2 - swap, hdb3 - reiserfs, hdb4 - ext2). I took the disk out of computer for a while, then put it back and found it wouldn't boot. fdisk says
> fdisk /dev/hdb
The number of cylinders for this disk is set to 19483.
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)
Unable to seek on /dev/hdb
Here is what sfdisk says:
-----------------------------------------------------
> sfdisk -l /dev/hdb
Disk /dev/hdb: 14593 cylinders, 255 heads, 63 sectors/track
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
llseek: Invalid argument
sfdisk: seek error on /dev/hdb - cannot seek to 2180031657
Warning: The partition table looks like it was made
for C/H/S=*/191/63 (instead of 14593/255/63).
For this listing I'll assume that geometry.
Units = cylinders of 6160896 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/hdb1 178468+ 1749- 180213- 1084248621+ 83 Linux
start: (c,h,s) expected (1023,190,63) found (128,129,1)
end: (c,h,s) expected (1023,190,63) found (959,190,63)
/dev/hdb2 180212+ 1837- 178558- 1074288353 82 Linux swap
start: (c,h,s) expected (1023,190,63) found (959,190,63)
end: (c,h,s) expected (1023,190,63) found (959,190,63)
/dev/hdb3 180299+ 2707- 179341- 1079003430+ 83 Linux
start: (c,h,s) expected (1023,190,63) found (959,190,63)
end: (c,h,s) expected (1023,190,63) found (959,190,63)
/dev/hdb4 181171+ 19482- 195245- 1174686251+ f Win95 Ext'd (LBA)
start: (c,h,s) expected (1023,190,63) found (959,190,63)
end: (c,h,s) expected (1023,190,63) found (959,190,63)
---------------------------
> sfdisk -d /dev/hdb
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
llseek: Invalid argument
sfdisk: seek error on /dev/hdb - cannot seek to 2180031657
# partition table of /dev/hdb
unit: sectors
/dev/hdb1 : start=2147516479, size=2168497243, Id=83
/dev/hdb2 : start=2168497306, size=2148576706, Id=82
/dev/hdb3 : start=2169541212, size=2158006861, Id=83
/dev/hdb4 : start=2180031657, size=2349372503, Id= f
It seems to me the partition table gone mad. Does anybody have a clue if the partition table can be recovered somehow or, at least, how to recover the data from the disk.
Any help is very much appreciated!
|