gdisk, führen Sie eine nicht dauerhafte Korrektur einer beschädigten GPT-Tabelle durch

gdisk, führen Sie eine nicht dauerhafte Korrektur einer beschädigten GPT-Tabelle durch

Mein Laptop kann nicht booten. Ich führe Ubuntu 18.04 live von einem bootfähigen USB-Stick aus. Die 500 GB große Festplatte /dev/sda, die GPT verwendet, wurde nicht automatisch gemountet.

lsblkzeigt nur die Festplatte, nicht die Partitionen; fdiskkann diese stattdessen anzeigen.

gdiskzeigt den gleichen Fehler wie indiese Seite(Abschnitt „Halbautomatische Wiederherstellung“):

# gdisk /dev/sda
GPT fdisk (gdisk) version 0.7.2

Warning! Main partition table CRC mismatch! Loaded backup partition table
instead of main partition table!

recovery/transformation commandAnschließend wird auf der verlinkten Seite im Abschnitt „Manuelle Wiederherstellungsverfahren“ eine Liste mit Optionen für angezeigt. Dabei wird Folgendes angegeben:

Sie können mit allen gerade beschriebenen Optionen (außer w) experimentieren; keines der Datenwiederherstellungstools führt sofortige Schreibvorgänge auf der Festplatte aus.

Ich habe nicht verstanden, wie man überprüfen kann, ob diese Optionen funktionieren oder nicht, bevor man dauerhafte Änderungen vornimmt.

gdiskIst es mit möglich, vorübergehend zu verwenden backup partition table, sodass Ubuntu die /dev/sdaFestplattenpartitionen mounten und die Festplatte dann unverändert lassen kann, wenn Ubuntu heruntergefahren wird?

Antwort1

Ihr Betriebssystem muss die Partition nicht erkennen. Sie können (versuchen), das gesamte Gerät mit dem richtigen Offset zu mounten. Wenn Sie beispielsweise vermuten (oder ein Tool Ihnen dies mitteilt), dass die Partition bei Sektor 2048(ein recht häufiger Wert bei logischen Sektoren mit 512 Byte) begann, versuchen Sie Folgendes:

sudo mount -o ro,offset=$((2048*512)) /dev/sda /some/mountpoint

( ronur für den Fall, ohne sie wäre es das -o offset=$((2048*512))). Wenn es gemountet wird und der Inhalt vernünftig aussieht, ist der Startsektor richtig.

Dies kann die Sektornummer 256für logische Sektoren mit 4096 Byte sein. Beachten Sie, dass $((256*4096))und $((2048*512))dieselbe Nummer sind.

Und wenn Sie von einem Tool aufgefordert werden, ab Sektor zu beginnen 14649344, verwenden Sie diesen offset=$((14649344*512))(bei angenommenen 512-Byte-Sektoren).

Microsoft hat früher gerne von gestartet 63(wegen des üblichen Wertes von 63 Sektoren pro Spur in CHS, nehme ich an), aber das war vor GPT. Wenn Sie jemals erraten müssen, wo ein Windows aus der XP-Ära C:\startet, versuchen Sie es mit offset=$((63*512)).


Sie sagten, fdiskes könne eine vernünftige Partitionsstruktur dargestellt werden. Dies sollte Ihr Ausgangspunkt sein.

Wenn fdiskdas nicht hilft, testdiskwäre das nächste Tool, das Sie ausführen sollten. Ich glaube, es kann nach verlorenen Partitionen suchen und ihre Startsektoren anzeigen, ohne das Laufwerk zu ändern. Dies sollte Ihnen Offsets zum Ausprobieren geben.

verwandte Informationen