2008-10-13 3 views
7

Возможно ли прослушивание поврежденных носителей (cd, hdd, dvd, ...), даже если оконный проводник взрывается?Чтение данных с поврежденных носителей

Я хочу спросить, есть ли набор API-интерфейсов или что-то, что может получить доступ к диску на очень низком уровне (ниже проводника?) И читать все, что можно получить, даже если оно является частичным, особенно если вы все еще можете видеть, что файл есть у исследователя, но ничего не может с ним поделать, потому что он каким-то образом поврежден (царапины на компакт-диске и т. д.)?

ответ

0

Я не знаю, какой уровень существует между проводником Windows и API Win32. Вы можете попробовать написать программу с файлами ввода/вывода файлов Win32. Если это не сработает, вам нужно написать свой собственный драйвер устройства, чтобы он был ниже.

0

У меня было немного удачи со стороны Linux, или используя BartPE (http://www.nu2.nu/pebuilder/), но просто просмотр файла не всегда означает, что файл будет восстановлен, будь вы пытаетесь выполнить Windows или Linux. Лучше всего использовать пробную версию программы восстановления.

3

Основная проблема с Windows Explorer заключается в том, что она не поддерживает возобновление копирования после ошибки чтения. Например, большинство поверхностно поцарапанных компакт-дисков будут терпеть неудачу на разных участках диска каждый раз, когда вы выгружаете и повторно вставляете их.

Таким образом, с помощью утилиты, поддерживающей возобновление операций копирования, можно прочитать все содержимое поврежденного компакт-диска, выполнив несколько раз «извлечения/перезагрузки/возобновления».

Фактически, это то, что делает utility I wrote, и мне никогда не нужно было ничего интересного, чтобы читать поцарапанные диски. (Он просто использует ReadFile и WriteFile.)

Один шаг ниже будет открывать необработанный раздел (то есть образ диска), передавая строку, такую ​​как «\. \ F:» (обратите внимание: слэши являются буквальными здесь) в CreateFile , Это позволит вам читать необработанные сектора с диска, но восстановить файлы из этих данных будет сложно.

Действительно, синтаксис «\. \» Позволяет открывать устройства в «\ GLOBAL ??» ветви пространства имен Windows Object Manager, как если бы они были файлами. Это не похоже на вызов dd с параметром/dev/x. Существует также ветвь «\ Device», но это доступно только через DeviceIoControl() (т. Е. Ioctl()), что означает, что нет простого интерфейса ReadFile()/WriteFile().

Что-нибудь более низкое, чем это было бы специфично для устройства; как чтение необработанных данных CD-ROM (включая биты ECC), как это делают некоторые программы для записи CD. Вам нужно будет провести некоторое исследование на конкретных носителях (CD, Flash, DVD) и то, что ваше оборудование позволяет вам делать с ними.

Примечание: обратные косые черты, похоже, теряются на пути к веб-странице; вам необходимо передать «обратную косую черту с обратным слэшем» в «CreateName». Разумеется, вам тоже нужно бежать от них.

1

первый шаг dd_rescue. После этого вы можете попробовать что угодно, чтобы восстановить данные.

0

У меня было два диска, которые начали разлагаться на меня. По образцу нечитаемых секторов, я думаю, что у них была внутренняя шелушение их эмульсии. WinXP Explorer просто поднял руки и сказал, что диск вообще не существует.

В обоих случаях я использовал «GetDataBack for NTFS» из Runtime Software (http://www.runtime.org/). Вы можете скачать бесплатную пробную версию, которая покажет вам, что вы может вернуться, если вы заплатили за это. Когда я купил его, это было 49 долларов, но я вижу, что сейчас это 79 долларов.

Эта программа потрясающая. Это не обязательно быстро, так как он будет перечитывать некоторые сектора снова и снова, пытаясь получить консенсусное значение от нескольких попыток, но когда это будет сделано, вы сможете вернуть все, что, как вы думали, исчезло навсегда. У меня был один диск, на который потребовалось более 10 часов, чтобы проанализировать, но когда это было сделано, я вернулся на 97% от 500-Гбайт диска. Определенно стоит цена.

Еще один отличный инструмент - Beyond Compare. У меня rev 2.5.3, но в настоящее время он равен 3. ?? и стоит 30 долларов США. Они имеют 30-дневный след с полной функциональностью. Он отлично справляется с копированием большого количества файлов (и только тех, которые нужно скопировать), и, в отличие от Проводника, он не взрывается, если что-то не удается. Это похоже на визуальный rsync для Windows, если вы знакомы с этой программой от людей Samba.

У меня нет связи ни с одной из упомянутых нами компайп, кроме как очень довольного клиента.

0

Золотой стандарт для восстановления данных с магнитного запоминающего устройства должен быть SpinRite. Это коммерческое приложение, хотя вы, вероятно, не узнаете многого от него.

0

Если у вас есть машина Linux, я могу порекомендовать dvdisaster. Он первоначально предназначен для создания файлов исправления ошибок, но он также считывает DVD-диски в изображение и игнорирует ошибки чтения; и вы можете использовать разные диски один за другим, чтобы получить недостающие сектора, заполненные изображением.

1

И есть GNU ddrescue

GNU ddrescue это инструмент для восстановления данных. Он копирует данные из одного файла или блочного устройства (жесткий диск, cdrom и т. Д.) В другой, пытаясь сначала спасти полезные части в случае ошибок чтения.

Убедитесь использовать версию 3-Arg (manual):

ddrescue [options] infile outfile [mapfile] 

То есть, не использовать mapfile, даже если это не обязательно, потому что:

Если вы используйте функцию mapfile ddrescue, данные сбрасываются очень эффективно (считываются только необходимые блоки). Также вы можете прервать спасение в любое время и возобновить его позже в той же точке. Файл карты является важной частью эффективности ddrescue. Используйте его, если вы не знаете, что делаете.

И он также включен в Cygwin и Homebrew.

+0

Позднее дополнение, coz Я только что имел большой успех, используя `ddrescue` – ryenus 2016-04-09 02:25:17

Смежные вопросы