Etwas Hintergrund
- Die Festplatte selbst wurde von einem Freund "bearbeitet" und soll noch intakt, unbeschädigt und noch einbaufähig / wiederherstellbar sein
- Die Festplatte war Teil eines Software-Raids 1 auf Ubuntu 12.04
- Die andere Festplatte im ursprünglichen RAID 1 wurde formatiert und für einen anderen Zweck verwendet, sodass die aktuelle Festplatte (die fragliche) technisch gesehen immer noch Teil eines RAIDs ist, der nicht mehr existiert
Was ich schon ausprobiert habe
Grundmontage
- Ich fügte einen Eintrag zu fstab hinzu, markierte die Festplatte als ext3 / ext4 und versuchte zu mounten.
Beim Mounten erscheint der folgende Fehler
wrong fs type, bad option, bad superblock on
Und in dmesg
EXT4-fs (sdc1): VFS: Can't find ext4 filesystem
Ich habe versucht, den Dateisystemtyp des Datenträgers zu finden und habe mit gefunden
$sudo file -s /dev/sdc
/dev/sdc: x86 boot sector; partition 1: ID=0x83, starthead 254, startsector 63, 1953520002 sectors, code offset 0xb8
Wo ich Hilfe brauche / Meine Fragen
- Gibt es eine Möglichkeit, die Festplatte in ext4 zu konvertieren, ohne die Daten zu beschädigen?
- Gibt es eine einfache Möglichkeit, die Linux 83-Datenträger zu mounten und die Daten wiederherzustellen?
- Ich habe momentan eine andere Festplatte frei, falls es möglich ist, den Raid irgendwie neu zu erstellen
- Mein Hauptziel ist es, die Daten von der Festplatte wiederherzustellen. Ich bin offen für alle Möglichkeiten.
Aktualisieren
Ausgabe einiger Befehle
fdisk -l / dev / sdc
$fdisk -l /dev/sdc
Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 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: 0x0005ed9c
Device Boot Start End Blocks Id System
/dev/sdc1 63 1953520064 976760001 83 Linux
Datei -s / dev / sdc1
$file -s /dev/sdc1
/dev/sdc1: data
hexdump -C -n 32256 / dev / sdc (nicht sicher, ob dies helfen könnte oder nicht)
$hexdump -C -n 32256 /dev/sdc` 00000000 fa b8 00 10 8e d0 bc 00 b0 b8 00 00 8e d8 8e c0 |................| 00000010 fb be 00 7c bf 00 06 b9 00 02 f3 a4 ea 21 06 00 |...|.........!..| 00000020 00 be be 07 38 04 75 0b 83 c6 10 81 fe fe 07 75 |....8.u........u| 00000030 f3 eb 16 b4 02 b0 01 bb 00 7c b2 80 8a 74 01 8b |.........|...t..| 00000040 4c 02 cd 13 ea 00 7c 00 00 eb fe 00 00 00 00 00 |L.....|.........| 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 000001b0 00 00 00 00 00 00 00 00 9c ed 05 00 00 00 00 fe |................| 000001c0 ff ff 83 fe ff ff 3f 00 00 00 82 59 70 74 00 00 |......?....Ypt..| 000001d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |..............U.| 00000200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00007e00
mount -f ext4 /dev/sdc1 /mountpoint
sollte den Trick machen. Mount zu zwingen, ext4 anzunehmen, anstatt nach einem Dateisystem zu suchen , ist das, was -f tutdf
zeigt mir, dass die neu bereitgestellte Festplatte zu 2% verwendet wird, was erheblich niedriger als erwartet ist.mount -t ext4
? Das -f-Flag ist für das 'Fake'-Mounten (Ubuntu 14.04).Antworten:
Dies funktioniert hervorragend in Ubuntu 14.04:
Sie erhalten:
Dann mounten und sehen Sie Ihre Dateien:
quelle
/dev/sdc
und als/dev/md127
. Dann warmdadm --assemble --scan
die Folge/dev/md/Volume0_0p1
und/dev/md/Volume0_0p2
und so weiter entsprechend 4 Partitionen , die auf der Platte waren. P2 war das, was ich brauchte:mkdir /p2
gefolgt vonmount /dev/md/Volume0_0p2 /p2
gemountetem EXT3, und ich kann leicht auf die Daten zugreifen und sie kopieren. Es wurde auch als Lese- / Schreibzugriff aktiviert.--scan
startet der Modus keine Arrays mit fehlenden Datenträgern. In meinem Fall musste ich das automatisch zusammengestellte Array anhalten und es erneut mitmdadm --assemble --force /dev/md/1 /dev/sdc1
Linux mdraid hat mehrere Metadatenformate . In den Formaten 0.9 und 1.0 befinden sich die Metadaten am Ende des enthaltenen Geräts. Die Nutzdaten (das Dateisystem) beginnen am Anfang des Geräts und können direkt aufgerufen werden, ohne die RAID-Ebene zu durchlaufen. In den Formaten 1.1 und 1.2 werden die Metadaten jeweils in der Mitte und am Anfang des enthaltenen Geräts platziert, sodass die Nutzdaten versetzt sind.
Das Ubuntu-Installationsprogramm erstellt Volumes mit dem Metadatenformat 1.2, sodass Ihre Daten nach den Metadaten und nicht am Geräteanfang beginnen.
Der einfachste Weg, auf diese Daten zuzugreifen, besteht darin, das RAID-Gerät zusammenzustellen. In einem RAID-1-Volume ist ein einzelnes Gerät ausreichend.
(Hör hier auf, es sei denn, du magst Schmerzen.)
Sie können auch versetzt auf die Daten zugreifen. Der einzige Punkt, den ich tun kann, ist, wenn Sie in einem sehr alten Kernel arbeiten müssen, der keine 1.x mdraid-Formate unterstützt. Bestimmen Sie zunächst den Versatz
mdadm -E /dev/sdc1
: Suchen Sie nach der LinieData Offset : SSS sectors
. Ein mdadm-Sektor besteht aus 512 Bytes.Verzweifelt wird der Datenoffset bei 1.x-Formaten in den Bytes 128–135 der Metadaten Little Endian¹ gespeichert. 1.2 Metadaten sind 4096 Bytes nach dem Geräteanfang.
Sie können die Partitionstabelle auch ändern, um sie weiter zu starten. Sei sehr vorsichtig mit deiner Arithmetik. Tun Sie dies nur, wenn Sie die Festplatte in einem alten System, das nicht auf das RAID-Gerät zugreifen kann, dauerhaft verwenden möchten.
¹ Oder mit Plattformendlichkeit? Ich bin mir nicht sicher.
quelle
mdadm -E /dev/sdc1
wo genau), aber sicher nicht bei 4k für 1.2-Metadaten, da 4k genau dort ist, wo die Metadaten gespeichert sind. Siehe auch unix.stackexchange.com/q/57477/22565mdadm -A /dev/sdc1
Ausgängemdadm: device /dev/sdc1 exists but is not an md array.
Ich bin ein bisschen weiter gegangen, um mdadm zu verwenden und zu sehen, ob es zusätzliche Informationenmdadm --misc --examine /dev/sdc1
gibt ... Ausgängemdadm: No md superblock detected on /dev/sdc1.
. Gibt es eine Möglichkeit, die Superblocks auf dieser Festplatte neu zu schreiben, um sie als verfügbare Festplatte für die RAID-Assembly zu markieren?mdadm -E /dev/sdc
gibt folgendes für mich zurück:/dev/sdc: MBR Magic : aa55 Partition[0] : 1953520002 sectors at 63 (type 83)
aber keine Informationen für / dev / sdc1 obwohlZu meiner Überraschung war / bin ich in der Lage, die Daten einfach mit Hilfe von vorderster Front wiederherzustellen .
Die hier erhaltene Hilfe war von unschätzbarem Wert. Nachdem ich eine Vielzahl von vorgeschlagenen Kombinationen sowie meine eigenen Mix-Ins ausprobiert hatte, schien die ideale Methode (die Festplatte wie gewohnt zu mounten und zu verwenden) keine Option mehr zu sein. Der Rückgriff auf Datenrettung ist in diesem Fall meine Lösung.
quelle
Es scheint, dass Sie den mdadm-Superblock bereits gezappt haben. Wenn es dort war und das Format 1.1 oder 1.2 hatte, ist das Dateisystem höchstwahrscheinlich um 2048 Sektoren versetzt. Sie können ausführen, um
e2fsck /dev/sdc1?offset=2048
zu erzwingen, dass ab diesem Versatz nach dem Dateisystem gesucht wird. Wenn es es findet, können Sie Ihre Partitionstabelle so ändern, dass sie darauf verweist, wo das Dateisystem tatsächlich startet. Sie könnenparted /dev/sdc
und denunit s
Befehl verwenden, um Einheiten von Sektoren zu verwenden.print
Beachten Sie in der Tabelle den Start- und Endsektor, dannrm
die Partition, erstellen Sie sie erneutmkpart
und verwenden Sie denselben Endsektor, fügen Sie jedoch den Offset zum Startsektor hinzu.Wenn 2048 nicht funktioniert, können Sie es auch mit 1985 versuchen.
quelle
e2fsck /dev/sdc1?offset=2048
Ausgaben (ich habe auch offset = 1985 ausgeführt)Bad magic number..Superblock invalid...
sowie der Hinweis, dass der Superblock beschädigt ist, und der Versuch, e2fsck mit einem alternativen Superblock auszuführen. Es scheint, als sollte ich einen alternativen Superblock anbieten, um vorwärts zu kommen.testdisk
sollte in der Lage sein, einen detaillierten Scan durchzuführen und die Partitionstabelle für Sie zu reparieren.testdisk
ist für mich völlig Neuland. Eine einfache Run (Analyse) -ShowNo ext2, JFS, Reiser.. marker. Bad relative sector. No partition is bootable.
Sie bietet außerdem Folgendes:1 P Linux 0 1 1 121600 254 63 1953520002
Wie kann ich das verstehen, um der Situation zu helfen?