我在安装恢复映像时遇到问题。我尝试了多种方式安装映像。
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
它甚至没有给我提供我刚刚制作的文件的详细信息,nautilus 说它是 160gb。
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 系统文件。第二个包含我的 /home 文件夹。
笔记本电脑受到震动,/home 磁盘损坏。我尝试使用 LiveCD 恢复,但失败了。安装磁盘后甚至无法加载 Live 会话。因此我求助于 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,保存所有系统文件和所有计算机功能。
- sdb-160g 内部,破碎的,包含大约140g我想要恢复的数据。
- 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 +
我不知道该怎么办。这是否意味着我的所有数据都丢失了????????
感谢任何意见!
答案1
我找到了解决方案,但错过这个解决方案让我感觉有点愚蠢。非常感谢你们的回复!
我检查了图像是否有错误,然后它就毫无问题地安装好了!
sudo fsck -y /dev/sda2/backup.img
它修复了错误,然后安装不再出现问题:
sudo mount /dev/sda2/backup.img /mnt/recoverydata
答案2
您创建的映像将包含原始磁盘的所有错误。因此,您可能无法装载或读取它。继续的方法是将此映像加载到您最喜欢的数据恢复工具。
我们有丰富的经验测试磁盘/PhotoRec但还有其他工具值得一提,例如 Foremost。
也可以看看:
答案3
这是我在类似情况下必须做的事情 - 以防有人像我一样偶然发现这个问题。
我的映像也无法挂载,并生成相同的错误(坏超级块)。但是,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>
阅读后数据恢复(链接由 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
我希望这也能帮助其他人。
答案4
除了 Takkat 的回答之外,我还想建议另一种可能的方法。考虑到您的图像几乎肯定已损坏,可能存在一些数据恢复工具无法充分恢复的数据。
SpinRite以不同的方式解决了这个问题。它不是操作映像,而是使用磁盘来获取比普通工具可以恢复的更多的数据。我使用它来显著增加可恢复数据的数量。如果你很幸运,你将能够在之后正常安装磁盘足够长的时间以进行正确的备份。
不过,SpinRite 确实有一个很大的缺点。它的价格相当昂贵。如果其他工具对你有用,那就省点钱吧。但如果你需要更多,SpinRite 绝对值得一试。