Что я вижу это:
- Windows жалуется при чтении файла, потому что CRC для него не соответствует вычисленному CRC.
- это означает, что NTFS имеет CRC для файла.
- Я ожидаю, что оскорбительный блок / сектор может быть известен или, по крайней мере, угадан.
- Я также ожидаю, что "неверные данные" могут быть прочитаны с диска.
- Если биты "неправильных данных" были перевернуты один за другим, грубой силой мы могли бы найти правильный данные.
- файл может быть восстановлен с помощью статистики и перебора битов для соответствия CRC.
мой вопрос в том, делает ли какое-либо программное обеспечение такие вещи? Любой способ, которым я мог бы это сделать (я был бы счастлив получить CRC, "неправильные" данные диска, знать, какой из них является оскорбительным блоком/сектором, и написать сценарий для его сам, если даны соответствующие направления).
кстати, это механический жесткий диск.
Edit: Посмотрев с шестнадцатеричными редакторами и такими, я заметил, что плохой блок появляется как мусор, например, заполненный нулями или копией последнего блока (это, похоже, зависит от программы), поэтому, чтобы получить "реальные данные", которые повреждены, нам придется отключить некоторую аппаратную коррекцию, которая отказывается читать блок, который плох. Я считаю, что это называется ECC.
Кроме того, я ожидаю, что если всего несколько бит помечают блок как "плохой", то некоторая 32-разрядная контрольная сумма из Windows может быть использована для грубой силы a спичка.
Так что на этот вопрос можно ответить просто с руководством, чтобы сделать это самостоятельно.