Попробуйте использовать dd_rescue
(называемый ddrescue
в вариантах Ubuntu) и передать его в нечто вроде xz
(или более универсальные gzip
и bzip2
). Это вставит нули в том месте, где поврежденный сектор был поврежден, но не разбит в плохом секторе, и сожмет выходные данные, так что они, надеюсь, поместятся на вашем втором жестком диске.
Пример:
dd_rescue /dev/sdX - | bzip2 > /mnt/working_external_disk/diskimage.img.bz2
где sdX
- это блочное устройство неисправного жесткого диска, а символ -
направляет вывод в stdout
, где он передается в bzip2
, а bzip2
выводит сжатый образ диска в /mnt/working_external_disk/diskimage.img.bz2
. После этого вы сможете распаковать его, когда у вас будет немного больше места, и смонтировать его с помощью команды mount -o loop /path/to/decompressed/disk/image.img /path/to/mount/to
.
Если вы не хотите вкладывать деньги в немного больший диск, вы всегда можете попробовать использовать split
для разделения нескольких секторов на образе диска. Вероятно, после этого он не будет правильно установлен, но его стоит попробовать.
Извините, если это не отвечает на ваш вопрос, но в настоящее время я выполняю резервное копирование огромного количества данных и нахожусь в подобном затруднительном положении, и это то, что в конечном итоге сработало для меня. Мне нужно было получить диск большего размера, но я смог сделать копию плохого диска тем временем с помощью bzip2
.
Если вы не используете Linux / Unix, извините за трату времени, но у меня мало опыта с Windows, когда дело доходит до резервного копирования дисков.