我正在尝试从具有多个损坏扇区的磁盘中恢复数据。损坏的分区(Windows 分区,sdb2)不再可挂载(这需要很长时间,有时会导致 Ubuntu 文件资源管理器崩溃/一切都变得滞后),所以我尝试使用 ddrescue 来恢复其数据。
我将另一个磁盘(比损坏的分区大 2 倍)格式化为 FAT(sda1),并打算将其用作救援磁盘。
我运行这个命令:
sudo ddrescue -B -v -n --force /dev/sdb2 /dev/sda1 récupérationLog2.log
经过 9 个小时的紧张工作,控制台输出看起来相当不错,因为它提到已挽救 953525 MiB 的数据(在 1TB 分区上):
*GNU ddrescue 1.19
About to copy 953668 MiBytes from /dev/sdb2 to /dev/sda1.
Starting positions: infile = 0 B, outfile = 0 B
Copy block size: 128 sectors Initial skip size: 128 sectors
Sector size: 512 Bytes
Press Ctrl-C to interrupt
rescued: 953525 MiB, errsize: 142 MiB, current rate: 3072 B/s
ipos: 904228 MiB, errors: 513, average rate: 29903 KiB/s
opos: 904228 MiB, run time: 9.07 h, successful read: 0 s ago
Finished*
一切似乎都很好,但是当我挂载救援分区 sda1 时,似乎根本没有文件。一切都是空的。当然,它尝试使用 列出隐藏文件ls -a
,但那里什么也没有。
这是我第二次成功恢复,但没有得到任何输出文件。我做错了什么吗?或者还有其他可以尝试的吗?
日志文件摘录
# Rescue Logfile. Created by GNU ddrescue version 1.19
# Command line: ddrescue -B -v -n --force /dev/sdb2 /dev/sda1 récupérationLog2.log
# Start time: 2017-04-18 09:47:59
# Current time: 2017-04-18 18:52:11
# Finished
# current_pos current_status
0xDCC247D000 +
# pos size status
0x00000000 0x0160C000 +
0x0160C000 0x00000200 -
0x0160C200 0x02B5FC00 /
0x0416BE00 0x00000200 -
0x0416C000 0x14B94000 +
0x18D00000 0x00000200 -
0x18D00200 0x003FFC00 /
0x190FFE00 0x00000200 -
0x19100000 0x4F570000 +
0x68670000 0x00000200 -
0x68670200 0x00005C00 /
0x68675E00 0x00000200 -
0x68676000 0x00094000 +
0x6870A000 0x00000200 -
0x6870A200 0x00001C00 /
0x6870BE00 0x00000200 -
0x6870C000 0x008E0000 +
0x68FEC000 0x00000200 -
0x68FEC200 0x00002C00 /
0x68FEEE00 0x00000200 -
0x68FEF000 0x0000A000 +
0x68FF9000 0x00000200 -
0x68FF9200 0x00006C00 /
0x68FFFE00 0x00000200 -
我必须添加参数--force
,因为每次我尝试使用 ddrescue 时,它都会说由于 ouputlog 文件已经存在而无法启动,即使我每次都尝试不同的、不存在的文件名。
答案1
我将另一个磁盘(比损坏分区大 2 倍)格式化为 FAT(sda1)
[...]
sudo ddrescue -B -v -n --force /dev/sdb2 /dev/sda1 récupérationLog2.log
这是不知道它是如何运作的。以下是你目前正在做的事情:
- 您正在复制的内容
/dev/sdb2
超过/dev/sda1
- 您已在分区表中将后者标记为 FAT,但您正在用 NTFS 文件系统进行覆盖
- 当你尝试“挂载”时,
/dev/sda1
它不起作用,因为那不是 FAT 文件系统,当然
附带说明一下,使用 进行mount
数据恢复通常不是一个好方法,特别是如果您不能确保它是只读的。另外,不要在终端中向文件名添加重音符或特殊字符。
你应该做的是:
- 创建新分区来保存图像文件故障分区。请注意,FAT 不是一个可接受的选择,因为您无法存储大于 4GB 的 FAT 文件。NTFS 或 exFAT 是可以的。
挂载所述分区并将驱动器复制到文件中,例如:
ddrescue /dev/sdb2 /media/user/External/copy.img /media/user/External/copy.log
按照以下说明对副本执行数据恢复恢复损坏或删除的 NTFS 分区