Монтирование ddrescue образа после восстановления (через мою голову)

18

У меня проблемы с монтированием образа восстановления. Я попытался смонтировать образ несколькими способами.

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

Он даже не дает мне подробную информацию о файле, который я только что сделал, Наутилус говорит, что это 160 ГБ.

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

Я не уверен, что я делаю неправильно, или я начал этот процесс неправильно с самого начала. Я обрисовал в общих чертах то, что я сделал так далеко ниже. Я не в курсе, я был бы признателен, если бы кто-нибудь высказался за меня.

Что я сделал с самого начала

У моего ноутбука два жестких диска.

Один из них имеет двойную загрузку системных файлов Win7 / Linux Mint. Вторичный файл содержал папку my / home.

Ноутбук был поврежден и / home диск был сломан. Я пытался восстановить LiveCD, не удалось. Не будет даже загружать сеанс Live с установленным диском. Так что я обратился в службу спасения.

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 внутренний, содержит все системные файлы и все компьютерные функции.
  • SDB - 160 г внутреннего, BROKEN , содержит около 140 г данных, которые я хотел бы восстановить.
  • SDC - 1T внешний, содержит образ для восстановления. Единственное место, где есть место, чтобы сделать все это.

С этого сайта https://apps.education.ucsb.edu/wiki/Ddrescue

Я использовал этот скрипт для создания образа сломанного жесткого диска. Я изменил место назначения на внешний USB-накопитель.

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

Все выглядело так, будто все прошло без сучка:

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

Похоже, с того места, где я стою, все работало отлично. Вот журнал:

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

Я не уверен, как поступить. Значит ли это, что все мои данные потеряны ????????

Цените ЛЮБОЙ вклад!

BorgDomination
источник
5
+1 за предоставление множества подробной релевантной информации, представленной в ясной, легкой для чтения форме.
Скотт Северанс
В вики Ubuntu есть очень хорошая страница по восстановлению данных: help.ubuntu.com/community/DataRecovery
Уилф

Ответы:

7

Я нашел решение и чувствую себя немного глупо из-за этого. Большое спасибо, ребята, за ваши ответы!

Я проверил образ на наличие ошибок, а затем он смонтирован без проблем!

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

Он исправил ошибки и установил без проблем:

sudo mount /dev/sda2/backup.img /mnt/recoverydata
BorgDomination
источник
5

Образ, который вы создали, будет содержать все ошибки вашего оригинального диска. Поэтому вы, скорее всего, не сможете его смонтировать или прочитать. Чтобы продолжить, загрузите это изображение в ваш любимый инструмент восстановления данных .

У нас есть хороший опыт работы с Testdisk / PhotoRec, но есть и другие инструменты, о которых стоит упомянуть, например Foremost.

Смотрите также:

Takkat
источник
4

Вот что я должен был сделать в аналогичной ситуации - в случае, если кто-то наткнется на этот вопрос, как я.

Мой образ также не монтируется, генерируя ту же ошибку (плохой суперблок). Однако fsck также потерпел неудачу со следующей ошибкой:

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>

Прочитав DataRecovery (ссылка предоставлена ​​Takkat, спасибо!), Я попробовал следующее, и это сработало:

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

Это дало следующий результат:

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

Затем я умножил 63 на 512, чтобы получить 32256, и смонтировал изображение так:

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

Я надеюсь, что это помогает кому-то еще.

Юре Мерхар
источник
2

В дополнение к ответу Такката я хотел бы предложить другой возможный подход. Учитывая, что ваш образ почти наверняка поврежден, могут быть некоторые данные, которые инструменты восстановления данных не могут адекватно восстановить.

SpinRite решает эту проблему по-другому. Вместо того, чтобы работать с образом, он тренирует диск, чтобы извлечь из него больше данных, чем могут восстановить обычные инструменты. Я использовал его, чтобы значительно увеличить объем восстанавливаемых данных. Если вам повезет, вы сможете смонтировать диск после этого достаточно долго, чтобы сделать правильное резервное копирование.

SpinRite имеет большой недостаток. Это стоит изрядного количества денег. Если у вас работают другие инструменты, тогда экономьте свои деньги. Но если вам нужно больше, SpinRite определенно стоит попробовать.

Скотт Северанс
источник