Извинения за титул. Чтобы быть более конкретным, я помню, как я читал это где-то в прошлом году, когда пытался восстановить повреждение данных на жестком диске.
У меня есть жесткий диск Windows XP, который потерпел крушение головы и вызвал неустранимый плохой секторов в определенных файлах. Я клонирую диск на дубликат диска и заменяю файлы, которые были повреждены, используя резервную копию, которую я использовал давно.
То, что я уже сделал, - это ... Я загрузился в Parted Magic из Ultimate Boot CD и использовала инструменты ddrescue для клонирования поврежденного диска в образ диска, а затем использовали файл logfile.txt для записи DEADBEEF во все сектора, которые он не мог прочитать / клонировать в файл образа диска и сделать полное изображение. Я, как я полагаю, использовал одну из команд linux grep, чтобы попытаться выполнить поиск всей файловой системы для строки DEADBEEF и перечислить все файлы, содержащие эту строку, хотя некоторые проблемы с ней оставляют часы в поиске из-за некоторой нечетной ошибки.
Я также вручную исправил ошибки $ MFT (Master File Table), за исключением данных одного файла с картинками, которые неважны, чтобы я мог правильно сканировать всю файловую систему и видеть все файлы (некоторые из них не были показывая из-за повреждения).
Мне нужно сделать следующее:
Я хочу полностью отсканировать весь диск до уровня байта (как если бы он смотрел на образ диска в шестнадцатеричном редакторе), для каждого сектора, для строки DEADBEEF, затем перечислите все файлы, к которым плохой сектор переписывается с DEADBEEF, в соответствии с файловой системой. Я помню, что читал об этом где-то, имея возможность сканировать диск, и как только он находит строку, он перечисляет смещение / местоположение / сектор строки DEADBEEF и какой файл владеет данными в этом секторе. Это, или каждый плохой сектор, и перечисляет, к какому файлу принадлежит плохой сектор.
В журнале ddrescue перечислены все сектора, которые были обнаружены как нечитаемые (около 1000 200-байтовых секторов), где он написал DEADBEEF. Если я знаю, какие файлы имеют эти плохие сектора, я могу их заменить, используя мою старую резервную копию.
Прежде чем вы спросите, я не могу просто использовать старую резервную копию, потому что ей около 3 лет. Старая резервная копия на самом деле является исходным диском с этого компьютера, который я клонировал на этом диске, который я пытаюсь спасти. Большинство поврежденных секторов от сбоя жесткого диска находились в составе диска, в котором были только файлы, которые присутствовали на оригинальном диске. Я могу легко скопировать эти файлы с оригинала на новый диск, чтобы исправить все поврежденные секторы DEADBEEF, но мне нужно знать, к какому файлу принадлежат эти плохие секторы.
Опять же, я помню, что читал что-то о сканировании всех секторов диска и наличии списка всех файлов, к которым принадлежал определенный сектор. Итак, как мне это сделать из Parted Magic? Я должен установить его там, чтобы он был установлен как только для чтения.
Вы можете сделать, как полезный комментарий от steeldriver говорит и использовать ddrutility
Он, похоже, не находится в репозиториях Ubuntu, но это главная страница steeldriver В частности, используйте его инструмент ddru_findbad. Вот клип со своей вики-страницы:
ddru_findbad Это сценарий bash, который попытается найти, какие файлы связаны с плохими секторами в файле журнала ddrescue. Он полагается на сторонние утилиты для своих функций. Он может не работать на всех системах. Он может быть медленным и может быть очень медленным, если не непригодным, если в списке много неприятных секторов (это плохо работает с большим размером ошибки).У меня возникает соблазн забыть о номерах сектора и просто монтировать клонированное изображение & amp; искать все файлы для "DEADBEEF", с помощью find, xargs & amp; grep в Ubuntu (или Xubuntu, Lubuntu или Debian, большинство Linux).
Легче или быстрее, чем пытаться ddru_findbad или нет, возможно, зависит от того, насколько велика & amp; Быстрое изображение вашего диска.
find /mnt/x -type f -print0 | xargs -0 grep --files-with-matches "DEADBEEF" >> list
Если изображение установлено на /mnt/x. Тогда список файлов имеет все имена файлов, которые соответствуют. Любое свободное пространство с DEADBEEF игнорируется.
Вы можете сделать, как полезный комментарий от steeldriver говорит и использовать ddrutility
Он, похоже, не находится в репозиториях Ubuntu, но это главная страница steeldriver В частности, используйте его инструмент ddru_findbad. Вот клип со своей вики-страницы:
ddru_findbad Это сценарий bash, который попытается найти, какие файлы связаны с плохими секторами в файле журнала ddrescue. Он полагается на сторонние утилиты для своих функций. Он может не работать на всех системах. Он может быть медленным и может быть очень медленным, если не непригодным, если в списке много неприятных секторов (это плохо работает с большим размером ошибки).У меня возникает соблазн забыть о номерах сектора и просто монтировать клонированное изображение & amp; искать все файлы для "DEADBEEF", с помощью find, xargs & amp; grep в Ubuntu (или Xubuntu, Lubuntu или Debian, большинство Linux).
Легче или быстрее, чем пытаться ddru_findbad или нет, возможно, зависит от того, насколько велика & amp; Быстрое изображение вашего диска.
find /mnt/x -type f -print0 | xargs -0 grep --files-with-matches "DEADBEEF" >> list
Если изображение установлено на /mnt/x. Тогда список файлов имеет все имена файлов, которые соответствуют. Любое свободное пространство с DEADBEEF игнорируется.
Вы можете сделать, как полезный комментарий от steeldriver говорит и использовать ddrutility
Он, похоже, не находится в репозиториях Ubuntu, но это главная страница steeldriver В частности, используйте его инструмент ddru_findbad. Вот клип со своей вики-страницы:
ddru_findbad Это сценарий bash, который попытается найти, какие файлы связаны с плохими секторами в файле журнала ddrescue. Он полагается на сторонние утилиты для своих функций. Он может не работать на всех системах. Он может быть медленным и может быть очень медленным, если не непригодным, если в списке много неприятных секторов (это плохо работает с большим размером ошибки).У меня возникает соблазн забыть о номерах сектора и просто монтировать клонированное изображение & amp; искать все файлы для "DEADBEEF", с помощью find, xargs & amp; grep в Ubuntu (или Xubuntu, Lubuntu или Debian, большинство Linux).
Легче или быстрее, чем пытаться ddru_findbad или нет, возможно, зависит от того, насколько велика & amp; Быстрое изображение вашего диска.
find /mnt/x -type f -print0 | xargs -0 grep --files-with-matches "DEADBEEF" >> list
Если изображение установлено на /mnt/x. Тогда список файлов имеет все имена файлов, которые соответствуют. Любое свободное пространство с DEADBEEF игнорируется.