If-Koubou

Apa yang 'Verify Disc' Sebenarnya lakukan Setelah Pembakaran untuk Verifikasi Data?

Apa yang 'Verify Disc' Sebenarnya lakukan Setelah Pembakaran untuk Verifikasi Data? (Bagaimana caranya)

Fitur 'verifikasi disk' sangat bagus untuk memastikan disk yang baru saja Anda bakar ternyata baik, tetapi bagaimana tepatnya cara kerjanya? Posting SuperUser Q & A saat ini memiliki jawaban untuk pertanyaan pembaca yang ingin tahu.

Sesi Tanya & Jawab hari ini hadir untuk memberi kami hak milik SuperUser-sub divisi Stack Exchange, pengelompokan situs web Q & A berbasis komunitas.

Foto milik cobalt123 (Flickr).

Pertanyaan

Pembaca pengguna SuperUser1301428 ingin tahu bagaimana cakram diverifikasi setelah dibakar:

Apa yang memverifikasi disk setelah pembakaran sebenarnya untuk memverifikasi data? Saya membayangkan itu adalah semacam perbandingan antara file asli dan file yang telah dibakar pada disk, tetapi apakah ada yang tahu bagaimana hal itu benar-benar dilakukan pada tingkat rendah?

Maksud saya, apakah itu membuat hash dari konten sumber dan tujuan, lalu membandingkannya? Jika demikian, apakah itu menyimpan hash dari konten yang terbakar dalam RAM? Atau apakah itu menyimpannya dalam file sementara pada hard drive? Apakah ada file log tentang apa yang sedang terjadi?

Hanya ingin tahu bagaimana tepatnya fitur ini bekerja. Dan saya mengacu pada Windows Image Burner.

Bagaimana cara kerja proses verifikasi disk?

Jawabannya

Kontributor SuperUser, Frank Thomas dan Synetech memiliki jawabannya untuk kami. Pertama, Frank Thomas:

Lihat halaman MSDN ini pada windows API untuk antarmuka IBurnVerification dan enum IMAPI_BURN_VERIFICATION_LEVEL.

Untuk cakram data, sepertinya dalam mode cepat tidak memeriksa seluruh cakram, hanya pemilihan sektor. Ini kemudian memastikan bahwa API memanggil READ_DISC_INFO dan READ_TRACK_INFO berhasil melawan disk baru.

Untuk verifikasi penuh, ia melakukan pemeriksaan di atas, kemudian melakukan checksum penuh pada sesi terakhir pada disk baru melawan checksum yang dihitung pada aliran memori yang dibakar. The checksum harus disimpan dalam ram, tetapi mereka mungkin nilai-nilai hidup pendek. Perhatikan bahwa perbandingan ini bertentangan dengan citra disk dalam RAM, bukan media sumber itu sendiri, jadi jika data sumber tidak terbaca dengan benar, itu akan ditulis dengan tidak benar. Verifikasi tidak akan mendeteksi ini.

Untuk cakram musik, fokusnya adalah memeriksa READ_TRACK_INFO dan daftar isi disk, tetapi tidak melakukan perhitungan checksum. Tidak ada mode verifikasi penuh untuk musik.

Dilanjutkan dengan jawaban dari Synetech:

Frank dengan baik menjelaskan verifikasi khusus Windows. Saya akan memberikan jawaban yang lebih umum.

  • Apa Verifikasi disk setelah pembakaran sebenarnya lakukan untuk memverifikasi data?
  • Maksud saya, apakah itu membuat hash dari konten sumber dan tujuan, lalu membandingkannya? Jika demikian, apakah itu menyimpan hash dari konten yang terbakar dalam RAM? Atau apakah itu menyimpannya dalam file sementara pada hard drive? Apakah ada file log tentang apa yang sedang terjadi?

Itu tentu saja salah satu cara perbandingan dapat diimplementasikan: hash satu file (mudah-mudahan dengan probabilitas yang cukup besar dari kemungkinan tabrakan algoritma), ulangi untuk yang lain, dan bandingkan hash. Jika itu adalah bagaimana verifikasi diimplementasikan, maka Anda akan dapat melihat flash drive-LED untuk sementara waktu, kemudian flash CD / DVD-LED untuk sementara waktu.

Cara lain untuk menerapkan verifikasi adalah membaca blok satu file, kemudian blok yang sama dari file lain, membandingkannya, lalu ulangi hingga akhir file tercapai. Dalam hal ini, Anda akan melihat LED dari dua drive bergantian bolak-balik.

Tentu saja, jika hard drive dan drive optik tidak memiliki LED, maka itu tidak akan jelas. Tetapi Anda masih bisa melihatnya dengan sesuatu seperti ProcessMonitor karena ia akan mencatat serangkaian bacaan dari satu, lalu yang lain baik dalam semburan tunggal, besar atau bergantian, semburan kecil.

  • Saya membayangkan itu adalah semacam perbandingan antara file asli dan file yang telah dibakar pada disk, tetapi apakah ada yang tahu bagaimana hal itu benar-benar dilakukan pada tingkat rendah?

Sebenarnya, semua itu sebenarnya adalah untuk membersihkan cache drive sehingga fungsi pembandingnya membaca data dari disk yang sebenarnya, bukan dari cache memori. Tentunya ini adalah langkah penting karena jika verifikasi dilakukan dari cache, maka itu tidak mewakili apa yang sebenarnya ada pada disk, sehingga korupsi dapat dengan mudah lolos.

Anda dapat melihat apakah perbandingan dilakukan dari drive atau dari cache di RAM oleh seberapa cepat itu terjadi. Jika Anda secara manual melakukan perbandingan sederhana (yaitu dengan WinDiff, WinMerge, atau dengan hashing mereka dengan alat hashing), Anda akan melihat bahwa perbandingan terjadi jauh lebih cepat daripada yang diharapkan karena membaca file dari cache memori. Anda harus membersihkan cache untuk memaksanya membaca dari cakram yang sebenarnya. Untuk drive optik (dan media lain yang dapat dilepas seperti flash-drive dan kartu memori), cukup mengeluarkan drive cukup untuk membersihkan cache, tetapi untuk hard-drive, itu tidak sesederhana itu (meskipun biasanya itu tidak masalah karena salinan baru adalah yang ingin Anda uji).

Memiliki sesuatu untuk ditambahkan ke penjelasan? Bicaralah di komentar. Ingin membaca lebih banyak jawaban dari pengguna Stack Exchange yang paham teknologi lainnya? Lihat diskusi lengkap di sini.