Čo verifikuje Disc Verify Disc skutočne po vypálení na overenie údajov?
Funkcia "verifikácia disku" je skvelá na to, aby ste sa ubezpečili, že sa čerstvo vypálený disk dobre ukázal, ale ako presne funguje? Dnešný príspevok typu SuperUser Q & A má odpoveď na otázku zvedavého čitateľa.
Dnešná relácia otázok a odpovedí sa k nám pridelí zdvorilosťou SuperUser - podskupiny Stack Exchange, zoskupenia webových stránok typu Q & A.
Foto s láskavým dovolením cobalt123 (Flickr).
Otázka
Používateľ čítačky SuperUser user1301428 chce vedieť, ako sa disky overia po ich spálení:
Čo verifikuje disk po vypálení skutočne urobiť na overenie údajov? Predstavujem si, že ide o nejaké porovnanie medzi pôvodnými súbormi a súbormi, ktoré boli vypálené na disku, ale niekto vie, ako to naozaj robia na nízkej úrovni?
Mám na mysli, vytvorí sa hash zdrojového a cieľového obsahu a potom ich porovná? Ak áno, uchováva hash vypáleného obsahu v pamäti RAM? Alebo ho uložiť do dočasného súboru na pevnom disku? Existuje protokol o tom, čo sa deje?
Len zvedaví presne vedieť, ako táto funkcia funguje. A mám na mysli Windows Image Burner.
Ako funguje proces overovania disku?
Odpoveď
Príslušníci služby SuperUser Frank Thomas a Synetech majú odpoveď pre nás. Prvýkrát, Frank Thomas:
Pozrite sa na tieto stránky MSDN v systéme Windows API pre rozhranie IBurnVerification a enum v IMAPI_BURN_VERIFICATION_LEVEL.
Pre dátové disky to vyzerá, že v rýchlom režime nie je kontrola celého disku, len výber sektorov. Potom sa presvedčí, že rozhranie API vyvolá READ_DISC_INFO a READ_TRACK_INFO úspešne proti novému disku.
Pre úplné overenie vykoná vyššie uvedené kontroly a potom vykoná úplný kontrolný súčet poslednej relácie na novom disku proti kontrolnému súčtu vypočítanému na zapálený pamäťový tok. Kontrolné súčty musia byť uložené v rampe, ale pravdepodobne sú krátkodobé hodnoty. Všimnite si, že porovnanie je v porovnaní s obrazom disku v pamäti RAM, nie samotným zdrojovým médiom, takže ak zdrojové dáta nečtá správne, bude nesprávne napísané. Overenie to nezistí.
Pre hudobné disky sa zameriava na kontrolu READ_TRACK_INFO a diskovej tabuľky obsahu, ale nevykonáva výpočet kontrolného súčtu. Pre hudbu neexistuje úplný režim overovania.
Nasledovala odpoveď od spoločnosti Synetech:
Frank pekne vysvetlil overenie špecifické pre systém Windows. Dám všeobecnejšiu odpoveď.
- Čo verifikuje disk po napálení, aby sa overila dáta?
- Mám na mysli, vytvorí sa hash zdrojového a cieľového obsahu a potom ich porovná? Ak áno, uchováva hash vypáleného obsahu v pamäti RAM? Alebo ho uložiť do dočasného súboru na pevnom disku? Existuje protokol o tom, čo sa deje?
To je určite jedným zo spôsobov, akými možno vykonať porovnanie: vymažte jeden súbor (dúfajme, že máte dostatočne veľkú čítanú nízku šancu na zrážkový algoritmus), zopakujte pre druhú a porovnávajte hash. Ak je to tak, ako sa implementuje verifikácia, budete chvíľu vidieť blikanie s LED diódami, potom na chvíľu bliká LED dióda CD / DVD.
Ďalším spôsobom implementácie overovania je čítanie bloku jedného súboru, potom ten istý blok z iného súboru, ich porovnanie a opakovanie až do konca súboru. V tomto prípade uvidíte LED diódy dvoch pohonov, ktoré sa striedajú tam a späť.
Samozrejme, ak pevný disk a optická mechanika nemajú LED diódy, nebude to tak zrejmé. Ale môžete to stále vidieť s niečím ako ProcessMonitor, pretože bude zaznamenávať sériu čítaní z jedného, potom druhého buď v jedinom, veľkom prasknutí alebo striedajúcich sa malých výbuchoch.
- Predstavujem si, že ide o nejaké porovnanie medzi pôvodnými súbormi a súbormi, ktoré boli vypálené na disku, ale niekto vie, ako to naozaj robia na nízkej úrovni?
V skutočnosti to všetko skutočne robí, je vyprázdniť vyrovnávaciu pamäť disku, takže funkcia porovnávania číta údaje z aktuálneho disku namiesto z pamäte cache. Samozrejme, toto je kritický krok, pretože ak sa verifikácia vykoná z vyrovnávacej pamäte, nepredstavuje to, čo je na disku skutočne, takže korupcia môže ľahko prejsť.
Môžete zistiť, či sa porovnanie vykoná z jednotky alebo z vyrovnávacej pamäte v pamäti RAM tak rýchlo, ako k nej dochádza. Ak manuálne vykonáte jednoduché porovnanie (t. J. S programom WinDiff, WinMerge alebo ich rozosielaním pomocou hashovacího nástroja), všimnete si, že porovnanie sa stane oveľa rýchlejšie, ako sa očakávalo, pretože číta súbory z pamäte cache. Musíte vyprázdniť vyrovnávaciu pamäť, aby ste ju nútili čítať z aktuálneho disku. Pre optické mechaniky (a iné vymeniteľné médiá, ako sú flash disky a pamäťové karty) jednoduché vysunutie jednotky postačuje na vyprázdnenie vyrovnávacej pamäte, ale pre hard disky nie je tak jednoduché (hoci zvyčajne to nezáleží, pretože nová kópia je tá, ktorú chcete otestovať).
Máte niečo doplniť vysvetlenie? Znie to v komentároch. Chcete sa dozvedieť viac odpovedí od iných používateľov technickej úrovne Stack Exchange? Pozrite sa na celý diskusný príspevok tu.