Programs used / Debian packages
isohybrid dd ddrescue / syslinux coreutils gddrescue
Finding out what is the USB drive in /dev/sd*
Start by mounting the stick which should be automatic in GUI.
mount|grep /dev/sd
should tell what is the /dev/USBSTICK
isohybrid image.iso
dd if=image of=/dev/USBSTICK bs=1024;
First unmount the CD/DVD and then
dd if=/dev/DRIVE of=image.iso
DRIVE can be /dev/dvd /dev/cdrom or /dev/scd0 depending on the CD/DVD.
ddrescue -v /dev/device /where/to/create/the/file.iso /path/to/logfile.log
The logfile.log is used to keep track of what has been recovered. You can use same logfile for multiple clones.
Usage: You have two broken copies of same device. First you clone the other and then give same command to other, different source, but same destination and log file. If the device isn't broken on same part as the another, ddrescue will build a complete file.
I would also use ddrescue with backing up large devicces instead of dd.