Ddrescue-Image nach Wiederherstellung einbinden (über meinem Kopf)

18

Ich habe Probleme beim Laden des Wiederherstellungsabbilds. Ich habe versucht, das Image auf mehrere Arten bereitzustellen.

quark@DS9 ~ $ sudo mount -t ext4 /media/jump1/1recover/sdb1.img /mnt
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so


quark@DS9 ~ $ sudo mount -r -o loop /media/jump1/1recover/sdb1.img recover
mount: you must specify the filesystem type

quark@DS9 ~ $ sudo mount /media/jump1/1recover/sdb1.img mnt
mount: you must specify the filesystem type

Es gibt mir nicht einmal detaillierte Informationen über die Datei, die ich gerade erstellt habe, Nautilus sagt, es ist 160 GB.

quark@DS9 ~ $ file /media/jump1/1recover/sdb1.img
/media/jump1/1recover/sdb1.img: data


quark@DS9 ~ $ mmls /media/jump1/1recover/sdb1.img
        Cannot determine partition type

Ich bin nicht sicher, was ich falsch mache oder ob ich diesen Prozess von Anfang an falsch gestartet habe. Ich habe unten beschrieben, was ich bisher getan habe. Ich bin ahnungslos, ich würde mich freuen, wenn jemand einen Input für mich hätte.

Was ich von Anfang an getan habe

Mein Laptop hat zwei Festplatten.

Man hat die Dual Boot Win7 / Linux Mint Systemdateien. Die zweite enthielt meinen / home Ordner.

Der Laptop war kaputt und die / home-Festplatte defekt. Ich habe versucht, eine LiveCD-Wiederherstellung durchzuführen, die fehlgeschlagen ist. Ich würde nicht einmal eine Live-Sitzung mit der installierten Festplatte laden. Also wandte ich mich an ddrescue.

quark@DS9 ~ $ sudo fdisk -l

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 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: 0x0009fc18

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   112642047    56320000    7  HPFS/NTFS/exFAT
/dev/sda2       138033152   312580095    87273472   83  Linux
/dev/sda3       112644094   138033151    12694529    5  Extended
/dev/sda5       112644096   132173823     9764864   83  Linux
/dev/sda6       132175872   138033151     2928640   82  Linux swap / Solaris

Partition table entries are not in disk order

Disk /dev/sdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 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: 0x0002a8ea

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *          63   312576704   156288321   83  Linux

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 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: 0xed6d054b

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1              63  1953520064   976760001    7  HPFS/NTFS/exFAT
  • sda - 160g intern, enthält alle Systemdateien und alle Computerfunktionen.
  • sdb - 160g intern, BROKEN , enthält ungefähr 140g Daten, die ich wiederherstellen möchte.
  • sdc - 1T external, enthält ein Wiederherstellungsimage. Einziger Ort, der Platz hat, um all dies zu tun.

Von dieser Site aus https://apps.education.ucsb.edu/wiki/Ddrescue

Ich habe dieses Skript verwendet, um ein Image der kaputten Festplatte zu erstellen. Ich habe das Ziel auf das externe USB-Laufwerk geändert.

#!/bin/sh 

prt=sdb1
src=/dev/$prt
dst=/media/jump1/1recover/$prt.img
log=$dst.log

sudo time ddrescue --no-split $src $dst $log
sudo time ddrescue --direct --max-retries=3 $src $dst $log
sudo time ddrescue --direct --retrim --max-retries=3 $src $dst $log

Alles sah so aus, als ob es reibungslos geklappt hätte:

quark@DS9 ~ $ sudo bash recover1 


Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued:         0 B,  errsize:       0 B,  errors:       0
Current status
rescued:   160039 MB,  errsize:    4096 B,  current rate:    35588 B/s
   ipos:      3584 B,   errors:       1,    average rate:   22859 kB/s
   opos:      3584 B,     time from last successful read:       0 s
Finished                   
12.78user 1060.42system 1:56:41elapsed 15%CPU (0avgtext+0avgdata 4944maxresident)k
312580958inputs+0outputs (1major+601minor)pagefaults 0swaps


Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued:   160039 MB,  errsize:    4096 B,  errors:       1
Current status
rescued:   160039 MB,  errsize:    1024 B,  current rate:        0 B/s
   ipos:      1536 B,   errors:       1,    average rate:       13 B/s
   opos:      1536 B,     time from last successful read:     1.3 m
Finished                       
0.00user 0.00system 3:43.95elapsed 0%CPU (0avgtext+0avgdata 4944maxresident)k
238inputs+0outputs (3major+374minor)pagefaults 0swaps


Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued:   160039 MB,  errsize:    1024 B,  errors:       1
Current status
rescued:   160039 MB,  errsize:    1024 B,  current rate:        0 B/s
   ipos:      1536 B,   errors:       1,    average rate:        0 B/s
   opos:      1536 B,     time from last successful read:     3.7 m
Finished                       
0.00user 0.00system 3:43.56elapsed 0%CPU (0avgtext+0avgdata 4944maxresident)k
8inputs+0outputs (0major+376minor)pagefaults 0swaps

Es sieht so aus, als hätte es von meinem Standpunkt aus perfekt funktioniert. Hier ist das Protokoll:

# Rescue Logfile. Created by GNU ddrescue version 1.14
# Command line: ddrescue --direct --retrim --max-retries=3 /dev/sdb1 /media/jump1/1recover/sdb1.img /media/jump1/1recover/sdb1.img.log
# current_pos  current_status
0x00000600     +
#      pos        size  status
0x00000000  0x00000400  +
0x00000400  0x00000400  -
0x00000800  0x254314FC00  +

Ich bin nicht sicher, wie ich vorgehen soll. Bedeutet das, dass alle meine Daten verloren gehen ????????

Schätze JEDEN Input!

BorgDomination
quelle
5
+1 für die Bereitstellung vieler detaillierter relevanter Informationen, die übersichtlich und leicht lesbar dargestellt werden.
Scott Severance
Das Ubuntu-Wiki hat eine sehr gute Seite zur Datenwiederherstellung: help.ubuntu.com/community/DataRecovery
Wilf

Antworten:

7

Ich fand die Lösung und kam mir irgendwie dumm vor, dass ich das verpasst habe. Vielen Dank für Ihre Antworten!

Ich habe das Image auf Fehler überprüft und es dann problemlos gemountet!

sudo fsck -y /dev/sda2/backup.img

Es hat die Fehler behoben und dann ohne Probleme montiert mit:

sudo mount /dev/sda2/backup.img /mnt/recoverydata
BorgDomination
quelle
5

Das von Ihnen erstellte Image enthält alle Fehler, die Ihre Originaldiskette aufweist. Daher können Sie es wahrscheinlich nicht mounten oder lesen. Um fortzufahren, laden Sie dieses Image in Ihr bevorzugtes Datenrettungstool .

Wir haben gute Erfahrungen mit Testdisk / PhotoRec, aber es gibt auch andere erwähnenswerte Tools, z. B. Foremost.

Siehe auch:

Takkat
quelle
4

Folgendes musste ich in einer ähnlichen Situation tun - für den Fall, dass jemand wie ich über diese Frage stolpert.

Mein Image konnte auch nicht eingebunden werden und verursachte denselben Fehler (fehlerhafter Superblock). Fsck schlug jedoch auch mit folgendem Fehler fehl:

fsck from util-linux 2.20.1
e2fsck 1.42 (29-Nov-2011)
fsck.ext2: Superblock invalid, trying backup blocks...
fsck.ext2: Bad magic number in super-block while trying to open /mnt/download/rescue.img

The superblock could not be read or does not describe a correct ext2
filesystem.  If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>

Nachdem ich DataRecovery gelesen hatte (Link von Takkat, danke!), Versuchte ich Folgendes und es funktionierte:

apt-get install sleuthkit
mmls /path/to/image

Dies ergab die folgende Ausgabe:

DOS Partition Table
Offset Sector: 0
Units are in 512-byte sectors

     Slot    Start        End          Length       Description
00:  Meta    0000000000   0000000000   0000000001   Primary Table (#0)
01:  -----   0000000000   0000000062   0000000063   Unallocated
02:  00:00   0000000063   2930272064   2930272002   Linux (0x83)
03:  -----   2930272065   2930277167   0000005103   Unallocated

Ich habe dann 63 mit 512 multipliziert, um 32256 zu erhalten und das Bild wie folgt gemountet:

mount -o loop,offset=32256 /path/to/image /mnt/temp

Ich hoffe das hilft auch jemand anderem.

Jure Merhar
quelle
2

Zusätzlich zu Takkats Antwort möchte ich einen anderen möglichen Ansatz vorschlagen. In Anbetracht der Tatsache, dass Ihr Image mit ziemlicher Sicherheit beschädigt ist, gibt es möglicherweise einige Daten, die mit Datenwiederherstellungstools nicht ordnungsgemäß wiederhergestellt werden können.

SpinRite geht dieses Problem auf andere Weise an. Anstatt ein Image zu bearbeiten, wird die Festplatte überprüft, um mehr Daten zu erhalten, als normale Tools wiederherstellen können. Ich habe es verwendet, um die Menge der wiederherstellbaren Daten erheblich zu erhöhen. Wenn Sie Glück haben, können Sie Ihre Festplatte anschließend normal lange genug mounten, um eine ordnungsgemäße Sicherung durchzuführen.

SpinRite hat jedoch einen großen Nachteil. Es kostet eine ganze Menge Geld. Wenn die anderen Tools für Sie funktionieren, sparen Sie Ihr Geld. Aber wenn Sie mehr brauchen, ist SpinRite definitiv einen Versuch wert.

Scott Severance
quelle