Meine Festplatte ist abgestürzt und eine Wiederherstellungsfirma konnte alles auf eine andere, neue Festplatte kopieren.
Ich glaube, sie haben dd oder ähnliches verwendet.
Es hatte zwei XFS-Partitionen. Aber jetzt kann ich nur die erste mounten.
Wenn ich versuche, die Partitionen mit gparted anzuzeigen, heißt es:
Can't have a partition outside the disk
Es scheint, dass die neue Festplatte etwas kleiner war als das Original (verschiedene Modelle).
Update, mein Verdacht hat sich bestätigt:
fdisk -l -u=sectors
Disk /dev/sdd: 9,1 TiB, 10000797794304 bytes, 19532808192 sectors
Disk model: Elements 25A3
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Device Start End Sectors Size Type
/dev/sdd1 2048 9766436863 9766434816 4,6T Linux filesystem
/dev/sdd2 9766436864 19532871679 9766434816 4,6T Linux filesystem
Aber die Zahlen stimmen nicht überein!:
19532808192-9766434816-9766434816-2048=63488
Wie kann ich die Partitionstabelle und das XFS-Dateisystem aktualisieren, damit sie auf die aktuelle Festplatte passen?
Antwort1
Wenn das Problem ausschließlich bei der Partitionstabelle liegt (wenn das Dateisystem selbst tatsächlich innerhalb der Grenzen liegt), können Sie trotzdem ein Loop-Gerät verwenden, um auf die falsche Partition zuzugreifen:
losetup --find --show --read-only --offset=$((9766436864*512)) /dev/sdx
Wenn das Dateisystem größer als das Gerät ist, müssen Sie es auf ein größeres Gerät kopieren oder ein größeres Gerät über den Device Mapper emulieren (dmsetup erstellt ein lineares Ziel). Wenn Sie bereits alles auf gesichert haben /dev/sdd1
, können Sie es kopieren /dev/sdd2
und /dev/sdd1
dann die erste Partition vergrößern.
Es gibt also mehrere Möglichkeiten, dieses Problem anzugehen. Ob das jedoch überhaupt funktioniert, hängt davon ab, wie wichtig die fehlenden paar Megabyte für das Dateisystem waren. Sie werden diese nicht zurückbekommen.