GPT scheint defekt

  • Thread starter Thread starter ralli
  • Start date Start date
R

ralli

Guest
Vorgestern habe ich meine externe USB Festplatte nach dieser Anleitung formatiert:

http://denkrobat.de/wiki/index.php/Festplatte_formatieren

Das hat auch funktioniert und ich habe bereits meine Daten auf dieser HD gesichert.

Bei der Eingabe von dmesg stelle ich mit Schrecken fest, das meine GPT nicht gültig oder defekt sein soll.

da0 at umass-sim0 bus 0 scbus3 target 0 lun 0
da0: <SAMSUNG HM500JI > Fixed Direct Access SCSI-2 device
da0: 40.000MB/s transfers
da0: 476940MB (976773168 512 byte sectors: 255H 63S/T 60801C)
GEOM: da0: the secondary GPT table is corrupt or invalid.
GEOM: da0: using the primary only -- recovery suggested.
GEOM: ufsid/515d25808b58b139: the secondary GPT table is corrupt or invalid.
GEOM: ufsid/515d25808b58b139: using the primary only -- recovery suggested.
GEOM: ufs/backup: the secondary GPT table is corrupt or invalid.
GEOM: ufs/backup: using the primary only -- recovery suggested.

Allerdings lässt sich die Platte mit mount /dev/da0 /media mounten

und alle Daten sind da und unversehrt. Besteht da trotzdem die Gefahr eines Datenverlustes oder muss ich was unternehemen, das die GPT repariert?
 
Also, GPT schreibt zwei Partitionstabellen. Eine in den zweiten Sektor der Festplatte und eine in den letzten. Beide Tabellen müssen gleich sein. Geht eine von ihnen verloren, können die Partitionen noch aus der anderen gelesen werden. Das macht GPT deutlich robuster als das MBR-Schema, wo eine verlorene Partitionstabelle oft in der Katastrophe endete... Bei dir ist die zweite Tabelle im Eimer, wobei mir nicht ganz klar ist, wie das passierte. Du kannst sie zwar mit "gpart recover da0" wiederherstellen, jedoch ist die Frage, ob es eine gute Idee ist. Wenn z.B. das Dateisystem sie überschrieben hat, würdest du es damit beschädigen. Was dann wirklich zu Datenverlust führen kann.
 
Kann das sein, das das passiert ist, weil ich diesen Vorgang, weil er mir zu lange dauerte abgebrochen habe?

dd if=/dev/zero of=/dev/adX bs=4M

Nun, da ich alle Daten ja auf der internen Platte gesichert habe, könnte ich die externe Platte noch ein Mal neu formatieren.

Danach mach ich sie immer durch

chown -R ralph:ralph /media zu meinem Eigentümer

wobei /media ja der Mountpoint ist und mit

chmod -R 744 /media

schreibfähig.
 
So recovert habe ich GPT vorsichtshalber nicht. Aber mir erscheint es merkwürdig, das es diese Option gibt, wenn sie so gefährlich ist. Dafür habe ich alles neu partitioniert und formatiert sowie gelabelt und nun ist natürlich die Fehlermeldung weg.
 
Nunja.
Es gibt in der Tat eine ganze Menge gefährliche Kommandos und Optionen in einem Unix-System, dd gehört sicherlich zu den aller gefährlichsten überhaupt.
Vielleicht kann man das etwas vereinfacht auch so ausdrücken, dass alles, wozu man root werden muss, extrem gefährlich sein kann. Da sollte man sehr genau überlegen und wissen, was man macht oder eben bereit sein, Lehrgeld zu bezahlen (wie es mir meistens ergeht).

Wenn du dd wie erwähnt einsetzt, dann schreibst du lauter 4M große Blöcke mit Nullen auf dein Medium. Das ist recht langsam, weil ja wirklich jedes Bit geschrieben wird und es dauert deshalb, besonders bei langsamen Medien, was ja in der Regel bei externen Medien gilt. USB-Sticks etwa, können schon mit wenigen GB Größe zur Geduldsprobe werden, da kann man sicher verstehen, dass große Platten wirklich lange brauchen können.
Deshalb überschreiben sehr viele Nutzer nicht alles mit Nullen, sondern nur die ersten paar Blöcke, in denen alles das steht, was für die Aufteilung der Platte wichtig ist. Damit können die dann noch vorhandenen Daten nur mit großem Aufwand wieder gefunden und manchmal auch restauriert werden. Wichtiger ist, dass damit der Bereich am Anfang der Platte wirklich leer ist, den du nun mit neuer Information füttern willst.
Der Bereich am Ende der Platte bleibt dann meist unverändert und da könnte vielleicht irgendein Unsinn drin stehen.
Wenn du aber deine Platte nun mit GPT neu einrichtest, wird auch das Ende der Platte neu beschrieben. Zu dieser Zeit sollte dann die Platte in Ordnung sein und dein neuer GPT funktionieren.
Schreibst du danach dann in einen der "beiden GPT"-Bereiche etwas hinein, etwa mit dd, dann gilt das nicht mehr. Zerstörst du so etwa den Bereich am Ende der Platte, bekommst du entsprechende Fehlermeldungen. So etwas sollte natürlich nie vorkommen, aber es gibt durchaus mögliche Szenarien, die so etwas bewirken. Ein mögliches Szenario ist ein Defekt der Platte, der ausgerechnet dort wirkt, wo dein Backup des GPT liegt. Ziemlich unwahrscheinlich, aber immerhin. Wie auch immer, solche Fälle kannst du dann reparieren, indem du den "zweiten GPT" nach der Vorlage aus dem ersten wieder neu bildest.
Was du dann da hinein schreibst, ist dann natürlich gültig und das wiederum sollte man nur machen, wenn man sicher ist, dass die Information auch stimmt. Es könnte ja auch sein, dass der "erste GPT" zu Schaden gekommen ist und dann will man das ja nicht in den "zweiten GPT" transportieren, denn eine Korrektur wird dann immer schwieriger.zweiten GPT

edit, PS: was ich vergaß. Ein mögliches Szenario, wie auch immer das erklärt werden könnte, wäre, dass dein Dateisystem selbst in den Bereich der "zweiten GPT" schreibt und den verändert. Das sollte niemals vorkommen, denn das Dateisystem darf diesen Bereich natürlich nicht nutzen. Wenn es aber vorgekommen ist und du nun den GPT wieder herstellst, dann veränderst du ja das, was auch immer dein Dateisystem dort hin geschrieben hatte und machst es damit vielleicht vollkommen unbrauchbar, verlierst vielleicht deine Daten. Deshalb kannst du erst alles sichern, so stabil ist GPT, es funktioniert trotz eines an sich sehr schwerwiegenden Fehlers. Ist alles gesichert, kannst du bedenkenlos den GPT recovern, aber an der Stelle spricht auch nichts dagegen, die Platte neu aufzusetzen und dann die gesicherten Daten zurück zu spielen.
Yamagi meinte wahrscheinlich genau dieses und warnte deshalb vor Gebrauch des Kommandos, nicht, weil es allgemein-gefährlich ist.
 
Last edited:
Danke pit234a für Deinen informativen Beitrag, ich habe aus diesem lehrreichen Thread sehr viel gelernt. Noch bin ich in der Lernphase, aber ich habe nie mehr in kürzester Zeit über "mein" Betriebssystem gelernt, als mit FreeBSD. Natürlich bringe ich mich auch selbst ein und recherchiere vorher, doch manchmal sind die Antworten von Tante Google dünn gesät. Es ist weiterhin mein brennender Wunsch, hinter die Fassade zu schauen und zu wissen, wie es eben funktioniert. Wenngleich auch die Wikis sehr wertvoll sind, so sind sie natürlich auch kompakt zusammengefaßte Fakten, um das Wesentliche zu vermitteln. Dein Beitrag aber geht in die Tiefe und weckt mein Verständnis auch nicht nur für das WIE sondern für das WARUM. So macht das Lernen wirklich Spaß und Freude. Im übrigen gilt das auch für Yamagi's Beiträge oder die von Kamikaze und vieler Anderer, die hier nicht explizit genannt werden. Manche Fragen erscheinen den Experten möglicherweise als banal, aber das läßt sich nicht immer verhindern, wenn tiefer in die Materie eingedrungen werden will. Der Umstieg oder die Konvertierung nach FreeBSD ist mir nach 15 Jahren Linux nicht leicht gefallen, es war und ist für mich auch ein historischer Einschnitt. Aber die hilfreichen und von sachlicher und fachlicher Kompetenz getragenen Antworten haben jeden Zweifel beseitigt, das diese Entscheidung richtig war. Ja, und ich bin auch bereit, Lehrgeld zu zahlen, zu lernen aus Versuch und Irrtum. Noch gehöre ich zu den Nehmenden und freu mich auch auf den Augenblick, wo ich etwas zurück geben kann und darf. Jeder Fehler (kann)) eine verkleidete Wohltat sein, vorausgesetzt, wir lernen aus ihm. Also nochmals vielen Dank für Deine Unterstützung und Mühe.
 
Last edited by a moderator:
das hört sich doch mal gut an!
Wenn du das vertiefen willst, empfehle ich dir zunächst diesen Artikel über den MBR:
http://de.wikipedia.org/wiki/Master_Boot_Record
und dann natürlich auch http://de.wikipedia.org/wiki/GUID_Partition_Table zum GPT Schema.
Weil ich aber das letztere nicht gut verstand, habe ich damit selbst herumgespielt und aufgeschrieben und farbig unterlegt, was ich fand. Dabei haben mir Fragen in manchen Foren geholfen und es wurden mir auch Fehler genannt, die ich nicht korrigierte (so weit ich mich entsinne). Ich hatte nie wirklich vor, diese Mitschrift zu präsentieren, aber ich halte einige Beispiele darin für gut nachvollziehbar, wenngleich sich das nicht unbedingt bei einfachem Nachlesen erschließt. Erst genaueres Hinsehen und selbst mal rechnen wird vielleicht den AHA-Effekt bringen. Das ist hier zu finden: http://weispit.eu/GPT.pdf

Allerdings wird der AHA-Effekt vermutlich nur von kurzer Dauer sein. So war es jedenfalls bei mir. Wenn das Thema mir wieder unter kommt, muss ich da wieder neu nachdenken und natürlich kann dann so eine Mitschrift schon ein wenig helfen, aber auswendig behalten tue ich mir da kaum etwas.
 
Natürlich werde ich mir alles anschauen und durcharbeiten. Einen USB Stick dafür zur Hilfe zu nehmen ist eine gute Idee.
 
Back
Top