Machen Sie zunächst nichts mehr auf der Festplatte ( schreiben Sie zumindest nie darauf). Die Festplatte, die nicht erkannt wird (im Gegensatz zu "erkannt und als leer oder mit unlesbaren Daten befunden"), scheint entweder auf eine vollständig gestrahlte Festplatte hinzuweisen, was chkdsk
nicht üblich ist, oder auf einen Fehler mit der Partitionstabelle oder der Geometrie der Festplatte oder wie das USB-Gehäuse damit umgeht. Ein Hardwarefehler ist ebenfalls möglich.
Dies kann und wird passieren, wenn USB-Gehäuse versuchen, zwischen der Festplatte und dem Computer, mit dem sie verbunden sind, zu verhandeln. Das erste, was zu tun wäre, wäre, dd
unter Linux ein Image der Festplatte auf einer (offensichtlich größeren) Festplatte zu erstellen, die der physischen Ebene am nächsten kommt . Dann können Sie nach Herzenslust mit einer Image-Kopie herumspielen, ohne das Risiko einer weiteren Beschädigung der realen Festplatte.
Update: Geräteerkennung unter Linux
Wir haben nicht weniger als drei Entitäten auf unserer "externen Festplatte". Die Hardware des USB-Gehäuses wird als Blockgerät angezeigt. Die physische Festplatte im Gehäuse. Das physische Gerät, dh die Reihenfolge der LBA-Sektoren vom ersten bis zum letzten. Und schließlich null oder mehr Datenpartitionen, die die Dateisysteme hosten. Um auf einem Desktop "erkannt" und angezeigt zu werden, müssen alle Glieder der Ketten funktionieren. Um jedoch ein Bild des physischen Geräts aufzunehmen, benötigen Sie nur die ersten beiden. Wenn Sie das Gerät anschließen und die Befehlszeile dmesg
(als Root) ausführen , sollte Folgendes angezeigt werden :
[4984939.028491] usb 8-6: new high speed USB device using ehci_hcd and address 3
[4984939.166658] usb 8-6: configuration #1 chosen from 1 choice
[4984939.170660] scsi7 : SCSI emulation for USB Mass Storage devices
[4984939.172003] usb-storage: device found at 3
[4984939.172005] usb-storage: waiting for device to settle before scanning
... welches ist das Gehäuse, das erkannt wird und sich und seinen Inhalt identifiziert:
[4984939.170660] usb 8-6: New USB device found, idVendor=1058, idProduct=1021
[4984939.170660] usb 8-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[4984939.170660] usb 8-6: Product: Ext HDD 1021
[4984939.170660] usb 8-6: Manufacturer: Western Digital
[4984939.170660] usb 8-6: SerialNumber: 574D43305431303831303734
[4984944.400970] usb-storage: device scan complete
Als Nächstes werden Sie der Fahrer sehen seine Geometrie der Natur zu informieren und ihre Geräteknoten implizit, hier sdd
(für SCSI - Festplatten - Vier, da sda
, sdb
und sdc
wurden bereits vergeben):
[4984944.404739] scsi 7:0:0:0: Direct-Access WD Ext HDD 1021 2021 PQ: 0 ANSI: 4
[4984944.404739] sd 7:0:0:0: [sdd] 1953519616 512-byte hardware sectors (1000202 MB)
[4984944.407367] sd 7:0:0:0: [sdd] Write Protect is off
[4984944.407369] sd 7:0:0:0: [sdd] Mode Sense: 17 00 10 08
[4984944.407371] sd 7:0:0:0: [sdd] Assuming drive cache: write through
[4984944.408741] sd 7:0:0:0: [sdd] 1953519616 512-byte hardware sectors (1000202 MB)
Dann erkennt der Kernel, dass eine Partition vorhanden ist (wenn Sie dies nicht sehen, ist die Partition nicht vorhanden oder ungültig):
[4984944.411497] sdd: sdd1
Jetzt hat Linux alles, was es braucht und meldet erfolgreiche Anhänge:
[4984944.416739] sd 7:0:0:0: [sdd] Attached SCSI disk
[4984944.416739] sd 7:0:0:0: Attached scsi generic sg4 type 0
Und so beginnt die Suche nach Datenpartition, dh OK, wir haben sdd1
, aber was ist da drin? und die Antwort lautet:
[4984997.498613] NTFS driver 2.1.29 [Flags: R/W MODULE].
[4984997.554613] NTFS volume version 3.1.
[4984997.568859] NTFS-fs error (device sdd1): load_system_files(): $LogFile is not clean. Mounting read-only. Mount in Windows.
[4985390.027808] NTFS-fs error (device sdd1): ntfs_remount(): Volume has errors and is read-only. Cannot remount read-write.
[4985442.423299] NTFS volume version 3.1.
[4985442.425032] NTFS-fs error (device sdd1): load_system_files(): $LogFile is not clean. Mounting read-only. Mount in Windows.
Dies oben war ein "gutes" Reittier. Aber nur zu wissen , dass das Gerät sdd
, oder sdc
oder sdb
, ermöglicht es mir , eine binäre Kopie zu machen (vorausgesetzt , ich habe genügend freien Speicherplatz auf /mnt/backupdisk
): Eingabedatei /dev/sdd
, Ausgabedatei DiskImage.raw
, Blockgröße 1 MB :
# dd if=/dev/sdd of=/mnt/backupdisk/DiskImage.raw bs=1M
Beachten Sie, dass die Eingabedatei /dev/sdd
und nicht /dev/sdd1
(oder eine andere Nummer) ist. Wenn ich wollte, konnte ich jetzt den Versatz der darin enthaltenen Datenpartition herausfinden DiskImage.raw
und sie mit Hilfe eines Schleifengeräts bereitstellen. Hier finden Sie die schmutzigen Details.
Erster Wiederherstellungsversuch
Das zweite, was zu tun wäre, wäre, die physische Festplatte in ein anderes Gehäuse zu legen, um sicherzustellen, dass das Gehäuse in Ordnung ist, und die Chance zu erhalten, dass das neue Gehäuse die Festplatte richtig interpretiert. Wenn die Festplatte erneut angezeigt wird, ist möglicherweise das vorherige Gehäuse defekt. Nur für den Fall, sichern Sie alle neu gefundenen Laufwerksinhalte, überprüfen Sie die Sicherung, setzen Sie die Festplatte mit einem Dienstprogramm zum Überschreiben von Datenträgern auf Null, damit sie völlig dumm wird (Sie können nicht zwei Geräte mit unterschiedlichen Meinungen in einer Gerätekette haben), und formatieren Sie sie neu nativ von Windows und stellen Sie die Daten wieder her. Es ist ein Glücksfall, aber ich habe es gesehen; und der Versuch ist nicht zu teuer, gute Gehäuse für etwa 19,99 US-Dollar neu.
Falls das ursprüngliche Gehäuse fehlerhaft war, können Sie die Festplatte nicht neu formatieren oder auf die Festplatte kann nicht zugegriffen werden. Sie können das neue Gehäuse erneut versuchen. Wenn es funktioniert, ersetzen Sie entweder das alte Gehäuse oder verwenden Sie das neue weiterhin (dies lohnt sich jedoch, wenn das neue Gehäuse deutlich besser ist als ein El Cheapo für 19,99 US-Dollar).
Professionelle Genesung
Professionelle Wiederherstellungsdienste, die Sie bei Google finden können. Eine nicht allzu ehrliche Vorgehensweise wäre das Senden über die physische Festplatte und - falls Sie ein "Ja, es liegt kein Hardwareschaden vor und wir können alle Ihre Daten für nur US $ $$$, $ wiederherstellen." $$! " Antwort - Nun , Sie würden dann wissen, dass die Daten noch rettbar waren. Sie können also versuchen, dies bei der von Ihnen erstellten Image-Sicherung kostenlos selbst zu tun, und nur für die Diagnose und den Festplatten-S & H bezahlen. Wenn Sie versagt haben, besteht immer noch die Möglichkeit, den gewünschten Teig zu husten. Wenn es ist Hardware - Schäden, ist der professionelle Service Ihre im Grunde nur Option. Es gibt mehrere Voodoo-Tricks, die (vorübergehend) eine "tote" Festplatte wiederbeleben, oft lang genug, um zumindest die wichtigsten Daten wiederherzustellen.Keine , die garantiert jedes Mal funktioniert (Erwärmen, Abkühlen, "Drehen" der Festplatte - ich habe sogar vorgeschlagen, sie intelligent gegen eine harte Oberfläche zu klopfen). Alle von ihnen verursachen mehr Schaden, dh Sie müssen sicher sein, dass Sie den einen Trick verwenden, der beim ersten Mal funktioniert, sonst haben Sie die Festplatte für immer getötet. Ich habe dies nur hinzugefügt, um zu erklären, warum Sie Erfolgsgeschichten über wiederbelebte Festplatten sehen: Es gibt solche Geschichten. Aber wenn Sie (meistens) sicher sein möchten, dass es Ihnen passieren wird, stellen Sie einen Fachmann ein.
Wenn Sie sicher sind, dass die Hardware in Ordnung ist - Festplatten dreht sich, keine Rasseln, keine seltsamen Geräusche oder Brummen, keine klickenden Neukalibrierungen -, dann ist "alles" passiert, was dazu geführt hat, dass chkdsk
einige Daten durcheinander gebracht wurden.
DIY Erholung
Die "Heim" -Wiederherstellung würde normalerweise so ablaufen (im Grunde das Gleiche, was die Profis tun würden, wenn der Hardwareschaden abgezinst worden wäre) und an der Disk-Image-Kopie arbeiten:
Überprüfen Sie, ob der erste Sektor des Festplattenabbilds eine gültige Partitionstabelle ist. Wenn nicht, scannen Sie das Disk-Image nach einer gültigen Partitionstabelle oder einem erkennbaren NTFS- oder FAT32-Bootsektor, je nachdem, welcher FS auf dem Gerät vorhanden war (für ein 1-TB-Gerät scheint NTFS die einzig logische Möglichkeit zu sein). In jedem Fall sollten Sie innerhalb der ersten Megabyte etwas finden.
Wenn die Partitionstabelle gefunden wird, überprüfen Sie, ob sich die Datenpartition dort befindet, wo die Partitionstabelle dies vorschreibt. Wenn dies nicht der Fall ist, sind dies sehr gute Nachrichten: Wahrscheinlich ist die Partitionstabelle alles, was falsch ist. Das Problem zu beheben ist einfach (mehrere Linux-Partitionseditoren erledigen das), und es wird erwartet, dass die Festplatte zu 100% wiederhergestellt wird. Versuchen Sie aus Sicherheitsgründen, die Datenpartition unter Linux mit einem Loop-Gerät im schreibgeschützten Modus zu mounten, um festzustellen, ob sie lesbar ist. Wenn dies der Fall ist, wird das Borking der Partition bestätigt, und die Festplatte kann auf dem Weg zu einer sicheren und vollständigen Wiederherstellung ausgesprochen werden. Ist dies nicht der Fall, ist möglicherweise die Partition richtig und ein (Teil) einer Datenpartition wurde neu geschrieben. Das ist schlecht; siehe unten unter "Dinge werden sauer".
Wenn es gefunden und gültig ist, überprüfen Sie es anhand der Laufwerksgeometrie. Wenn diese nicht übereinstimmen, ist dies auch eine gute Sache, da Sie möglicherweise die Hauptursache des Problems gefunden haben. Sie können die physische Geometrie in den Kernel zwingen (und beim Linux-Start abrufen ). Überprüfen Sie, ob die neue Geometrie dazu führt, dass die Festplatte unter Linux erkannt wird. Wenn dies der Fall ist, sichern Sie die Daten, überprüfen Sie, ob die Sicherung korrekt ist, und setzen Sie die Festplatte auf Null dd
(ein paar Megabyte Nullen auf dem entsprechenden sd
Gerät reichen aus). Schalten Sie den Computer aus (nicht nur neu starten; OK, es ist paranoid, aber es kostet wenig und kann etwas bewirken), starten Sie dann Windows und lassen Sie die jetzt ahnungslose Festplatte in das Format formatieren, das sie für das beste hält. Dies stellt sicher, dass keine Konflikte mit Windows auftreten. Stellen Sie die Daten auf der Festplatte wieder her. Genießen.
Wenn der Geometrietrick nicht funktioniert oder die Partition nicht gefunden werden kann oder wenn sie einmal gefunden wurde, scheint sie leer zu sein, werden die Dinge sauer. Sie müssen einige Recovery - Werkzeug, das Scannen das Disk - Image auf der Suche nach den Datenbereichen (MFT, etc.) der verlorenen Daten. Und einmal gefunden, interpretieren Sie sie, um an die Daten zu gelangen. Dies ist eine schwierige Aufgabe und kann nicht immer vollständig automatisiert werden. Auf einer niedrigeren und verzweifelteren Ebene wird nach den Signaturen der einzelnen Dateien gesucht, in der Hoffnung, dass sie in zusammenhängenden Blöcken auf der Festplatte liegen. Diese Art von Operation würde ich jedoch gerne Profis überlassen. Ich habe es mehrmals gemacht, immer erfolgreich, mit alten FAT-Festplatten. Ich habe es erneut gemacht, ungefähr 50% erfolgreich, mit neueren und größeren und fragmentierteren FAT32-Festplatten. Ich habe es versucht ein paar Mal mit schlechten Ergebnissen (aber ich hatte vollständige Backups und gab nicht wirklich alles) auf den viel komplizierteren NTFS- und ext4-Dateisystemen.
Manuelle Wiederherstellung von Linux
OK, so dass Sie versuchen , die Partition in Linux zu montieren und Fehlermeldungen erhalten ( Beachten Sie, dass /dev/sdc
und sind verschiedene Dinge - das Bild bezieht sich auf )./dev/sdcN
/dev/sdc
# mount -t ntfs /dev/sdc1 /mnt/recovery
ntfs_mst_post_read_fixup_warn: magic: 0x00000000 size: 1024 usa_ofs: 0 usa_count: 65535: Invalid argument
Record 1 has no FILE magic (0x0)
Failed to open inode $MFTMirr: Input/output error
... dies scheint darauf hinzudeuten, dass die Partition, wie das System glaubt , falsch oder stark beschädigt ist. Schauen wir uns zuerst die erste Option an:
# fdisk /dev/sdc
Sie bekommen so etwas:
Disk /dev/sdc: 1000.2 GB, 1000204885504 bytes
1 heads, 63 sectors/track, 31008335 cylinders, total 1953525167 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: 0x9d2b7596
Device Boot Start End Blocks Id System
/dev/sdc1 63 1953520127 976760032+ 7 HPFS/NTFS/exFAT
Der nächste Schritt besteht darin, den tatsächlichen Start der Partition zu überprüfen. Durch Suchen in der Bilddatei (oder /dev/sdc
) suchen wir nach der NTFS-Signatur:
00000000:EB 52 90 4E 54 46 53 20 -20 20 20 00 02 08 00 00 .R.NTFS ........
00000010:00 00 00 00 00 F8 00 00 -3F 00 FF 00 3F 00 00 00 ........?...?...
00000020:00 00 00 00 80 00 80 00 -4A F5 7F 00 00 00 00 00 ........J.......
# dd if=/dev/sdc bs=512 count=1 skip=63 2>/dev/null | hexdump -C | head -n 1
... mit den obigen Daten erwarten wir, dass sich der NTFS-Start auf Sektor 63 befindet, deshalb setzen wir skip
. Außerdem werden wir es mit jedem Sektor im ersten (sagen wir) Megabyte versuchen ...
# dd if=/dev/sdc bs=512 count=2000000 2>/dev/null | hexdump -C | grep "00:EB 52 90 4E 54 46 53"
... nur um sicherzugehen, dass es nur einen Bootsektor gibt (mir ist das passiert. Auf einer FAT32-Festplatte, aber immer noch ) und dass es nirgendwo Lesefehler gibt.
Dein Ergebnis
00007e00 eb 52 90 4e 54 46 53 20 20 20 20 00 02 08 00 00 |.R.NTFS .....|
ist genau das, was wir erwarten würden: Sektor 63 ergibt einen Versatz von 63 × 512 = 32256 = 7e00 hexadezimal. Der NTFS-Bootsektor ist vorhanden und die Partitionstabelle scheint korrekt zu sein .
So kopieren wir nun einen großen Teil kann /dev/sdc1
auf, sagen wir, /tmp/mydisk.img
und versuchen , es von Linux zu beheben. Dadurch wird die physische Festplatte nicht beschädigt, die für andere Versuche unverändert verfügbar bleibt. Und da wir jetzt wissen, dass der PT korrekt ist, können wir ihn /dev/sdc1
für die Kopie verwenden und Hoffnungen hegen, die wir vorher nicht konnten:
# dd if=/dev/sdc1 of=/tmp/mydisk.img bs=1G count=10
...after copying 10 gigabytes...
# ntfsfix /tmp/mydisk.img
Wenn NTFSfix nicht funktioniert, sind wir in Schwierigkeiten. Es gibt jedoch genauere Dienstprogramme , die ausprobiert werden können. Wenn Sie JPEG-Bilddateien wiederherstellen müssen und das Dateisystem nicht fragmentiert war, können Sie dies automatisch tun, indem Sie nach den JPEG-Headern suchen. Das gleiche gilt fast für PDF-, TIFF- und Office-Dokumente, außer dass ich nicht weiß, wie ich sie erkennen soll (für JPEGs würde ich :-)). Als letzte Option habe ich diese Typen gefunden - ich kenne sie nicht, bin nicht mit ihnen verwandt und werde keine Schuld akzeptieren. Allerdings ist der Preis sehr vernünftig.