Восстановление удаленных файлов Linux
Иногда случается, что мы случайно удаляем еще нужные нам файлы. Особенно это опасно в терминале Linux, поскольку здесь файлы удаляются не в корзину, а стираются с диска сразу и навсегда.
Понятно, что нужно аккуратно обращаться с командами удаления файлов, но что делать если уже все удалено, а файлы были важные и их нужно срочно восстановить? В некоторых случаях это возможно. В нашей сегодняшней статье мы рассмотрим восстановление удаленных файлов linux.
Немного теории
Каждый файл занимает определенное пространство на жестком диске, но файловая система для предоставления доступа к файлу дает нам ссылки на его начало, по которым любая программа может получить уже содержимое всего файла. Было бы неэффективно, если бы удаление файла приводило к полному перезаписыванию его области на диске.
Вместо этого, файловая система просто удаляет ссылку на эту область со своей базы, а затем помечает пространство, где находился файл, неразменным. Но на самом деле там еще остались все ваши файлы. Из этого делаем вывод, что если после удаления файловую систему очень быстро переключить в режим только для чтения, то все удаленные файлы могут быть восстановлены.
Если же вы работали с этой файловой системой и данные на диске были перезаписаны другими, то вы уже ничего сами не спасете. Возможно, вы слышали, что спецслужбы могут восстанавливать несколько раз перезаписанные данные по остаточному магнитному следу на диске. Это действительно так. Но для решения такой задачи нужно специальное оборудование, здесь недостаточно нескольких программ, нужен специальный лазер, который может считать магнитный след по краям дорожки и другая аппаратура. Так что про этот метод для себя можете забыть.
Ну а мы остановимся на программном восстановлении, когда данные были формально удалены, но физически еще находятся на диске в целостности и сохранности. Дальше рассмотрим несколько утилит, которые помогут восстановить удаленные файлы Linux.
1. Safecopy
Safecopy — это довольно простой инструмент для восстановления данных, который просто копирует данные из одного места в другое. Утилита, как таковая, не восстанавливает отдельные файлы. Она просто позволяет скопировать данные из поврежденного устройства на нормальное.
Разница между этой утилитой и другими программами копирования в том, что Safecopy не завершается при обнаружении каких-либо ошибок, будь то плохая операция чтения или поврежденный сектор. У нее есть множество дополнительных опций для настройки, а также возможность создания образа файловой системы из поврежденного носителя. Данные восстанавливаются тщательно и быстро, насколько это возможно.
Утилиту можно установить из официальных репозиториев вашего дистрибутива. Пользователи Ubuntu могут воспользоваться такой командой:
sudo apt install safecopy
Здесь вы не восстановите удаленные файлы, но вы можете скопировать поврежденные данные. Например, для видео несколько повреждений не играют большой роли. Для запуска восстановления файлов в linux с раздела /dev/sda1 выполните:
sudo safecopy /dev/sda1 /home/files/
Все файлы, которые удастся скопировать будут в /home/files/.
2. TestDisk
TestDisk — это очень мощный инструмент для восстановления данных. Он не пытается скопировать данные из поврежденного устройства, а позволяет исправить ошибки и проблемы на уровне разделов, которые могут мешать работе с вашими данными.
Утилита может восстанавливать потерянные разделы, исправлять таблицу разделов GPT и MBR, делать резервные копии дисков, восстанавливать загрузочные записи, а главное восстанавливать удаленные файлы с файловых систем NTFS, FAT, exFAT и файловых систем семейства Ext. Также вы можете копировать файлы даже с удаленных разделов для тех же файловых систем.
Способ работы утилиты очень сильно отличается в зависимости от нужного действия. Здесь вас ждет псевдографический мастер, который проведет вас через все шаги. Установить testdisk можно ещё и из официальных репозиториев. В Ubuntu используйте для этого команду:
sudo apt install testdisk
Поскольку тема нашей статьи — восстановление файлов linux, рассмотрим как это делается с помощью этой утилиты. Запустите программу:
На первом шаге мастера выберите Create New Log:
Дальше выберите диск, с которым будем работать:
Выберите таблицу разделов на диске:
Для работы с файловой системой выберите пункт Advanced:
Далее выберите раздел, затем команду list:
Тут вы увидите все файлы, которые есть на этом разделе. Удаленные, но подлежащие восстановлению файлы будут помечены красным.
Работать с этой утилитой удобнее, чем с Photorec, потому что здесь вы можете выбрать только один нужный файл, а не восстанавливать сразу кучу мусора. Чтобы скопировать файл просто выберите его, нажмите c и выберите папку для сохранения. Правда, вы же понимаете, что для восстановления нужно, чтобы файлы были не перезаписаны, где-то чуть перезапишется и все.
3. PhotoRec
Наша последняя программа ориентирована в первую очередь на поиск и восстановление удаленных видео, фото, документов и архивов. Можно сказать, что это программа восстановления удаленных файлов linux. Преимущество PhotoRec заключается в том, что она полностью игнорирует файловую систему и смотрит на сырые данные, а это значит, что она все равно будет работать, даже если файловая система повреждена или переформатирована, но только в быстром режиме, там где стираются лишь заголовки.
Во избежание каких-либо проблем, здесь используется доступ только для чтения, этого вполне достаточно для восстановления данных. Но как я говорил раньше, вам нужно остановить все операции записи, как только вы поняли, что нужно восстановить файл. В противном случае нужные данные могут быть перезаписаны чем-то новым и вы уже не сможете их восстановить.
В утилиты есть несколько настроек. Вы можете указать расширения файлов, которые нужно найти, размер, дату изменения и так далее. Установить программу можно так же как и TestDisk — из официальных репозиториев.
Например, в Ubuntu выполните:
sudo apt install photorec
Что касается использования, то тут похожий на testdisk интерактивный интерфейс. Запустите утилиту командой:
Выберите диск, с которым нужно работать:
Выберите файловую систему:
Выберите способ сканирования (неразмеченное пространство/весь раздел) Затем выберите папку для сохранения результата:
Дождитесь завершения процесса:
Программа восстановит много файлов, и скорее всего больше чем вам нужно. Причем главная ее проблема в том, что имена файлов не сохраняются и вам придется еще поискать, чтобы найти есть ли там то что нужно.
Выводы
Эти три инструмента охватывают широкий спектр задач по восстановлению файлов Linux. Здесь вы сможете выполнить не только восстановление удаленных файлов Linux из ext4, но и исправить жесткий диск или скопировать файлы с поврежденных носителей.
А какие ваши любимые утилиты для восстановления данных? Какими вы пользуетесь? Напишите в комментариях!
На десерт видео от Discovery о том, как работает жесткий диск:
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
How to use Linux to Recover Deleted Files
Have you ever accidentally deleted important files from your computer? Well, you’re not the only one. Mistakes, such as accidentally deleting files, can be costly. But the good news is there are plenty of ways in Linux to recover deleted files.
In this tutorial, you will learn how to recover even permanently deleted files in a Linux system.
Prerequisites
This tutorial will be a hands-on demonstration. If you’d like to follow along, be sure you have the following:
- A Linux Machine – This tutorial uses Ubuntu 20.04, but any Linux distributions will work.
- User with sudo privileges.
Recovering Deleted File from Trash
Accidentally deleting a file can be nerve-wracking, especially if it’s a project file. But if you’re lucky enough that your deleted file ended up in the Trash, you can still recover your file in a few clicks.
- Right-click on a space on your Desktop, and select Show Desktop in Files from the context menu to open your file manager.
2. Select Trash from the left sidebar to access the Trash. Right-click on the file, choose Restore from Trash to recover the file and move the file back to its original location.
3. Finally, navigate to your deleted file’s original location to see the successfully restored the file.
Using TestDisk Linux to Recover Deleted Files
Couldn’t find your file anywhere? Chances are, you may have deleted your file permanently either by pressing the Shift + Delete keys or by running the rm command. There are tons of file recovery tools, but for this tutorial, you’ll be working with TestDisk. TestDisk is a Linux utility that checks and recovers lost partitions, files, and more via a command-line terminal.
Each file on a Linux system occupies a series of disk clusters, which themselves are composed of disk sectors and are the actual bits stored on the disk. When you delete a file, Linux releases all the clusters associated with that file to store other files. TestDisk can only recover the deleted files if these clusters have not been overwritten.
- Launch your terminal and run the command below to check whether TestDisk ( testdisk ) is installed on your system or not.
Below, you can see the output shows the executable path of TestDisk, which indicates TestDisk is already installed.
If you don’t see any output, run the commands below to install TestDisk via the apt utility and check if you’ve installed TestDisk completely.
sudo apt install testdisk which testdisk
2. Next, run the command below to access TestDisk.
If you have not run testdisk preceded by sudo , you need to enter your sudo password before proceeding, as shown below. Linux will then restart the TestDisk utility in your terminal under a privileged user.
3. On the TestDisk’s initial page, choose Create with the arrows keys and press Enter to create a log file. The log file houses all actions you perform in TestDisk.
The TestDisk GUI may look sparse at first, but it is not. The interface is user-friendly and will automatically highlight the best option you need to use to restore your deleted files.
4. Next, navigate through the list with the Up and Down arrow keys, and select the disk from which you want to recover your deleted files. Once you highlight the disk, press the Right arrow key to highlight the Proceed option and hit Enter to select the disk.
5. Select your disk’s partition type and press Enter. Identifying the correct partition table type can be tricky, but don’t worry as TestDisk automatically predicts and highlight the right partition.
6. On the next screen, select the Advanced option since you’re recovering a deleted file, and press Enter.
TestDisk is used not only for recovering files but also to fix broken disks.
7. Highlight your disk’s partition, press the Right arrow key, select the Undelete option, and press Enter. This tutorial is based on recovering files from an external storage device like a USB drive with a FAT32 type partition.
At this point, TestDisk scans files related to your partition and shows a list of deleted files shown in the next step.
8. Now, select the file you want to restore from the list of files as shown in the image below.
If you have to select multiple files, navigate to each file, and press the colon (:) key to select the file for restoration. Once you have selected all the files to restore, press C to copy your files in memory.
9. Select a destination where you want to save the recovered file and press Enter.
Navigating directory paths in TestDisk can be tricky, so it’s usually best practice to save the files to the path from where you launched your TestDisk utility. After saving, copy/paste the files at your desired location via a GUI file manager.
TestDisk has successfully recovered the deleted file (green text), as you can see in the image below.
10. Finally, open the path where you copied the file, and verify that you have restored your deleted file successfully.
Conclusion
In this tutorial, you learned how to restore files from Trash with File Manager and even permanently deleted files via TestDisk. Although the built-in File Manager and TestDisk work great in recovering your files, there are other file recovery tools that you can try.
Now would you turn to TestDisk on Linux to recover deleted files? Or perhaps you prefer to automatically backup your Ubuntu system?
Hate ads? Want to support the writer? Get many of our tutorials packaged as an ATA Guidebook.