2. Partition "versaut"

Message
Author
winner
Posts: 16
Joined: 04. Sep 2005 13:32

2. Partition "versaut"

#1 Post by winner »

Hi
folgendes Problem :
In meiner alten Linux - Installation hatte ich einmal 10 GB für das System und eine 30 GB Partition für /home.
Ein Bekannter wollte, das ich seine neue Distri ausprobiere und bei der Installation ging etwas daneben : Statt 10 GB System -> 11.5 GB, und das /home verkleinerte sich entsprechend. Als ich das ganze bemerkte war es zumindest teilweise zu spät : die neue Partitionstabelle war schon abgespeichert ( aber noch nix formatiert ).
Jedoch komme ich trotz Wiederherstellung der alten Partitionsdaten nicht mehr an die Daten der alten /home heran.
Aktuell genutztes OS : SUSE 9.2

Auch Yast zeigt bei Reperaturversuchen die weiße Flagge.
Ich würde gerne zumindest einen Teil der alten Daten retten ( immerhin war die Partition zu 98% voll ).
Wer einen Tip hat ........

klopskuchen
prolinux-forum-admin
Posts: 1444
Joined: 26. Jun 2004 21:18
Contact:

#2 Post by klopskuchen »

1. Zweite Platte einbauen.
2. Partition auf zweiter Platte anlegen die ebenfalls min. 30GB gross ist. Zuvor mit gleichem Dateisystem wie /home formatieren.
3. Eine weitere Partition auf dieser Platte anlegen, auf die die wiedergefundenen Daten später geschrieben werden können.
4. dd if=/dev/deine_home-partition of=/dev/deine_neue-partition_auf_der_anderen_platte

Danach die /home auf der alten Platte "unmounten" und nicht mehr anrühren. Mit der Kopie auf der anderen Platte arbeiten.
Welches Dateisystem?

MfG, Klopskuchen
When all else fails, read the instructions .

winner
Posts: 16
Joined: 04. Sep 2005 13:32

#3 Post by winner »

ext2 ( von Reiser bin ich nicht überzeugt )

na ja - ne 80 GB Platte für diese Rettung kaufen ? ( 2x 30 GB= 60 - und da ist glaube ne 80er nötig ) - Da werde ich wohl zwangsweise mein Buget ändern müssen ... - Da stand als nächstes die neue Farbe für den Drucker drin :roll:

Aber falls es ne Möglichkeit gibt, das auch in `nem ein-Platten-System zu machen - her damit ( weiß auf weiß drucken ist so unleserlich ) :D
Aktuell arbeite ich nur auf Partition 1 - und ich habe eh vor, sobald die Daten zugänglich sind, ne CD-Grillparty anrollen zu lassen und die "defekte" 2. Partition neu zu formatieren
Ich habs auch schon mit e2fsck + Superblock versucht - aber dessen Kopien zu finden ? nach 3 Std Tipperei + Raterei war ich reif für 4 Tage PC-Zwangspause

Gruß winner

klopskuchen
prolinux-forum-admin
Posts: 1444
Joined: 26. Jun 2004 21:18
Contact:

#4 Post by klopskuchen »

Guck mal unter viewtopic.php?t=1029151 . Dort stehen einige Links zu Programmen die "gelöschte" Dateien wiederholen können.

Wenn du per Hand murksen willst:
mount -o ro /home
debugfs /dev/deine_home-partition

Das Programm debugfs läuft interaktiv. Mit der Eingabe von help kannst du dir die zulässigen Operationen anzeigen lassen (interessant sind vor allem lsdel und dump). Aber mit einem fertigen Prog, siehe oben, fährst du wohl besser.

MfG, Klopskuchen
When all else fails, read the instructions .

winner
Posts: 16
Joined: 04. Sep 2005 13:32

#5 Post by winner »

Grundidee ist nicht schlecht, nur ......

mounten ist nicht möglich - superblock ist versaut - und anscheinend auch die von e2fsck vorgeschlagene Kopie bei 8193 .....

e2fsck, debugfs, dumpe2fs und auch der "nette" mount-Befehl ergeben nur folgende Fehlermeldung :
wrong fs or bad superblock ..... use a copy on 8193 .....

und von Hand ne 30 GB Partition nach weiteren Kopien des Superblocks zu fahnden ist schlimmer wie die Suche nach der Nadel im Heuschober .... :roll:
( Laut Partitonsmanager ist aber auf der Partition eine ext2 - Fs erkennbar ... ) :shock:

klopskuchen
prolinux-forum-admin
Posts: 1444
Joined: 26. Jun 2004 21:18
Contact:

#6 Post by klopskuchen »

Hm ,hätt ich auch eher sehen können. Daten aus einer Partition mit zerschossenem Superblock musste ich zum Glück noch nicht rauspopeln.

> wrong fs or bad superblock ..... use a copy on 8193 .....
Ist ja schon mal was. Zum selbst Probieren hab ich leider keine Zeit (und vorläufig noch keine Ahnung ;) ) aber du kannst versuchen mit fsck.ext2 weiterzukommen indem du das Backup des Superblocks benutzt, das die Fehlermeldung ausgespuckt hat:
fsck.ext2 -b 8193 /dev/da_wo_home_liegt

MfG, Klopskuchen
When all else fails, read the instructions .

winner
Posts: 16
Joined: 04. Sep 2005 13:32

#7 Post by winner »

Bereits versucht ... ohne erfolg :cry:
und auch 16385 ( 8192*2 +1 ) ....
und die fehlermeldung das ich die Kopie bei 8193 benutzen soll, bekomme ich auch bei der Verwendung dieses Blockes.

Ich vermute mal bei der Fehl-Partitionierung ( 1 GB verschoben ) gingen die entsprechenden Daten massiv den Bach herunter ....
hab auch via bash - Script + For- Schleife die Suche nach ner Intakten Superblock-Kopie versucht ... aber weder dumpe2fs noch e2fsck fanden was brauchbares zwischen 0 und 69999 :evil:

Von daher sehe ich im Moment folgende Möglichkeiten :

1. 2. Platte + dd... probieren ( Sehe die Chancen 50:50 )
2. Parition formatieren ( dann iss ja der SB wieder da + dann ein unformat ( falls das überhaupt machbar ist .... )
3. .......
....
999. Auf die Daten verzichten ( und davor leg ich mich mit Honig eingepinselt in nen Ameisenhaufen :twisted: )

P.S. :
fsck.ext2 = e2fsck :wink:

User avatar
Scory
Posts: 188
Joined: 16. Apr 2004 12:36

#8 Post by Scory »

>1. 2. Platte + dd... probieren ( Sehe die Chancen 50:50 )

Realistisch liegen die "Chancen" bei 0:100.

>2. Parition formatieren ( dann iss ja der SB wieder da + dann ein unformat ( falls das überhaupt machbar ist .... )

Immernoch 0:100.

>Auf die Daten verzichten ( und davor leg ich mich mit Honig eingepinselt in nen Ameisenhaufen Twisted Evil )

Kauf Dir schonmal Honig. Und such nen Ameisenhaufen. Die Daten sind weg, das ist so sicher wie das Amen in der Kirche.

gast

#9 Post by gast »

Wenn es eine erweiterte Partition war(?), wurde ja bei 11.5GB die Partitionstabelle der erweiterten Partition geschrieben. Aber eben nur an dieser Stelle, es sollten also genügend Superblöcke drüber sein. Vielleicht doch die alte PT nicht so recht wieder hergestellt?

Udo M.

gast

#10 Post by gast »

Wie hast Du denn wieder hergstellt?
Deine 2. Partition beginnt bestimmt nun wo anders als früher, deshalb findest nichts.
> und auch 16385 ( 8192*2 +1 ) ....

gast

#11 Post by gast »

klopskuchen wrote:1. Zweite Platte einbauen.
2. Partition auf zweiter Platte anlegen die ebenfalls min. 30GB gross ist. Zuvor mit gleichem Dateisystem wie /home formatieren.
3. Eine weitere Partition auf dieser Platte anlegen, auf die die wiedergefundenen Daten später geschrieben werden können.
4. dd if=/dev/deine_home-partition of=/dev/deine_neue-partition_auf_der_anderen_platte

Danach die /home auf der alten Platte "unmounten" und nicht mehr anrühren. Mit der Kopie auf der anderen Platte arbeiten.
Welches Dateisystem?

MfG, Klopskuchen
Wenn Du eine Partition klonst, brauchst Du doch kein Dateisystem anlegen!!!
Erst
mkfs... /dev/neue-partition
und dann
dd ... of=/dev/neue-partition
, also, da spar ich mir doch das mkfs (und jegliches (un)mount).

Udo M.

winner
Posts: 16
Joined: 04. Sep 2005 13:32

#12 Post by winner »

gast wrote:Wenn es eine erweiterte Partition war(?), wurde ja bei 11.5GB die Partitionstabelle der erweiterten Partition geschrieben. Aber eben nur an dieser Stelle, es sollten also genügend Superblöcke drüber sein. Vielleicht doch die alte PT nicht so recht wieder hergestellt?

Udo M.
Ok. - mal detailliert :oops:
Auf der Platte waren ( und sind ) 2 primäre Partitionen : Root ( System ) + /home )
Root alt : 10,0 GB
home alt : 29,3 GB
Suse 8.2

Fehlerhafte Neuinstallation Mandrake 9.x
Root : 11.5 GB
Home : 27.8 GB
abbruch während des formatierens der Root-Partition

Danach neuinstallation Suse 9.2 ( 4 wochen später )
Root + home neu : 10,0 GB
home alt : 29,3 GB
wobei ich nur die Root formatieren liess ...
gast wrote:Wie hast Du denn wieder hergstellt?
Deine 2. Partition beginnt bestimmt nun wo anders als früher, deshalb findest nichts.
> und auch 16385 ( 8192*2 +1 ) ....
Der Partitionsmanager / Yast erkennt auf der "versauten 2. Partition ein Linux-Native - Dateisystem ...
aber keinen Superblock :(
1. von hand habe ich nach einer Kopie des SB gesucht :
e2fsck -b 8180 /dev/hdb2 ( hdb2 = altes bzw defektes Home )
e2fsck -b 8181 /dev/hdb2
...
e2fsck -b 8200 /dev/hdb2
e2fsck -b 16370 /dev/hdb2
...
e2fsck -b 16400 /dev/hdb2
und dann mittels For Schleife in nem script ...

Code: Select all

for x1 in 1 2 3 4 5 6 7 8 9 
do
 e2fsck -b $x1 /dev/hdb2
 dumpe2fs -ob $x /dev/hdb2
done
for x2 in 1 2 3 4 5 6 7 8 9
do
 for x3 in 0 1 2 3 4 5 6 7 8 9
 do
   x=$x2$x3
   e2fsck -b $x /dev/hdb2
  dumpe2fs -ob $x /dev/hdb2
 done
done
das ganze habe ich dann einmal durchlaufen lassen und dann um eine weitere For-Schleife erweitert ....
zuetzt :

Code: Select all

for x1 in 1 2 3 4 5 6 7 8 9
do
 for x2 in 0 1 2 3 4 5 6 7 8 9
 do
 for x3 in 0 1 2 3 4 5 6 7 8 9
 do
 for x4 in 0 1 2 3 4 5 6 7 8 9
 do
 for x5 in 0 1 2 3 4 5 6 7 8 9
 do
 for x6 in 0 1 2 3 4 5 6 7 8 9
 do
 for x7 in 0 1 2 3 4 5 6 7 8 9
 do
 for x8 in 0 1 2 3 4 5 6 7 8 9
 do
   x=x1$x2$x3$x4$x5$x6$x7$x8
   e2fsck -b $x /dev/hdb2
  dumpe2fs -ob $x /dev/hdb2
 done
done
 done
done
 done
done
 done
done
bisher blieb diese "Sucherei" allerdings erfolglos :cry:
die einzigste idee, die ich noch hätte : wenn der theoretisch vorhandene Superblock ( Kopie ) zb bei 11838 liegt, akzeptiert e2fsck / dumpe2fs diesen nicht wegen der Blockgrösse ( vielfaches von 8192 ) ....
nur ... wie das beheben ?

P.S. : ich weiß das das kein vorbildliches Script ist - aber ich will damit ja auch keinen Preis in nem Programmierwettbewerb gewinnen.

klopskuchen
prolinux-forum-admin
Posts: 1444
Joined: 26. Jun 2004 21:18
Contact:

#13 Post by klopskuchen »

Was die Superblöcke (Backup) betrifft weiss ich nicht so recht weiter. Wenn es hilft: Falls du wichtige Textdateien hast, die kannst du mit ein paar Paletten Kaffee und Unmengen Zeit teilweise wiederholen. Dazu kannst du mit grep nach Zeichenketten "in" der Gerätedatei, also direkt auf der Platte suchen.
grep -n -a "Zeichenkette" /home-Gerätedatei/*
Da es bei 30GB wahrscheinlich Probleme geben wird (Hauptspeicher) und auch jeder Suchdurchlauf sehr lange dauert, kannst du die Daten der Partition häppchenweise bearbeiten indem du jeweils einen Teil in eine Datei kopierst und in ihr suchst.

Beispiel:

Code: Select all

dd count=Anzahl_Blöcke if=/home-Gerätedatei of=/tmp/blafasel.img
dd count=Anzahl_Blöcke skip=Anzahl_bisher_bearbeiteter_Blöcke if=...
Nochmal zu grep.
grep -n -a -5 ... (5 Zeilen vor und nach der Zeichenkette werden mit ausgegeben)
grep -n -a -A 5 ... (5 Zeilen nach der Zeichenkette ...)
grep -n -a -B 5 ... (5 Zeilen vor der Zeichenkette...)


MfG, Klopskuchen

edit.
> ( vielfaches von 8192 )
Was meinst du damit?
When all else fails, read the instructions .

winner
Posts: 16
Joined: 04. Sep 2005 13:32

#14 Post by winner »

mal testen ... Ram-Probleme erwarte ich weniger ( 1GB RAM ) :oops:
aber wichtige Textdateien ? - na ja ... die ganze Sache ist schwerer :
29,3 GB Speicherplatz, davon waren meines wissens ca. 25-26 GB belegt :roll:
und zwar : oo-Dateien ( da werde ich pro datei mit grep massiv spielen müssen, um dort dann das ganze file zu retten ) ( max 500 MB )

programme aus dem web, nach modifizierung compilliert ( und den source wieder in nen tar geprügelt ) .. grep ? dürfte keinen erfolg haben... ( So 20 GB ... )

und dann noch so 4-6 GB an Bildern, songs , .... ( zu verwandt mit den binarys für grep ...
und dann an wichtigen, reinen ASCII-Files ... ev 100 k

Vor allem für die Zusatzprogramme habe ich "nur" gut 3 Jahre gebraucht bis diese Ansammlung komplett war ( und das lauffähig + modifiziert )

Wunschgedanke: cp -superblock /dev/hdb1 /dev/hdb2
klopskuchen wrote:> ( vielfaches von 8192 )
Was meinst du damit?
8192 + 1 = 1. Kopie des Superblockes ... was liegt näher als zb bei 16384 ( 8192*2 +1 ) die 2. Kope, bei 24576 (8192*3 +1 ) die 3. Kopie usw zu erhoffen ? :wink:

klopskuchen
prolinux-forum-admin
Posts: 1444
Joined: 26. Jun 2004 21:18
Contact:

#15 Post by klopskuchen »

> 8192 + 1 = 1. Kopie des Superblockes ... was liegt näher als zb bei 16384 ( 8192*2 +1 ) die 2. Kope,
> bei 24576 (8192*3 +1 ) die 3. Kopie usw zu erhoffen ?

Weshalb erhoffen? Was genau hat denn dumpe2fs /dev/hdb2 ausgegeben?
When all else fails, read the instructions .

Post Reply