1

I have a MPG file, 2.1 GB. I tried copying it from my windows machine to linux one. Only about 1GB of data got copied (the resulting file plays fine), and then I got a read error.

So, on the source machine, I tried to break it into multiple files, using RAR. (I used the mode "Store"). It went on till 48%, and again the rar process stopped with a "Read Error".

If I open the 2 GB file using VLC on source machine, I am able to fast forward to the later half of the video and it plays.

So how can I recover the whole video? Basically, I am thinking of splitting the file into two parts - say first 47% and last 51% (assuming that error will go away by cutting the problematic part). I don't know how to do it. Any help appreciated.


EDIT:

I have cygwin, so tried the "split" command (breaking into 100MB pieces). However, the split command hangs, in the relevant portion of the file (after creating 10 files). So basically, is there a way to to recover the later half of the file someway?

Oliver Salzburg
  • 89,072
  • 65
  • 269
  • 311
tanon
  • 145

2 Answers2

0

Get a program called Drive Snapshot and use it to create a snapshot image of your hard drive:

  Drive Snapshot
  http://www.drivesnapshot.de/

When encountering read errors on the source disk, Drive Snapshot will handle it intelligently and the result for you should eventually be that you'll get your video file with a blank spot where the read error occurred on disk.

I use this program to recover data for users. If the file system is NTFS or FAT32, then the default option is to only copy data that's allocated (although you also get the option to copy all sectors, you don't need this option in your case). If the file system is something that Drive Snapshot doesn't recognize, then it will just copy all sectors for you.

You can use that image later to write onto a new (replacement) hard disk. If the new disk is larger, Drive Snapshot will provide you with an option to increase the size of the partition to fill the new disk as well (but only for FAT32 and NTFS partitions).

Alternatively, you'll be able to mount the image directly as a virtual drive letter and the simply copy your file directly from there.

0

In Unix you might get away with the dd command, I have seen a windows implementation somewhere too. But since you already mentioned cygwin, then you should already have a dd.

But since it is still unclear where the error is on your hard disk drive, you may or may not be able to recover some more of the file.

What you really want is something like cygwin package ddrescue. Unlike dd this ignores read errors, but its command line syntax is different, so read the man page.

Turbo J
  • 2,009