Что может привести к обнулению файлов?
Клиент прислал нам внешний жесткий диск, на котором как минимум половина файлов повреждена. Это широкий набор типов файлов (изображения, документы и т. д.), и не существует видимой закономерности, по которой они повреждены. Они отображаются в исходном размере, однако, когда я открываю их в шестнадцатеричном редакторе, они заполняются только нулями. Данные были полностью заменены на 00.
Что могло стать причиной этого? Вероятно, файлы были скопированы на диск с другой машины. Может ли это быть результатом проблем во время передачи или, скорее всего, файлы повреждены в самом начале?
1 ответ
Похоже, что метаданные были правильными, поэтому файлы появляются в деревьях каталогов, имеют имена, режимы доступа и т. д., но сами данные повреждены (не дошли до носителя).
Насколько это возможно, зависит от файловой системы, параметров монтирования, режимов кэширования накопителя и так далее.
Давайтеext4
например, там, где это относительно легко осуществить. Варианты монтирования по умолчанию используют журнал только для метаданных , поэтому файловая система обычно гарантирует, что структуры на диске в любом случае будут правильными, и все будет выглядеть либо так, как будто на диске ничего не делалось, либо операция применяется полностью. Точно так же, как и в базе данных ACID. Но по умолчанию данные не записываются в журнал, поэтому возможно, что система завершила системный вызов, сообщила об успехе приложению, создала все необходимые структуры (только в журнале на данный момент), в то время как данные находятся в кеше. , и теперь электричество отключено. Когда вы снова включите систему и смонтируете этот том, драйвер файловой системы воспроизведет журнал, и файлы появятся, но данные останутся мусором, оставшимся от предыдущего использования блока. Этот мусор действительно может быть нулями. В конце концов, отключение питания во время записи, скорее всего, приведет к созданию файлов, заполненных нулями. Я ожидал бы того же результата при раннем отключении диска (например, при выдергивании USB-кабеля).
Этот сценарий отключения вполне вероятен, если принять во внимание, что вы говорите о внешнем диске. Конечно, это возможно и с другими файловыми системами.