Ich habe einen USB-Stick, der aus irgendeinem Grund nicht lesbar ist. Ich möchte ein Image davon zu Speicherzwecken erstellen, damit ich später versuchen kann, die Daten aus dem Image abzurufen.
Wie würde ich vorgehen, um ein so ein bisschen identisches Image eines USB-Sticks zu erstellen?
Dies ist der Fehler, den ich erhalte, wenn ich Folgendes verwende dd
:
oshirowanen@desktop:~$ sudo dd if=/dev/sdd of=/USB_image
[sudo] password for oshirowanen:
dd: reading `/dev/sdd': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 1.00783 s, 0.0 kB/s
oshirowanen@desktop:~$
backup
usb-storage
disk-image
oshirowanen
quelle
quelle
/dev/sdx
das auf den USB-Stick zeigt, liegt ein ernstes Problem vor, und ich denke, dass normale Benutzer keine Tools zur Verfügung haben, die funktionieren. Weitere Informationen finden Sie unter folgendem Link: askubuntu.com/questions/144852/… ; Gib nicht sofort auf. Versuchen Sie es anhand der Liste der Dinge, die zum Lesen führen könnten. Vielleicht kannst du das USB-Stick auseinander ziehen und eine Micro-SD-Karte finden, die nach dem Kommentar von @ubfan1 (bei der verlinkten Antwort) noch funktioniert.Antworten:
dd
es!Die Verwendung ist in etwa,
sudo dd if=/dev/sdb of=~/USB_image
wo / dev / sdb Ihr USB-Laufwerk ist,sudo fdisk -l
und ~ / USB_image ist die Image-Datei, in der die Kopie erstellt wird (ein Pfad, in dem die Image-Datei erstellt wird).Um das Image auf einem anderen USB-Laufwerk
sudo dd if=~/USB_image of=/dev/sdb
wiederherzustellen, kehren Sie einfach den Vorgang um: ~ / USB_image wird auf der Geräte- SDB wiederhergestellt . Stellen Sie einfach sicher, dass das neue USB-Laufwerk genauso groß oder größer als das ursprüngliche ist.Sie können die soeben erstellte Image-Datei auch in einen Pfad einhängen, ohne sie zuvor auf einem anderen USB-Laufwerk mit wiederherstellen zu müssen
mount ~/USB_image /mnt/USB_image -o loop
.quelle
fdisk -l
das USB-Laufwerk nicht sichtbar ist? Ich kann es jedoch im Festplatten-Dienstprogramm als / dev / sdd anzeigen, aber wenn ich versuche, Ihren Befehl zu verwenden, scheint es zu scheitern.status='progress'
mitdd
Ubuntu oder ermitteln Sie die PID Ihresdd
Befehls und senden Sie dasSIGUSR1
Signal. Ich bin mir jedoch anderer Implementierungen nicht sicher.Verwenden Sie
ddrescue
. Es wird nach Fehlern fortgesetzt, wodd
es einfach fehlschlägt.Darüber hinaus
ddrescue
ist in den Repos. Am 13.04 habe ich getippt umsudo apt-get install gddrescue
zu installieren.Verwenden Sie
sudo fdisk -l
oderdmesg
, um den Gerätestandort zu ermitteln, z. B .:/dev/sdb
, und führen Sie dann einen Befehl wie zEs gibt viele Möglichkeiten
ddrescue
, und vielleicht möchten Sie dieman
Seiten lesen . Ich bin mir auch nicht sicher, warum Ihre Hardware ausfällt und ausfälltdd
. Ein fehlerhafter Block kann zumdd
Beenden führen, aber auch zu zeitweiligen Stromausfällen.dmesg
Möglicherweise erfahren Sie mehr über Hardwarefehler.Stellen Sie sicher, dass das Gerät nicht montiert ist! Wenn Sie versuchen, Daten wiederherzustellen, ein Image zu erstellen usw. Dies kann zu Problemen führen.
Es gibt eine Menge Dinge, die bei der Datenwiederherstellung schief gehen können. Poste zurück, wenn du Probleme hast.
testdisk
ist ein nützliches Dienstprogramm für die Datenwiederherstellung, sobald Sie ein Image haben.Ist dies aus Gründen der Übersichtlichkeit eine USB-Festplatte oder ein USB-Gerät (Solid State Memory)?
E / A-Fehler weisen in der Regel eher auf Hardwarefehler als auf Dateisystembeschädigungen hin.
Versuchen Sie auch, die SMART-Datenanalyse des Geräts anzufordern, falls verfügbar. Dies kann Ihnen sagen, ob das Gerät überhitzt, lange eingeschaltet war, schlechte Sektoren aufweist und mehr als X-Nr. von Gs etc.
quelle
sudo
fürddrescue
, * wo dd wird einfach nicht * ist eine Art nicht wirklich wahr , da Sie konfigurieren könnendd
Lesefehler ignorieren.testdisk
Es ist fantastisch, wenn Sie die Sektoren verlorener Daten lesen können, nicht, wenn das Laufwerk nicht mehr funktioniert.gddrescue
against empfehlen,ddrescue
dagddrescue
es neuer ist und die Arbeit, die diesddrescue
leistet, besser ausführen kann.Mit können Sie ein Image eines USB-Sticks (oder eines anderen Geräts) erstellen
dd
.Z.B
Sie können weitere Parameter hinzufügen
dd
, um den Befehl zu optimieren (zbs
. B. ).quelle
dd
Wie in einem vorherigen Poster erwähnt, ist dies der gebürtige Weg. Sie möchten jedoch, dass es bei Fehlern fortgesetzt wird. Beginnen Sie also mit:Der wichtige Teil ist der letzte:
conv=sync
Weist dd an, alle Blöcke, die es nur teilweise lesen konnte, mit Nullen zu füllen, sodass das resultierende Bild möglicherweise einige Nullen zu viele enthält, aber strukturell der Flak-Disk abzüglich der Lesefehler entspricht.conv=noerror
kümmerte sich um diese Lesefehler und forderte dd auf, mit dem nächsten Block fortzufahren. An dieser Stelle ist die Blockgröße von Bedeutung. Wenn der Fehler nämlich größer als erforderlich ist, gehen hier lesbare Daten verloren. Die Blockgröße sollte immer ein Faktor von zwei sein - im Zweifelsfall512k
sollte dies der Fall sein .Dann würde ich vorschlagen:
(Ich zitiere mich teilweise aus einem Artikel aus dem Jahr 2010)
Wenn Sie nicht systemeigen bleiben müssen, können Sie immer Tools ausprobieren, die den Prozess etwas vereinfachen, z. B. ddrescue (Paket
gddrescue
) und sein Begleiterddrescueview
( SourceForge ), um die Fehler zu visualisieren.quelle
In Bezug auf die zweite Hälfte Ihrer Frage "Dies ist der Fehler, den ich bei der Verwendung von dd erhalte": Ich sehe ein paar Möglichkeiten.
~
vor/USB_image
. Mit anderen Worten, Sie versuchen, das Stammverzeichnis Ihres Dateisystems anstatt in Ihrem Home-Verzeichnis auszugeben./dev/sdd
ist möglicherweise nicht das richtige Laufwerk. Führen Siesudo fdisk -l
das Programm aus und vergleichen Sie die Größe des Laufwerks mit der bekannten Größe des USB-Sticks. Zum Beispiel weiß ich , das ist mein USB - Stick ist , weil es in der Nähe zu 16 GB ist:Disk /dev/sdf: 15.8 GB, 15805186048 bytes
.quelle