Восстановление случайно удалённых файлов

Вопрос или проблема

Я случайно удалил файл со своего ноутбука. Я использую Fedora. Возможно ли восстановить файл?

Я бы не рекомендовал сразу устанавливать какую-либо утилиту. Основной враг здесь — это записи на диск. Вы хотите избежать этого любой ценой.

Ваш лучший шанс — это автозапись, созданная вашим редактором, если она существует. Если нет, я бы попробовал следующий трюк, используя grep, если вы помните какую-нибудь уникальную строку в вашем .tex файле:

$ sudo grep -i -a -B100 -A100 'строка' /dev/sda1 > file.txt

Замените /dev/sda1 на устройство, на котором находился файл, и замените 'строка' на уникальную строку в вашем файле. Это может занять некоторое время. В основном, что это делает, так это ищет строку на устройстве и возвращает 100 строк до и после этой строки и помещает их в file.txt. Если вам нужно больше строк, просто отрегулируйте параметры -B и -A соответственно. Вы можете получить много лишнего мусора, но все-таки должны быть в состоянии восстановить ваш текст.

Удачи.

Это возможно, просто это будет хлопотно.

ОБНОВЛЕНИЕ: перед тем, как попробовать этот метод, пожалуйста, ознакомьтесь с ответом Стивена.

Вам понадобятся пакет testdisk, много дискного пространства и много времени.

PhotoRec, часть TestDisk, может восстанавливать файлы почти с любого диска. PhotoRec поддерживает поиск файлов .tex.


Сначала установите testdisk, выполнив

yum install testdisk

заметка: Вам понадобится много свободного пространства на другом диске, куда вы можете сохранить восстановленные файлы.

Восстановите все удаленные файлы на вашем диске, запустив photorec на свободном пространстве диска.

sudo photorec

и следуйте инструкциям… (не забудьте не сохранять файлы на тот же диск, с которого вы восстанавливаете)

После завершения процесса все восстановленные файлы должны находиться в одном каталоге, в котором вам нужно выполнить:

find -name '*.tex' > filelist

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

Многие текстовые редакторы хранят резервные файлы. Если вам действительно повезет, может быть что-то вроде yourfile.tex~ включающее предыдущую версию вашего файла.

Существуют другие инструменты восстановления данных; самые эффективные это foremost, PhotoRec, scalpel и magic rescue.
(Я предполагаю, что поиск по диску,
как обсуждалось в ответе Стивена D, недостаточен.)
Здесь вы можете найти некоторые учебники о том, как их использовать:

ПРИМЕЧАНИЕ: Я добавил этот ответ относительно другого вопроса про удаленные файлы базы данных (сервер MySQL), который был закрыт и ссылался на этот. Я считаю, что он может быть полезен в некоторых других аналогичных ситуациях тоже (поскольку какой-то процесс все еще удерживает открытыми дескрипторы файлов).

Если ваш процесс все еще работает, то вы можете найти свои файлы в /proc/<pid>fd/ и просто скопировать их. Сначала отправьте SIGSTOP группе процессов. Скопируйте файлы. Создайте новый экземпляр сбоку и оставьте этот остановленным или kill -9 его и верните файлы на место. InnoDB восстановится самостоятельно при запуске, но если был MyISAM, вам придется сделать это вручную.

В любом случае я бы посоветовал как можно быстрее прекратить работу на используемом устройстве, чтобы избежать любых записей на диск, и загрузиться в специальную операционную систему для восстановления, такую как SystemRescueCd, которая является Live-CD, чтобы вы могли подключить свой диск только для чтения, чтобы предотвратить дальнейшую потерю данных.

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

Я всегда стараюсь иметь CD с последней версией SystemRescueCd в моем внешнем USB-ридере, просто на всякий случай.

Я случайно удалил свой файл базы данных sqlite.

Что я сделал, чтобы найти файл, это:

Открыл каталог /proc/ в файловом менеджере и поискал удалённый файл базы данных sqlite там.

Я нашел этот файл в результатах поиска. Скопировал этот файл оттуда на свое старое место.

У меня была такая же проблема два года назад, и я пробовал много программ, таких как debugfs, photorec, ext3grep и extundelete. ext3grep была лучшей программой для восстановления файлов. Синтаксис очень прост:

ext3grep image.img --restore-all

или:

ext3grep /dev/sda3 --restore-all --after date -d '2015-01-01 00:00:00' '+%s' --before `date -d ‘2015-01-02 00:00:00’ ‘+%s’

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

Ответ или решение

Восстановление случайно удалённых файлов на Fedora

Удаление файлов — обычное дело, и это может случиться с каждым. Если вы случайно удалили файл на своём ноутбуке с операционной системой Fedora, не стоит паниковать. Существует множество способов, как можно попытаться восстановить утраченные данные. Однако важно помнить, что ваше самое большое враг в данном случае — это записи на диске. Чтобы увеличить шансы на успех, следует минимизировать любые операции записи до момента восстановления.

1. Проверьте автоматические резервные копии

Первое, что стоит сделать, это проверить, существуют ли автоматические резервные копии вашего файла. Многие текстовые редакторы, такие как TeX, генерируют резервные копии удалённых файлов с расширением ~ или создают .bak файлы. Если такая копия существует, вы сможете восстановить свои данные без дополнительных усилий.

2. Используйте grep для поиска данных

Если резервная копия отсутствует, вы можете воспользоваться командной строкой и утилитой grep, если вы помните уникальную строку из вашего файла. Для этого выполните следующую команду:

sudo grep -i -a -B100 -A100 'уникальная_строка' /dev/sda1 > file.txt

Замените /dev/sda1 на устройство, на котором находился ваш файл, и 'уникальная_строка' на строку, которую вы хорошо запомнили. Обратите внимание, что эта команда может занять время, и вы получите некоторые дополнительные данные, но это может помочь восстановить часть информации из удалённого файла.

3. Используйте утилиты для восстановления данных

Если предыдущие шаги не принесли результатов, можно воспользоваться специализированными утилитами. Одна из самых популярных программ — это TestDisk, которая включает в себя утилиту PhotoRec для восстановления файлов. Вот как её использовать:

  1. Установите TestDisk, выполнив команду:

    sudo dnf install testdisk
  2. Обязательно подготовьте достаточно свободного места на другой диске для сохранения восстановленных файлов.

  3. Запустите PhotoRec:

    sudo photorec
  4. Следуйте инструкциям на экране. Важно не сохранять восстановленные файлы на тот же диск, откуда вы их восстанавливаете.

После завершения процесса все восстановленные файлы будут находиться в одной директории. Вы можете выполнить команду:

find -name '*.tex' > filelist

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

4. Альтернативные инструменты

Существует множество других утилит для восстановления данных, таких как foremost, scalpel, magic rescue. Они также могут помочь в процессе восстановления. Вы можете ознакомиться с учебными материалами по их использованию, например:

5. Используйте Live-CD

Если вы подозреваете, что на диске могут быть перезаписанные данные, рекомендуется загрузиться с живого CD, например, SystemRescueCd, чтобы монтировать диск только для чтения. Это снизит вероятность потери данных при восстановлении.

Заключение

Восстановление случайно удалённых файлов — задача не из лёгких, но она возможна с правильным подходом и использованием подходящих утилит. Применяйте предложенные методы последовательно, чтобы увеличить свои шансы на успех. Помните, что всегда лучше заранее делать резервные копии важных данных, чтобы избежать стресса в будущем.

Оцените материал
Добавить комментарий

Капча загружается...