Я использовал photorec
из набора утилит testdisk
для восстановления некоторых данных.
Список того, что я пробовал
photorec
photorec
.tx?
и .txt
(, которые включают исходные файлы.c и т. д.)grep -rIw
для поиска точных совпадений целых строк слов во вложенных папках diff
для сравнения полученных совпадений Не уверен, что это должен быть «принятый ответ» -, но описанный выше метод — это то, что я использовал для получения своих файлов.
Это не очень хороший метод, но он работает.
В случае, когда потерянные данные представляют собой изображения, вероятно, гораздо проще пролистать объекты или просмотреть миниатюры, чтобы найти нужные файлы.
С текстовыми файлами сложнее работать, потому что система создает много ложных срабатываний из-за текстовых файлов, журналов и т. д.
Вот несколько моментов, на которые стоит обратить внимание:
Сначала сделайте полную копию диска:dd if=/dev/sdX of=image.img bs=1M status=progress
Работайте над этой копией (, например.photorec image.img
)вместо самого диска.
По моему (долгому )опыту, foremost
лучше, чем photorec
для многих типов файлов. В зависимости от ваших типов файлов вы можете захотеть добавить пользовательские заголовки файлов в foremost
, это было ОЧЕНЬ эффективно для меня в прошлом.Подробнее о выдаче/фотозаписи в моем ответе здесь
Этот мой ответ может помочь вам найти пригодные для использования файлы из восстановленного стога сена.
НЕ монтируйте SSD. Как уже говорилось в комментариях, монтирования только для чтения не всегда может быть достаточно для предотвращения перезаписи. Работа над dd
изображениями.
Вот (умопомрачительный )трюк, который я выучил некоторое время назад и который может сработать на вас.
the directory I deleted contains all the code for my PhD
Итак, это текст. Теперь, если большая часть вашего кода находится в одном (или нескольких )файлах (с ), вы действительно можете попробовать это:
grep -ai '<this text is in my newest code revision>' image.img
Я знаю, это звучит слишком просто, но это спасло меня раньше в такой же ситуации. Вы можете добавить -C x
к команде, чтобы включить заменуx
(числом )строк выше и ниже совпадающей строки.
Обратите внимание, что ваш файл (s )может быть частично поврежден. Попробуйте много узоров. Начните с большого количества слов, чтобы попытаться найти точное соответствие, если нет результатов, попробуйте меньше слов.
И обязательно... ВСЕГДА делайте резервные копии . НЕ на одном диске. ПРОВЕРЬТЕ резервные копии. Вы имеете дело с текстом, я предполагаю, что это не сотни гигабайт, поэтому вы также можете настроить облачные резервные копии (, зашифрованные, конечно, )или что-то в этом роде.
Еще один совет. :Не тратьте на волнения по этому поводу больше времени, чем вам потребовалось бы для повторного -написания кода. Сохраняйте спокойствие, попробуйте все, что сможете, посмотрите, поможет ли вам мой grep
метод, и если вы ничего не найдете после целого дня, лучшим решением, вероятно, будет получить последнюю резервную копию и продолжить работу оттуда.
Если вы были достаточно быстры при выключенном питании -, то после полного бинарного резервного копирования вашего раздела вы можете попробовать extundelete .
Если я правильно помню,extundelete использует журнал вашего раздела для «отмены» изменений файлов каталога, вызванных вашим rm -rf
.