USB Partition als große Datei mittels DD kopieren

OP #5137811
Lesenswert?

Mir ist ein riesen Fehler passiert und zwar bin in an einer Funktastatur 
kurz vor dem klick auf OK/Speichern auf die Taste Del/Entfernen gekommen 
und habe dadurch den Text gelöscht und eine leere .txt Datei 
abgespeichert. Mit undel dürfte ja jetzt nichts mehr zu finden sein da 
ja wieder einen neue .txt angelegt wurde, die Textbrocken sollten 
normalerweise aber mit einen Diskeditor zu finden sein.

Ich wollte als allererstes mittels

dd if=/dev/sdb of=/dev/sdd/Image.txt bs=1M

ein Image als Datei auf einen anderen Datenträger ziehen um von dort 
dann weiterzuarbeiten. Allerdings scheint es nur von einer Partition auf 
eine andere zu gehen oder von der Partition auf die Systempartition als 
Datei.

Bin mit Linux noch nicht so gut bewandert vielleicht kann mir jemand 
weiterhelfen damit ich wieder Einsicht auf die Daten bekomme.

Ich möchte also eine ganze Partition als Datei auf einen anderen 
Datenträger kopieren und dort mittels Texteditor die Datei zu 
durchsuchen.

mir ist klar das USB Sticks die Daten rumwürfeln aber da das eine kleine 
vielleicht 1 kByte große Datei war habe ich vielleicht Glück. Frage mich 
nur ob hier wirklich 1:1 ausgelesen werden kann?
#5137820
Lesenswert?

Thomas O. schrieb:
> ein Image als Datei auf einen anderen Datenträger ziehen um von dort
> dann weiterzuarbeiten. Allerdings scheint es nur von einer Partition auf
> eine andere zu gehen oder von der Partition auf die Systempartition als
> Datei.

Mach es als Datei, das ist einfacher zu analysieren mit'm Hexeditor.

Unterhalb von /dev/sdX gibt es nur Partitionen aber keine Files. Wenn 
man 1:1 kopiert (of=/dev/sdX), wird normalerweise auch die 
Partitionierung übernommen.
Gast #5137891
Lesenswert?

Wenn du es als Datei speichern willst, muss du zuerst das Dateisystem 
mounten "mount /dev/sdd /mnt", dann mit "dd if=/dev/sdb 
of=/mnt/image.bin ..." in dieses Dateisystem kopieren und zuletzt wieder 
"umount /mnt".
#5137924
Lesenswert?

Soetwas ist mir auch schon ein zwei mal passiert, ich habe danach ein 
paar Programm erstellt um Textdateien nach dem Löschen oder 
überschreiben wiederherstellen zu können. Ich habe diese im Anhang 
angehängt.

rawgrep durchsucht den Rohinhalt von Stdin und gibt jeden byte offset 
aus, an welchem der Suchbegriff gefunden wurde. Anfangs versuchte ich 
das mit grep, aber das ging dann gelegentlich OutOfMemory.

cpoff sucht das erste Nullbyte im als Argument 1 gegebenen File vor dem 
als Argument 2 mitgegebenen Offset, und gibt von dort aus alles bis zum 
nächsten Nullbyte auf stdout aus.

Verwendungsbeispiel:
1
~# rawgrep 'exakte Zeichenfolge, die in der Datei vorkommt' < /dev/sda
2
123456789
3
234567890
4
~# cpoff /dev/sda 123456789
5
Die exakte Zeichenfolge, die in der Datei vorkommt, bla bla 
6
~# cpoff /dev/sda 234567890
7
Die exakte Zeichenfolge, die in der Datei vorkommt, bla
8
bla bla 1234
9
~# cpoff /dev/sda 234567890 > myRecoveredFile

Meistens ist der letzte Offset die neuste Version der Datei. Statt 
/dev/sda kann man auch eine Datei verwenden oder eine Partition, oder 
sonst etwas.
Angehängte Dateien:
OP #5139513
Lesenswert?

also danke für die ganze Hilfe.

Ich habe es mit einem Diskeditor unter Windows hinbekommen den ganzen 
Stick mit der Suchfunktion durchzuwühlen und konnte meinen Inhalt 
wiederfinden.

Daniel: Ich werde mir aber dein Programm mal kompilieren und 
ausprobieren, da muss ich mich nur noch etwas belesen oder reicht es das 
makefile zu starten um das Programm zu erzeugen?

Ich habe aber auch festgestellt das ich nicht irtümlich etwas vor dem 
speichern gelöscht habe, da nach der nächsten Änderung wieder die Datei 
0 Bytes groß war.

Scheint ein Problem von Raspian zu sein, bekam bereits einen Tip mit dem 
Zeichensatz auf UTF-8 zu belassen was aber im Texteditor bereits 
Standart ist.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren