- 10 способов восстановления удалённых файлов в linux
- Комментарии
- Прикладная некромантия в линукс или возвращаем из небытия удаленные файлы
- Восстановление открытых файлов но удаленных c файловой системы linux
- Предыстория
- Восстанавливаем файл
- Восстановление удаленных файлов Linux
- Немного теории
- 1. Safecopy
- 2. TestDisk
- 3. PhotoRec
- Выводы
10 способов восстановления удалённых файлов в linux
Я никого не знаю, кто хотя бы раз случайно не удалил файл и не попытался бы его восстановить. В Windows восстановление файлов — относительно легкая операция. Но как это сделать в Linux? Точнее, если что-то было удалено из командной строки в экране Терминала, как восстановить этот файл? В некоторых дистрибутивах Linux, таких как Ubuntu, существует корзина, но в большинстве других её нет. Удалённые файлы просто отправляются в небытье.
Второй совет — делать резервные копии. Для копирования важных каталогов и файлов на другую систему или раздел можно воспользоваться утилитой rsync. С помощью crontab это можно делать ежедневно или даже ежечасно.
Итак, рассмотрим 10 способов восстановления удалённых файлов:
- Recover — автоматизирует некоторые шаги восстановления утерянного файла, описанные в Linux Ext2fs Undeletion Mini-HOWTO ( перевод ). Эта утилита значительно увеличит эффективность восстановления. Она рекомендуется тем, кто не знает, как восстанавливать файлы.
- athena-delete — была написана для проекта Athena по запросам множества новых пользователей UNIX, случайно удалявших нужные им файлы.
- unrm — небольшая консольная утилита, которая при некоторых условиях, может восстановить почти 99% удалённых данных (похожа на утилиту undelete в DOS). Перед её использованием внимательно прочитайте файл FAQ и желательно Linux Ext2fs Undeletion Mini-HOWTO. Применение:
- gET_iT_i_sAY — средство восстановления файлов для файловых систем Ext2/Ext3. После установки могут быть восстановлены текущие файлы и новые созданные файлы в /root и /home. Она позволяет пользователям восстановить все удалённые файлы, восстанавливать файлы, принадлежащие указанному пользователю, выводить (dump) данные из местанахождения файлов и восстанавливать файлы определённого типа, типа текста или MP3. Имеется также анализатор, помогающий пользователям во время восстановления.
- e2undel — интерактивный консольный инструмент для восстановления данных из удалённых файлов в файловой системе ext2 в Linux. Включает в себя библиотеку, позволяющую восстанавливать удалённые файлы по именам. e2undel не управляет внутренними структурами ext2 и не требует дополнительных средств. Она может быть полезна без знания внутреней структуры ext2. Применение: Устройство должно быть отмонтировано и путь не должен указываться вместе с устройством.
- anyfs-tools — позволяет восстанавливать и конвертировать файловые системы с минимальным использованием дополнительного дискового пространства. В отличие от других средств восстановления anyfs-tools не копирует все обнаруженные файлы на другие диски (или разделы), а просто сохраняет информацию о размещении блоков файлов во внешней таблице inode. После восстановления пользователь может примонтировать повреждённую файловую систему с помощью anyfs и внешней таблицей inode и затем работать со всеми восстановленными файлами в любой программе.
- rfs — консольный скрип для создания и обновления локального запасного системного диска. Основное назначение — быстрое восстановление работающей системы после падения. В данном случае «быстрое» означает время, затрачиваемое им до перезагрузки машины. rfs является сокращением от ‘replication of filesystem’ (копия файловой системы). Аналогично rsyncbackup, rfs основан на rsync.
- e2retrieve — средство восстановление данных Ext2, работающее с обрезанными или частичными файловыми системами. Оно очень полезно для получения данных при повреждении диска из LVM. Оно не восстанавливает файловую систему, но извлекает и копирует большинство данных, которые оно может получить из «сырых» данных Ext2.
- findfile — набор средств для восстановления файлов в файловых системах с разрушенными каталогами, таблицами размещения и т.п. Он может быть полезен при разрушенной таблице разделов (или больше) жёсткого диска или при повреждённой карте памяти от цифровой камеры.
- TestDisk — средство для проверки и восстановления разделов. Работает со следующими разделами: FAT12, FAT16, FAT32, Linux, Linux swap (версий 1 и 2), NTFS (Windows NT/W2k/2003), BeFS (BeOS), UFS (BSD), JFS, XFS и Netware.
Комментарии
Don’t forget a utility called ‘foremost’. I used it for recovering stuff off microdrives and CF cards. First I make an image of the thing onto the hard disc, then I run foremost on that image which recovers the files. Its detection is based on the headers of certain file formats, though it will work on any filesystem the types of files it will recover is slightly limited.
http://foremost.sourceforge.net/
В.А.Костромин, 10 ноября 2010 г.
Заметка сильно устарела. Часть приведенных выше ссылок уже не работают (Recover, rfs), разработка других утилит давно заброшена (последние обновления e2undel — April 2004, anyfs-tools — 10 Aug 2008, findfile — March 18, 2004, e2retrieve тестировалась на Suse 8.2 и Redhat 6.2).
Источник
Прикладная некромантия в линукс или возвращаем из небытия удаленные файлы
Думаю, каждый из нас с вами сталкивался с проблемой, когда из-за глюка прошивки фотоаппарата, камеры, кпк, смартфона или просто из-за особого устройства /dev/hands карточка была отформатирована, данные были удалены. В свое время данную проблему я решал достаточно просто, используя Portable версию Ontrack Easy Recovery, но так как уже несколько лет являюсь пользователем linux систем, то использование данного нелицензионнного приложения через wine показалось не совсем кошерным, к тому же жажда исследований и приключений требовала найти бесплатный родной аналог для linux систем. Исследования закончились, даже не успев начаться, так как первая строчка в поиске Google привела к набору утилит TestDisk, о которых я расскажу далее подробнее.
И так, TestDist состоит из двух утилит:
testdisk и photorec; Официальный сайт утилит.
Краткое описание:
testdisk – мощная утилита, разработанная для восстановления удаленных разделов и для восстановления загрузочных записей mbr после программных ошибок, действий некоторых вирусов, человеческих ошибок (например, когда раздел был просто удален).
Возможности testdisk:
Исправление таблицы разделов; восстановление удаленных разделов Восстановление FAT32 загрузочного сектора из бэкапа Перестроение FAT12/FAT16/FAT32 загрузочного сектора Исправление FAT tables
Перестроение NTFS загрузочного сектора Восстановление NTFS загрузочного сектора из бэкапа Исправление MFT используя MFT зеркало Нахождение ext2/ext3 Backup SuperBlock
Восстановление удаленных файлов в FAT, NTFS and ext2 файловых системах
Копирование файлов из FAT, NTFS and ext2/ext3 удаленных разделов.
photorec – утилита восстановления данных таких, как файлы видео, документы, архивы с жестких дисков и cdrom дисков, а также фото (поэтому название программы Photo Recovery) со встроенной памяти камер. Список типов файлов для восстановления весьма внушителен и с ним можно ознакомиться тут.
Обе утилиты open source, распространяются под лицензией GNU General Public License (GPL). Имеются в наличие версии для linux, unix, а также для windows платформ.
В большинстве линукс дистрибутивов уже включены в состав стандартного репозитория. Для debian-based дистрибутивов установка командой:
В моем случае требовалось восстановить фотографии с карточки фотоаппарата после того, как фотоаппарат случайно отформатировал карточку. Вставив флешку в card reader и запустив с правами рута photorec в консоли, утилита предложила мне выбрать диск, на котором требуется восстановить данные.
В моем случае это будет /dev/sdb.
Далее выбираем тип таблицы разделов на диске, для большинства пользователей это будет Intel/PC.
И далее выбираем раздел или диск целиком для поиска удаленных файлов. Так как мне нужно было восстановить все удаленные файлы после форматирования, то я выбрал поиск по всему диску.
После этого photorec требуется указать тип файловой системы, в которой хранились удаленные файлы. В данном случае все просто, выбираем второй пункт.
А затем на другом диске выбираем директорию, куда утилита сохранит восстановленные файлы.
Далее нажимаем Y и программа начинает свою работу. Для 32Мб карточки ей потребовалось меньше минуты.
Теперь о результатах работы:
Честно говоря, по началу я весьма сомневался в способностях программы. Но открыв директорию с результатами работы утилиты, я с удивлением обнаружил, что были восстановлены не только нужные недавно сделанные 10 фотографий, но и еще 110 других, самая ранняя из которых была сделана 3 года назад и не была перезаписана при дальнейшем использовании карточки, хотя форматировалась карта неоднократно.
В итоге имеем очередную победу добра над злом, счастливую улыбку обладателя фотоаппарата, еще один факт доказательства того, что существует море полезных и качественных opensource утилит.
Источник
Восстановление открытых файлов но удаленных c файловой системы linux
Всех с прошедшим новым годом!
В этой заметке я бы хотел поделиться как можно восстановить открытый файл в linux.
Предыстория
Зашел человек на канал посвященный debian в jabber и сказал что взломали его jabber-bot и выполнили команду:
так как это было выполнено не под рутом, особых проблем быть не должно, но конфигурационные файлы бота удалены. Бот остался запущен и задача была восстановить открытые им файлы и попробовать максимально быстро поднять всё с теми же настройками.
Восстанавливаем файл
Первым делом нам нужно убедиться что у нас стоит приложение lsof и примонтирован procfs в /proc.
В этой заметке я буду считать что в системе где будут восстанавливаться открытые файлы все нужные приложения стоят, root доступ есть, всё примонтировано как нужно.
Первым делом нам нужно найти открытый файл с помощью программы lsof:
Нас интересуют вот эти значения:
- Номер процесса (pid)
- Файловый дескриптор (file descriptor)
Здесь я выделю жирным то что нужно:
kwin 2031 4002 anton 2w REG 253,3 4486557 1835028 /home/anton/.xsession-errors
Дальше восстанавливаем его (вы можете также его сохранить в другом месте):
На этом всё, так можно восстановить открытый файл, но который по какой-то причине был удален.
UPD1: Меня спросили как найти и восстановить все открытые файлы конкретным приложением.
Предположим мы знаем 1 файл который нужно восстановить, мы его нашли с помощью
Мы знаем что 2031 — это pid процесса который держит ваш файл. Нам нужно найти все файлы которые держать открытыми данный процесс:
Мы видим все открытые приложения этим процессом, нам осталось только отобрать удаленные:
После чего просто восстанавливаем все файлы как описано выше.
UPD2: Почему я использую grep для поиска файлов вместо параметра, который работает быстрей?
Я использую grep так как там видно удален файл или нет, я считаю это более удобным (ИМХО)
UPD3: Также можно посмотреть все открытые файлы процесса через комманду ls, пометки deleted будут, пример:
Источник
Восстановление удаленных файлов 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 о том, как работает жесткий диск:
Источник