it-swarm.com.de

So stellen Sie eine teilweise formatierte ext4-Partition wieder her (Testdisk hat nicht geholfen)

Ich habe eine 2 TB "einzelne ext4-formatierte Partition" Festplatte. Kürzlich habe ich während der Arbeit unter Windows 7 auf demselben Computer die oben genannte Partition beschädigt. Was passiert ist, ist, dass ich beim Versuch, ein externes USB-Laufwerk wiederherzustellen, das standardmäßige Windows-Datenträgerverwaltungs-Tool geöffnet habe und gefragt habe, ob ich Datenträger1 "aktiv" machen möchte. In diesem Moment war mir nicht klar, dass "disk1" nicht meine USB-Festplatte ist, sondern die interne ext4-Festplatte. Nachdem Sie auf "OK" geklickt haben, hat Windows auf der Festplatte eine Partition mit 100 MB "Systemreservierung" erstellt und den Rest unberührt gelassen.

Als ich mich wieder bei Linux anmeldete, wurde die Partition nicht gemountet. Ich habe die von Windows erstellte 100MB NTFS "System reservierte Partition" gelöscht und versucht, Testdisk auszuführen. Testdisk erkennt meine alte ext4-Partition, sagt aber am Ende so etwas wie "keine Partition kann wiederhergestellt werden".

Ist es möglich, meine Partitions- und Verzeichnisstruktur + Daten zurückzugewinnen? Das Problem ist, dass ich dort alle meine Programme (C/C++) und Arbeitsverzeichnisse sowie einige experimentelle Daten hatte, d. H. Dateien, die keine spezifischen Header wie jpg oder pdf haben. Gibt es eine Möglichkeit, diese Daten wiederherzustellen? Kann ich zum Beispiel einen Teil der Partition wiederherstellen, sagen wir mal, was über 100MB liegt?

P.S. Vermeiden wir bitte "Sie hätten ein Backup machen sollen" -ähnliche Kommentare. :) Ich hatte ein Backup, aber es wurde auf dem USB-Laufwerk gespeichert, das ich zuerst wiederherstellen wollte ).

1
Abraham
  1. Für die Wiederherstellung habe ich nur die "dd" -Kopie der Festplatte verwendet:

    Sudo dd if=/dev/sdb of=/dev/sdd
    

("sdb" ist die beschädigte Festplatte und "sdd" ist die, die ich für Tests verwendet habe)

  1. Zuerst habe ich mit "gdisk" eine neue leere GUID Partitionstabelle (Option -o) erstellt.

    $ Sudo gdisk /dev/sdd
    Command (? for help):   
    $ o
    This option deletes all partitions and creates a new protective MBR.
    Proceed? (Y/N): 
    $ y
    $ w
    
  2. Ich habe es versucht Sudo e2fsck /dev/sdd - erfolglos (erster Superblock war beschädigt)

    $ Sudo e2fsck /dev/sdd
    e2fsck 1.41.12 (17-May-2010)
    e2fsck: Superblock invalid, trying backup blocks...
    e2fsck: Bad magic number in super-block while trying to open /dev/sdd
    
    The superblock could not be read or does not describe a correct ext2
    filesystem.  If the device is valid and it really contains an ext2
    filesystem (and not swap or ufs or something else), then the superblock
    is corrupt, and you might try running e2fsck with an alternate superblock:
        e2fsck -b 8193 <device>
    
  3. dann habe ich Sudo mke2fs -n /dev/sdd, um die Superblöcke aufzulisten

    $ Sudo mke2fs -n /dev/sdd1
    mke2fs 1.41.12 (17-May-2010)
    /dev/sdd is entire device, not just one partition!
    Proceed anyway? (y,n) 
    $ y
    
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    122101760 inodes, 488378646 blocks
    24418932 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=0
    14905 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks:
    
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
            4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
            102400000, 214990848
    
  4. dann - Sudo e2fsck -b 214990848 /dev/sdd Nachdem ich einige Korrekturen vorgenommen hatte, landete ich auf einer teilweise wiederhergestellten Partition! In der Tat war es nicht so einfach. Ich habe es mit mehreren Superblöcken und verschiedenen e2fsck-Optionen versucht. Jedenfalls war dies das allgemeine Rezept.

Nachtrag: Während der Wiederherstellung habe ich auf alle Fragen mit "Nein" geantwortet:

One or more block group descriptor checksums are invalid. Fix(y)?
$ no
/lost+found not found.  Create(y)?
$ no
Free blocks count wrong for group # (32768, counted=0). Fix(y)?
$ no
Free inodes count wrong (122101749, counted=1606). Fix(y)?
$ no
1
Abraham

Möglicherweise sind Sie auf dieses Problem gestoßen, aber das ist nicht wirklich klar. Wenn ja, ist deins der erste Fall dieser Art, von dem ich gehört habe, und Sie können den GNU) getrennten Entwicklern dafür danken, dass sie über zwei Jahre auf einem Fix gesessen haben.

In der Praxis ist dies die beste Wahl für die Wiederherstellung:

  1. (Optional, aber stark empfohlen.) Führen Sie eine Low-Level-Sicherung der beschädigten Festplatte durch. Zum Beispiel sichert Sudo dd if=/dev/sdc of=/path/to/backup.img/dev/sdc (Wenn dies die beschädigte Festplatte ist) auf /path/to/backup.img (Sie können dieses Zielverzeichnis oder den Dateinamen ändern, wenn Sie möchten). Offensichtlich müssen Sie in /path/to Genügend freien Speicherplatz haben, um das Backup zu speichern. Dies bedeutet, dass Sie möglicherweise eine neue Sicherungsdiskette kaufen, diese vorbereiten und unter /path Oder /path/to Einbinden müssen. Sie können diesen Schritt überspringen, aber wenn Sie die Situation verschlimmern, wird es schwieriger, sich zu erholen - vielleicht bis es unmöglich wird, sich zu erholen.
  2. Verwenden Sie fdisk (wenn der Datenträger MBR verwendet hat) oder gdisk (wenn der Datenträger GPT verwendet hat), um Ihre ursprünglichen Partitionen neu zu erstellen. Da Sie sagen, dass Sie eine einzelne Partition auf der Festplatte hatten, ist die Wahrscheinlichkeit groß, dass diese im Sektor 2048 gestartet und bis zum Ende der Festplatte verlängert wurde. Löschen Sie also die aktuelle (n) Partition (en) und erstellen Sie diese möglicherweise neu. Nicht erstelle ein neues Dateisystem auf der Festplatte; erstelle einfach eine leere Partition. (GParted erstellt gerne ein neues Dateisystem und sollte daher vermieden werden. Es ist möglich, eine leere Partition zu erstellen, aber warum das Risiko eingehen?)
  3. Starten Sie neu. (Dies stellt nur sicher, dass Sie die neue Partitionstabelle verwenden. Es gibt weniger radikale Möglichkeiten, dies zu tun, aber diese ist einfach zu beschreiben.)
  4. Führen Sie e2fsck Auf der Partition aus, die Sie gerade erstellt haben. Wenn Sie sehr, sehr viel Glück haben, werden möglicherweise genügend ext4fs-Datenstrukturen gefunden, um die Festplatte wieder zum Leben zu erwecken, obwohl wahrscheinlich einige Dateien fehlen oder andere Probleme vorliegen. Möglicherweise möchten Sie fsck.ext4 verwenden, um sicherzustellen, dass es richtig erkennt, dass es sich um ein ext4-Dateisystem handelt. Wenn Sie mit e2fsck - Optionen experimentieren (z. B. -b), Können Sie Ihre Chancen auf Datenwiederherstellung verbessern. Diese Optionen sind jedoch sehr weit fortgeschritten. Weitere Informationen finden Sie in der Manpage e2fsck.
  5. Wenn dies fehlschlägt, führen Sie PhotoRec auf der Festplatte aus. Dies sollte die Wiederherstellung einzelner Dateien ermöglichen, obwohl es ihnen wahrscheinlich an Dateinamen oder an einer Art von Organisation mangelt. Sie müssen sie also durchforsten, um herauszufinden, was sie alle sind.
1
Rod Smith

Versuchen Sie GNU ddrescue.

GNU ddrescue ist ein Tool zur Datenwiederherstellung. Es kopiert Daten von einer Datei oder einem Blockgerät (Festplatte, CD-ROM usw.) auf ein anderes und versucht, Daten bei Lesefehlern zu retten.

Die Grundbedienung von ddrescue ist vollautomatisch. Das heißt, Sie müssen nicht auf einen Fehler warten, das Programm stoppen, das Protokoll lesen, es im umgekehrten Modus ausführen usw.

Weitere Informationen und den Download von ddrescue finden Sie auf der Website .

buntu Rescue Remix ist ein GNU/Linux-Live-System, das von einer CD oder einem USB-Flash-Gerät ausgeführt wird. Es bietet dem Datenrettungsspezialisten eine Befehlszeilenumgebung, die mit den besten verfügbaren freien Open-Source-Tools für Datenrettung und Forensik ausgestattet ist.

Es gibt auch tolle Produkte, die aber nicht kostenlos sind. Wie R-STUDIO für Linux Data Recovery .

Sie können auch R-Studio versuchen.

R-Studio ist eine leistungsstarke und kostengünstige Software zur Wiederherstellung und Wiederherstellung von Daten. Dank der neuen einzigartigen Datenwiederherstellungstechnologien ist es die umfassendste Datenwiederherstellungslösung für Wiederherstellungsdateien von NTFS, NTFS5, ReFS, FAT12/16/32, exFAT, HFS/HFS + (Macintosh), Little und Big Endian-Varianten von UFS1/UFS2-Partitionen (FreeBSD/OpenBSD/NetBSD/Solaris) und Ext2/Ext3/Ext4 FS (Linux)]. Außerdem wird die Wiederherstellung von Rohdateien (Suche nach bekannten Dateitypen) für stark beschädigte oder unbekannte Dateien verwendet Es funktioniert auf lokalen und Netzwerk-Festplatten, auch wenn diese Partitionen formatiert, beschädigt oder gelöscht wurden. Flexible Parametereinstellungen geben Ihnen die absolute Kontrolle über die Datenwiederherstellung.

Quelle: GNU & R-Studio

0
Mitch