Montagem da imagem do ddrescue após a recuperação (em cima da minha cabeça)

18

Estou tendo problemas para montar a imagem de recuperação. Eu tentei montar a imagem de várias maneiras.

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

Nem sequer me fornece informações detalhadas sobre o arquivo que acabei de criar, o nautilus diz que são 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

Não tenho certeza do que estou fazendo de errado ou se iniciei esse processo incorretamente desde o início. Descrevi o que fiz até agora abaixo. Eu não tenho noção, eu apreciaria se alguém tivesse alguma contribuição para mim.

O que eu fiz desde o começo

Meu laptop possui dois discos rígidos.

Um deles possui os arquivos de sistema Win7 / Linux Mint de inicialização dupla. O secundário continha minha pasta / home.

O laptop foi danificado e o disco / home foi quebrado. Eu tentei uma recuperação do LiveCD, ela falhou. Nem carregava uma sessão ao vivo com o disco instalado. Então eu me virei para o 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 interno, contém todos os arquivos do sistema e todas as funções do computador.
  • sdb - 160g interno, BROKEN , contém cerca de 140g de dados que eu gostaria de recuperar.
  • sdc - 1T externo, contém imagem de recuperação. Único lugar que tem espaço para fazer tudo isso.

A partir deste site, https://apps.education.ucsb.edu/wiki/Ddrescue

Eu usei esse script para criar uma imagem do disco rígido quebrado. Mudei o destino para a unidade USB externa.

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

Tudo parecia que saiu sem problemas:

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

Parece que, de onde estou, funcionou perfeitamente. Aqui está o log:

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

Não tenho certeza de como proceder. Isso significa que todos os meus dados estão perdidos ????????

Aprecie QUALQUER entrada!

BorgDomination
fonte
5
+1 por fornecer muitas informações relevantes detalhadas apresentadas de maneira clara e fácil de ler.
Scott Severance
O Ubuntu wiki tem uma boa página de recuperação de dados: help.ubuntu.com/community/DataRecovery
Wilf

Respostas:

7

Encontrei a solução e me sinto meio tolo por ter perdido isso. Muito obrigado por suas respostas!

Verifiquei a imagem quanto a erros e montou sem problemas!

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

Ele corrigiu os erros e montou nenhum problema com:

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

A imagem que você criou conterá todas as falhas do disco original. Portanto, você provavelmente não pode montá-lo ou lê-lo. O caminho a seguir é carregar esta imagem na sua ferramenta de recuperação de dados favorita .

Temos uma boa experiência com o Testdisk / PhotoRec, mas existem outras ferramentas que vale a pena mencionar, por exemplo, o primeiro.

Veja também:

Takkat
fonte
4

Aqui está o que eu tive que fazer em uma situação semelhante - no caso de alguém tropeçar nessa pergunta como eu.

Minha imagem também não era montada, gerando o mesmo erro (superbloco ruim). No entanto, o fsck também falhou com o seguinte erro:

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>

Depois de ler o DataRecovery (link fornecido por Takkat, obrigado!), Tentei o seguinte e funcionou:

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

Isso produziu a seguinte saída:

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

Multipliquei 63 por 512 para obter 32256 e montei a imagem assim:

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

Espero que isso ajude outra pessoa também.

Jure Merhar
fonte
2

Além da resposta de Takkat, gostaria de sugerir outra abordagem possível. Considerando que sua imagem está quase certamente danificada, pode haver alguns dados que as ferramentas de recuperação de dados não podem recuperar adequadamente.

O SpinRite soluciona esse problema de uma maneira diferente. Em vez de operar uma imagem, ela exercita o disco para obter mais dados do que as ferramentas normais podem recuperar. Usei-o para aumentar significativamente a quantidade de dados recuperáveis. Se você tiver sorte, poderá montar seu disco normalmente posteriormente por tempo suficiente para fazer um backup adequado.

O SpinRite vem com uma grande desvantagem. Custa uma quantia justa de dinheiro. Se as outras ferramentas funcionarem para você, economize seu dinheiro. Mas se você precisar de mais, vale a pena tentar o SpinRite.

Scott Severance
fonte