Чи обчислює ОС 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.