Forum: PC Hard- und Software Windows formatiert laufwerk


von Daniel A. (daniel-a)


Lesenswert?

Ich hatte Windows lange nichtmehr benutzt, dann musste ich ein 
Worddokument bearbeiten, und da ich Word auf Linux gerade nicht 
instaliert hatte, startete ich Windows.

Danach hab ich Windows mit dem Befehl shutdown /h heruntergefahren, um 
den Updates zu entgehen.

Als ich dann Linux wieder startete, musste ich feststellen, dass auf 
meiner fat32 partition, auf der alle meine Daten waren, nurnoch 
SystemVolumeInformation zufinden war.

Bei einem meiner letzten Projekte hab ich von den Letzten Änderungen 
noch kein backup (100 bis 200 geänderte zeilen c code)

Ich habe versucht mit fsck die Daten zu Retten, nach über 5 Stunden 
hatte ich ich Dateien die fsck0000.rec bis fsck9999.rec benannt waren. 
Die gesuchten Daten scheinen nicht darunter zu sein (grep -r "int main" 
.  lieferte nur 4 binärfiles). Ausserdem wahren da sicher mehr als 10000 
dateien drauf.

Wie kann ich die Dateien retten? Ich hab für sowas momentan nämlich 
eigentlich gerade keine Zeit.

PS: Windows erkent seit dem letzten start das Dateisystem der Partition 
nichtmehr, linux schon.

: Bearbeitet durch User
von Frank K. (fchk)


Lesenswert?

1. keine Schreibzugriffe mehr auf die Partition!
2. probiere das hier mal

http://www.piriform.com/recuva

3. Daten, von denen es kein Backup gibt, sind per Definition unwichtig.

fchk

von Penetranter Backupper (Gast)


Lesenswert?

Frank K. schrieb:
> 1. keine Schreibzugriffe mehr auf die Partition!
> 2. probiere das hier mal
>
> http://www.piriform.com/recuva

Zu spät. Sein recovery tool hat schon alles durcheinandergebracht.

Frank K. schrieb:
> 3. Daten, von denen es kein Backup gibt, sind per Definition unwichtig.

Yes. Schon damals zu (5 1/4-Zoll) Disketten-Zeiten haben sich die
Leute "gewundert" warum die Disketten nicht das halten was sie
drauf geschrieben haben.

von oszi40 (Gast)


Lesenswert?

Penetranter Backupper schrieb:
> Yes. Schon damals zu (5 1/4-Zoll) Disketten-Zeiten haben sich die
> Leute "gewundert"

Schon im letzten Jahrtausend hat man leere und beschriebene Datenträger 
irrtümlich vertauscht. Damit erkennt man, daß EIN Backup zu wenig sein 
kann.

Daniel A. schrieb:
> nach über 5 Stunden hatte ich ich Dateien die fsck0000.rec bis fsck9999.rec
Womit einige echte Daten wahrscheinlich überschrieben wurden und einige 
Rechte verbogen? Lernen durch Schmerz!

Daniel A. schrieb:
> Windows erkent seit dem letzten start das Dateisystem der Partition
> nichtmehr, linux schon.

Vermurkst! Klüger wäre ein KOMPLETTES Image mit Clonezilla-CD gewesen 
und dann nur die 1:1 Kopie zu vermurksen. Finger weg vom Original! Jeder 
Schreibversuch verschlimmbessert nur die Situation.

von Daniel A. (daniel-a)


Lesenswert?

oszi40 schrieb:
> Schon im letzten Jahrtausend hat man leere und beschriebene Datenträger
> irrtümlich vertauscht. Damit erkennt man, daß EIN Backup zu wenig sein
> kann.

Das kann mir nicht passiert sein, die Festplatte ist fest Eingebaut und 
wurde noch nie ersetzt. Bei den Backups solle ich mir allerdings 
tatsächlich zusätzliche strategien ausdenken.

> Daniel A. schrieb:
>> nach über 5 Stunden hatte ich ich Dateien die fsck0000.rec bis fsck9999.rec
> Womit einige echte Daten wahrscheinlich überschrieben wurden und einige
> Rechte verbogen? Lernen durch Schmerz!

Die Rechte spielen sowiso keine Rolle mehr, es geht ja nur um ca. 100 
geänderte codezeilen in ca. 6 files. fsck sollte intakte blöcke erkennen 
können und diese nicht überschreiben. Das Restrisiko kann ich eingehen.
(ca. 10k directory entries auf einige hundert GB festklattenspeicher und 
wenige kb gesuchte files)

> Daniel A. schrieb:
>> Windows erkent seit dem letzten start das Dateisystem der Partition
>> nichtmehr, linux schon.
>
> Vermurkst! Klüger wäre ein KOMPLETTES Image mit Clonezilla-CD gewesen
> und dann nur die 1:1 Kopie zu vermurksen. Finger weg vom Original! Jeder
> Schreibversuch verschlimmbessert nur die Situation.

Ich weiss, ich mounte sie mittlerweile nurnoch readonly. Für Images ist 
für mich dd das einzig wahre Tool. Wenn das Wiederherstellen aber länger 
dauert als den Code neu zu schreiben lohnt es sich nichtmehr.

Frank K. schrieb:
> http://www.piriform.com/recuva

Das werde ich morgen Ausprobieren, falls tsk-recover über nacht die 
files nicht findet.

von oszi40 (Gast)


Lesenswert?

Daniel A. schrieb:
> Das kann mir nicht passiert sein,

Noch nie Laufwerke irrtümlich vertauscht? Wir warten noch ein paar Tage.

Daniel A. schrieb:
> Wenn das Wiederherstellen aber länger
> dauert als den Code neu zu schreiben lohnt es sich nichtmehr.

Nein Helden brauchen kein Backup?

von Malte S. (maltest)


Lesenswert?

Daniel A. schrieb:
> Als ich dann Linux wieder startete, musste ich feststellen, dass auf
> meiner fat32 partition, auf der alle meine Daten waren, nurnoch
> SystemVolumeInformation zufinden war.

Sicher, dass du da nicht die Devices vertauscht hast? FAT hat kein 
System Volumen Information.

von Daniel A. (daniel-a)


Lesenswert?

oszi40 schrieb:
> Noch nie Laufwerke irrtümlich vertauscht?

Sicher, aber um diese Platte zu Vertauschen müsste ich meinen Laptop 
aufschrauben. Ausserdem ist die UID der Partition in meiner /etc/fstab 
eingetragen.

tsk-recover hat ca. 70000 files gefunden, alle unvolständig. Darunter 
eine veraltete Version eines Shellscripts meines projekts, aber von der 
datei habe ich bereits ein backup.

Ich versuchs gerade mit recuva, aber dass scheint nicht für 
plaintextfiles gedacht zu sein. Wenn das nicht hilft versuch ichs 
manuell mit grep und dem präfix das ich bei meinen funktionen im Projekt 
verwendete. Wenn das alles nichts bringt werde ich die letzten 
änderungen eben neu schreiben müssen.

Malte S. schrieb:
> Daniel A. schrieb:
>> Als ich dann Linux wieder startete, musste ich feststellen, dass auf
>> meiner fat32 partition, auf der alle meine Daten waren, nurnoch
>> SystemVolumeInformation zufinden war.
>
> Sicher, dass du da nicht die Devices vertauscht hast? FAT hat kein
> System Volumen Information.

Absolut sicher. Meine efi Oartition ist auch fat formatiert, und da gibt 
es den Ordner auch. Das ist eine windowsgeschichte.
Ich frage mich was windows 8.1 da verbrochen haben könnte.

von FragDochMutti (Gast)


Angehängte Dateien:

Lesenswert?

Malte S. schrieb:

> Sicher, dass du da nicht die Devices vertauscht hast? FAT hat kein
> System Volumen Information.

Sicher, dass du Ahnung hast?

von Peter D. (peda)


Lesenswert?

Daniel A. schrieb:
> Danach hab ich Windows mit dem Befehl shutdown /h heruntergefahren

Nö.
/h         Versetzt den lokalen Computer in den Ruhezustand.
           Kann mit der Option "/f" verwendet werden.

Im Ruhezustand sollte man den PC nicht abschalten bzw. danach Windows 
neu starten und die Meldung bestätigen, daß er normal hochfahren soll. 
Kann dann gut sein, daß Windows erstmal ein CHKDSK macht, weil im 
Ruhezustand noch nicht alle Schreibvorgänge abgeschlossen waren.
Ich würde Windows-Laufwerke immer als NTFS formatieren, das kommt besser 
mit solchen Fehlern zurecht. Bei FAT32 kann das System nur feststellen, 
ob beide FATs unterschiedlich sind, aber nicht, welche die richtige ist.

Und von alleine formatiert Windows nichts, man muß erst die Meldung 
lesen und die Aktion bestätigen. Wer eine Meldung ungelesen bestätigt, 
ist auch selber Schuld.

Richtig wäre gewesen:
/s         Fährt den Computer herunter.

Eine Projektentwicklung würde ich nie ohne ein VCS machen, was auf einem 
anderen Laufwerk speichert. Es passiert schon mal, daß man sich vor 
lauter Änderungen total verfranzt und dann kann man eine beliebige 
Vorgängerversion wieder herstellen.

Und daß Leute kein Backup machen, ist mir unverständlich. Eine externe 
4TB HDD kostet ~120,-€, 1TB <50,-€.

von Malte S. (maltest)


Lesenswert?

FragDochMutti schrieb:
> Sicher, dass du Ahnung hast?

Im Prinzip schon :-) (aber nie genug)

Also lasse ich mich gerne eines Besseren belehren. Allerdings habe ich 
außer auf Speicherkarten und -Sticks seit ewigen Zeiten kein FAT mehr 
verwendet. Und da gab es diesen Ordner nie.

EDIT: klar, die ESP natürlich, die allerdings habe ich mir auf 
Windows-Systemen nie wirklich angeguckt.

: Bearbeitet durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Peter Dannegger schrieb:
> Im Ruhezustand sollte man den PC nicht abschalten

Doch, das kann man. Dafür ist der Ruhezustand da. Das ist 
"suspend-to-disk", nicht "suspend-to-ram" (das nennt Microsoft 
mittlerweile "Energiesparen", früher hieß das "Standby").

Allerdings ist dann das Dateisystem in einem ... nicht sicher 
abgeschlossenen Zustand, d.h. offene Dateien können inkonsistent sein. 
Auf einem im Ruhezustand befindlichen PC sollte man daher nichts anderes 
machen, als ihn aus diesem Ruhezustand wieder aufzuwecken, schon gar 
nicht mit anderen Betriebssystemen auf das Dateisystem zugreifen.

von Daniel A. (daniel-a)


Lesenswert?

Peter Dannegger schrieb:
> Und von alleine formatiert Windows nichts, man muß erst die Meldung
> lesen und die Aktion bestätigen. Wer eine Meldung ungelesen bestätigt,
> ist auch selber Schuld.

Eine derartige Meldung gab es nicht. Es gab wärend dem Windows gestartet 
war keine Anzeichen, dass etwas formatiert wird. Unter Windows habe ich 
das Laufwerk soweit ich weiss auch nicht verwendet.


Recuva hat ungefär 100000 files gefunden. Die gesuchten waren nicht, 
bzw. nicht die neuste version dabei. Ich werde es jetzt manuell mit grep 
versuchen.

von Daniel A. (daniel-a)


Lesenswert?

Hier noch mehr infos zu meinem system:

Festplatten und Partitonen:
1
Disk /dev/sda: 698.7 GiB, 750156374016 bytes, 1465149168 sectors
2
Units: sectors of 1 * 512 = 512 bytes
3
Sector size (logical/physical): 512 bytes / 4096 bytes
4
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
5
Disklabel type: gpt
6
Disk identifier: ADB548AF-018E-4817-AEFA-05DA545C5E46
7
8
Device          Start        End   Sectors   Size Type
9
/dev/sda1        2048     133119    131072    64M BIOS boot
10
/dev/sda2     1026048    1107967     81920    40M unknown
11
/dev/sda3     1107968    1370111    262144   128M Microsoft reserved
12
/dev/sda4     1370112    2394111   1024000   500M Windows recovery environment
13
/dev/sda5     2394112  673482751 671088640   320G Microsoft basic data
14
/dev/sda6   673482752  674199551    716800   350M Windows recovery environment
15
/dev/sda7   674199552  701073407  26873856  12.8G Windows recovery environment
16
/dev/sda8   701073408 1443260415 742187008 353.9G Linux filesystem
17
/dev/sda9  1443260416 1453260799  10000384   4.8G Linux filesystem
18
/dev/sda10 1453260800 1459120127   5859328   2.8G Linux filesystem
19
/dev/sda11 1459120128 1465147470   6027343   2.9G Linux swap
20
/dev/sda12     133120    1026047    892928   436M EFI System
21
22
Partition table entries are not in disk order.
23
24
Disk /dev/sdb: 698.7 GiB, 750156374016 bytes, 1465149168 sectors
25
Units: sectors of 1 * 512 = 512 bytes
26
Sector size (logical/physical): 512 bytes / 4096 bytes
27
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
28
Disklabel type: gpt
29
Disk identifier: 0489BC95-3EE6-48C4-899B-2EB23C7D3E72
30
31
Device     Start        End    Sectors   Size Type
32
/dev/sdb1   2048 1465147391 1465145344 698.7G Microsoft basic data
33
34
35
Disk /dev/sdc: 29.8 GiB, 32017047552 bytes, 62533296 sectors
36
Units: sectors of 1 * 512 = 512 bytes
37
Sector size (logical/physical): 512 bytes / 512 bytes
38
I/O size (minimum/optimal): 512 bytes / 512 bytes
39
Disklabel type: gpt
40
Disk identifier: 3662829C-17F6-411B-B0DA-35207EEE4F13
41
42
Device      Start      End  Sectors  Size Type
43
/dev/sdc1    2048   499711   497664  243M Linux filesystem
44
/dev/sdc2  499712 61046783 60547072 28.9G Linux filesystem

Die betroffene Platte ist /dev/sdb1
/dev/sdc ist eine ssd
(/dev/sda12 ist auch nichtmehr ganz sauber, funktioniert aber noch.)

Meine /etc/fstab:
1
# /etc/fstab: static file system information.
2
#
3
# Use 'blkid' to print the universally unique identifier for a
4
# device; this may be used with UUID= as a more robust way to name devices
5
# that works even if disks are added and removed. See fstab(5).
6
#
7
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
8
# / was on /dev/sdc2 during installation
9
UUID=577a9389-e0b3-4c21-bbd2-530218ede444 /               ext4    errors=remount-ro 0       1
10
# /boot was on /dev/sdc1 during installation
11
UUID=3669ef69-3f3b-43c3-8c5f-0ead838aff12 /boot           ext4    defaults        0       2
12
#UUID=CAE5-68DF  /boot/efi  vfat  utf8,fmask=0133,errors=remount-ro  0  0
13
# /datas was on /dev/sdb1 during installation
14
#UUID=5CB0-33A8  /datas          vfat    utf8,umask=007,gid=46 0       1
15
# /home was on /dev/sda8 during installation
16
UUID=9cc44c20-4aac-4eef-bd82-bd9286ef863e /home           ext4    defaults        0       2
17
# /opt was on /dev/sda10 during installation
18
UUID=bdd6eac8-07bc-47c0-8bd4-2286d2091219 /opt            ext4    defaults        0       2
19
# /var was on /dev/sda9 during installation
20
UUID=33712137-bb76-43fd-b3d6-b2fc11c16ac1 /var            ext4    defaults        0       2
21
# swap was on /dev/sda11 during installation
22
#UUID=467d53ed-c599-40d7-b759-31ff55ccd04f none            swap    sw              0       0

Jetzt lasse ich erstmal folgendes Laufen:
1
sudo grep --byte-offset --only-matching --text DPAUCS /dev/sdb

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Daniel A. schrieb:
> Es gab wärend dem Windows gestartet
> war keine Anzeichen, dass etwas formatiert wird.

Ich denke auch nicht, daß es formatiert wurde. Durch den Ruhezustand 
wird es einfach nur in einem Zustand gewesen sein, mit dem Linux nix 
anfangen konnte und deshalb verrückt spielte.
Ein Windows Start mit Wiederherstellung der Sitzung aus der hiberfil.sys 
hätte das bestimmt behoben.

12 Partitionen ist ja ne riesige Menge, sind soviel wirklich nötig?
Bei mir sind auf dem Bootlaufwerk nur 2 Partitionen: System und Daten.
Alle weiteren Platten haben nur eine Partition.

von oszi40 (Gast)


Lesenswert?

Peter Dannegger schrieb:
> 12 Partitionen

Das scheint ein recht "buntes System" zu sein. Sowas geht 
erfahrungsgemäß nur soooo lange gut, bis man ein Reparaturtool braucht. 
Irgendwas vertauscht und verbogen und das jeweilige Reparaturtool ist 
ratlos. Dann hilft nur noch viel Wissen und Handarbeit oder einfach ein 
brauchbares Backup aus dem Schrank!

von Icke ®. (49636b65)


Lesenswert?

Peter Dannegger schrieb:
> Ich denke auch nicht, daß es formatiert wurde. Durch den Ruhezustand
> wird es einfach nur in einem Zustand gewesen sein, mit dem Linux nix
> anfangen konnte und deshalb verrückt spielte.

Unwahrscheinlich. Im Ruhezustand wird lediglich der RAM-Inhalt in der 
hiberfil.sys gespeichert, das Dateisystem bleibt unabhängig davon 
konsistent.
Vermutlich hat der TE ganz einfach die Übersicht verloren und die 
Partition versehentlich selbst formatiert oder anderweitig beschädigt.

Daniel A. schrieb:
> Wie kann ich die Dateien retten? Ich hab für sowas momentan nämlich
> eigentlich gerade keine Zeit.

Eine Sicherung hätte dir die Zeit erspart. Wenn überhaupt noch was zu 
retten ist, dann am ehesten mit gescheiter Datenrettungssoftware:

http://www.de.quetek.com/products3.htm

Aber wahrscheinlich darf es auch nix kosten...

von Daniel A. (daniel-a)


Lesenswert?

Peter Dannegger schrieb:
> 12 Partitionen ist ja ne riesige Menge, sind soviel wirklich nötig?

Nicht zwangslaufig. Ich habe versucht, alle Dateien die Linux zum booten 
braucht auf die ssd /dev/sdc auszulagern, sonstige Daten wie z.b. home 
wurden zur vermeidung von platzmangel ausgelagert nach /dev/sda.

Viele der partitionen auf /dev/sda waren schon von anfang an da. Das ESP 
konnte ich nicht auf die ssd auslagern, wurde von der PC firmware nicht 
unterstützt. Die BIOS boot partition /dev/sda1 wird von grub benötigt, 
wenn grub auf einer anderen Platte als das ESP ist. (leider scheint dies 
auch secure boot UEFI kram zu verhindern). Projekte und Dinge, auf die 
ich immer sofort und von jedem OS aus zugreifen können will haben, oder 
hatten das ganze /dev/sdb für sich.

von Daniel A. (daniel-a)


Lesenswert?

Icke ®. schrieb:
> Aber wahrscheinlich darf es auch nix kosten...

Genau, so ist es. Wenn es was kossten dürfte würde ich natürlich andere 
Beauftragen.

Meine versuche mit grep sind gescheitert. Ich bekomme immer:
1
grep: memory exhausted

Jedoch findet es wirklich viel, ich werde warscheinlich ein eigenes grep 
tool schreiben müssen. Änliches gillt für tail. bei tail /dev/sdb -c 
+1234567890 dauert es ewig, bis einmal etwas ausgegeben wird. Tail 
verwendet wohl kein fseek...

von Icke ®. (49636b65)


Lesenswert?

Daniel A. schrieb:
> Wenn es was kossten dürfte würde ich natürlich andere
> Beauftragen.

Dann sind deine Daten auch nichts wert. Viel Spaß noch bei der 
endgültigen Zerstörung durch weitere dilettantische Maßnahmen.

von Daniel A. (daniel-a)


Lesenswert?

Icke ®. schrieb:
> Dann sind deine Daten auch nichts wert.

Falsch. Meine Daten haben einen hohen persönlichen Wert. Nur die 
verlorenen Daten nicht. Die restlichen Daten haben 1 bis 3 backups. 
Ärgerlich ist es natürlich trotzdem.

von Malte S. (maltest)


Lesenswert?

Daniel A. schrieb:
> tail /dev/sdb -c
> +1234567890

Warum nicht dd bs=1 skip=1234567890 ? Das hat damit keine Probleme. 
bs=1 ist zwar nicht sehr performant, aber sonst kein Problem.

von Daniel A. (daniel-a)


Lesenswert?

Malte S. schrieb:
> Warum nicht dd bs=1 skip=1234567890 ? Das hat damit keine Probleme.

Danke, die Möglicheit hatte ich ganz vergessen.

Ich durchsuche die Festplatte gerade mit folgendem Programm:
1
#include <stdlib.h>
2
#include <string.h>
3
#include <stdio.h>
4
5
int main(int argc,char** argv){
6
  if( argc != 2 )
7
    return 1;
8
  char* str = argv[1];
9
  unsigned short n = strlen(str);
10
  unsigned short i = 0;
11
  char* buf = malloc(n);
12
  char* strit = str;
13
  char* bufit = buf;
14
  unsigned long offset = 0;
15
  while(1){
16
    char c = getchar();
17
    if(feof(stdin))
18
      break;
19
    offset++;
20
    i++;
21
    *bufit++ = c;
22
    if( *strit++ == c ){
23
      if( i == n ){
24
        printf("%lu\n",offset-n);
25
        i = 0;
26
        bufit = buf;
27
        strit = str;
28
      }
29
    }else{
30
      unsigned short j = i;
31
      while( --j && memcmp(str,bufit-j,j) );
32
      if(j)
33
        memmove(buf,bufit-j,j);
34
      i = j;
35
      bufit = buf;
36
      strit = str+j;
37
    }
38
  }
39
  return 0;
40
}

von Daniel A. (daniel-a)


Lesenswert?

Ich erziele mit dieser methode gerade erste Erfolge. (Festplatte manuell 
durchsuchen + dd)
Gibt es ein linux command line Programm, dass bis zum ersten Nullbyte 
alles von stdin auf stdout ausgibt? Das würde einiges vereinfachen.

von (prx) A. K. (prx)


Lesenswert?

So eins ist schneller geschrieben als gefragt.

von Daniel A. (daniel-a)


Lesenswert?

A. K. schrieb:
> So eins ist schneller geschrieben als gefragt.

Ok, dann schreib ich's eben selbst.
1
#include <stdio.h>
2
#include <stdlib.h>
3
#include <string.h>
4
5
int main(int argc, char** argv){
6
  if(argc!=2)
7
    return 1;
8
  char* str = argv[1];
9
  unsigned long long len = 0;
10
  sscanf(str,"%llu",&len);
11
  unsigned long long off = len;
12
  char* buf = malloc(len);
13
  fread(buf,1,len,stdin);
14
  while( off-- && buf[off] );
15
  fwrite(buf+off,1,len-off,stdout);
16
  while(1){
17
    char c = getchar();
18
    if(feof(stdin)||!c)
19
      break;
20
    putchar(c);
21
  }
22
  free(buf);
23
  return 0;
24
}

von batman (Gast)


Lesenswert?

Da hat Windoof doch bestimmt wieder was mit der Partition Table oder 
Root/Boot Block(s) gemacht. So schnell läßt man durch Formatieren nicht 
tausende Dateien spurlos verschwinden.

von Daniel A. (daniel-a)


Lesenswert?

Ich Extrahiere gerade alle Plaintextbereiche indenen "DPAUCS" auf 
/dev/sdb vorkommt. As sind einige zehn tausend. Eine gesuchte Datei hab 
ich bereits gefunden. Die gesuchten Dateien scheinen ganz am Ende zu 
kommen. Nach der Extraktion werde ich Dateien nach anzahl Zeilen und 
Grösse aussortieren. Dann dürften nichtmehr viele übrigbleiben.

Ich verwende folgendes Shellscript:
1
#!/bin/bash
2
3
maxOffBefore=10000
4
offEnd=0;
5
i=0
6
7
while read off; do {
8
  let i
9
  let offEnd
10
  if [ $off -le $offEnd ]
11
    then continue
12
  fi
13
  i=$(expr $i + 1)
14
  offEnd=$(dd bs=1 skip=$off if=/dev/sdb | ./pass 0 | wc -c)
15
  dd bs=1 skip=$(expr $off - $maxOffBefore) if=/dev/sdb | ./pass $maxOffBefore > $i.txt
16
  echo "dd bs=1 skip=$(expr $off - $maxOffBefore) if=/dev/sdb | ./pass $maxOffBefore > $i.txt"
17
} done

Verwendung:
Zuerst das c suchprogramm von Beitrag #4156014 verwenden (aber vorher 
unsigned long nach unsigned long long ändern):
1
programmname "suchbegriff" < /dev/sdX > offsetFile
Danach das Programm aus Beitrag #4156096 compilieren:
1
gcc -std=c99 programm.c -o pass
Zielordner Erstellen:
1
mkdir zielverzeichnis
2
cd zielverzeichnis
3
cp /path/to/file/pass .
Shellscript aus diesem Beitrag Ausführen:
1
./scriptname.sh < /path/to/file/offsetFile

Und fertig!

von Daniel A. (daniel-a)


Lesenswert?

Jetzt hab ich, nach aussortieren von zu grossen und zu kleinen Dateien, 
noch 20000 übrig. Jede davon gehört zum Projekt, aber es scheint jede 
Version, die ich jemals abgespeichert habe da zu sein. Unbeschädigt! 
Erstaunlich das recuva keine davon gefunden hat.

Ich habe die Dateien durchnummeriert, je grösser die nummer desto weiter 
hinten auf der Platte war sie. Glücklicherweise scheinen die neusten 
Versionen die grössten Nummern zu haben. Morgen muss ich nurnoch mit 
grep die einzelnen files suchen, und dann die mit der höchsten Nummer 
nehmen.

Fazit: Datenrettung erfolgreich!

PS: Im Programm im Beitrag #4156096 ist ein fehler:
>   while( off-- && buf[off] );
müsste so sein:
1
while( off && buf[off] ) off--;

von Mike J. (linuxmint_user)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.