Интернет. Программы. Windows. Операционные системы. Игры. Восстановление

Как преобразовать EML файл в PDF файл

Лучшие программы и сервисы поиска по фото с телефона – товаров, мест, людей

ZUK Edge - Технические характеристики Zuk edge обсуждение

Как прошить htc one mini, и где скачать прошивку?

Менеджер автозагрузки windows — бесплатная программа Startup Delayer Какие последствия от приложений, постоянно работающих в фоновом режиме

Как исправить изменения конфигурации оборудования не обнаружены

Главный комьюнити менеджер

Как переводить деньги с МТС на Билайн: Быстрые, удобные и надежные способы Как с баланса мтс билайн

Какое напряжение на usb выходе

Действующие промокоды для «Деливери Клаб Условия бонусной программы в Delivery Club

Самодельный k line адаптер для диагностики

Как преобразовать EML файл в PDF файл Как открыть файл eml в windows 8

Новый телевизор tcl производитель

Как открыть порт Windows Как открыть 443 порт windows 7

Поисковая деятельность дошкольников с участием родителей

Утилиты для восстановления потерянных данных в Linux. Инструкция о том как восстановить удаленные файлы с диска Восстановление удаленных файлов в ubuntu

Думаю, каждый из нас с вами сталкивался с проблемой, когда из-за глюка прошивки фотоаппарата, камеры, кпк, смартфона или просто из-за особого устройства /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 утилит.

Иногда случается, что мы случайно удаляем еще нужные нам файлы. Особенно это опасно в терминале Linux, поскольку здесь файлы удаляются не в корзину, а стираются с диска сразу и навсегда.

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

Каждый файл занимает определенное пространство на жестком диске, но файловая система для предоставления доступа к файлу дает нам ссылки на его начало, по которым любая программа может получить уже содержимое всего файла. Было бы неэффективно, если бы удаление файла приводило к полному перезаписыванию его области на диске.

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

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

Ну а мы остановимся на программном восстановлении, когда данные были формально удалены, но физически еще находятся на диске в целостности и сохранности. Дальше рассмотрим несколько утилит, которые помогут восстановить удаленные файлы linux.

1. Safecopy

Safecopy - это довольно простой инструмент для восстановления данных, который просто копирует данные из одного места в другое. Утилита, как таковая, не восстанавливает отдельные файлы. Она просто позволяет скопировать данные из поврежденного устройства на нормальное.

Разница между этой утилитой и другими программами копирования в том, что Safecopy не завершается при обнаружении каких-либо ошибок, будь то плохая операция чтения или поврежденный сектор. У нее есть множество дополнительных опций для настройки, а также возможность создания образа файловой системы из поврежденного носителя. Данные восстанавливаются тщательно и быстро, насколько это возможно.

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

sudo apt install safecopy

Здесь вы не восстановите удаленные файлы, но вы можете скопировать поврежденные данные. Например, для видео несколько повреждений не играют большой роли. Для запуска восстановления файлов в linux с раздела /dev/sda1 выполните:

sudo safecopy /dev/sda1 /home/files/

Все файлы, которые удастся скопировать будут в /home/files/.

TestDisk - это очень мощный инструмент для восстановления данных. Он не пытается скопировать данные из поврежденного устройства, а позволяет исправить ошибки и проблемы на уровне разделов, которые могут мешать работе с вашими данными.

Утилита может восстанавливать потерянные разделы, исправлять таблицу разделов GPT и MBR, делать резервные копии дисков, восстанавливать загрузочные записи, а главное восстанавливать удаленные файлы с файловых систем NTFS, FAT, exFAT и файловых систем семейства Ext. Также вы можете копировать файлы даже с удаленных разделов для тех же файловых систем.

Способ работы утилиты очень сильно отличается в зависимости от нужного действия. Здесь вас ждет псевдографический мастер, который проведет вас через все шаги. Установить testdisk можно так же само из официальных репозиториев. В Ubuntu используйте для этого команду:

sudo apt install testdisk

Поскольку тема нашей статьи - восстановление файлов linux, рассмотрим как это делается с помощью этой утилиты. Запустите программу:

На первом шаге мастера выберите Create New Log :

Выберите таблицу разделов на диске:

Для работы с файловой системой выберите пункт Advanced :

Далее выберите раздел, затем команду list:

Тут вы увидите все файлы, которые есть на этом разделе. Удаленные, но подлежащие восстановлению файлы будут помечены красным.

Работать с этой утилитой удобнее, чем с Photorec, потому что здесь вы можете выбрать только один нужный файл, а не восстанавливать сразу кучу мусора. Чтобы скопировать файл просто выберите его, нажмите c и выберите папку для сохранения. Правда, вы же понимаете, что для восстановления нужно, чтобы файлы были не перезаписаны, где-то чуть перезапишется и все.

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

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

В утилиты есть несколько настроек. Вы можете указать расширения файлов, которые нужно найти, размер, дату изменения и так далее. Установить программу можно так же как и TestDisk - из официальных репозиториев.

Например, в Ubuntu выполните:

sudo apt install photorec

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

Выберите диск, с которым нужно работать:

Выберите раздел:

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

Выводы

Эти три инструмента охватывают широкий спектр задач по восстановлению файлов linux. Здесь вы сможете выполнить не только восстановление удаленных файлов linux ext4, но и исправить жесткий диск или скопировать файлы с поврежденных носителей.

А какие ваши любимые утилиты для восстановления данных? Какими вы пользуетесь? Напишите в комментариях!

На десерт видео от Discovery о том, как работает жесткий диск:

Поделюсь небольшой находкой, маленькой программой для восстанавления удаленные файлы. Какое-то время назад было очень нужно, но программы Scalpel , тогда не нашел, к сожалению. На мой взгляд, из всех известных мне способов - это один из наиболее простых. Scalpel появился из проекта .

И так любителям rm -rf посвящается:

Во первых, самое главное, никто не гарантирует, что Scalpel сможет восстановить ваши файлы, но шансы на это есть.

Установка (так как на испытуемой машине стоит Ubuntu, то рассказывать буду про нее):

sudo apt-get install scalpel

Перед использованием Scalpel, отредактируем файл настроек:
sudo nano /etc/scalpel/scalpel.conf

В нем нужно указать файлы, какого типа мы будем восстанавливать (по умолчанию не один тип не выбран). Я выбрал для восстановления файлы типа doc и pdf:

doc y 10000000 \xd0\xcf\x11\xe0\xa1\xb1\x1a\xe1\x00\x00 \xd0\xcf\x11\xe0\xa1\xb1\x1a\xe1\x00\x00 NEXT
doc y 10000000 \xd0\xcf\x11\xe0\xa1\xb1

pdf y 5000000%PDF %EOF\x0d REVERSE
pdf y 5000000%PDF %EOF\x0a REVERSE

Теперь можно запускать восстановление:

scalpel /dev/sda1 -o output

-o показывает директорию куда будут складывать восстановленные файлы, если директория с таким имене уже есть (и не пуста) Scalpel не запустится.
/dev/sda1 - собственно том, который будем шерстить на предмет утерянных файлов.
Список можно посмотреть с помощью команды mount:
username@host:~$ mount
/dev/sda1 on / type ext3 (rw, relatime, errors=remount-ro)
proc on /proc type proc (rw, noexec, nosuid, nodev)
/sys on /sys type sysfs (rw, noexec, nosuid, nodev)
varrun on /var/run type tmpfs (rw, noexec, nosuid, nodev, mode=0755)
udev on /dev type tmpfs (rw, mode=0755)
devshm on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw, gid=5, mode=620)
lrm on /lib/modules/2.6.24–21-generic/volatile type tmpfs (rw)
/dev/sda2 on /home type ext3 (rw, relatime)

После отработки переходим в директорию output и смотрим что там есть:

username@host:~/output$ ls -l
-rw-r--r-- 1 root root 28189 2009–03–24 14:42 audit.txt
drwxr-xr-x 2 root root 4096 2009–03–24 14:42 doc-3–0
drwxr-xr-x 2 root root 4096 2009–03–24 14:42 doc-3–1
drwxr-xr-x 2 root root 4096 2009–03–24 14:42 doc-3–2
drwxr-xr-x 2 root root 4096 2009–03–24 14:42 doc-4–0

drwxr-xr-x 2 root root 4096 2009–03–24 14:42 pdf-5–0
drwxr-xr-x 2 root root 4096 2009–03–24 14:42 pdf-6–0

В файле audit.txt хранится инофмация о проведеном восстановлении:

username@host:~/output$ cat audit.txt

Scalpel version 1.60 audit file
Started at Tue Mar 24 14:16:04 2009
Command line:
scalpel /dev/sda1 -o output

Output directory: /home/username/output
Configuration file: /etc/scalpel/scalpel.conf

Opening target "/dev/sda1»

The following files were carved:
File Start Chop Length Extracted From
00053045.doc 183664640 YES 10000000 sda1
00053046.doc 183971840 YES 10000000 sda1

00050372.doc 203272192 NO 208896 sda1
00050373.doc 203481088 NO 229376 sda1

Completed at Tue Mar 24 14:42:41 2009

Смотрим во вложенные каталоги и видим (если повезет) наши файлы:

username@host:~/output/doc-3–0$ ls -l
total 25564
-rw-r--r-- 1 root root 307200 2009–03–24 14:42 00050348.doc
-rw-r--r-- 1 root root 40960 2009–03–24 14:42 00050349.doc
-rw-r--r-- 1 root root 4354 2009–03–24 14:42 00050350.doc
-rw-r--r-- 1 root root 466686 2009–03–24 14:42 00050351.doc
-rw-r--r-- 1 root root 176128 2009–03–24 14:42 00050352.doc

Источник - HowtoForge (вольный перевод).

Добавлю от себя Scalpel восстановил далеко не все, конечно. Но очень много, про некоторые файлы я даже забыл уже. Работает он весьма не спешно, кушает почти весь процессор во время работы.

Scalpel умеет работать с фаловыми системами FAT, NTFS, ext 2/3, то есть восстанавливать данные можно и с win-разделов.

И напоследок, лучших способ восстановить очень важные файлы это:
1. Делать бекапы.
2. Очень хорошо думать перед удалением.

Удачного восстановления данных!

В.Костромин (под ред. Vanderboot)

На днях, в ходе небольшой ревизии содержимого своего сайта я наткнулся на перевод статьи "10 способов восстановления удаленных файлов в linux ", исходный вариант которой датирован 21 июня 2007 года. Перечитав статью и попытавшись пройти по приведенным в ней ссылкам, я обнаружил, что некоторые ссылки вообще не работают (сайты разработчиков в сети пропали), а некоторые из упомянутых в статье утилит давно не обновляются и не поддерживаются.

Возникла идея посмотреть, какие же средства восстановления случайно удаленных файлов существуют на настоящий момент. Полагаю, что интерес к средствам такого рода за прошедшие годы не пропал. Ведь начинающие пользователи Линукс (как, впрочем, и других операционных систем) часто попадают в ситуацию, когда по ошибке, вызванной неопытностью, удаляют какие-то файлы и тут же спохватываются, что удалили не то, что хотели. А может быть и вообще не хотели что-то удалять.

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

Сразу хочу предупредить, что все изложенное ниже мной лично не проверялось и основано только на сведениях, опубликованных на сайтах разработчиков или в статьях с описаниями соответствующих продуктов. Ну и, конечно, в статье рассматриваются только свободно распространяемые продукты. Если вас интересуют платные (проприетарные) продукты, вы без труда найдете их сами.

Итак, вот список утилит для восстановления потерянных данных , которые мне удалось разыскать (данные актуальны по состоянию на 10 ноября 2010 года).

  1. unrm - небольшая консольная утилита, которая при некоторых условиях, может восстановить почти 99% удаленных данных (похожа на утилиту undelete в DOS). Перед её использованием внимательно прочитайте файл FAQ и желательно Linux Ext2fs Undeletion Mini-HOWTO . Применение:
    unrm [-b (no block padding)][-e (every block)][-f fstype][-vW] device
  2. (gET iT i sAY) - средство восстановления файлов для файловых систем Ext2/Ext3. После установки могут быть восстановлены текущие файлы и новые созданные файлы в /root и /home. Утилита позволяет пользователям восстановить все удалённые файлы, восстанавливать файлы, принадлежащие указанному пользователю, выводить (dump) данные из местанахождения файлов и восстанавливать файлы определённого типа, например, текстовые или MP3. Имеется также анализатор, помогающий пользователям во время восстановления.
  3. ddrescue (в Ubuntu эта утилита называется gddrescue) Эта утилита копирует данные из файла или с аппаратного устройства, содержащего данные, в другое место, предпринимая при этом попытки исправить все имеющиеся ошибки чтения. Основные операции ddrescue выполняет в автоматическом режиме, заполняя параллельно файл протокола. Если имеется две или более копий поврежденных файлов, ddrescue способна полностью восстановить файл, устранив все ошибки.
    ddrescue устанавливает размер буфера ввода/вывода равным размеру сектора, так что ее можно использовать для посекторного восстановления данных с устройств.
  4. TestDisk - это мощная бесплатная программа для восстановления данных! Она была разработана в первую очередь, как инструмент восстановления утраченных разделов и/или восстановления загрузочной способности дисков, если эта проблема вызвана програмно, вирусами или ошибками человека (такими, как случайное удаление Таблицы Разделов). Восстановить Таблицы Разделов TestDisk-ом очень легко. Но TestDisk может также восстанавливать удаленные файлы на файловых системах FAT, NTFS и ext2; копировать файлы с удалённых FAT, NTFS и ext2/ext3/ext4 разделов. (Смотрите статью В.Симон, "Testdisk - восстановление таблицы разделов диска ").
  5. - консольная программа, позволяющая искать файлы на дисках или их образах по hex-данным, характерным заголовкам и окончаниям. Программа прочёсывает файлы на предмет совпадения заранее определённых hex-кодов (сигнатур), соответствующих наиболее распространённым форматам файлов. После чего экстрагирует их из диска/образа и складывает в каталог, вместе с подробным отчётом о том, чего, сколько и откуда было восстановлено. Типы файлов, которые foremost может сразу восстановить: jpg, gif, png, bmp, avi, exe, mpg, wav, riff, wmv, mov, pdf, ole, doc, zip, rar, htm, cpp. Есть возможность добавлять свои форматы (в конфигурационном файле /etc/foremost.conf), о которых программа не знает.
    Статьи: " Восстановление удаленных файлов при помощи foremost ", " Восстановление удалённых файлов в ОС Linux ".
  6. R-Linux является бесплатной программой для восстановления файловых систем Ext2/Ext3/Ext4 FS, используемых в Linux и некоторых Unix-системах. Используемая в R-Linux Технология Сканирования и удобный в установке параметров интерфейс программы дают пользователю абсолютный контроль над процессом восстановления данных. R-Linux позволяет скопировать информацию и создать образ целого диска или его части, а уже затем работать с файлом образа, сохраненным на другом носителе, как с оригинальным диском. R-Linux производит поиск файлов известных типов, используя типовые характеристики их структур, что позволяет пользователю искать и восстановить файлы с устройств, где файловая система неизвестна, - HD, CD, DVD, дискет, USB дисков, ZIP дисков и устройств флеш-памяти (Compact Flash Card, Memory Sticks). Однако, в программе отсутствует возможность восстановления данных по сети, а также функциональность по реконструкции дисковых массивов и восстановления с них данных.
  7. DMDE - DM Disk Editor and Data Recovery Software. Программа для редактирования дисков и восстановления данных. В бесплатной версии доступны все функции дискового редактора, управления разделами и восстановления файлов, за исключением возможности группового восстановления файлов и каталогов; полная версия позволяет восстанавливать группы файлов и директории с сохранением структуры каталогов.
  8. PhotoRec - это утилита, входящая в состав пакета TestDisk. Предназначена для восстановления испорченных файлов с карт памяти цифровых фотоаппаратов (CompactFlash, Secure Digital, SmartMedia, Memory Stick, Microdrive, MMC), USB flash-дисков, жестких дисков и CD/DVD. Восстанавливает файлы большинства распространенных графических форматов, включая JPEG, аудио-файлы, включая MP3, файлы документов в форматах Microsoft Office, PDF и HTML, а также архивы, включая ZIP. Может работать с файловыми системами ext2, ext3, FAT, NTFS и HFS+, причем способна восстановить графические файлы даже в том случае, когда файловая система повреждена или отформатирована.
    Может работать под операционными систмами Linux, DOS, Windows, FreeBSD, NetBSD, OpenBSD, Mac OS X и SunOS
  9. Mondo Rescue . Основное назначение этой программы - создание резервных копий данных. Она может создавать резервные копии на магнитных лентах, CD, на удаленных носителях по NFS или в виде ISO-образов на локальных дисках. Но в случае повреждения данных программа позволяет восстановить их полностью или частично, даже если ваш жесткий диск недоступен обычными средствами.
    Mondo запускается на всех основных дистрибутивах Linux, поддерживает LVM, RAID, ext2, ext3, JFS, XFS, ReiserFS, VFAT и другие файловые системы. Может восстанавливать геометрию диска, обеспечивать миграцию данных на RAID-массивы, проверять целостность файловой системы компьютера. Кроме того, позволяет проводить реструктуризацию диска, уменьшать/увеличивать разделы, переназначать устройства, добавлять жесткие диски.
  10. - инструмент для восстановления данных, который пытается извлечь данные из доступных, но проблематичных носителей (с поврежденными секторами). В качестве источника данных могут выступать внешние устройства (такие как CD, DVD и Blu-ray) и разделы жеских дисков. Программа обладает тем преимуществом, что продолжает работу даже тогда, когда другие средства прекращают ее из-за ошибок ввода/вывода. Обычные средства копирования, такие как cat, cp или dd не позволяют создать образ диска или съемного носителя, если произошел сбой при чтении какого-то сектора.
  11. The Sleuth Kit (TSK) - набор программ (fls, icat, ffind, ifind, mmls, fsstat, etc.) для проведения криминалистического анализа файловых систем. TSK - совокупность UNIX инструментальных средств командной строки, которые могут анализировать файловые системы NTFS, FAT, FFS, EXT2FS, и EXT3FS. TSK читает и обрабатывает структуры файловой системы самостоятельно, поэтому не требуется поддержка файловой системы операционной системой.
    Статьи: Восстановление спрятанных или потерянных данных .
  12. Scalpel - это средство быстрого восстановления файлов. Уникальность данного ПО заключается в том, что оно не зависит от файловой системы. Программа ищет по базе данных начало и конец файлов известных форматов и пытается найти их на диске. Поэтому восстановление возможно как с FATx, NTFS, ext2/3, так и с "голых" (raw) разделов.
    Статьи: Восстановление удаленных файлов с помощью Scalpel

Кроме перечисленных в некоторых статьях упоминаются также утилиты Magicrescue и ntfsundelete из пакета ntfstools.

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

В заключение несколько советов, может быть тривиальных, но зато безусловно полезных, относительно того, как попытаться избежать попадания в неприятную ситуацию, когда требуется применение перечисленных выше средств. Во-первых, можно сделать так, чтобы случайно удалить файл или каталог было сложнее. Для этого сделайте так, чтобы вместо команды rm вызывалась команда rm -i . Сделать это можно с помощью команды alias следующим образом:

Alias rm="rm -i" Тогда перед выполнением удаления вам будет задан дополнительный вопрос, действительно ли вы этого хотите.

Второй совет: делайте резервные копии своих данных как можно чаще, каждый день или даже каждый час. Если следовать этому совету, то в самом плохом случае вы потеряете только те результаты своей работы, которые получили в течение последнего часа. Да и процедуры восстановления данных в таком случае выполнить будет гораздо проще. Автоматизировать выполнение этих процедур можно с помощью cron -а и утилиты rsync , организовав периодическое копирование важных файлов и каталогов на другой диск или раздел. А можно использовать упомянутую выше утилиту Mondo Rescue. Кстати, вы освоите ее применение, что может оказаться полезным в случае возникновения необходимости восстановления данных в чрезвычайной ситуации.

И третье: прежде чем приступать к попыткам восстановления удаленных файлов, сделайте копию раздела, в котором находились эти файлы, и работайте с ней, а не с исходным разделом. Если в процессе восстановления вы снова ошибетесь, то сможете начать все с начала. Если же работать с исходным разделом, можно испортить данные безвозвратно. Сделать копию раздела можно с помощью команды dd (о применении этой команды вы можете прочитать в статье А.Дмитриева "dd: Команда, которая не похожа на другие").

Нелишне напомнить также, что существуют специальные дистрибутивы Linux, запускающиеся с CD или других съмных носителей и содержащие наботы утилит администрирования, в том числе и инструменты восстановления данных. В качестве примера таких дистрибутивов можно упомянуть SystemRescue CD и Trinity Rescue Kit.

Я полагаю, что приведенный выше список через некоторое время тоже устареет, как это случилось с перечнем, приведенным в статье, упомянутой в начале этой заметки. Зато появятся новые средства, может быть более совершенные. Чтобы быть в курсе, заглядывайте иногда на сайт "Каталог программного обеспечения для Linux" , а еще лучше - помогайте поддерживать этот каталог в актуальном состоянии. Тогда в любой нештатной или штатной ситуации вы или другой пользователь Linux сможет найти необходимые средства и инструменты для решения своих проблем.

О восстановлении данных с файловых систем Linux не писал только
ленивый. Для выполнения этой задачи существует множество самых разнообразных
средств, включая утилиту debugfs, которая с легкостью извлекает любые потертые
файлы с ext2. Но как же быть с другими ФС? Как восстановить исчезнувший файл с
флеш-брелка или расположенного рядом NTFS-раздела? Об этом молчат даже самые
трудолюбивые блоггеры. А между тем, все очень просто и прозаично.

Не всегда удобно перезагружаться в другую операционную систему для выполнения
действий по проверке файловых систем, восстановления файлов, изменения размера
разделов и выполнения других операций с данными. Представь, что уже несколько
лет на твоем компе установлено две операционные системы: Windows и Linux. Первую
ты загружаешь очень редко и только в экстренных случаях, второй пользуешься
ежедневно и уже подумываешь о полном переходе на Linux и удалении винды, вот
только NTFS-раздел, хранящий годами накапливаемые данные, перевести в ext3
нельзя никакими инструментами. Приходится держать две операционки, потому что
хоть NTFS-раздел и доступен из Linux (с помощью ntfs-3g), для решения проблем
файловой системы все равно придется перезагружаться в Windows.

А если накрылась файловая система FAT на Flash-накопителе? Опять
перезагружаться в Windows? Или ты случайно удалил файл в файловой системе UFS,
принадлежащей рядом установленной FreeBSD? Может быть, ты системный
администратор, и диска для восстановления Windows в нужный момент не оказалось
под рукой? Отвечу на все вопросы сразу: почти все действия по возвращению из
небытия файловых систем FAT, NTFS, UFS, восстановлению хранящихся в них файлов,
диагностике и многому другому можно произвести, не покидая Linux. Из этой статьи
ты узнаешь, как это сделать.

Набор инструментов

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

1. dosfstools - утилиты для работы с файловыми системами типа FAT.
Пакет содержит всего две программы: mkfs.vfat (mkfs.dos) для создания файловой
системы и fsck.vfat (fsck.dos) для выполнения проверки файловой системы.

2. ufsutils - набор утилит для работы с UFS и производными (например,
FFS, используемой во FreeBSD). Содержит восемь утилит, включая mkfs.ufs,
fsck.ufs, tunefs.ufs (настройка ФС), growfs.ufs (изменение размера) и другие.

3. ntfsprogs - различные утилиты для работы с NTFS. Не содержит
программ для создания или полной проверки (базовая проверка возможна) файловой
системы, но включает в себя массу полезнейших инструментов, таких как ntfscp для
копирования файлов без монтирования раздела, "реинкарнатор" файлов ntfsundelete,
утилита для изменения размера раздела ntfsresize, программа для клонирования
разделов ntfsclone и другие.

Также нам могут пригодиться инструменты для работы с разделами жесткого
диска. Есть три наиболее продвинутые программы такого типа:
parted ,
предназначенная для создания разделов, изменения их размера, перемещения,
создания и проверки файловых систем;
gpart -
программа-восстановитель затертой таблицы разделов и
TestDisk -
аналог gpart с псевдо-графическим интерфейсом и несколькими полезными функциями.

Следует отметить, что parted - лишь хорошая обертка поверх описанных утилит
для работы с файловыми системами, поэтому почти все, что может parted, могут и
они. Причем вокруг самой parted есть и другая обертка, названная
. Она
всего-навсего создает удобный графический GTK-интерфейс в стиле Partition Magic.

В пакете TestDisk ты найдешь утилиту PhotoRec, предназначенную для
восстановления различных типов файлов с раздела вне зависимости от используемой
файловой системы. Принцип ее работы заключается в поиске и восстановлении файлов
по их метаданным без анализа структуры файловой системы. PhotoRec способна
восстанавливать изображения (bmp, jpg, png, tiff, raf, raw, rdc, x3f, crw, ctg,
orf, mrw), аудио-файлы (wav, au, mp3, wma), видео-файлы (avi, mov, mpg), архивы
(bz2, tar, zip), документы (doc, pdf, html, rtf), файлы с исходниками программ (c,
pl, sh). Ряд программ такого же типа можно найти в пакете
Sleuth Kit , для которого
существует web-интерфейс autopsy.

Сценарии использования

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

Кастим ressurection

Для оживления умерших файлов на NTFS предназначена уже упоминавшаяся
ntfsundelete из пакета ntfsprogs. Она очень проста в использовании и чрезвычайно
аккуратна. Если ты случайно потер файл и сразу же отмонтировал раздел, будь
уверен - ntfsundelete сможет вернуть его на место в целости и сохранности.

Для начала необходимо просмотреть список всех удаленных файлов:

# ntfsundelete /dev/sda1

В третьей колонке вывода будет указан процент сохранности файла. Если он
равен 100% - все ок, файл может быть возвращен к жизни целым и невредимым;
меньшее значение указывает на то, что какие-то его участки уже были затерты
новыми данными, поэтому после восстановления файл окажется, что называется,
битым. В некоторых случаях возможность восстановления даже наполовину убитого
файла может сделать погоду, пока же остановимся на полностью целых экземплярах.
Для этого выполним следующую команду:

# ntfsundelete -p 100 /dev/sda1

Ух, как же их много! Заставим программу вывести на экран только файлы,
удаленные за последние 2 дня:

# ntfsundelete /dev/sda1 -p 100 -t 2d

Так-то лучше. Восстановим файл, номер inode (первая колонка вывода) которого
равен 11172, в каталог /undeleted:

# ntfsundelete /dev/sda1 -u -i 11172 -d /undeleted

Файлы можно восстанавливать по маске:

# ntfsundelete /dev/sda1 -u -m "*.doc"

Фильтровать по длине:

# ntfsundelete /dev/hda1 -S 5k-6m

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

# ntfsundelete /dev/sda1 -u -m "*" -d /undeleted

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

Для восстановления данных со всех остальных файловых систем, включая FAT, UFS,
EXT3, да и любых других, удобнее всего использовать PhotoRec. Запускаем
программу:

В главном меню выбираем подопытное устройство (например, /dev/sda). Нажимаем
и выбираем тип таблицы разделов (для писюков это Intel). Далее выбираем
раздел, а на следующем экране - тип файловой системы (ext2/ext3 или другая).
Задаем каталог, куда мы хотим поместить восстановленные файлы, и нажимаем "Y".
Каталог должен находиться на другом разделе/диске, иначе ты рискуешь усугубить
ситуацию, затерев удаленные файлы новыми данными.

Все, начался процесс восстановления, он может продлиться от 10 минут до
нескольких часов, в зависимости от "старости" файловой системы и количества
удаленных файлов. Ты можешь остановить процесс в любой момент, нажав , и
возобновить его с места прерывания, вновь запустив PhotoRec.

В выбранном тобой каталоге ты найдешь массу подкаталогов с именами вроде
recup_dir.1, recup_dir.2, каждый из которых содержит большое количество файлов
разного типа. Имена PhotoRec не восстанавливает, поэтому придется повозиться с
разгребанием всей этой кучи.
У PhotoRec есть и другие недостатки:

  1. Достаточно часто он дает сбои, и файлы могут оказаться поврежденными,
    поэтому их следует проверять на "небитость" в обязательном порядке.
  2. Программа ищет файлы по шаблонам. Если ты удалил файл, формат которого
    не поддерживается PhotoRec - пиши пропало.

Поэтому в довесок к photorec необходимо иметь под рукой другие средства
анализа и восстановления утраченных данных. Лучшим на этом поприще считается
комплект утилит Sleuth Kit ,
содержащий огромное количество самых разнообразных инструментов, которые любят
применять в своей работе различные службы по расследованию инцидентов взлома и
продвинутые системные администраторы. Мы далеки от этого, и нас интересуют
только две утилиты из всего комплекта: fls и icat, предназначенные для поиска и
извлечения файлов (как существующих, так и удаленных).

Просмотрим список удаленных файлов с помощью утилиты fls:

# fls -rd /dev/sdb1
r/r * 117: dsc0005.jpg
r/r * 119: dsc0006.jpg
r/r * 122: dsc0007.jpg
r/r * 125: dsc0008.jpg
r/r * 128: dsc0009.jpg

Флаг "-r" заставляет программу рекурсивно проходить по всем каталогам, а "-d"
- показывать только удаленные файлы.

Скорее всего, листинг будет очень длинным, и к тому же будет содержать список
inode, которые уже были отданы другим файлам (строчка realloc в третьей
колонке), поэтому мы его отфильтруем и направим в less:

# fls -rd /dev/sda1 | grep -v "(realloc)" | less

В третьей колонке ты увидишь номера inode-файлов, а в четвертой - их имена.
Чтобы выдернуть файл из ФС, воспользуйся командой icat (флаг "-r" предназначен
для восстановления удаленного файла):

# icat -r /dev/sda1 1023 > /home/vasya/tmp/my_file

Для восстановления всех файлов можно воспользоваться следующей командой:

# for i in `fls -rd /dev/sda1 | grep -v "(realloc)" |\
awk {"print $3"}|tr -d [:]`; do icat -r -f fat /dev/sdb1 $i >\
/home/vasya/tmp/inode-$i ;done

Если ты желаешь найти какой-то конкретный файл, то вывод fls можно просто "погрепать":

# fls -rd /dev/sda1 | grep -v "(realloc)" | grep my_file.jpg

Замечательная особенность утилит Sleuth Kit состоит в том, что они используют
множество самых разнообразных методик поиска удаленных файлов и их частей. Это и
анализ управляющих структур файловой системы, и различные эвристические методы,
и сопоставление с шаблоном. Фактически, с помощью Sleuth Kit возможно вернуть к
жизни даже файлы, затертые на ext3 (притом, что сами разработчики ext3 говорят о
невозможности проведения такой операции).

Починка файловых систем

Починить поломавшуюся файловую систему очень просто. Достаточно
воспользоваться стандартными утилитами fsck.vfat (для файловых систем FAT12,
FAT16 и FAT32), fsck.ufs (для UFS, UFS2, FFS) и ntfsfix (для NTFS).

К сожалению, ntfsfix не способна полностью вылечить NTFS. Она лишь исправляет
некоторые из ее проблем и устанавливает флаг принудительной проверки файловой
системы, так что следующая перезагрузка в Windows повлечет за собой запуск
chkdsk для полной проверки ФС.

Используя виртуальную машину, мы можем избежать необходимости перезагрузки в
Windows. Для этого:

  1. Запускаем виртуальную машину и устанавливаем винду на виртуальный
    жесткий диск.
  2. Отмонтируем раздел, содержащий файловую систему NTFS.
  3. Запускаем виртуальную машину, в качестве первого жесткого диска которой
    указываем виртуальный диск с Windows, а второго - наш настоящий жесткий
    диск.
  4. С помощью стандартных средств Windows запускаем проверку NTFS-раздела.

Копирование разделов

Допустим, ты купил новый жесткий диск и хочешь перенести несколько разделов
со старого диска на новый. Если ты начнешь делать это стандартными методами,
через создание нового раздела и ручное копирование файлов, то рискнешь поиметь
массу проблем, связанных с кодировками имен файлов, специальными файлами,
защищенными файлами, да и потеряешь массу времени. Лучше воспользоваться методом
клонирования раздела.

Пользователи UNIX клонируют разделы с помощью стандартной утилиты dd, которую
можно применять в связке с любой файловой системой. Для этого на новом диске
создается раздел, идентичный по размерам источнику, и выполняется команда "dd if=раздел1
of=раздел2 bs=1m". Таким же образом можно скопировать и NTFS-раздел, но в пакете
ntfsprogs для этой цели есть более подходящая утилита.

Программа ntfsclone идентична по функциональности команде dd за исключением
двух особенностей. Во-первых, она не копирует незанятые участки файловой
системы, и перемещение происходит быстрее, а образ раздела (если ты создаешь
образ) занимает меньше места. Во-вторых, ntfsclone способна хранить образ в
специальном сжатом файле, который удобно передавать на другие машины.

Для клонирования раздела достаточно выполнить следующую команду:

# ntfsclone --overwrite /dev/hda1 /dev/hdb1

А для создания образа:

# ntfsclone --save-image --output backup.img /dev/hda1

Утилита ntfsclone особенно удобна, если ты решил скопировать установленный
Windows на целый парк других машин (учебный класс или офис). Для этого
достаточно установить Windows на одну машину и создать образ, который затем
можно выложить в шару и с помощью Linux LiveCD залить на другие машины. Чтобы
они смогли загружаться, придется также скопировать MBR-запись диска:

# sfdisk -d /dev/sda > /share/sda-sfdisk.dump
# dd if=/dev/sda bs=512 count=1 of=/share/sda-mbr.dump

А затем записать ее на диск всех машин:

# sfdisk /dev/sda < /share/sda-sfdisk.dump
# dd if=/share/sda-mbr.dump of=/dev/sda

Перенос данных

Что делать, если ты решил полностью перейти на Linux, но не хочешь
использовать различные ухищрения и ntfs-3g для доступа к своим старым данным,
расположенным на NTFS-разделе? Ведь этот раздел может занимать большую часть
диска, и нет никакой возможности просто скопировать его содержимое на новый
раздел, отформатированный в ext3/ext4. В этом случае тебе на помощь опять придут
утилиты из пакета ntfsprogs, а точнее одна из них - ntfsresize, которая позволит
копировать данные небольшими порциями в новую файловую систему с последующим
уменьшением размера NTFS-раздела и увеличением ext3/ext4-раздела. Для этого тебе
понадобится какой-нибудь LiveCD, содержащий ntfsprogs и e2fsprogs версии не ниже
1.41 (для поддержки ext4, если ты, конечно, собираешься переносить данные на
нее). Также очень желательно, чтобы LiveCD содержал свеженький gparted, потому
что изменять размер вручную трудно и опасно (кроме изменения размера самой ФС,
предстоит менять размер раздела с помощью fdisk, одна ошибка и всю операцию
придется начинать сначала).

Итак, загружаемся с LiveCD и монтируем разделы жесткого диска. Допустим, его
размер составляет 120 Гб. Из них 80 Гб - под завязку набитый NTFS-раздел, а
остальные 30 Гб (да, именно 30, после перевода маркетинговых гигабайт в
настоящие объем диска оказывается равным примерно 111 Гб) - это раздел с
установленным Linux, занятость которого составляет 5 Гб. Значит, наше "окно"
равно примерно 25 Гб. Перемещаем файлы с NTFS-раздела на ext3/ext4-раздел до тех
пор, пока их совокупный размер не станет равен размеру окна. В результате
последний оказывается полностью заполненным, а первый "худеет" на 25 Гб.
Отмонтируем оба раздела и запускаем gparted. Выбираем NTFS-раздел, жмем вторую
кнопку мыши, выбираем Resize/Move и уменьшаем раздел на размер окна, выбираем
ext3/ext4-раздел и увеличиваем его на тот же размер окна (раздел придется
сдвинуть к началу диска, а затем увеличить). Так мы получаем еще 25 Гб
освободившегося места, что позволит нам скопировать часть файлов, а затем вновь
изменить размер. Четыре таких прохода, и мы полностью удаляем NTFS-раздел, а
раздел ext3/ext4 расширяем на весь диск.

Выводы

Как ты смог убедиться, Linux умеет не только работать с множеством сторонних
файловых систем, но и оснащен массой утилит для их модификации, проведения
диагностики и выполнения других операций. Ты никогда не окажешься в безвыходной
ситуации, держа под рукой LiveCD на базе Linux, который как раз и является тем
самым Святым Граалем любого системного администратора и пользователя.

WWW

Foremost, еще одна популярная программа для
восстановления файлов по шаблонам.

www.sysresccd.org -
System Rescue CD содержит все упомянутые в статье программы.

Вам также будет интересно:

Умные телевизоры Philips
На этой неделе прошел семинар компании Philips под названием "Новинки и сенсации мира...
Спираль душевной боли: депрессия матери Слоты памяти и PCI-Express
Скорость шины системной платы не влияет на скорость установленного процессора. В...
Карта движения морских судов онлайн
Представляем вам уникальную карту, с помощью которой можно обнаружить местоположение любого...
Реплеи World of Tanks подробная инструкция
World of Tanks - уникальная PvP-игра, в которой ежедневно проходят десятки тысяч сражений,...
Как на iPhone поставить музыку на звонок
Новоиспеченные пользователи Айфонов часто сталкиваются с проблемой установки собственного...