В Windows XP после каждого сбоя питания Windows запускала chkdsk для проверки жесткого диска. Тем не менее, я не вижу этот шаблон с Windows 7, даже после сбоя питания. Означает ли это, что он не нужен или мне нужно запустить его вручную?
1 ответ
NTFS стала гораздо более "журналируемой" файловой системой, по-видимому, при жизни Windows XP и приняла множество функций, которые делают chkdsk ненужным. Вместе эти технологии означают, что запуск chkdsk в значительной степени не требуется, поскольку состояние файловой системы намного проще и быстрее (например, это можно сделать быстро во время загрузки), чтобы определить и восстановить состояние "хорошо известно".
В Windows Vista появилась транзакционная NTFS, которая в принципе похожа на журналируемую файловую систему, где определенные события типа контрольного диска должны быть редкими или ненужными. По сути, когда файловая система смонтирована, водителю легко узнать, что произошло до сбоя питания, и очень быстро определить, следует ли выполнить откат, откат или просто отменить изменения.
(Я считаю, что основные изменения появились в Vista, так как я не видел, как chkdsk запускался при загрузке с момента перехода с XP)
Как уже упоминалось в комментариях существуют случаи , когда эти системы не защищают вас , и это вполне возможно для вашей системы , чтобы стать коррумпированы до точки , где CHKDSK необходимо, особенно при использовании файловых систем , которые не поддерживают эти дополнительные функции , такие как FAT файловая система, используемая на флэш-памяти. Эти функции позволяют снизить частоту использования chkdsk во время загрузки, упрощая определение состояния файловой системы до неожиданного отключения питания.
В качестве примечания, я даже начал изменять размер диска с помощью консоли управления диском и понял, что мне нужно выключить машину среднего размера, так как это заняло много времени. Я предположил, что это было в тот момент, когда потеря данных была гарантирована, но когда я перезагрузил компьютер, я обнаружил, что все было полностью исправно, как и прежде, и ничего не было повреждено или пропало. Я не рекомендую пробовать это дома, потому что вы можете потерять все, но "ура" для Microsoft, защищающей меня от моей собственной глупости.
Из Википедии:
NTFS является файловой системой журналирования и использует журнал NTFS ($ LogFile) для записи изменений метаданных в томе.
Это критически важная функциональность NTFS (функция, которую не обеспечивает FAT/FAT32) для обеспечения того, чтобы ее внутренние сложные структуры данных (в частности, растровое изображение выделения тома или перемещения данных, выполняемые API-интерфейсом дефрагментации, вносили изменения в записи MFT, такие как перемещения). некоторых атрибутов переменной длины, хранящихся в записях MFT и списках атрибутов), и индексы (для каталогов и дескрипторов безопасности) будут оставаться согласованными в случае сбоев системы и позволят легко откатывать незафиксированные изменения в этих критических структурах данных при перемонтировании тома ,
А также
Начиная с Windows Vista, приложения могут использовать транзакционную NTFS для группировки изменений в файлах в транзакцию. Транзакция гарантирует, что все изменения произойдут, или ни одно из них не произойдет, и гарантирует, что приложения вне транзакции не будут видеть изменения, пока они не будут зафиксированы.
Он использует методы, аналогичные тем, которые используются для теневых копий томов (т.е. копирование при записи), чтобы обеспечить возможность безопасного отката перезаписанных данных, и журнал CLFS, чтобы отметить транзакции, которые еще не были зафиксированы, или те, которые были подтверждены. зафиксировано, но все еще не применено полностью (в случае сбоя системы во время фиксации одним из участников).