Montage de l'image de secours après la récupération (au-dessus de ma tête)


18

J'ai des problèmes pour monter l'image de récupération. J'ai essayé de monter l'image de plusieurs façons.

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

Il ne me donne même pas d'informations détaillées sur le fichier que je viens de créer, nautilus dit que c'est 160 Go.

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

Je ne suis pas sûr de ce que je fais mal ou si j'ai mal commencé ce processus depuis le début. J'ai décrit ce que j'ai fait jusqu'à présent ci-dessous. Je ne sais rien, j'apprécierais que quelqu'un m'apporte quelque chose.

Ce que j'ai fait depuis le début

Mon ordinateur portable a deux disques durs.

L'un a les fichiers système Win7 / Linux Mint à double démarrage. Le secondaire contenait mon dossier / home.

L'ordinateur portable a été secoué et le disque / home a été cassé. J'ai essayé une récupération LiveCD, elle a échoué. Ne chargerait même pas une session Live avec le disque installé. Je me suis donc tourné vers 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 interne, contient tous les fichiers système et toutes les fonctions de l'ordinateur.
  • sdb - 160g interne, BROKEN , contient environ 140g de données que j'aimerais récupérer.
  • sdc - 1T externe, contient une image de récupération. Seul endroit qui a de l'espace pour faire tout cela.

Depuis ce site, https://apps.education.ucsb.edu/wiki/Ddrescue

J'ai utilisé ce script pour créer une image du disque dur cassé. J'ai changé la destination sur le lecteur USB externe.

#!/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

Tout avait l'air d'être sorti sans accroc:

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

Il semble que, d'où je me tiens, cela a parfaitement fonctionné. Voici le journal:

# 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  +

Je ne sais pas comment procéder. Est-ce à dire que toutes mes données sont perdues ????????

Appréciez N'IMPORTE QUELLE entrée!


5
+1 pour avoir fourni de nombreuses informations pertinentes détaillées présentées de manière claire et facile à lire.
Scott Severance du

Le wiki Ubuntu a une très bonne page sur la récupération de données: help.ubuntu.com/community/DataRecovery
Wilf

Réponses:


7

J'ai trouvé la solution et je me sens un peu idiot d'avoir raté cela. Merci beaucoup pour vos réponses!

J'ai vérifié l'image pour les erreurs, puis elle s'est montée sans problème!

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

Il a corrigé les erreurs puis il n'a monté aucun problème avec:

sudo mount /dev/sda2/backup.img /mnt/recoverydata

5

L'image que vous avez créée contiendra tous les défauts de votre disque d'origine. Par conséquent, vous ne pouvez probablement pas le monter ou le lire. La façon de procéder consiste à charger cette image dans votre outil de récupération de données préféré .

Nous avons une bonne expérience avec Testdisk / PhotoRec mais il existe d'autres outils qui méritent d'être mentionnés, par exemple Foremost.

Voir également:


4

Voici ce que j'ai dû faire dans une situation similaire - au cas où quelqu'un tomberait sur cette question comme je l'ai fait.

Mon image ne montera pas non plus, générant la même erreur (mauvais superbloc). Cependant, fsck a également échoué avec l'erreur suivante:

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>

Après avoir lu DataRecovery (lien fourni par Takkat, merci!), J'ai essayé ce qui suit et cela a fonctionné:

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

Cela a produit la sortie suivante:

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

J'ai ensuite multiplié 63 par 512 pour obtenir 32256 et monté l'image comme ceci:

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

J'espère que cela aide aussi quelqu'un d'autre.


2

En plus de la réponse de Takkat, je voudrais suggérer une autre approche possible. Étant donné que votre image est presque certainement endommagée, il peut y avoir des données que les outils de récupération de données ne peuvent pas récupérer correctement.

SpinRite résout ce problème d'une manière différente. Plutôt que de fonctionner à partir d'une image, il exerce le disque afin d'en extraire plus de données que les outils normaux ne peuvent en récupérer. Je l'ai utilisé pour augmenter considérablement la quantité de données récupérables. Si vous êtes chanceux, vous pourrez monter votre disque normalement par la suite assez longtemps pour effectuer une sauvegarde appropriée.

SpinRite présente cependant un inconvénient majeur. Cela coûte beaucoup d'argent. Si les autres outils fonctionnent pour vous, alors économisez votre argent. Mais si vous en avez besoin de plus, SpinRite vaut vraiment la peine d'être essayé.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.