В Linux есть мощнейшая утилита по восстановлению данных с неисправных накопителей, под названием ddrescue. При чем на самом деле есть две версии этой программы - dd_rescue и GNU ddrescue. Нас интересует последний вариант, потому что при его использовании шансы на восстановление выше. Подробнее об отличиях двух этих утилит можно прочитать в статье на Хабре.
Подготовка к восстановлению
Первым делом нам понадобится какой-нибудь Live дистрибутив Linux, загружаемый с флешки и содержащий в себе саму утилиту GNU ddrescue. Я рекомендую использовать для этих целей LiveUSB сборку DogLinux от gumanzoy. Скачать ее можно здесь. Процесс записи на флешку этого дистрибутива описан в файле install_ru.txt. Можно использовать совместно с Ventoy.
Подготавливаем флешку, загружаемся в Live систему и запускаем терминал.
Определение установленных накопителей и их разделов
Перед тем как начать восстановление файлов с неисправного жесткого диска, необходимо понять как нужный накопитель называется в системе и какие разделы он содержит. Для этого можно воспользоваться консольной утилитой fdisk:
fdisk -l
В результате будет выведен список все накопителей и разделов на них. В Linux наименование накопителей начинается с букв sd, после которых отображается буква диска - a, b, c и т. д. Таким образом полное название дисков будет иметь следующий вид - sda, sdb, sdc и т. д. После буквенного обозначения диска уже следуют номера разделов, например, 1, 2, 3.
Disk /dev/sda: 50 GB, 53687091200 bytes, 104857600 sectors
51200 cylinders, 64 heads, 32 sectors/track
Units: sectors of 1 * 512 = 512 bytes
Device Boot StartCHS EndCHS StartLBA EndLBA Sectors Size Id Type
/dev/sda1 * 1,0,1 100,63,32 2048 206847 204800 100M 83 Linux
/dev/sda2 101,0,1 1023,63,32 206848 8595455 8388608 4096M 82 Linux swap
/dev/sda3 1023,63,32 1023,63,32 8595456 104857599 96262144 45.9G 83 Linux
Запись такого вида означает, что в системе установлен накопитель sda объемом 50 Гб, содержащий 3 раздела sda1, sda2 и sda3, объемом 100 Мб, 4096 Мб и 45,9 Гб соответственно.
На этом этапе необходимо определить сбойный накопитель и разделы, которые необходимо восстановить.
Как пользоваться ddrescue
Следующим этапом восстановления данных будет создание образов разделов с неисправного жесткого диска. ddrescue позволяет перенести данные со сбойного накопителя сразу на новый, но я так делать не советую потому что есть риск получить в результате нерабочую файловую систему, которую будет невозможно починить.
Для удобства открываем файловый менеджер, в боковой панели слева выбираем рабочий накопитель, куда будем сохранять образ и переходим в нужную папку. Теперь в свободном поле щелкаем правой клавишей мыши и открываем терминал из контекстного меню. Выполняем команду:
ddrescue -r3 /dev/sda2 image.img logfile.log
- /dev/sda2 - имя раздела, который будем сканировать
- image.img - имя файла образа, в который будем сохранять данные неисправного накопителя
- logfile.log - название файла журнала, где будет фиксироваться процесс считывания данных
- -r3 - ключ запуска, указывающий на то, что необходимо будет предпринять 3 попытки прочитать сбойный сектор, прежде чем перейти к следующему
Набираемся терпения и ждем завершения процесса.
Просмотр созданного образа и восстановление данных
Если вам необходимо просто скопировать какие-то данные из образа, а не переносить разделы на новый накопитель, то самый простой вариант - примонтировать образ. Для того чтобы посмотреть содержимое созданного образа создадим каталог и подключим его туда:
mkdir /mnt/disk
mount -o loop image.img /mnt/disk
Теперь данные образа можно посмотреть в файловом менеджере по пути /mnt/disk. В конце отключим образ командой:
umount /mnt/disk
Для развертывания сохраненных образов разделов на новом накопителе, следует заранее создать разделы того же или большего объема на новом устройстве, а уже только после этого переходить к копированию данных.
ddrescue -f image.img /dev/sdb2 logfile.log
- image.img - имя файла образа, который будем развертывать на новом накопителе
- /dev/sdb2 - имя раздела, куда будем восстанавливать
- logfile.log - название файла журнала, где будет фиксироваться процесс записи данных
- -f - ключ принудительной записи данных
Возможные проблемы в процессе создания образа
Так может получиться, что жесткий диск, с которого вы пытались восстановить информацию, находится в достаточно плачевном состоянии и созданный образ раздела будет не совсем верным. В таком случае при его развертывании на новый накопитель система не сможет его починить и данные также останутся недоступны. Монтирование образа для копирования файлов также может не принести результатов.
В таком случае можно попробовать открыть созданный образ в какой-нибудь программе восстановления файлов, например, R-Studio. Просканировав созданный образ, вероятно удастся восстановить какие-то данные.