Czy system Windows oblicza CRC w celu sprawdzenia każdej operacji na pliku?

8

Gdy system Windows napotka uszkodzenie pliku w systemie plików, może zwrócić następujący komunikat o błędzie:

Błąd danych (cykliczna kontrola nadmiarowości).

Sugeruje to, że Windows sprawdza każdą operację na pliku (kopiowanie, przenoszenie itp.) Poprzez obliczanie CRC . Czy system Windows naprawdę to robi, czy to podczas operacji, czy po niej?

bwDraco
źródło

Odpowiedzi:

6

Windows faktycznie nie dokonuje żadnej redundancji podczas przesyłania plików, jest to błędne określenie, że sterownik urządzenia uzyskuje dostęp do bloku uszkodzonego sektora (zobacz pytanie SO Na co i gdzie narzeka system Windows NTFS CRC? I ten artykuł Microsoft KB ; NTFS nie przechowuje żadnych sum kontrolnych plików). Jeśli pojawi się ten błąd na komputerze, należy zapewnić integralność dysku twardym dysku (oraz ewentualnie powołać chkdskz /rflagą).

Krótko mówiąc, system Windows nie weryfikuje żadnych plików po ich przesłaniu. Możesz użyć innego narzędzia programowego, takiego jak TeraCopy, aby zweryfikować dane po przeniesieniu / skopiowaniu plików.

Przełom
źródło
Właśnie spojrzałem na powiązane pytanie przepełnienia stosu . Pytam tylko, czy system Windows oblicza CRC w locie podczas operacji na plikach, niekoniecznie czy je przechowuje.
bwDraco
@DragonLord Nie sądzę, aby tak było, w przeciwnym razie błędy te pojawią się podczas normalnych błędów odczytu / zapisu, gdy nie zostaną zgłoszone uszkodzone sektory. Możesz użyć narzędzia innej firmy do faktycznej weryfikacji zawartości pliku po ich przesłaniu.
Przełom
Zredagowałem pytanie, aby wyjaśnić. Czy system Windows wykonuje sprawdzanie błędów podczas operacji na pliku ?
bwDraco
@DragonLord z mojego doświadczenia, nie. Wcześniej używałem systemu Windows do kopiowania plików na uszkodzone dyski i czasami nie otrzymałem komunikatu o błędzie. Zostały wykryte tylko wtedy, gdy ręcznie próbowałem zweryfikować CRC (lub skrót MD5 / SHA1) plików i nie pasowały. Uważam, że komunikat o błędzie jest wyświetlany tylko wtedy, gdy rzeczywisty sterownik urządzenia dyskowego zgłasza błąd podczas przesyłania lub sam system plików NTFS wykrywa jakieś uszkodzenie.
Przełom
1
Istnieją trzy różne warunki, które mogą powodować ten błąd (w typowym interfejsie IDE / SATA do konwencjonalnego dysku twardego): 1) Uszkodzenie danych na połączeniu między dyskiem twardym a kontrolerem. 2) Uszkodzenie danych w danych odczytanych przez kontroler dysku z powierzchni dysku pomimo ponownych prób. 3) Dostęp do sektora dysku znanego źle przez kontroler, którego nie można odwzorować, dopóki nie zostanie zapisany.
David Schwartz