I have an ISO file and a DVD burned from that ISO file. Is there a way I can validate that the DVD contains the same as the ISO file and that nothing is wrong with the DVD?
I have the tools available on the System Rescue CD.
The following command compares the contents of two binary files, and print the offset of the first differing byte. Replace
/dev/dvd by the path to the DVD device (
cmp /dev/dvd /path/to/foo.iso
I'm not sure if all DVDs contain an indication of where the data ends (I think some CDs don't); you can limit the comparison to the size of the image file.
ls -l /path/to/foo.iso # copy the file size, e.g. 123456789 bytes cmp -n 123456789 /dev/dvd /path/to/foo.iso
You can also compute a checksum for the image file, compute a checksum for the disk, and check that they match. This is slower for a single comparison, but faster if you need to compare many disks against one image, and allows the image and the disk to be on different computers. To detect accidental corruption,
md5sum is perfectly suitable.
md5sum /path/to/foo.iso md5sum /dev/dvd # if the size can be determined; otherwise: head -c 123456789 /dev/dvd | md5sum
Since the question is not OS-specific and Windows users may find their way here, I’ll suggest that a relatively easy way to accomplish this on Windows is to mount the ISO (OSFMount is particularly good), then compare (e.g., with WinMerge) the CD/DVD drive root with the mounted volume root:
winmerge d:\ e:\
Here are the correct steps to verify 256sum of the iso before and after burning.
determine iso sha256sum..
$ sha256sum ubuntu-5.10-dvd-i386.iso
then determine size of iso in bytes...
$ wc -c ubuntu-5.10-dvd-i386.iso 3048179712
then dd your cd/dvd drive |then count the first bits of each file to sum |then read its sha256sum
$ dd if=/dev/sr0 | head -c 3048179712 | sha256sum e41c0631f6f2c138a417b59bcb880fce
Substitute /dev/sr0 with /dev/cdrom or other drive name depending on system.
For a better DD experience and to view dd's progress in real-time without having to write a script, use dcfldd the forensic dd (dcfldd can port to 2 different outputs as well.)
sudo apt-get install dcfldd
(shamelessly stolen from an article on unbutu.com)
I assume from your post that you are on Linux.
See this article : Verify a burned CD/DVD image on Linux.
The main idea is simple :
cat iso-file.iso | md5sum dd if=/dev/hdc | md5sum
Insert DVD, usually mounted on d:
Mount the .iso with VCdControlTool.exe, e.g. on z:
From cmd, run:
winmergeu.exe /r d:\ z:\
It might take a while.
Caveat: WinMerge runs out of memory with big files.
On Windows, comparing an already burned DVD or CD with an ISO file is super-easy with the help of the donate-ware "ImgBurn". Has helped me a ton in the past!
Still need to find something similar for OS X / macOS, because it seems to me that above mentioned methods for Linux / Unix don't work there.