Возможно ли, что физическая деградация жесткого диска может привести к тому, что биты будут «переворачиваться» в содержимом файла, если ОС не «заметит» и не сообщит вам об этом при чтении файла? например, может ли «p» в текстовом файле ASCII (двоичный код 0111000 0 ) измениться на «q» (0111000 1 ), и тогда пользователь (я) сможет открыть файл и увидеть «q», не зная, что произошел сбой произошло?
Я заинтересован в ответах, касающихся FAT, NTFS или ReFS ... если это имеет значение.
Я хочу знать, защищает ли меня ОС от этого, или я должен проверять свои данные на неизменность между копиями / с течением времени.
windows
hard-drive
filesystems
hardware-failure
data-integrity
topo Восстановить Монику
источник
источник
Ответы:
Да , есть вещь, называемая немного гнилой.
Но нет , это не затронет вас незамеченным.
Когда накопитель записывает сектор на пластины, он не просто записывает биты точно так же, как они хранятся в ОЗУ - он использует кодировку, чтобы убедиться, что нет последовательностей того же бита, которые слишком длинные и добавляет коды ECC, которые позволяют исправлять ошибки, затрагивающие несколько бит, и обнаруживать ошибки, затрагивающие более нескольких бит.
Когда привод считывает сектор, он проверяет эти коды ECC и восстанавливает данные, если это необходимо и возможно. Что будет дальше, зависит от обстоятельств и встроенного программного обеспечения привода, на которое влияет его назначение.
(Это одно из основных различий между дисками, которые продаются как диски «для настольных ПК», «NAS / RAID» или «видеонаблюдение». Дисковод RAID может просто быстро сдаться и заставить контроллер восстанавливать сектор, чтобы избежать задержки на пользовательская сторона. Диск настольного компьютера будет повторять попытки снова и снова, потому что пользователь, ожидающий несколько секунд, вероятно, лучше, чем сообщать ему, что данные потеряны. А видеодиск оценивает постоянную скорость передачи данных больше, чем восстановление после ошибок, поскольку поврежденный кадр обычно выигрывает. даже не заметили.)
В любом случае, накопитель узнает, не произошел ли гниль, как правило, восстановится после него, а если не сможет, он сообщит контроллеру, который, в свою очередь, сообщит драйверу, который сообщит ОС. Затем ОС должна представить эту ошибку пользователю и действовать в соответствии с ней. Вот почему Кибернард говорит
привод узнает, что с сектором что-то не так, но не знает, какие биты вышли из строя. (Один бит, который не удался, всегда будет перехвачен ECC).
Обратите внимание, что chkdsk и автоматически восстанавливающие файловые системы не обращаются к восстановлению данных в файлах. Они нацелены на повреждение в структуре файловой системы; как размер файла, различающийся между записью каталога и количеством выделенных блоков. Функция самовосстановления NTFS обнаружит структурные повреждения и предотвратит их дальнейшее воздействие на ваши данные, они не восстановят уже поврежденные данные.
Конечно, есть и другие причины, по которым данные могут быть повреждены. Например. Плохое ОЗУ на контроллере может изменить данные до того, как они будут отправлены на диск. В этом случае никакой механизм на диске не будет обнаруживать или восстанавливать данные, и это может быть одной из причин, почему структура файловой системы повреждена. Другие причины включают в себя простые программные ошибки, затемнение при записи на диск (хотя это решается путем журналирования файловой системы) или плохие драйверы файловой системы (драйвер NTFS в Linux долгое время по умолчанию оставался доступным только для чтения, поскольку NTFS была подвергнута обратному проектированию, не документирована). и разработчики не доверяли своему собственному коду).
Эти другие причины - то, почему некоторые файловые системы, такие как ZFS, хранят дополнительную информацию контрольной суммы для обнаружения ошибок. Они разработаны, чтобы защитить вас от гораздо большего, что может пойти не так, как гниение.
источник
Да, жесткие диски могут и действительно ухудшаться без предупреждения от ОС. Это называется гниль . Я никогда не наблюдал ни единой ошибки, но видел множество жестких дисков, на которых выходили из строя целые сектора.
Windows не имеет встроенной защиты содержимого файла за пределами структуры файловой системы NTFS. Думайте о NTFS как о книге: она защищает только оглавление и проверяет соответствие. Однако, если повреждение находится в середине страницы, оно не предлагает никакой защиты. У ЖИРА нет ничего. Жесткие диски используют коррекцию ошибок ECC для каждого сектора, но диск не сообщает Windows. Некоторые типы файлов специально имеют хэши CRC, MD5 или SHA для обнаружения повреждений, но они ничего не исправляют .
Даже тогда хэш только говорит вам, что есть проблема, но он не знает, где находится ошибка.
Жесткий диск имеет SMART, который контролирует состояние жесткого диска, но если диск не находится на пороге смерти, BIOS не предупредит вас. Хуже всего то, что SMART часто отключается по умолчанию в вашем BIOS. Вы можете контролировать цифры с помощью программного обеспечения, но разные диски имеют разные проблемы. Если у вас есть куча перемещенных секторов, или ваши ошибки ECC постоянно увеличиваются. Если у вас есть 100 000 новых ECC каждый день, это плохой знак.
Многие типы файлов не имеют защиты от гниения . Мол, TXT и BMP, которые вообще не имеют защиты. Winrar имеет опциональную опцию для добавления данных о четности в архив, которая увеличивает размер файла, но он может обнаруживать (пропорционально количеству добавленных данных о четности) и исправлять ошибки такого рода.
Все другие программы сжатия, которые я знаю, обнаруживают ошибки, но ничего не могут с этим поделать.
В конце концов, ошибки в секторе будут настолько плохими, что ECC не сможет их исправить, и накопитель выдаст вам то, что он читает, даже если он неправильный.
Вы можете использовать QuickPar или аналогичный файл для создания файлов данных четности, но, насколько я знаю, нет способа автоматизировать его. Например, вы фактически изменяете файл самостоятельно, когда вам нужно вручную обновить паритет. Вы также можете иметь данные о четности для группы файлов, но вы изменяете 1 файл, и весь набор четности должен быть воссоздан. Это настоящая головная боль для всех, но небольшое количество файлов.
источник
Да, это возможно. Windows это просто программное обеспечение. Программное обеспечение представляет собой серию инструкций для компьютера.
Подумайте о другом типе серии инструкций: книга. Что могут выполнить эти инструкции, если они написаны в книге, которая лежит на полке, и никто не потрудится открыть книгу и прочитать эти инструкции?
Так же, как эти письменные инструкции требуют, чтобы человек прочитал инструкции и начал следовать инструкциям, компьютерное программное обеспечение требует аппаратного обеспечения, чтобы делать что-то полезное. Даже если в книге есть инструкции, которые были написаны с невероятной точностью, это не исключает проблем, если человек решит прочитать инструкции, но затем неправильно их выполнить. Точно так же программное обеспечение не может предотвратить аппаратные средства от плохих действий. Таким образом, сломанное оборудование может физически победить то, что может сделать любое программное обеспечение, включая Microsoft Windows.
Теперь ReFS может быть спроектирован с намерением, чтобы программное обеспечение сохраняло детали о данных, и чтобы программное обеспечение сравнивало эти детали позже. Простым понятием является «контрольная сумма», в которой программное обеспечение добавляет определенные значения и обеспечивает соответствие этих значений ожидаемому результату. Когда аппаратное обеспечение реализует это программное обеспечение, тогда могут быть обнаружены определенные плохие результаты. Это может даже быть очень вероятно, чтобы работать. Однако, поскольку число потенциальных проблем, которые теоретически могут существовать, в основном бесконечно, нет гарантии, что программное обеспечение обязательно обнаружит каждую проблему. (Имейте в виду, что программное обеспечение представляет собой серию инструкций, которые были созданы заранее.)
Жир особенно низок на функциях. FAT12 был разработан для дискет, а FAT16 - для систем объемом до 4 ГБ (хотя большая часть реализации Microsoft FAT16, как правило, не работала выше 2 ГБ). Без расширения VFAT ни одно из них не поддерживало имена файлов длиннее 11 символов (некоторые из которых были бы в части, называемой «расширением»). FAT был просто разработан для хранения данных в то время, когда способность хранить данные была новой концепцией, о которой нужно было учить взрослых. Когда FAT считалась «передовой» технологией, компьютерные технологии еще не были достаточно распространенными и сложными, чтобы люди беспокоились о расширенных функциях.
В NTFS добавлена поддержка некоторых дополнительных функций, возможно, в первую очередь благодаря возможности операционной системы легко отслеживать разрешения пользователей. Существуют разные версии NTFS. Например, Moab отмечает, что в Windows Server 2008 добавлена поддержка самовосстановления NTFS., который может обнаружить некоторые вещи. Тем не менее, эта функция была новой для Windows Server 2008, так что она совсем не поддерживается Windows XP (или Windows Server 2003 или более ранними версиями). Тем не менее, просматривая список функций, кажется, что это связано с некоторыми метаданными, которые помогают операционной системе замечать проблемы, настолько серьезные, что диск не может быть смонтирован, или другие ключевые области диска, влияющие на ядро операционной системы. Это не выглядело так, как будто каждая отдельная часть данных в каждом отдельном файле подвержена влиянию этой конкретной функции.
Программное обеспечение для таких операционных систем вряд ли заметит такие вещи, если только они не вызывают заметных проблем для операционной системы для выполнения задач. Могут быть некоторые исключения, такие как части операционной системы, которые проверяют диски (CheckDsk / ChkDsk / ScanDisk / ScanDskW, в зависимости от операционной системы), но даже они будут довольно ограничены в том, что они могут обнаруживать, в основном потому, что файловые системы не не хранить очень большое количество данных, которые были предназначены для проверки диска.
(RAID5 может быть более склонным к обнаружению таких вещей, так как каждый бит имеет бит четности, который поможет заметить что-то необычное. Даже в этом случае реализация RAID должна быть выполнена для обнаружения проблемы. Если проблема возникла на часть диска, с которой не ведется активная работа, проблема может остаться незамеченной, пока кто-то не попытается начать использовать эти данные.)
В более поздние времена большее количество битов означало, что небольшие вероятности, такие как шансы «1 на 10 миллионов», с большей вероятностью влияли на вещи. Широкая публика также узнала о «космических лучах», которые могут оказывать небольшое влияние на вещи. Поскольку биты так плотно уложены в новых устройствах, физические требования для представления бита меньше, поэтому даже небольшие удары с большей вероятностью могут повлиять на то, как бит распознается. ReFS имеет некоторые функции, разработанные, чтобы помочь с их обнаружением. В статье Википедии о ReFS это называется «автоматической проверкой целостности». Поскольку это описано как заметная особенность этой файловой системы, такие функции, вероятно, более развиты, чем с NTFS (и, конечно, больше, чем FAT, который был сравнительно простым по своей природе,
источник