Home / Media
CDs and DVDs use 2048 byte sectors and may have both unintentional and intentional data errors. Some will explode in size when you try to rip them. There are multiple methods to try. I recommend using ddrescue since it’s the simplest and because of its error handling features.
Install support for encrypted/protected DVDs:
contrib
or non-free
repo areas (I’m not sure which).apt install libdvd-pkg && dpkg-reconfigure libdvd-pkg
Gather information about the disc:
apt install genisoimage
isoinfo -d -i /dev/sr0
apt install dvdbackup
dvdbackup -i /dev/sr0 -I
dvdbackup -i /dev/sr0 -o . -M
genisoimage -dvd-video -udf -o <name>{.iso,}
apt install vobcopy
mkdir -p /media/dvd && mount /dev/dvd /media/dvd
vobcopy -i /media/dvd -l -m
umount /media/dvd
If the disc is damaged, use ddrescue instead.
isosize -x /dev/sr0
dd if=/dev/sr0 of=<name>.iso bs=2048 count=3659360 conv=noerror status=progress
conv=noerror
prevents halting on error and writes zero to the output instead.ddrescue is a sophisticated recovery tool which gracefully handles read errors. When using a map file, it can be aborted and run multiple times and using different sources to try to fix corrupt sections. A typical way to use this method is to run it with fast options first and then optionally with slower options afterwards. When the output is a regular file, the corrupt sectors will contain zeros. This method can also be used to backup dying hard drives etc., but the options used below are for CD/DVD discs.
apt install gddrescue
ddrescue -n -b2048 /dev/sr0 <name>.{iso,map}
ddrescue -d -r1 -b2048 /dev/sr0 <name>.{iso,map}