dd Image "korrigieren", Data Recovery, kaputtes gz Archiv

Smalltalk
Antworten
Knogle
Beiträge: 465
Registriert: 06.05.2016 19:29:00
Lizenz eigener Beiträge: MIT Lizenz

dd Image "korrigieren", Data Recovery, kaputtes gz Archiv

Beitrag von Knogle » 12.08.2023 00:41:45

Hallo Freunde, ich grüße euch.
Ich habe vor langer Zeit mal ein Backup mit Clonezilla von einem meiner damals Produktivsysteme gemacht. Das ganze ist nun ein paar Jahre her, würde aber gerne mal schauen was da so drauf war.
Damals habe ich ein Image mit Clonezilla gezogen, was wohl auch geklappt hat. Leider kann ich es nicht wiederherstellen, da einer der "Archivteile" leicht größer ist als die anderen.
Ich würde gerne wissen wie ich das vielleicht, zumindest teilweise, reparieren kann.
Mein Ansatz wäre: mit dd, tail und head des überschüssigen "Rests" des einen Archivteils rauskopieren, und irgendwie in allen anderen Dateien suchen, ob das vielleicht irgendwelcher redundanter Content ist.
Das wäre mein einziger Ansatz, ob da eventuell irgendwelche Daten von einem anderen Teil mit hinten dran, oder vorn dran gelandet sind.

Clonezilla macht im Grunde ein dd Image, packt das in eine .gz und teilt das mit split.

Problematisch ist hier vorallem die Datei die ich als

Code: Alles auswählen

sda4.ntfs-ptcl-img.gz_am.broken
benannt habe. Aus irgendeinem Grund passt die nicht richtig zu den anderen.
Habt ihr vielleicht eine Idee? Oder wie kann ich z.B. nutzen, um die anderen files nach dem "tail" und dem "head" zu durchsuchen?

Freue mich auf rat!

Code: Alles auswählen

Run partclone: partclone.ntfs -z 10485760 -N -L /var/log/partclone.log -c -s /dev/sda4 --output - | pigz -c --fast -b 1024 -p 16 --rsyncable | split -a 2 -b 4096MB - /home/partimag/WIN/sda4.ntfs-ptcl-img.gz. 2> /tmp/split_error.xr3Zsz

Code: Alles auswählen

chairman@fedora:~/Projects/WIN$ ls
blkdev.list     Info-img-id.txt        sda4                      sda4.ntfs-ptcl-img.gz.af  sda4.ntfs-ptcl-img.gz.al         sda4.ntfs-ptcl-img.gz.aq  sda4.ntfs-ptcl-img.gz.aw        sda4.uncomp     sda-mbr
blkid.list      Info-lshw.txt          sda4.ntfs-ptcl-img.gz.aa  sda4.ntfs-ptcl-img.gz.ag  sda4.ntfs-ptcl-img.gz.am         sda4.ntfs-ptcl-img.gz.ar  sda4.ntfs-ptcl-img.gz.ax        sda-chs.sf      sda-pt.parted
clonezilla-img  Info-lspci.txt         sda4.ntfs-ptcl-img.gz.ab  sda4.ntfs-ptcl-img.gz.ah  sda4.ntfs-ptcl-img.gz_am.broken  sda4.ntfs-ptcl-img.gz.as  sda4.ntfs-ptcl-img.gz.ay        sda-gpt-1st     sda-pt.parted.compact
dev-fs.list     Info-packages.txt      sda4.ntfs-ptcl-img.gz.ac  sda4.ntfs-ptcl-img.gz.ai  sda4.ntfs-ptcl-img.gz.an         sda4.ntfs-ptcl-img.gz.at  sda4.ntfs-ptcl-img.gz.complete  sda-gpt-2nd     sda-pt.sf
efi-nvram.dat   Info-saved-by-cmd.txt  sda4.ntfs-ptcl-img.gz.ad  sda4.ntfs-ptcl-img.gz.aj  sda4.ntfs-ptcl-img.gz.ao         sda4.ntfs-ptcl-img.gz.au  sda4.ntfs-ptcl-img.gz_front     sda-gpt.gdisk
Info-dmi.txt    parts                  sda4.ntfs-ptcl-img.gz.ae  sda4.ntfs-ptcl-img.gz.ak  sda4.ntfs-ptcl-img.gz.ap         sda4.ntfs-ptcl-img.gz.av  sda4.ntfs-ptcl-img.gz_tail      sda-gpt.sgdisk

Code: Alles auswählen

chairman@fedora:~/Projects/WIN$ du sda4.ntfs-ptcl-img.gz*
4000000	sda4.ntfs-ptcl-img.gz.aa
4000000	sda4.ntfs-ptcl-img.gz.ab
4000000	sda4.ntfs-ptcl-img.gz.ac
4000000	sda4.ntfs-ptcl-img.gz.ad
4000000	sda4.ntfs-ptcl-img.gz.ae
4000000	sda4.ntfs-ptcl-img.gz.af
4000000	sda4.ntfs-ptcl-img.gz.ag
4000000	sda4.ntfs-ptcl-img.gz.ah
4000000	sda4.ntfs-ptcl-img.gz.ai
4000000	sda4.ntfs-ptcl-img.gz.aj
4000000	sda4.ntfs-ptcl-img.gz.ak
4000000	sda4.ntfs-ptcl-img.gz.al
4000000	sda4.ntfs-ptcl-img.gz.am
4014592	sda4.ntfs-ptcl-img.gz_am.broken
4000000	sda4.ntfs-ptcl-img.gz.an
4000000	sda4.ntfs-ptcl-img.gz.ao
4000000	sda4.ntfs-ptcl-img.gz.ap
4000000	sda4.ntfs-ptcl-img.gz.aq
4000000	sda4.ntfs-ptcl-img.gz.ar
4000000	sda4.ntfs-ptcl-img.gz.as
4000000	sda4.ntfs-ptcl-img.gz.at
4000000	sda4.ntfs-ptcl-img.gz.au
4000000	sda4.ntfs-ptcl-img.gz.av
4000000	sda4.ntfs-ptcl-img.gz.aw
4000000	sda4.ntfs-ptcl-img.gz.ax
29576	sda4.ntfs-ptcl-img.gz.ay

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: dd Image "korrigieren", Data Recovery, kaputtes gz Archiv

Beitrag von Meillo » 12.08.2023 09:18:19

Ich nehme mal an, dass es wirklich so laeuft wie du beschreibst (dd -> gz -> split). Mit Clonezilla kenne ich mich nicht aus.

An sich habe ich auch nicht mehr Wissen als du. Ich kann nur versuchen ein paar Ideen bei dir anzustossen indem ich ein bisschen laut denke.

AFAIK ist das Problem an gz, dass man eben nicht den Rest extrahieren kann, wenn nur an einer Stelle in der Datei ein Fehler ist. Bei bz2 ginge das. Meines Wissens macht bei gz ein einziger Fehler die ganze gezippte Datei kaputt. Das ist dir sicherlich schon klar.

Dass einer der Split-Teile groesser als die anderen ist, ist definitiv auffaellig. `split' macht sowas nicht (wenn man nach Groesse splittet). Ich wuerde dessen Anfang und Ende mal mit einem Hexeditor o.ae. anschauen, ob eine Seite irgendwo komisch aussieht. Oder einfach stupide ausprobieren, indem du vorne oder hinten soviel abschneidest, dass der Teil gleich gross ist. Das kannst du mit dd machen. Da musst du wenig ueberlegen:

- Backup machen und nur auf einer Wegwerfkopie arbeiten
- den zu grossen Teil vorne oder hinten kuerzen
- die Teile cat-en und schauen ob du sie unzippen kannst
- falls nein, dann am anderen Ende kuerzen
- falls es dann immer noch nicht geht, war's halt ein Schuss in den Ofen

Ich wuesste nicht, was man sonst tun koennte. Gezippter Inhalt halt AFAIK kein Muster sondern ist einfach irgendeine Bitfolge. Darum kann man da nicht intelligent analysieren, zumindest nach meinem Wissen.

Btw: Wenn es um exakte Groessen geht, solltest du `ls -l' oder `stat -c%s' verwenden und nicht `du', da letzteres nur die belegten Bloecke zaehlt aber nicht die Groesse in Bytes der Datei. Du musst die Datei auch Byte-exakt zurechtschneiden.
Use ed once in a while!

Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

Re: dd Image "korrigieren", Data Recovery, kaputtes gz Archiv

Beitrag von MSfree » 12.08.2023 13:39:54

Das Problem an gzip ist, daß jedes Byte im komprimierten Stream von den Vorgängerbytes abhängig ist. Ist dort ein Byte kaputt, dann kann der Rest des Streams nicht dekomprimiert werden. Ein einziges Bit am Anfang des Stream macht also den kompletten Rest wertlos.

Im Prinzip müßte man "nur" das kaputte Byte finden und dann alle 256 Möglichkeiten ausprobieren, ob man damit den Rest des Stream dekomprimieren kann. Du hast nun aber zusätzlich eine Teildatei mit möglicherweise falscher Größe, was die Anzahl der möglichen Fehler deutlich erhöht.

Wenn man eine Suchmaschine nach gzip recover befragt, fördert diese z.B. Debiangzrt zutage. Ob das in deinem Fall weiterhilft, mußt du selbst ausprobieren.

Knogle
Beiträge: 465
Registriert: 06.05.2016 19:29:00
Lizenz eigener Beiträge: MIT Lizenz

Re: dd Image "korrigieren", Data Recovery, kaputtes gz Archiv

Beitrag von Knogle » 15.08.2023 16:17:03

Vielen Dank euch :) gzip recover hat da irgendwie gebastelt, aber das Dateisystem da drunter war leider trotzdem kaputt.
Aktuell konnte ich wenigstens einige Sachen bis zur 75GB Marke, also ab da wo die kaputte Datei kommt, wiederherstellen.
Gibt es die Möglichkeit herauszufinden bei welchem Byte im Stream gunzip nicht mehr weitermachen kann wegen des Fehlers? Weil er scheint zumindest nicht am Anfang, der Datei zu liegen, vielleicht ist das irgendwo mitten drin.

Freue mich auf eure Rückmeldung :)

Benutzeravatar
Livingston
Beiträge: 1454
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: dd Image "korrigieren", Data Recovery, kaputtes gz Archiv

Beitrag von Livingston » 16.08.2023 12:41:11

Die beiden Dateien sehen sich ja vom Namen her ziemlich ähnlich:

Code: Alles auswählen

4000000	sda4.ntfs-ptcl-img.gz.am
4014592	sda4.ntfs-ptcl-img.gz_am.broken
Wie wär's, wenn Du die ...broken mal in einem anderen Verzeichnis sicherst und schaust, ob eine Wiederherstellung ohne sie funktioniert.
Ist nur so ein Bauchgefühl, aber probieren kannst Du es ja mal.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

Antworten