На что и где жалуются окна NTFS CRC?

я пытаюсь найти ответ на мой вопрос, связанный с восстановлением файла, когда API-интерфейсы Windows жалуются на "ошибку CRC". Я знаю, что это из-за плохого блока.

Но моя теория такова:

  • Если я отключу SMART и, следовательно, ECC, я должен иметь возможность читать «необработанные данные» без применения ECC, таким образом, имея блок с «неопределенными данными» в потоке файла ( вместо пустого блока с применением ECC).
  • Эти данные не должны совпадать с CRC его NTFS, в то время как данные других файлов должны совпадать с их данными.
  • У меня должна быть возможность перебором «правильных данных» всего файла путем переключения битов одного за другим в блоке с «неопределенными данными» (я подозреваю, что повреждение влияет на бит или два в плохом блоке, а не на весь блок, следовательно, он находится в пределах порога восстанавливаемости 32-битной контрольной суммы и грубой силы).

Проблема в том, что я понятия не имею, что это за CRC и где он находится. Я много гуглил, но не могу найти об этом. Я предполагаю, что это функция NTFS, и, насколько я знаю, у NTFS нет полной официальной документации, и мне действительно не нравится идея искать это в исходном коде NTFS-3G C++.

Итак:Я хочу сделать небольшую утилиту или скрипт для восстановления файлов в таком сценарии. Ответ, который говорит мне, где взять этот CRC и какой алгоритм он использует, будет принят.

Также:Я подозреваю, что CRC предназначена для единиц размещения, а не для целых файлов. Может дело в МФТ?

5
задан Community 20 March 2017 в 10:18
поделиться