Как восстановить удаленные файлы?

121

Существуют ли какие-либо инструменты, методы, заклинания для восстановления недавно удаленных файлов в Ubuntu?

Если это имеет какое-то значение, я хочу восстановить файл базы данных Keepass 2.x. Но было бы лучше иметь метод / инструмент, который работает с любым видом файла.

Децио Лира
источник

Ответы:

66

TestDisk может иногда восстанавливать недавно удаленные файлы.

vh1
источник
4
Для кого-то может быть важно знать, что конкретно для карт камеры, на TestDisk существует PhotoRec
Luis Siquot
1
На данный момент TestDisk не имеет графического интерфейса пользователя, и страницы справки (man) не достаточно информативны для меня.
Сильвиубоган
4
PhotoRec ( cgsecurity.org/wiki/PhotoRec ) отлично помог мне восстановить случайно удаленные файлы (в Ubuntu 14.04 с ext4). Сначала я попробовал с TestDisk, но он не смог их восстановить. Во всяком случае, я нашел оба инструмента, созданные в одной папке.
Андреа
1
@silviubogan на самом деле TestDisk имеет довольно хороший текстовый пользовательский интерфейс с меню и пояснениями. Все действия имеют связанный ключ для их выполнения, и они четко написаны на каждом экране для облегчения доступа.
Андреа Лаззаротто
25

Я использовал прежде всего для восстановления поврежденного жесткого диска как под NTFS (windows), FAT32 (флэш-карта от телефона Nokia) и ext3 с отличными результатами. Только командная строка, но довольно просто, примерно так:

sudo foremost -i /dev/sda -o <dir where recovered files will be stored>

Он упорядочит восстановленные файлы по папкам по типу файла. Документы Openoffice восстанавливаются в виде zip-файлов. Поскольку вам необходимо выполнить его как root (для прямого доступа к оборудованию), выходные файлы также принадлежат root, поэтому вам, вероятно, придется впоследствии поменять их владельца.

Хавьер Ривера
источник
Вероятно, это слишком старый вопрос, но как выглядят файлы GIMP после восстановления?
пробуждение
Я не знаю, я никогда не пытался их восстановить.
Хавьер Ривера
@JavierRivera - я не верю, что foremostмогу восстановить .xcfфайлы. См. Справочную страницу, в которой он может работать только с этими типами файлов: (jpg, gif, png, bmp, avi, exe, mpg, mp4, wav, riff, wmv, mov, pdf, ole, doc, zip, rar, htm, и cpp).
СЛМ
уже работает ... позвольте мне ждать результатов. Будет делиться.
Патрик Мутвири
сколько времени нужно, чтобы закончить ?? для 32 ГБ памяти USB
Мина Майкл
25

extundelete действительно хорош , если у вас файловая система ext3 или ext4.

Примечание : extundelete требует, чтобы вы отмонтировали диск для правильной работы (в любом случае, это хорошая идея сделать как можно скорее, чтобы избежать перезаписи потенциально удаляемых байт в удаленных файлах).

Размонтировать диск в работающей системе может быть сложно ... Вы часто будете получать device is busyсообщение " ". Чтобы очистить это «правильно», необходимо закрыть все процессы, обращающиеся к файловой системе. Но ... вы, вероятно, работали в своем домашнем каталоге, и в ваш домашний каталог зацепились миллионы процессов, так что удачи в этом.

Хитрость в том, чтобы обойти это, сделать «ленивое» размонтирование:

$ mount
/dev/sda7 on /home type ext4 (rw)
$ sudo umount -l /home

где:

  • этот пример для меня готовит мое /homeмонтирование для использования с extundelete. Вам, очевидно, нужно заменить /homeна вашу маунт интереса
  • mountСначала я выполнил команду, чтобы выяснить, какое устройство ( /dev/sda7) нужно передать extundelete (для краткости вывод обрезан)
  • это строчная буква L в -lопции
Russ
источник
4
Ленивое размонтирование на самом деле не помогает, так как fs остается подключенным, пока все файлы на нем не закрыты. Вам просто нужно завершить работу системы, как только вы удалите файлы, и запустить extundelete из livecd.
Псуси
@psusi - Абсолютно неверно говорить, что это не помогает !! umount -lпредотвращает открытие / создание и запись любых новых файлов (веб-кеш и т. д.). Однако это не препятствует тому, чтобы существующие открытые файлы все еще были записаны (то есть: это не закрывает существующие файлы). Вы предлагаете завершить работу, но я думаю, что ленивый размонтирование (в большинстве случаев) приведет к меньшему количеству записанных файлов, в зависимости от рассматриваемого раздела. На этом замечании лучше всего уже установить extundelete, а если нет, то обязательно установить его на какой-то другой раздел, кроме того, который вы пытаетесь восстановить!
Расс
Пока fs все еще подключен, попытка получить к нему доступ приведет к повреждению. Это причина того, что extundelete требует, чтобы вы сначала размонтировали fs. Ленивое демонтирование просто вводит его в заблуждение, думая, что оно не смонтировано, и, следовательно, безопасно продолжать манипулирование диском, когда это не так. Продолжение работы с extundelete до фактического демонтажа fs может привести к удалению всего диска.
Псуси
1
@psusi - "может весь шланг" ??! С операцией только для чтения? Я не понимаю твои аргументы, или что ты такой параноик. extundelete не "манипулирует диском". Самое худшее, что я могу себе представить, - это то, что extundelete ожидает несмонтированное / статическое разбиение, и если при чтении информации журнала лениво размонтированный диск изменяется из-за процессов, в которых были открыты файлы, extundelete может запутаться и восстановление может завершиться неудачей. "возможно, сбой восстановления"! = "скрытый диск". Если это не помогло, выключите, молитесь, чтобы выключение не уничтожило ваши потерянные данные, и используйте livecd, как вы предлагаете.
Расс
1
Да благословит Бог эту программу! А ты @Russ. Восстановил все мои файлы!
Владимир Ковальчук
14

Если вы удалили какой-то файл случайно, но все еще знаете некоторые строки, которые были записаны в этот файл, вы можете использовать:

grep -a -B 25 -A 100 'containing string' /dev/sda1 > result.txt

источник
1
Что делать, если файл является двоичным, а не текстовым?
Децио Лира
Предполагая, что это был текст, как он может восстановить файл с result.txt? Я не понимаю ..
sergio91pt
Я пробовал несколько других предыдущих ответов. Никто из них не работал. Этот простой трюк сделал! Спасибо!
JamesThomasMoon1979
Это действительно сработало, классные вещи. Большое спасибо.
Снехал Пармар
2
Следует отметить , что 25и 100только некоторые магические числа , которые , вероятно , должны быть переделаны для конкретного случая.
Андреа Лаззаротто
12

Для восстановления каталога вы можете использовать extundelete

  1. Установить extundelete

    sudo apt-get install extundelete
    
  2. Команда восстановить

    sudo extundelete --restore-directory /home/Documents/ /dev/sda1
    

Примечание . Вместо этого dev/sda1укажите название раздела жесткого диска.

/home/Documents/ ваш путь к удаленной директории.

Аатиш Сай
источник
1
Раньше я autopsyнаходил нужные мне иноды, а затем extundeleteвосстанавливал их. Работал хорошо!
Рафаэль
Мои результаты выглядят.....~/Books$ sudo extundelete --restore-directory /home/newubuntu/Books/LaTeX /dev/sda2 WARNING: Extended attributes are not restored. Loading filesystem metadata ... 522 groups loaded. Loading journal descriptors ... 32242 descriptors loaded. Writing output to directory RECOVERED_FILES/ Failed to restore file /home/newubuntu/Books/LaTeX Could not find correct inode number past inode 2621441.
alhelal
Я хочу отправить подтверждение в команде. Как?
Алхелал
sudo extundelete -y --restore-directory /home/Documents/ /dev/sda1 нравится.
Алхелал
10

R-Linux (Recovery studio) - один из лучших. Я использовал этот инструмент много раз раньше. Я работал в компании, где они использовали коммерческую версию, 9/10 раз она восстанавливает все, что вы хотите. Действительно превосходное приложение. Спасли мои и друзей много раз за спиной.

R-Linux - это бесплатная утилита восстановления файлов для файловой системы Ext2 / Ext3 / Ext4 FS, используемой в ОС Linux и нескольких Unixes. R-Linux использует ту же технологию InteligentScan, что и R-Studio, и гибкие настройки параметров, чтобы обеспечить самое быстрое и надежное восстановление файлов для платформы Linux. Однако, в отличие от R-Studio, R-Linux не может восстанавливать данные по сети, восстанавливать RAID или предоставлять копию объекта.

Особенности (с их сайта):

R-Linux восстанавливает файлы :

  • Удален вирусной атакой, отключением электропитания или сбоем системы;
  • После того, как раздел с файлами был переформатирован, поврежден или удален;
  • Когда структура раздела на диске была изменена или повреждена. В этом случае R-Linux может сканировать диск, пытаясь найти ранее существующие разделы и восстановить файлы из найденных разделов.
  • С дисков с плохими секторами. В этом случае R-Linux может сначала скопировать весь диск или его часть в файл образа, а затем обработать файл образа. Это особенно полезно, когда на диске постоянно появляются новые поврежденные сектора, а оставшаяся информация должна быть немедленно сохранена.

Расширенные возможности R-Linux :

  • Стандартный «Windows Explorer» - стиль интерфейса.
  • ОС хоста:
    • Вариант Linux: Linux, ядро ​​2.6 и выше
    • Вариант Windows: Win2000, XP, 2003, Vista, Windows 7, Windows 8
  • Поддерживаемые файловые системы: только Ext2 / Ext3 / Ext4 FS (Linux).
  • Распознавание и синтаксический анализ схем размещения разделов Dynamic (Windows 2000 / XP / Vista / Win7), Basic, GPT и BSD (UNIX) и карты разделов Apple . Поддерживаются динамические разделы через GPT, а также динамические разделы через MBR.

  • Создает файлы изображений для всего жесткого диска, логического диска или его части. Такие файлы изображений могут обрабатываться как обычные диски. Изображения могут быть либо точными точными копиями объектов (Plain images), совместимыми со старыми версиями R-Linux, либо сжатыми изображениями, которые можно сжать, разделить на несколько частей и защитить паролем. Такие образы полностью совместимы с образами, созданными R-Drive Image, но несовместимы со старыми версиями R-Linux.

  • Распознает локализованные имена.

  • Восстановленные файлы могут быть сохранены на любых (в том числе сетевых) дисках, доступных операционной системе хоста.
blade19899
источник
Я не ожидал, что это будет бесплатным для Linux. Я уже знаю R-Studio, и это потрясающее программное обеспечение. Здорово, что это бесплатно для файловых систем Linux.
0x01
1
Этот инструмент бесплатен только для восстановления файлов размером менее 256 КБ
Tik0
6

Если для импорта восстановленных файлов используется вторичное внутреннее HD (подозреваем, что то же самое для внешнего HD) (с основного HD, на котором изначально находились файлы), необходимо создать каталог, в который файлы будут помещены на вторичное HD. Для этого вам нужно сначала установить BIOS для загрузки с CD! 1. Запустите Live Ubuntu Rescue-Remix CD, дайте команду на загрузку, затем, когда он загрузится в терминал, проверьте ваши HD с помощью команды - Код:sudo fdisk -l

Поймите, какой HD является основным, а какой второстепенным, и какой раздел для проверки файлов и в который их восстанавливать - linux ext3 или Windows NTFS! Мой был Linux. Есть достаточно места на нем! (Затем вы можете попробовать запустить Photorec («sudo photorec») и, надеюсь, вы сможете увидеть все ваши HD. Мне не повезло, поэтому мне пришлось создать каталог и смонтировать сек. HD.)

  1. Сначала создайте каталог для восстановленных файлов, например - media / disk. Дай команду - Код:sudo mkdir /media/disk

Если все в порядке, подсказка терминала просто возвращается.

  1. Необходимо смонтировать вторичный HD, иначе он будет невидимым, даже если «sudo fdisk -l» его показывает. Дайте команду для вашего вторичного HD - Код:sudo mount -t ext3 /dev/sdb2 /media/disk

Если все в порядке, подсказка терминала просто возвращается.

  1. Запустите Photorec по команде - Код:

    sudo photorec

Зайдите в настройки и выберите только те типы файлов, которые вам нужны, иначе у вас будет тысячи файлов для просеивания!

Для получения более подробной информации вы можете посетить: http: /www..ubuntumanual.org/posts/357/recover-your-deleted-files-in-ubuntu

Abhilash
источник
5

Попробуй Скальпель

sudo apt-get install scalpel

для получения дополнительной информации

мужской скальпель

Rojan
источник
пробую это сейчас. Я не совсем понимаю, как добавить новые файлы в файл conf. У вас есть источник с подробностями?
Decio Lira
2
Я нашел howtoforge.com/recover-deleted-files-with-scalpel, который лучше, чем ничего. Удачи, это не MS-DOS.
MSW
см. также ubuntu.stackexchange.com/questions/2596/… Я использую довольно тяжелое резервное копирование системы, но у меня настроено «Назад во времени» для дублирования выбранных каталогов из / home / msw (включая .config, который также перехватывает .config/keepassx/*(ваши местоположения могут меняюсь)) на запасной раздел ночной. Я также использую Unix с незапамятных времен, и вы, как правило, становитесь довольно осторожными после второго раза, когда вы the-really-critical.file
взрываетесь
Скальпель, кажется, делает то же самое, что и прежде всего, но хотя скальпель больше не разрабатывался с 10 лет, он получил много обновлений за последние годы.
Sebix
3

Инструменты Autopsy и Sleuthkit отлично подходят для восстановления удаленных файлов, имеют удобный пользовательский интерфейс, а также доступны в репозиториях :

sudo apt install autopsy
nathwill
источник
хорошо знать. взгляну на них. ;)
Decio Lira
1
Я бы поддержал это, если бы вы добавили несколько ссылок.
MadMike
Раньше я autopsyнаходил нужные мне иноды, а затем extundeleteвосстанавливал их. Работал хорошо!
Рафаэль
2

Установить скальпель

sudo apt-get install scalpel

Отредактируйте файл scalpel.conf и раскомментируйте типы файлов, которые вы хотите восстановить. Создайте пустую папку (например, recovered_data). Найдите раздел, в котором находились ваши данные. Вы можете использовать lsblk, чтобы получить карту разделов.

sudo lsblk

Запустите скальпель (предположим, что данные были в sda1)

sudo scalpel -o recovered_data/ /dev/sda1
Kasun
источник
1

Недавно я использовал ext3grep для восстановления большого файла SQLite 3, который был удален из файловой системы ext3.

Я перепробовал много других инструментов, которые не смогли восстановить файл (из образа диска dd).

Чтобы использовать ext3grep, мне нужно было скачать и скомпилировать исходный код. Внимательно прочитайте http://www.xs4all.nl/~carlo17/howto/undelete_ext3.html сверху вниз, чтобы понять, как работает файловая система ext3 и как использовать журнал, чтобы найти, где находятся удаленные файлы. диск тоже был необходим.

Это не простое решение, но очень, очень мощное. Если вы готовы потратить несколько часов на изучение документа и составление программы, это того стоит.

Стейси Ричардс
источник
Спасибо, возможно я попробую это. это будет работать только с файловыми системами ext3? Что насчет ext4?
Децио Лира
Я не уверен насчет ext4, но думаю, что ext4 обратно совместим с ext3. Я бы предположил, что это сработает, но никогда не пытался.
Стейси Ричардс