
Я нахожусь в процессе восстановления данных с неисправного диска (см.Как узнать, какие файлы были утеряны при попытке восстановления с помощью ddrescue?). Должен сказать, что у меня нет опыта управления дисками на этом уровне. Следуя принятому там ответу, я сделал следующее:
- Сделал копию неисправного диска с помощью
ddrescue
и обработал mapfile для использования с помощьюtestb
.debugfs
Я насчитал 248 проверок блоков. - После запуска всех этих
testb
команд я обнаружил, что 236 были "неиспользуемыми" и 12 "отмеченными как используемые". Это был первый неожиданный результат, так как диск был почти заполнен. - Я сделал это
icheck
на этих 12 блоках и обнаружил, к моему большому удивлению, что 8 из них дали вывод "блок не найден". Я не смог выяснить, что это значит, так как люди упоминают ошибки чтения и тому подобное, но я делаю все это на новом диске. - Из оставшихся 4 блоков я получил иноды и
ncheck
обнаружил 3 предположительно поврежденных файла (два файла были одинаковыми, поскольку два плохо используемых блока имели одинаковый иноды).
Предполагая, что мой код и расчеты верны (данные и код Python вы можете найти вhttps://filebin.ca/3KZLnN60uZrl/rescue2.7zесли вам интересно), является ли окончательный результат 3 поврежденных файлов правильным? Или на каком-то этапе все не так, как я думал, и могут быть другие файлы, которые я могу найти только с помощью другой процедуры?