• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

If only part of a file is readable on a disc, can you copy just that part?

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.
Sure go ahead and ask there, you might also want to ask in alt os.

The reason this can't be done in windows is there is no DD equivalent in windows. I think its mostly to the fact that windows doesntvtreat devices like block devices the way Linux does
I'm sorry your having so much trouble with this but its all just cause of that space ;). My reccommensation is to try it one more time and leave it running overnight :)
 
(note: you can also put paths in "", so "/media/D Drive/1/dvd.iso" also works, but quotes are bad practice in general.)

Why are quotes bad practice, it's easier for noobs to do it with quotes. When I write a "How To" that 4 year old can understand I will include quotes but I tried it without quotes
ddrescue /dev/dvd /media/D\ Drive/1/dvd.iso /media/D\ Drive/1/dvd.iso.log
and it is working, it appears to be copying it to my D Drive location where I will be able to access it from Windows.


Now what about retry and retrim options you spoke about earlier, does that really give you extra recoveries in a significant way?

And so finally, the end of this operation is done by pressing CTRL+C [CTRL and C together] and this should be done after time from last successful read is at least... what did you say earlier?
 
To my knowledge, quotes are generally bad form to use because they have specific programming functions - if you are writing code, or reusing basic code/commands you've typed in the past in a larger section of code, the existence of unnecessary quotes in the command can throw a monkey wrench in your get-a-long. You should use it when you need to, but when not necessary, its better practice to escape things properly as shelnutt2 explained. Overall, not very relevant to your current problem.

In the end, this is a lot more detail than you need to know for someone using Linux for a very specific task to accomplish a means to an end. However, given that people reading this may be using linux on an ongoing basis, or you may use it more in the future - it is important to tell people not only how to make it work, but how best to make it work.

For me, being accustomed to using linux for a few years now, when naming anything in linux I generally type everything in lower case and refrain from using spaces. Dashes or underscores work just as well, and capitalization is superfluous. Down the road once you are consistent with it, its simpler and easier to read things without the unnecessary capitalization or spaces, and you avoid any of the problems with case sensitivity and escaping spaces in commands.
 
for me, the easiest way to take care of spaces in paths is to use quotes and tab completion. for example, if you have a folder called /media/D drive, i will type in:
cd /media/"D drive"
then hit the tab key. it will convert the string into:
cd /media/D\ drive

while quotes will often work, it is just one of those best practice things as it doesn't always work with quotes in certain situations.
 
EDIT: Just like in Windows, you can't just transfer copy protected original DVD data by just doing copy-paste. Copy protected DVDs remain copy protected in Linux. So all this only works with non copy protected data.



Draft 1:

Although Windows option may be available using http://www.cygwin.com/,
the reason why Linux may give us better results is that Windows does not treat devices like block devices the way Linux does:

1. Boot into Linux using an Ubuntu Linux bootable CD: http://www.ubuntu.com/desktop/get-ubuntu/download

(Click on 'Try Ubuntu' when prompted from CD.)

2. Upper left part of the screen > System > Administration > Synaptic Package Manager > if another window pops up, close it > (upper left, where it says File, Edit, Package) click on Settings > Repositories > CHECK the option where it says universe > Close > Close > (upper left corner) Reload > wait for it to download and install everything then close all windows (all windows need to be closed or else the next step will not work).

3. (Upper left corner) Applications > Accessories > Terminal > sudo apt-get install gddrescue


4. Do not use temporary desktop, only files up to 1 GB may be copied from it. Instead, recover the DVD to one of your hard drives. Find out the name of your hard drive by going to Places > Computer


5. You need to actually click on the name of your hard drive and display its contents so that the drive can be recognized by the system.

If the name of your hard drive is D Drive, then go back to the Terminal (DOS looking window) and use this command:

ddrescue /dev/dvd /media/"D Drive"/dvd.iso /media/"D Drive"/dvd.iso.log

or the way Linux community prefers to write it:
ddrescue /dev/dvd /media/D\ Drive/dvd.iso /media/D\ Drive/dvd.iso.log

if the name of your drive has no spaces, and is called Ddrive then use
ddrescue /dev/dvd /media/DDrive/dvd.iso /media/DDrive/dvd.iso.log


6. After time from last successful read is at least say, 30 min to 1 hr, end the operation by pressing CTRL+C [CTRL and C together] then reboot into Windows and see if dvd.iso file contains recovered data.

If not, there are two other commands that can be used to go after the bad sectors

ddrescue --direct --max-retries=3 /dev/dvd /media/"D Drive"/dvd.iso /media/"D Drive"/dvd.iso.log

ddrescue --direct --retrim --max-retries=3 /dev/dvd /media/"D Drive"/dvd.iso /media/"D Drive"/dvd.iso.log



P.S. Note that instead of burning a Linux CD, there is also a USB stick option: http://www.pendrivelinux.com/
 
Last edited:
I just completed the comparisons.

1. Windows:

It cloned a DVD up to about 82% of it.
Then I manually copied the remaining files that could be copied.
Those that could not, I created empty files with same names.

2. Linux:
Using the way described in this thread.

Linux recovery could not be even imported. It's virtually unreadable.
Copying only the files Windows could not read from Linux recovery also did not not beat Windows only recover option 1.


I will conduct a different DVD Linux test, this time overnight. Then compare with Windows only recovery which I already have. Results tomorrow.
 
I just completed the comparisons.

1. Windows:

It cloned a DVD up to about 82% of it.
Then I manually copied the remaining files that could be copied.
Those that could not, I created empty files with same names.

2. Linux:
Using the way described in this thread.

Linux recovery could not be even imported. It's virtually unreadable.
Copying only the files Windows could not read from Linux recovery also did not not beat Windows only recover option 1.


I will conduct a different DVD Linux test, this time overnight. Then compare with Windows only recovery which I already have. Results tomorrow.

Interesting results indeed.

One other option is to "mount" the iso in linux and see if it's readable.
Code:
mkdir ~/Desktop/dvd/
sudo mount /media/D\ Drive/dvd.iso ~/Desktop/dvd[code]

Then you can open the folder on the desktop called dvd and it should be your files. (you can umount it by running "sudo umount /media/D\ Drive/dvd.iso)

It could be just that ddrescue isn't able to copy it enough for the iso to be readable.
 
Well the iso itself is readable and the files are there and I am even able to start the DVD but it doesn't proceed any further.

Of course it may be that something wasn't executed correctly in Linux but I pretty much documented every single little step so :shrug:


The results are disappointing. I will do one more overnight test and then it's up to someone else to do a Windows comparison as I described in my previous post to see if Linux approach can beat the Windows approach for them.
 
i believe that dvd decrypter has an option to ignore errors and just substitute the unreadable data with 0s.
 
That is interesting and useful.

My overnight effort resulted in seeing a message that it was finished, but what had happened is that it had cloned the Ubuntu CD, not the DVD.



Maybe the command needs to do include the path to DVD?
 
That is interesting and useful.

My overnight effort resulted in seeing a message that it was finished, but what had happened is that it had cloned the Ubuntu CD, not the DVD.



Maybe the command needs to do include the path to DVD?

:rofl:

Can you repost ls /dev (I see you edited post #17 lol). Or you can just look, is there more than one dvd drive listed? or is there just more than one hdx?
 
Come on, man. :)

The topic and spirit of the thread is to see if Linux can recover partial video data and to teach Windows users how to do it. Do you see what I did here:

4. Do not use temporary desktop, only files up to 1 GB may be copied from it. Instead, recover the DVD to one of your hard drives. Find out the name of your hard drive by going to Places > Computer


5. You need to actually click on the name of your hard drive and display its contents so that the drive can be recognized by the system.

If the name of your hard drive is...


It effectively allows *every* user to find out the name of *their* hard drive and create their own command. Now I will reboot into Linux again tonight and try to figure it out but the objective is to include the path of the specific DVD drive in the command, can't you give instructions on how to do it?



Also, what about copying a single 1 GB file from DVD disc to hard drive in a situation where Windows can read 80% of it and since it can't read the rest, Windows does not partially copy it. What about doing that in linux, and getting the 80% of it at least?
 
That is interesting and useful.

My overnight effort resulted in seeing a message that it was finished, but what had happened is that it had cloned the Ubuntu CD, not the DVD.



Maybe the command needs to do include the path to DVD?

There's a gui utility called "disk utility" that is found in the menu(might be located differently in Ubuntu) but here's a couple screenys:

menuview.png



diskutility.png



-gives the device's pertinent information, might help to distinguish between two optic drives...unless they're identical, in which case you could still determine ID by sata port location.
 
When you typed in:
ddrescue /dev/dvd /media/D\ Drive/dvd.iso /media/D\ Drive/dvd.iso.log

That is a specific device. /dev/dvd is equivalent to say a E:\ so if you wanted a diffent drive, F:\ for example it would have a different device file in /dev ex. /dev/dvd1 or some such. Do an ls /dev and see what devices are listed there. If there is more than one dvd then you actually told it to copy from your boot DVD instead of the DVD you are trying to recover. Linux does exactly what you tell it to do. No hand holding or helping for the most part unlike Windows.

i believe that dvd decrypter has an option to ignore errors and just substitute the unreadable data with 0s.
This is also a good idea if you are sticking with Windows.
 
Last edited:
Also, what about copying a single 1 GB file from DVD disc to hard drive in a situation where Windows can read 80% of it and since it can't read the rest, Windows does not partially copy it. What about doing that in linux, and getting the 80% of it at least?

You can just try to copy and paste it like normal (aka click and drag to your hdd or, right click copy, right click paste.)

You can try it via the command line too, but why bother when you can do it the easy way ;).


To copy via the cli, just mount the dvd, by double clicking on it just like your hdd, then do
Code:
mkdir /media/D\ Drive/dvd-files/
cp -r /media/dvdnamethingy/ /media/D\ Drive/dvd-files/

Or you can use rsync, which I prefer greatly, it's a copy program, but uses delta hashes so it can update files incrementally instead of having to copy the whole file. That features doesn't do you any good, except you might be able to try and "update" your files you already have from the dvd.

Code:
rsync -avuz <source> <destination>
Code:
rsync -avuz /media/dvdnamethingy/ /media/D\ Drive/path/to/files
:rock:
 
When you typed in:
ddrescue /dev/dvd /media/D\ Drive/dvd.iso /media/D\ Drive/dvd.iso.log

That is a specific device. /dev/dvd is equivalent to say a E:\ so if you wanted a diffent drive, F:\ for example it would have a different device file in /dev ex. /dev/dvd1 or some such. Do an ls /dev and see what devices are listed there.

I clicked on the DVD drive to display its contenets and did it again and now it's copying from it. Still, how do you know if it's dvd or dvd1?
 
Last edited:
Just like in Windows, you can't just transfer copy protected original DVD data by just doing copy-paste. Copy protected DVDs remain copy protected in Linux. So all this only works with non copy protected data.
 
Can ddrescue be used to copy one single file only from a DVD disc?
 
Back