13Aug

Kaj dejansko naredi »Verify Disc« po zapisovanju, da preverite podatke?

Funkcija »preveri disk« je super, da se prepričate, da je vaš sveže zgoščen disk dobro obrnjen, vendar, kako natančno deluje? Današnji SuperUser Q & Objava ima odgovor na radovedno vprašanje bralca.

Današnje vprašanje &S sejo odgovora prihaja uporaba SuperUserja, ki je razdeljena na Stack Exchange, skupinsko spletno stran Q & A.

Photo courtesy of cobalt123( Flickr).

Vprašalnik

SuperUser bralnik user1301428 želi vedeti, kako se diski preverjajo, ko so zapisani:

Kaj preveri disk po gori, dejansko naredi za preverjanje podatkov? Predvidevam, da je to nekakšna primerjava med izvirnimi datotekami in datotekami, ki so bile zapisane na disku, vendar kdo ve, kako je to res storil na nizki ravni?

Mislim, ali ustvari razpršitev izvorne in ciljne vsebine, nato jih primerja?Če je odgovor pritrdilen, ali shranjuje spis ožganih vsebin v RAM-u? Ali pa ga shranite v začasno datoteko na trdem disku? Ali obstaja evidenčna datoteka o tem, kaj se dogaja?

Samo radovedni, da natančno vedo, kako deluje ta funkcija. In mislim na Windows Image Burner.

Kako deluje postopek preverjanja diska?

Odzivniki

SuperUser Frank Thomas in Synetech imajo odgovor za nas. Najprej navzgor, Frank Thomas:

Oglejte si te MSDN strani na oknu API za vmesnik IBurnVerification in enoto IMAPI_BURN_VERIFICATION_LEVEL.

Za podatkovne plošče se zdi, da v hitrem načinu ne preverja celotnega diska, ampak samo izbiro sektorjev. Zagotavlja, da API pokliče READ_DISC_INFO in READ_TRACK_INFO uspe z novim diskom.

Za popolno preverjanje opravi zgornje preglede, nato pa opravi celotno kontrolno vsoto zadnje seje na novem disku s kontrolno vsoto, izračunano na spominskem toku, ki je zapisano. Kontrolne liste je treba shraniti v ovratniku, vendar so verjetno kratkotrajne vrednosti. Upoštevajte, da je primerjava proti sliki diska v RAM-ju, ne pa tudi izvirnega medija, tako da če izvorni podatki niso bili pravilno prebrati, bo napačno napisan. Preverjanje tega ne bo zaznalo.

Za glasbene plošče se osredotoča na preverjanje READ_TRACK_INFO in vsebino diskete, vendar ne izračuna izračunov. Za glasbo ni popolnega načina preverjanja.

Sledi odgovor Synetech:

Frank je lepo razložil preverjanje, specifično za Windows. Dala bom bolj splošen odgovor.

  • Kaj preveri disk po gori dejansko naredi za preverjanje podatkov?
  • Mislim, ali ustvari razpršitev izvorne in ciljne vsebine, nato jih primerja?Če je odgovor pritrdilen, ali shranjuje spis ožganih vsebin v RAM-u? Ali pa ga shranite v začasno datoteko na trdem disku? Ali obstaja evidenčna datoteka o tem, kaj se dogaja?

To je vsekakor eden od načinov, kako se lahko primerja: haše eno datoteko( upajmo z dovolj velikim branjem nizke možnosti algoritma trka), ponovimo za drugo in primerjamo haše.Če je tako preverjanje izvedeno, boste nekaj časa lahko videli LED-bliskavico za pogon, nato pa se bo trenutek za trenutek utripal.

Drug način izvajanja preverjanja je prebrati blok ene datoteke, nato pa isti blok iz druge datoteke, jih primerjati in ponoviti, dokler se ne doseže konec datoteke. V tem primeru boste videli LED diode, ki se izmenjujejo naprej in nazaj.

Seveda, če trdi disk in optični pogon nimata LED, potem to ne bo tako očitno. Ampak še vedno lahko vidite z nekaj podobnega kot ProcessMonitor, ker bo prijavil vrsto bralcev iz enega, nato pa drugo v enem samem, velikem izbruhu ali izmenično majhnih poškodbah.

  • Predvidevam, da je to nekakšna primerjava med izvirnimi datotekami in datotekami, ki so bile zapisane na disku, ali ali kdo ve, kako je to storil na nizki ravni?

Pravzaprav je vse, kar res počne, izklopiti predpomnilnik pogona, tako da primerjalna funkcija bere podatke iz dejanskega diska namesto iz pomnilnika pomnilnika. Očitno je to kritičen korak, ker če se preverjanje opravi iz predpomnilnika, potem ne predstavlja tistega, kar je dejansko na disku, zato lahko korupcija zlahka zdrsne.

Preverite, ali se primerjava izvede iz pogona ali iz predpomnilnika v RAM-ju, in sicer po tem, kako hitro se zgodi.Če ročno naredite preprosto primerjavo( to je z WinDiffom, WinMergejem ali pa jih preusmerite z orodjem za hipergloboke), boste opazili, da se primerjava zgodi veliko hitreje, kot je bilo pričakovano, ker prebere datoteke iz pomnilniškega predpomnilnika. Izprazniti morate predpomnilnik in ga prisiliti, da se glasi z dejanskega diska. Za optične pogone( in druge izmenljive medije, kot so bliskovni pogoni in pomnilniške kartice) je preprosto iztiskanje pogona dovolj, da izprazni predpomnilnik, vendar za trde diske ni skoraj tako enostavno( čeprav običajno to ni važno, kernova kopija je tista, ki jo želite preizkusiti).

Ali želite dodati nekaj pojasnila? Zvok v komentarjih.Želite prebrati več odgovorov od drugih uporabniških članov stack Exchange? Oglejte si celotno temo za razpravo tukaj.