Чи обчислює ОС Windows CRC для перевірки кожної файлової операції?


8

Якщо Windows зустрічається з пошкодженням файлу у файловій системі, він може повернути таке повідомлення про помилку:

Помилка даних (циклічна перевірка надмірності).

Це пропонує Windows перевіряти кожну операцію з файлами (копіювати, переміщувати тощо) шляхом обчислення CRC . Чи дійсно Windows робить це, під час операції чи після неї?

Відповіді:


6

Windows насправді не передбачає надмірності передачі файлів, це неправильне значення для драйвера пристрою, який отримує доступ до блоку поганого сектора (див. Питання ТА про що і де, на що скаржаться вікна CRC NTFS?) І цю статтю Microsoft KB ; NTFS не зберігає жодних контрольних сум файлів). Якщо ця помилка з'являється на вашому комп'ютері, ви повинні забезпечити цілісність вашого жорсткого диска (і , можливо , викликати chkdskз /rпрапором).

Коротше кажучи, Windows не перевіряє жодних файлів після їх передачі. Ви можете використовувати інший програмний інструмент, наприклад TeraCopy, для перевірки даних після переміщення / копіювання файлів.


Я насправді переглянув пов'язане запитання про переповнення стека . Мене задають питання - чи обчислює Windows під час операцій з файлами CRC під час роботи, а не обов'язково, чи зберігає їх.
bwDraco

@DragonLord Я не вірю в це, інакше ці помилки з’являться під час звичайних помилок читання / запису, коли не повідомляються про погані сектори. Ви можете використовувати сторонню утиліту для фактичної перевірки вмісту файлів після їх передачі.
Прорив

Відредагував питання, щоб уточнити. Чи виконує Windows перевірку помилок під час роботи з файлом ?
bwDraco

@DragonLord на мій досвід, ні. Раніше я використовував Windows для копіювання файлів на погані диски, а іноді не отримував повідомлення про помилку. Їх було виявлено лише тоді, коли я вручну намагався перевірити CRC (або хеш MD5 / SHA1) файлів, і вони не відповідали. Я вважаю, що повідомлення про помилку відображається лише тоді, коли фактичний драйвер пристрою диска видає помилку під час передачі або якщо файлова система NTFS сама виявляє певну пошкодження.
Прорив

1
Насправді є три різних умови, які можуть спричинити цю помилку (у типовому інтерфейсі IDE / SATA до звичайного жорсткого диска): 1) Пошкодження даних на зв’язку між жорстким диском та контролером. 2) Пошкодження даних у даних, що зчитуються дисковим контролером з поверхні диска, незважаючи на спроби. 3) Доступ до дискового сектору, відомий поганим контролером, який не може бути перероблений, поки не буде записано.
Девід Шварц
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.