Відновлення випадково видалених файлів


79

Я випадково видалив файл зі свого ноутбука. Я використовую Fedora. Чи можливо відновити файл?


9
що ваша файлова система?
ехокс

Відповіді:


94

Я б радив не одразу встановлювати якусь утиліту. По суті, ваш найбільший ворог тут - дискові записи. Ви хочете уникнути їх будь-якою ціною прямо зараз.

Ваша найкраща ставка - це автоматичне резервне копіювання, створене вашим редактором - якщо воно існує. Якщо ні, я б спробував наступний трюк за допомогою grep, якщо ви пам'ятаєте якусь унікальну рядок у вашому .tex-файлі:

$sudo grep -i -a -B100 -A100 'string' /dev/sda1 > file.txt

Замініть /dev/sda1пристрій, на якому був файл, і замініть 'string'унікальним рядком у вашому файлі. Це може зайняти деякий час. Але в основному, це робиться, це пошук рядка на пристрої, а потім повертає 100 рядків до і після цього рядка і ставить його file.txt. Якщо вам потрібно більше рядків, що повертаються, просто відрегулюйте параметри -Bта -A, відповідно, параметри. Можливо, ви отримаєте купу зайвого сміття, але ви зможете повернути текст.

Удачі.


8
Хтось мені це показав через пару тижнів після переходу на Linux, коли я вбив текстовий документ, який мені дуже потрібен - він дуже підірвав мій погляд
Майкл Мрозек

18
До речі, -B100 -A100можна замінити на еквівалент -C100(C для "контексту"). І я б точно не користувався, -iякби це було можливо, але мав -Fна своєму місці.
rozcietrzewiacz

Можливо, не дивно - я припускаю, що ті самі блоки диска були використані повторно - цей метод не працював для файлу, який я випадково перезаписав, а не випадково видалив.
ntc2

Так, у більшості файлових систем одні й ті ж блоки повторно використовуються, коли файл просто перезаписується. Зауважте, що деякі програми "обробляють цю проблему" в певному сенсі, спочатку записуючи тимчасовий файл (що робить його окремим записом), потім перейменуючи цей файл поверх старого файлу (який замінює дані з точки зору користувача). Це робиться з ряду різних причин. Системи зберігання (включаючи файлові системи), які роблять це весь час, називають копією під час запису .
CVn

вам потрібен / dev / sda1 ?? Чи можете ви просто перейти до директора, де був файл та запускався без / dev / sda1?
coolcool1994

22

Можливо, це буде просто клопоту.

ОНОВЛЕННЯ: перш ніж спробувати цей метод, будь ласка, подивіться на відповідь Стівена .

Вам знадобиться пакет testdisk , багато місця на диску і багато часу.

PhotoRec, що входить до складу TestDisk, може відновлювати файли практично з будь-якого диска. PhotoRec підтримує пошук .texфайлів.


Спочатку встановіть testdisk , запустивши

yum install testdisk

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

Відновіть усі видалені файли на диску, запустівши photorecна вільному місці диска.

sudo photorec

і дотримуйтесь інструкцій ... (не забудьте не зберігати файли на тому самому диску, з якого ви відновлюєтесь)

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

find -name '*.tex' > filelist

Це виведе список файлів, який може бути тим, що ви втратили. Вам доведеться перевірити їх усі, оскільки імена файлів будуть втрачені.


11
photorec - це хороша утиліта, я б просто хвилювався з приводу запису дисків, які відбудуться під час встановлення. Чи все-таки можна отримати це як окремий виконуваний файл, який може працювати з зовнішніх носіїв?
Стівен Д

1
Так, ви дуже праві. Я не знаю про автономний виконуваний файл, але можна спробувати скористатися деяким live-cd?
Стефан

2
щоб скоротити файли, відновлені за допомогою Photorec, на третьому екрані відобразиться параметр [Опція файлу]. Ви можете зі списку вибрати, які типи файлів ви хочете або не бажаєте відновити.
Стів Бурдін

13

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


9

Є й інші інструменти відновлення даних і найбільш ефективними є в першу чергу , PhotoRec , скальпель і магія порятунок . (Я припускаю, що викладений тут трюк "греп" недостатній) Тут ви можете знайти підручники щодо їх використання:

http://www.howtogeek.com/howto/15761/recover-data-like-a-forensics-expert-using-an-ubuntu-live-cd/

https://help.ubuntu.com/community/DataRecovery


4

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

Ці дистрибутиви включають багато інструментів відновлення, згаданих іншими, і ви можете встановити більшість відсутніх.

Я завжди схильний мати компакт-диск із останньою версією SystemRescueCd у своєму зовнішньому USB-рідері.


3

ПРИМІТКА. Цю відповідь я додав стосовно якогось іншого питання щодо видалених файлів баз даних (MySQL-сервер), який було закрито, і вказав на цей. Я вважаю, що він може бути корисним і в інших подібних ситуаціях (якщо деякі процеси все ще тримають дескриптори файлів відкритими).

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


2

Я випадково видалив свій файл sqlite db.

Що я зробив, щоб дізнатися файл,

Відкрив розташування /proc/у файловому браузері та шукав видалений файл sqlite db там.

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


0

У мене була така ж проблема два роки тому, і я спробував багато програм, таких як налагодження, фотореклама, 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’

Це відео - міні-підручник, який може вам допомогти.


0

Якщо у вас немає резервної копії, сторонній інструмент відновлення диска може відновити деякі або всі дані, але зараз ви повинні припинити використання машини. Знищені файли тепер доступні для вашої системи для їх перезапису. Після їх перезапису відновити дані надзвичайно дорого. Я мав успіх у використанні відновлення даних uflysoft (є й інші додатки для відновлення даних Mac OS) - у вас повинен бути "диск відновлення" (не ваш основний диск або диск, який ви шукаєте), на якому можна зберегти відновлені дані. Ви завантажуєтеся з диска відновлення даних (система)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.