Saya punya CD fisik terbakar dan gambar ISO asli itu. Tidak ada file checksum referensi yang disediakan untuk konten CD. Bagaimana cara memeriksa CD yang sebenarnya sudah benar (sesuai dengan gambar asli) dan sepenuhnya dapat dibaca?
10
md5sum
sendiri dan membandingkan, jika Anda tidak ingin mem-boot CD / DVD.Jawaban:
Pertama, Anda menyalin CD Anda ke file sementara:
Kemudian Anda memeriksa apakah
copy.iso
danorig.iso
memiliki ukuran yang sama, misalnya dengan:Jika ukurannya identik, mudah:
Tetapi saya perhatikan bahwa dalam kasus-kasus tertentu ukurannya bisa sedikit berbeda karena ada trailing nol di salah satu salinan atau gambar asli. Misalnya, jika
copy.iso
lebih kecil dariorig.iso
:Tentu saja Anda juga harus memeriksa bahwa byte yang tertinggal hanya nol:
Baris pertama, kecuali untuk offset, harus nol saja. Baris kedua harus berupa tanda bintang. Tanda bintang adalah untuk menghindari menampilkan garis identik yang berurutan.
sumber
head -c $(stat -c %s /path/to/master.iso) /dev/sr0 | sha1sum
untuk menghindari membuat gambar dari CD yang dibakar.Jika file ISO adalah sama dengan yang digunakan untuk membakar CD, maka inilah dua favorit saya:
Membandingkan gambar yang direkam dengan file gambar. Jika Anda merasa sedikit lebih masokis, Anda dapat mencoba sesuatu seperti ini:
dan bandingkan tanda tangan. Yang ini lebih berguna jika Anda sudah memiliki jumlah SHA1 di suatu tempat. Kedua perintah akan membaca medium hingga akhir.
Jika Anda ingin melakukannya dengan cara yang disarankan @ Marki555, Anda harus memasang drive optik dan gambar terlebih dahulu. Berikut ini skrip yang lengkap: (Anda dapat, tentu saja, membuang
sudo
jika Anda root - ide yang buruk, secara umum)sumber
cmp [-l]
lebih cocok untuk file biner. Diff bekerja paling baik pada teks.Jika Anda masih memiliki ISO, Anda dapat membandingkannya menggunakan byte demi byte
cmp
. Ini adalah perintah yang cukup sederhana dan keluar pada perbedaan pertama yang ditemukan, jadi itu jauh lebih cepat daripada membuat checksum jika sebenarnya ada kesalahan sejak awal.Kemungkinan hasil keberhasilan:
&& echo OK
perintah jika kekurangan output membingungkan Anda.cmp: EOF on cdrom.iso
: itu identik tetapi cdrom memiliki lebih banyak byte daripada file iso Anda. Ini biasanya karena bantalan nol pada akhir cdrom. Karena itu tidak masalah dalam praktek, itu masih sukses.Kemungkinan hasil kegagalan:
cmp: EOF on /dev/cdrom
: karena alasan tertentu data pada CDROM Anda tidak lengkap. Mungkin ISO Anda terlalu besar untuk memuat CD yang asli./dev/cdrom cdrom.iso differ: byte 18296321, line 71780
: ada beberapa perbedaan tak terduga antara CDROM Anda dan gambar ISO Anda.sumber
Anda dapat memeriksa bahwa CD sepenuhnya dapat dibaca dengan menggunakan
dd
(misalnyadd if=/dev/cdrom of=/dev/null
). Tetapi Anda tidak dapat membandingkannya langsung dengan gambar ISO. Setiap perangkat lunak akan membuat file ISO yang sedikit berbeda (mungkin beberapa header yang berbeda, atau padding), meskipun gambar ISO yang berbeda ini semua akan memberikan konten CD yang sama (struktur direktori, atribut file dan konten file).Jadi Anda hanya dapat me-mount CD, me-mount gambar ISO dan membandingkannya di tingkat filesystem dengan menggunakan beberapa jenis alat perbandingan direktori (maaf, saya belum menggunakan linux).
sumber
diff -r
akan membandingkan konten direktori secara rekursif.Brasero dapat melakukannya: Alat -> Periksa integritas ...
sumber