Partitions-Tabelle zerstört

15/02/2013 - 05:22 von Andreas Kohlbach | Report spam
Wegen meines Boot Problems, was ich hier neulich lange diskutierte,
versuchte ich testdisk, ob es vielleicht die IMO recht kaputt aussehende
Partitions-Tabelle "reparieren" könnte. Sah auch erst gut aus. Das
Ergebnis war dann aber doch, dass nur noch die Swap Partition vorhanden
war. Ich habe dessen Ausgabe wohl *deutlich* miss interpretiert. :-(

fdisk sieht das Kaputte dann so:

==
fdisk -l /dev/sda

Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4659ba20

Device Boot Start End Blocks Id System
/dev/sda1 * 484397056 488396775 1999860 82 Linux swap / Solaris

=
Nun bootete ich von Ubuntu, musste erst "universe" hinzu fügen, um gpart
(das grafische gparted war schon da) zu installieren. Sollte IMO bei
Ubuntu, was oft zur Datenrettung eingesetzt wird, dabei sein.

Es scheint aber zu versagen, nachdem es eine gefühlte Stunde lief.

==
gpart /dev/sda

Begin scan...
Possible partition(Windows NT/W2K FS), size(30004mb), offset(8001mb)
End scan.

Checking partitions...
Partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX): primary
Ok.

Guessed primary partition table:
Primary partition(1)
type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
size: 30004mb #s(61448624) s(16386300-77834923)
chs: (1020/0/1)-(1023/254/63)d (1020/0/1)-(4844/254/62)r

Primary partition(2)
type: 000(0x00)(unused)
size: 0mb #s(0) s(0-0)
chs: (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r

Primary partition(3)
type: 000(0x00)(unused)
size: 0mb #s(0) s(0-0)
chs: (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r

Primary partition(4)
type: 000(0x00)(unused)
size: 0mb #s(0) s(0-0)
chs: (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r

==
Partition 1 sollte Haiku (BeFS) sein, was hier zu stimmen scheint, dann
mehrfach Windows (NTFS, mit seiner "recovery" und Windows
selbst und noch einer, die zu Windows gehört, aber kein GPT), und
sda5 dann Linux, sda6 Swap.


Zum Glück konnte ich aus dieser Gruppe meine damals gepostete
Partitions-Tabelle finden. Welche nun kommt:

==
Disk /dev/sda: 250 GB, 250056737280 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 1698 13639153 eb BeOS fs
Warning: Partition 1 does not end on cylinder boundary.
/dev/sda2 1698 1710 96390 7 HPFS/NTFS
Warning: Partition 2 does not end on cylinder boundary.
/dev/sda3 1710 13868 97659135 7 HPFS/NTFS
Warning: Partition 3 does not end on cylinder boundary.
/dev/sda4 13868 30402 132809355 5 Extended
Warning: Partition 4 does not end on cylinder boundary.
/dev/sda5 13868 30153 130809262 83 Linux
Warning: Partition 5 does not end on cylinder boundary.
/dev/sda6 30153 30402 2000092 82 Linux swap
Warning: Partition 6 does not end on cylinder boundary.

==
Ich lasse eben nochmal testdisk (auch das muss man unter Ubuntu erst
installieren :-( ) laufen... Sieht auch kaputt aus. :-(

So muss ich wohl von Hand aus obiger, neulich hier gesposteter, Ausgabe
versuchen, die Partitions-Tabelle neu zu erstellen. Welches Programm
(möglichst unter Ubuntu schon vorhanden) sollte ich nehmen? Kann eines
gar obige Ausgabe parsen, wenn ich das in eine Datei stecke, um die
Tabelle neu zu erstellen?
Andreas
Linux: The choice of a GNU generation.
 

Lesen sie die antworten

#1 Andreas Kohlbach
15/02/2013 - 18:25 | Warnen spam
Andreas Kohlbach wrote on 14. February 2013:

[...]

fdisk sieht das Kaputte dann so:

==>
fdisk -l /dev/sda

Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4659ba20

Device Boot Start End Blocks Id System
/dev/sda1 * 484397056 488396775 1999860 82 Linux swap / Solaris




Mittlerweile habe ich es per testdisk geschafft, etwas zu retten...

Das sieht nun so aus:

Device Boot Start End Blocks Id System
/dev/sda1 * 16386300 77834924 30724312+ eb BeOS fs
/dev/sda2 96135168 98232319 1048576 7 HPFS/NTFS/exFAT
/dev/sda3 99641344 140533759 20446208 7 HPFS/NTFS/exFAT
/dev/sda4 140536620 488408129 173935755 f W95 Ext'd (LBA)
/dev/sda5 166508544 207400959 20446208 83 Linux
/dev/sda6 222783488 484395007 130805760 83 Linux
/dev/sda7 484397056 488396775 1999860 82 Linux swap / Solaris

Ich habe nun noch eine Partition mehr; Linux wird als zwei Partitionen
angezeigt. :-(

Boote ich davon, kommt ein "rescue grub" Prompt und davor "Unknown
filesystem".

Ich habe auch nochmal gparted darauf los gelassen von Ubuntu USB. Es war
nicht erfolgreich und meinte am Ende etwa, dass der letzte Zylinder von
sda4 (dem "extended container") nicht hinter dem Ende der (gesamten)
Festplatte liegen könne. Also scheint bei

/dev/sda4 140536620 488408129 173935755 f W95 Ext'd (LBA)
^^^^^^^^^
/dev/sda5 166508544 207400959 20446208 83 Linux
/dev/sda6 222783488 484395007 130805760 83 Linux
/dev/sda7 484397056 488396775 1999860 82 Linux swap / Solaris
^^^^^^^^^
das Problem zu liegen, welches testdisk falsch geraten hat.

Vermutlich könnte ich sda6 löschen. Aber wenn Linux sda5 dann wàre,
scheint diese zu klein zu sein. Löschte ich sda5, bliebe das Problem.

Immerhin kann ich im Filemanager von Gnome die Linux Partition sehen und
auch mounten, wenn ich Ubuntu von USB boote. Auch wenn es jammert in dmesg.

EXT4-fs (sda2): INFO: recovery required on readonly filesystem
EXT4-fs (sda2): write access will be enabled during recovery
EXT4-fs (sda2): no journal found
EXT4-fs (sda3): ext4_check_descriptors: Block bitmap for group 0 not in group (block 4294967295)!
EXT4-fs (sda3): group descriptors corrupted!
EXT4-fs (sda5): ext4_check_descriptors: Block bitmap for group 0 not in group (block 4294967295)!
EXT4-fs (sda5): group descriptors corrupted!

Aber keine der anderen Partitionen ist sichtbar im Filemanager oder zu
mounten.

Aber warum er bei sda2 und sda3, was NTFS laut Filetype sein sollte,
einen etx4 Check macht, weiss ich auch nicht. Nur sda5 (oder sd6a?) ist
ext4! Und sda2 sollte ebenfalls Windows sein, also nix mit einem Journal,
was er finden könnte.

Ich habe mal den aktuellen mbr gesichert, mit dem zumindest die Linux
Partition sich von außerhalb (Ubuntu) mounten làsst, so dass ich zum
Status Quo zumindest zurück komme, falls sich die Sache verschlimmern
sollte *was anzunehmen ist ;-).

Hat jemand noch Ideen dazu, wie ich weiter vorgehen sollte?
Andreas
Linux: The choice of a GNU generation.

Ähnliche fragen