Ошибка чтения в большом файле

623
tanon

У меня есть файл MPG, 2,1 ГБ. Я попытался скопировать его с моей машины с Windows на Linux. Было скопировано только около 1 ГБ данных (полученный файл воспроизводится нормально), а затем я получил ошибку чтения.

Итак, на исходном компьютере я попытался разбить его на несколько файлов, используя RAR. (Я использовал режим "Магазин"). Это продолжалось до 48%, и снова процесс rar остановился с «Ошибка чтения».

Если я открою файл размером 2 ГБ с помощью VLC на исходном компьютере, я смогу перейти к следующей половине видео, и оно будет воспроизведено.

Так как я могу восстановить все видео? По сути, я имею в виду разделение файла на две части - скажем, первые 47% и последние 51% (при условии, что ошибка исчезнет, ​​если разрезать проблемную часть). Я не знаю, как это сделать. Любая помощь приветствуется.


РЕДАКТИРОВАТЬ:

У меня есть Cygwin, поэтому попробовал команду "split" (разбивая на 100 МБ). Тем не менее, команда split висит в соответствующей части файла (после создания 10 файлов). Итак, в принципе, есть ли способ восстановить более позднюю половину файла?

1

2 ответа на вопрос

0
Randolf Richardson

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.

Благодарю. Не пробовал, так как `dd` работал, но спасибо за решение tanon 12 лет назад 0
0
Turbo J

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.

Благодарю. `dd` с опцией` conv = noerror` помогло мне. tanon 12 лет назад 0