Fitur 'verifikasi disk' sangat bagus untuk memastikan disk yang baru dibakar ternyata bagus, tapi bagaimana tepatnya cara kerjanya? Postingan Tanya Jawab SuperUser hari ini memiliki jawaban untuk pertanyaan pembaca yang penasaran.
Sesi Tanya & Jawab hari ini hadir atas kebaikan SuperUser — subdivisi Stack Exchange, pengelompokan situs web Tanya Jawab berbasis komunitas.
Foto milik cobalt123 (Flickr) .
Pertanyaan
Pembaca SuperUser pengguna1301428 ingin tahu bagaimana disk diverifikasi setelah dibakar:
Apa yang sebenarnya dilakukan verifikasi disk setelah pembakaran untuk memverifikasi data? Saya membayangkan ini 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 yang rendah?
Maksud saya, apakah itu membuat hash dari konten sumber dan tujuan, lalu membandingkannya? Jika demikian, apakah itu menyimpan hash dari konten yang dibakar dalam RAM? Atau apakah itu menyimpannya dalam file sementara di hard drive? Apakah ada file log tentang apa yang sedang terjadi?
Hanya penasaran ingin tahu persis bagaimana fitur ini bekerja. Dan saya mengacu pada Windows Image Burner.
Bagaimana proses verifikasi disk bekerja?
Jawabannya
Kontributor SuperUser Frank Thomas dan Synetech memiliki jawabannya untuk kami. Pertama, Frank Thomas:
Lihat halaman MSDN ini di windows API untuk IBurnVerification antarmuka dan IMAPI_BURN_VERIFICATION_LEVEL enum.
Untuk disk data, sepertinya dalam mode cepat ia tidak memeriksa seluruh disk, hanya pilihan sektor. Kemudian memastikan bahwa panggilan API READ_DISC_INFO dan READ_TRACK_INFO berhasil terhadap disk baru.
Untuk verifikasi penuh, ia melakukan pemeriksaan di atas, kemudian melakukan checksum penuh pada sesi terakhir pada disk baru terhadap checksum yang dihitung pada aliran memori yang sedang dibakar. Checksum harus disimpan dalam ram, tetapi kemungkinan besar nilainya berumur pendek. Perhatikan bahwa perbandingan ini bertentangan dengan image disk dalam RAM, bukan media sumber itu sendiri, jadi jika data sumber tidak terbaca dengan benar, maka penulisannya akan salah. Verifikasi tidak akan mendeteksi ini.
Untuk disk musik, ini berfokus pada pemeriksaan READ_TRACK_INFO dan daftar isi disk, tetapi tidak melakukan perhitungan checksum. Tidak ada mode verifikasi penuh untuk musik.
Diikuti oleh jawaban dari Synetech:
Frank dengan baik menjelaskan verifikasi khusus Windows. Saya akan memberikan jawaban yang lebih umum.
- Apa sebenarnya yang dilakukan Verify disc setelah burning 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 dibakar dalam RAM? Atau apakah itu menyimpannya dalam file sementara di hard drive? Apakah ada file log tentang apa yang sedang terjadi?
Hal tersebut tentunya merupakan salah satu cara perbandingan dapat diterapkan: hash satu file (mudah-mudahan dengan algoritma tabrakan berpeluang cukup besar — baca kemungkinan kecil), ulangi untuk yang lain, dan bandingkan hash. Jika begitulah cara verifikasi diterapkan, maka Anda akan dapat melihat flash drive-LED untuk sementara, kemudian flash CD / DVD-LED untuk sementara waktu.
Cara lain untuk mengimplementasikan verifikasi adalah dengan membaca satu blok dari satu file, kemudian blok yang sama dari file lain, membandingkannya, lalu mengulanginya hingga akhir file tercapai. Dalam hal ini, Anda akan melihat LED dari dua drive bolak-balik.
Tentu saja, jika hard drive dan drive optis tidak memiliki LED, maka tidak akan terlihat jelas. Tetapi Anda masih dapat melihatnya dengan sesuatu seperti ProcessMonitor karena ia akan mencatat serangkaian pembacaan dari satu, lalu yang lain baik dalam satu semburan besar atau bolak-balik, semburan kecil.
- Saya membayangkan ini 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 yang rendah?
Sebenarnya, yang dilakukannya hanyalah membersihkan cache drive sehingga fungsi perbandingannya adalah membaca data dari disk yang sebenarnya, bukan dari cache memori. Jelas ini adalah langkah kritis karena jika verifikasi dilakukan dari cache, maka itu tidak mewakili apa yang sebenarnya ada di disk, sehingga korupsi dapat dengan mudah lolos.
Anda dapat melihat apakah perbandingan dilakukan dari drive atau dari cache di RAM dengan seberapa cepat itu terjadi. Jika Anda melakukan perbandingan sederhana secara manual (yaitu dengan WinDiff, WinMerge, atau dengan melakukan hashing dengan alat hashing), Anda akan melihat bahwa perbandingan terjadi jauh lebih cepat dari yang diharapkan karena membaca file dari cache memori. Anda harus membersihkan cache untuk memaksanya membaca dari disk yang sebenarnya. Untuk drive optik (dan media yang dapat dilepas lainnya seperti flash-drive dan kartu memori), mengeluarkan drive saja sudah cukup untuk membersihkan cache, tetapi untuk hard-drive, ini tidak sesederhana itu (meskipun biasanya itu tidak masalah karena salinan baru adalah yang ingin Anda uji).
Punya sesuatu untuk ditambahkan ke penjelasannya? Suarakan di komentar. Ingin membaca lebih banyak jawaban dari pengguna Stack Exchange yang paham teknologi? Lihat utas diskusi lengkap di sini .