"Исправление" поврежденных секторов в образе диска
Я использовал ddrescue (через пакет gddrescue), чтобы создать образ диска с полным диском объемом 1,5 ТБ, который имел несколько разделов. Это закончено хорошо, используя.
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
Я также могу смонтировать разделы и увидеть файлы, которые были на диске без проблем, используя опцию смещения при монтировании.
Проблема, с которой я сталкиваюсь, заключается в том, что при попытке скопировать файлы из образа на новый диск в какой-то момент процесс полностью останавливается. Я предполагаю, где плохие сектора были на старом диске.
Я знаю, что плохие / отсутствующие сектора в некотором смысле копируются, но я думал, что смогу легко получить данные, которые не были плохими / отсутствующими. Разве это не так? Я не могу найти ни одной опции в команде copy, которая бы пропускала ошибки и т. Д., А опция --ignore-errors в rsync, похоже, ничего не делает.
Есть ли утилита, которая позволит мне копировать любые доступные файлы, не блокируя все, когда файл поврежден плохим сектором? Я действительно хотел бы избегать использования чего-то вроде safecopy для копирования из изображения, которое я создал, в новое изображение, так как мне нужно было бы купить другой диск в дополнение к тому, который мне уже нужен, чтобы восстановить эти данные.
Пока кажется, что может работать следующее:
rsync -avP --stats --block-size=512 --timeout=10 /path/to/src /path/to/dest
Хотя таймаут кажется намного длиннее 10 секунд.