fil - Hvad, og hvor, er NTFS CRC-vinduerne klager over?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at komme med et svar på et spørgsmål om min, der involverer at genoprette en fil, når Windows-API'erne klager over en 'CRC-fejl'. Jeg ved, at dette skyldes en dårlig blok. [1]


Men min teori er:



  • Hvis jeg deaktiverer SMART og dermed ECC, skal jeg kunne læse de 'rå data' uden ECC anvendt og dermed have en blok med 'usikre data' i filens strøm (i stedet for en tom blok med ECC anvendt).

  • Disse data skal ikke svare til dens NTFS 'CRC, mens andre fils data skal matche deres.

  • Jeg bør være i stand til at brute kraften til hele filens 'korrekte data' ved at bladre bitene en efter en af ​​blokken med 'usikre data' (jeg formoder, at korruption påvirker en eller to i en dårlig blok, ikke en helhed blok, derfor falder det inden for genindvindingsgrænsen for en 32-bit checksum og brute force).



Nu er problemet, jeg har ingen anelse om, hvad denne CRC er, eller hvor den er. Jeg googlede meget, men jeg kan ikke finde ud af det. Jeg forestiller mig, at det er en NTFS-funktion, og så vidt jeg ved, har NTFS ikke en komplet officiel dokumentation, og jeg kan ikke godt lide ideen om leder efter dette i NTFS-3Gs C ++-kildekode.


Så: Jeg vil lave et lille værktøj eller script til at genoprette en fil i denne slags scenario. Et svar der fortæller mig, hvor man skal få denne CRC, og hvilken algoritme den bruger vil blive accepteret.


Også: Jeg formoder, at CRC er til fordelingsenheder, ikke hele filer. Måske er det i MFT?

Bedste reference


CRC-fejlene du ser, kommer ikke fra NTFS. De kommer fra enhedsdriveren.