Современные жесткие диски используют размер сектора 4096 байт при хранении информации. Предположим, что для гипотетического упражнения мы пытаемся сохранить на диске данные объемом 40 960 байт (10 секторов). Эти 40 960 байт представляют один файл, который мы пытаемся сохранить. Теперь давайте предположим, что один из этих секторов вышел из строя на диске. В ситуации A мы просто сохранили файл как есть (например, действительно-огромный-документ.pdf), а в ситуации Б мы разделили файл на десять подразделов (например, действительно-огромный-документ-pt-1.pdf через действительно- огромный-документ-пт-10.pdf). Не принимая во внимание попытку эффективно вернуть данные в исходную форму, представляет ли ситуация A полную потерю данных, в то время как ситуация B представляет собой потерю только 10% данных? Или восстановление данных зависит от типа хранимых данных и / или методов исправления ошибок, реализованных на диске?
2 ответа
На ваш вопрос нет ни одного ответа. Все зависит от структуры поврежденного файла и степени повреждения.
В примере, который вы использовали, PDF очень уязвим для частичного уничтожения, потому что его внутренняя структура является иерархической. Если данные верхнего уровня потеряны, файл не может быть восстановлен.
С другой стороны, вы найдете простой текстовый файл, где разбиение его на части будет означать, что один фрагмент будет потерян, а остальные останутся как отдельные.
Я бы порекомендовал вам не пытаться разрезать файлы на части, поскольку это не является надежной защитой. Вы все еще можете потерять весь файл, потеряв только одну из частей.
Вместо этого я бы рекомендовал хранить файлы в форме, которая является наиболее простой в использовании, и сосредоточиться скорее на создании резервных копий.
Я думаю, что ответ зависит от программного обеспечения для восстановления жесткого диска, которое вы используете. Стив Гибсон из Исследовательского центра Гибсона является пионером в восстановлении данных. Если вы прочитаете его веб-сайт о его продукте SpinRite, он подробно расскажет, как его программное обеспечение может частично восстанавливать файлы, если другие продукты не будут восстанавливать файл, если один сектор поврежден.
Вот пример выдержки, где он говорит о частичном восстановлении файлов:
Принять частичные данные: Если анализ Dynastat не может полностью восстановить данные сектора, он, по крайней мере, сможет идентифицировать биты данных, которые отличались от одного чтения к другому. Это позволяет ему значительно минимизировать неопределенность в поврежденной области сектора и восстановить большую часть из 4096 отдельных бит данных сектора.
SpinRite запишет имя файла, чей сектор не был полностью восстановлен, и заменит полностью нечитаемый сектор файла (который любое другое программное обеспечение просто отбросило бы) этим «главным образом правильным» теперь читаемым сектором, так что все, кроме нескольких битов данных файл все еще можно прочитать и использовать.
Это, очевидно, огромное улучшение по сравнению с потерей всего файла из-за того, что один из его секторов полностью не читается.
Вот тот, где я думаю, что он проливает свет на ваш вопрос, описывая используемый метод:
Вместо того, чтобы сдаваться, когда сектор не может быть прочитан, или вместо того, чтобы брать любые данные, которые накопитель может с готовностью выдавать, система DynaStat накапливает обширную статистическую базу данных о поведении данных любого проблемного сектора посредством накопления и классификации до 2000 отдельных секторов перечитывает. Понимая поведение разблокировки / разблокировки кодера-декодера с обращением потока к диску и обрабатывая "хвосты" данных сектора после обнаружения какого-либо дефекта, технология Dynastat "реинжинирирует" исходные данные сектора из статистический профиль производительности нечитаемых перестановок потоков в секторе. В результате SpinRite часто может полностью восстановить данные, которые в противном случае были бы полностью потеряны. Само собой разумеется, ни одна другая утилита никогда не включала такую технологию.
Вы можете прочитать больше здесь: