“修复”磁盘映像中的损坏扇区

“修复”磁盘映像中的损坏扇区

我使用 ddrescue(通过 gddrescue 包)创建了一个包含多个分区的 1.5TB 完整驱动器的磁盘映像。使用起来很顺利。

ddrescue --no-split /dev/sd{X} /path/to/drive.img /path/to/drive.log

我可以通过 fdisk 对 img 查看两个分区:

Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xb65b52a6

Device            Boot      Start        End    Sectors   Size Id Type
DiskImg.img1 *          2048 1933981695 1933979648 922.2G  7 HPFS/NTFS/exFAT
DiskImg.img2      1933981696 2930272255  996290560 475.1G  7 HPFS/NTFS/exFAT

我还能够安装分区并查看驱动器上的文件,并且在安装时使用偏移选项不会出现问题。

我遇到的问题是,在尝试将文件从映像复制到新驱动器时,该过程在某个时候完全停止。我推测坏扇区在旧驱动器上的位置。

我知道坏扇区/丢失扇区在某种意义上是被复制的,但我认为我可以轻松获取没有坏扇区/丢失的数据。事实并非如此吗?我在复制命令中找不到任何可以跳过错误等的选项,而 rsync 中的选项 --ignore-errors 似乎没有任何作用。

是否有一个实用程序可以让我复制所有可用的文件,而不会在文件遇到坏扇区时锁定所有内容?我真的不想使用 safecopy 之类的东西将我创建的映像复制到新映像,因为我必须在已有的驱动器上购买另一个驱动器才能恢复这些数据。

到目前为止,看来以下方法可能有效:

rsync -avP --stats --block-size=512 --timeout=10 /path/to/src /path/to/dest

尽管超时时间似乎比 10 秒长很多。

相关内容