Как клонировать жесткий диск с поврежденными данными

Tartuga

Бывалый
ПРОВЕРЕННЫЙ ПРОДАВЕЦ
PREMIUM USER

Tartuga

Бывалый
ПРОВЕРЕННЫЙ ПРОДАВЕЦ
PREMIUM USER
Регистрация
7 Фев 2020
Сообщения
525
Реакции
98
Репутация
147
Иногда возникают не тривиальные задачи по восстановлению работы PC. К таким задачам относится перенос данных с одного жесткого диска на другой. Очень часто бывает так что основной HDD стал понемногу сыпаться. И нужно срочно перенести данные с него. Поэтому самый быстрый и безопасный способ — клонировать жесткий диск.

Но при наличии битых секторов на исходном носителе, любая виндовая программа будет останавливаться. Но выход конечно же есть.

Я к примеру поступаю следующим образом:
Создаю загрузочную флешку с Live дистрибутивом Parted Magic 2016. Это дистрибутив Linux, с различными утилитами для восстановления системы. Авторы этого дистрибутива конечно жлобы и попросят у вас 9$ но вы смело можете зайти на

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

и найти ближайший к вам torrent трекер откуда его и скачаете.

Дальше вам нужно открыть командную строку и выполнить команду:

Которая покажет вам, какие диски есть в вашей системе. Предварительно вам необходимо подключить всю периферию.

В дальнейшем все что нам нужно, это открытая консоль и команда ddrescue
Немного теории — утилита ddrscue обладает одной очень полезной особенностью, она ведёт специальный лог, в котором отмечает проблемныепропущенные места, и при дальнейших запусках уже использует этот файл пробует читать только то, что раньше распознать не удалось. Поэтому процесс восстановления будет идти в несколько этапов, сначала пытаемся максимально быстро распознать большую часть, а потом возвращаемя к проблемным участкам.

В данном примере диск /dev/sda — исходный диск с битыми секторами

Диск /dev/sdb — пустой диск такой же или большей емкости.

Первый проход запускается командой

ddrescue --no-split --verbose /dev/sda /dev/sdb /root/rescue.log
Если система вам скажет что на диске куда вы собираетесь клонировать исходный диск уже есть данные, вам необходимо использовать параметр —force

ddrescue --no-split --verbose --force /dev/sda /dev/sdb /root/rescue.log
Лог восстановления — параметр не обязательный, но при многопроходном варианте нужен, и если в первый проход его создать забыли, то можно использовать —generate-logfile, полученный лог будет больше оптимального, но для дальнейших проходов полностью подойдёт.

В моём случае первый проход занял больше дня и сообщил о следующем

rescued: 22093 MB, errsize: 12264 MB, errors: 3876

картина не самая приятная, но уже что-то, начинаем второй проход.

ddrescue --direct --max-retries=2 --verbose /dev/sda /dev/sdb /root/rescue.log
теперь пробуем прочесть диск в режиме прямого доступа и с 2 повторными попытками. Это число можно увеличивать, но в моём случае это только увеличивало время и результатов не приносило. (А вот при копировании CD вполне может дать результат).

Второй проход занял ещё около 15 часов, причём значительно улучшил картину:

rescued: 34292 MB, errsize: 65220 kB, errors: 16659

но попробуем вернуть остатки

ddrescue --retrim --max-retries=2 --verbose /dev/sda /dev/sdb /root/rescue.log
в этом режиме очень сильно падает скорость, но восстанавливается то, что предыдущие два прохода не смогли.

Через два часа восстановление прерываю, результат

rescued: 34293 MB, errsize: 64579 kB

понятно что резкого улучшения ждать не стоит. С другой стороны для файлов небольшого размера (10-100мб) именно третий проход давал максимум данных, так что зависит от везения и характера проблем.

Времени на всё ушло чуть более двух суток, что конечно много, но приемлемо.

Удачного восстановления, и не забывайте делать бекапы, они стоят потерянного времени, но а на крайний случай, ddrescue Вам в помощь.
 

ProZhko

Участник

ProZhko

Участник
Регистрация
16 Апр 2020
Сообщения
5
Реакции
0
Репутация
0
как всегда годно
 
Сверху