Битва за потерянные файлы


восстановление файлов

Как и обещал раньше, вот я и созрел написать немаленькую статью о крахе системы, о попытках восстановить файлы и директории и многом другом. Короче решил я создать себе мультизагрузочную флешку с многими осями и нужными программами и с одним общим меню. Идея воплотилась в жизнь, и я в итоге создал нужную мне флешку. После законченной работы я вставил флешку в комп и загрузился с нее. В открывшемся меню красовались: Parted Magic, Kaspersky Rescue Disc, DrWeb Live CD, Lubuntu 12.04, Xubuntu 12.04, Linux Mint 13 KDE. Но были там еще несколько пунктов, которые появляются по умолчанию, при создании загрузочной флешки, это пункты: MemTest, Smart Boot Manager, Super Grub Disc, PloP Boot Manager, lspci.

Одним словом нажал я на один из этих пунктов, точно не помню на какой, но что-то связанное с Boot или Grub, и передо мной появился черный экран с мигающим в левом верхнем углу курсором. Прошло минут 5, но ничего не происходило и я решил перегрузить компьютер. Что же я увидел после перезагрузки? Надпись, что системы нет и GRUB не найден. Дословно не помню, но смысл примерно такой же. Я решил. что просто напросто слетел GRUB и я его захотел переустановить по старой, проверенной схеме. Но и после этих действий "Голый Вася на матрасе". В итоге я загрузился все с той же флешки и решил посмотреть на мой жесткий диск с системой. Какой же меня ждал шок, когда я увидел, что системный раздел был полностью пустой, а раздел HOME был занят всего на 10-15% и это была папка ВИДЕО. Что в итоге произошло, я так и не понял. Важно было теперь не трогать мой жесткий диск, не пытаться ставить систему заново, а нужными средствами попробовать восстановить все что было потеряно, или хотя бы по максимуму вытянуть нужную информацию. Для этих целей я решил попробовать отличную программу TestDisk. Перед этим я уже не раз помогал людям с восстановлением потеряных файлов или папок. Теперь видать пришла и моя очередь. После сканирования харда, TestDisk выдал список множества удаленных файлов и папок, но вот ведь незадача, для файловой системы Ext4, в отличии от NTFS, FAT32, нет пункта Восстановить удаленные файлы. Одним словом "Висит груша, нельзя скушать".  И вот я принимаю, возможно необдуманное, решение "форматнуть" все разделы в тот же, что и был — Ext4. После десятков сканирований, программа более не находила потерянные файлы. Но мне никак нельзя было потерять все. Кстати для информации — восстановление файлов с Ext4, на данный момент, очень проблематичное, поэтому у Вас есть два выхода: держать нужную информацию на NTFS или EXT3, либо регулярно делать бэкапы и хранить свои данные на облачных сервисах, флешках или съемных носителях.

Пришлось зарываться по уши в интернет и гуглить нужную позарез информацию по восстановлению файлов в Линуксе. Раньше мне очень часто помагала на 100% чудесная программа для Windows — Zero Assumption Recovery. Она находила буквально все до копейки, с папками и файлами внутри. Загрузившись с Live CD я решил проверить ее еще раз. К сожалению она ничего не нашла, в очередной раз доказав, что пока что файловая система Ext4 еще молодая и с ней мало кто работает, в плане программ по восстановлению информации. Тот же результат меня ждал с монстром по восстановлению — R-Studio. Она так же показала мне Fuck You. Оставались программы для проверки, которые искали и восстанавливали файлы по расширению, т.е. JPEG, BMP, MP3, PDF и другие. Конечно же не вариант рыться в тоннах картинок, которые попадуться в папку восстановления после серфинга в интернете за многие месяцы, а то и годы, но ничего другого, к моему сожалению, не оставалось.

Из этих программ хочу выделить отличные программы в своем классе, это — Photorec, Scalpel и Foremost.



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

Нужная информация по Photorec. Раз, два, три

Итак Foremost. Если верить информации из сети, то программу создали два специалиста из спецслужб США. Весьма обнадеживающая информация. Короче приступаем. Установим программу:

sudo apt-get install foremost

Программа поддерживает следующие типы файлов: avi, bmp, dll, doc, exe, gif, htm, jar, jpg, mbd, mov, mpg, pdf, png, ppt, rar, rif, sdw, sx, sxc, sxi, sxw, vis, wav, wmv, xls, zip. Также можно запустить софтину с опцией “-all”, тогда foremost будет искать все поддерживаемые типы файлов. Чтобы программа без проблем восстановила нужные файлы, она должна быть запущена не с того раздела диска, на котором установлена. Это кстати касается любой программы этого типа. Тоже самое касается и для восстановления. Если у Вас потерянные файлы находятся на разделе HOME то их нужно восстанавливать на другой раздел, флешку или жесткий диск. ЭТО ГЛАВНОЕ ПРАВИЛО! 

sudo foremost -v -T -t jpeg,png,bmp -i /dev/sda3 -o /home/ваш логин/output/

Разберем все детально:

sudo foremost — запускаем программу от root

-v – инфориация о прогрессе сканирования
– покажет время в названии папок для восстановленных файлов
-t peg,png,bmp – восстанавливать только файлы нужного типа, например *jpg (нужно перечислять несколько типов файлов через запятую)
-i /dev/sda3/ — раздел жесткого диска, с которого будете восстанавливать данные
-o /home/ваш логин/output – место, куда будут сохраняться востанавливаемые файлы, а именно в Вашей домашней директории в папку output
 
В моем случае я восстанавливал файлы с одного жесткого диска на другой, если у Вас будет всего один жесткий диск, то можно восстановить данные к примеру на флешку или съемный жесткий диск, тогда последняя строчка будет выглядеть примерно так:
 
-o /media/disk/disk, т.е. в папке  /media, которая находится на системном разделе, при включенной флешке появится папка /disk, которая и есть Вашей флешкой, хотя название может и отличаться, а вторая папка /disk, это папка на подключенной флешке, созданная Вами и может носить другое название.
 
Scalpel — это программа для быстрого восстановления нужных файлов. Уникальность программы состоит в том, что она не зависит от файловой системы. Программа ищет по базе данных начало и конец файлов известных форматов и делает попытки отыскать их на диске. Из этого следует, что восстановление возможно как с FAT16(32), NTFS, ext2/3/4, так и с "голых" (raw) разделов. Основана программа на базе Foremost, поэтому алгоритм поиска схож у этих программ. Установим Scalpel командой в Теримнале:
 
sudo apt-get install scalpel
 
Чтобы программа начала поиск нужных файлов, нужно отредактировать ее конфигурационный файл, который находится по адресу /etc/scalpel/scalpel.conf. В нем нужно раскомментировать нужные(восстанавливаемые) файлы. Что означает "раскомментировать"? Напротив каждого типа файлов стоит символ #. Именно его нужно будет убрать. Например. Внизу две строчки из конфигфайла scalpel. Нам нужно "вытянуть" все файлы pdf. Для этого мы убираем символ #, и тем самым даем программе команду, что нужно искать именно этот тип файлов.
 
# txt y 100000 ——BEGIN\040PGP
   pdf     y       5000000 %PDF  %EOF\x0a  REVERSE
 
А как искать нужные файлы при помощи этой программы? В принципе команда практически не отличается от поиска программой foremost 
 
sudo scalpel /dev/sda1 -o /home/ваш логин/output
 
,где — /dev/sda1 это откуда нужно извлекать файлы, а  -o /home/ваш логин/output показывает, что в домашней директории появится папка  output
 
Но для меня основным, точнее одним из основных, было найти документы из пакета LibreOffice(OpenOffice). На одном забугорных форумов я отыскал нужную мне инфу. Нужно было добавить следующие строчки в конфиг данной программы и раскомментировать нужные файлы. Вот собственно сам текст:
 
 
# Added to end of /etc/scalpel/scalpel.conf
#
#---------------------------------------------------------------------
# OPENOFFICE FILES
#---------------------------------------------------------------------
    odt y   20000000    PK????????????????????????????mimetypeapplication/vnd.oasis.opendocument.textPK META-INF/manifest.xmlPK????????????????????
    ods y   10000000    PK????????????????????????????mimetypeapplication/vnd.oasis.opendocument.spreadsheetPK  META-INF/manifest.xmlPK????????????????????
    odp y   10000000    PK????????????????????????????mimetypeapplication/vnd.oasis.opendocument.presentationPK META-INF/manifest.xmlPK????????????????????
#    odg y   10000000    PK????????????????????????????mimetypeapplication/vnd.oasis.opendocument.graphicsPK META-INF/manifest.xmlPK????????????????????
#    odc y   10000000    PK????????????????????????????mimetypeapplication/vnd.oasis.opendocument.chartPK    META-INF/manifest.xmlPK????????????????????
#    odf y   10000000    PK????????????????????????????mimetypeapplication/vnd.oasis.opendocument.formulaPK  META-INF/manifest.xmlPK????????????????????
#    odi y   10000000    PK????????????????????????????mimetypeapplication/vnd.oasis.opendocument.imagePK    META-INF/manifest.xmlPK????????????????????
#    odm y   10000000    PK????????????????????????????mimetypeapplication/vnd.oasis.opendocument.text-masterPK  META-INF/manifest.xmlPK????????????????????
#    sxw y   10000000    PK????????????????????????????mimetypeapplication/vnd.sun.xml.writerPK  META-INF/manifest.xmlPK????????????????????
#---------------------------------------------------------------------
# THUNDERBIRD FILES
#---------------------------------------------------------------------
#    msf y   10000000    //\s<!--\s<mdb:mork:z\sv="1.4"/>\s-->?<\s<(a=c)>\s//\s(f=iso-8859-1)    //\s<!--\s<mdb:mork:z\sv="1.4"/>\s-->?<\s<(a=c)>\s//\s(f=iso-8859-1)    NEXT
#   actual Local Folder data files, no way to tell end so grab 100MB
    NONE    y   100000000 From????????????????????????????X-Mozilla-Status:\s?????X-Mozilla-Status2:    NEXT

 

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

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

Если Вы живете в Киеве, и Вы еще пока не опытный компьютерщик, то здесь смогут Вам помочь. Специалисты фирмы Endoatom смогут установить операционную систему, нужный софт, произвести чистку компьютера, удалить вирусы и их последствия.

 

Удаляем неудаляемое

Просмотр скрытых файлов

Как я удалял старые ядра

Добавляем ключи репозиториев


Битва за потерянные файлы: 9 комментариев

  1. Здравствуйте, наконец-то появилась эта статья, загрузил вечером прочту.

    P.S > "Но то уже другая история" возможно вы имели ввиду "это". Извините, что придераюсь, просто мне в глаза всегда бросаются ошибки, хоть я и сам их часто допускаю. 😀

  2. Да, да; тема о мультизагрузочной флешке — єто очень нужно и интересно. Тоже хочу иметь несколько систем на флешке.

  3. Вместо платной R-Studio можно использовать бесплатный R-Linux.
    То, что делают и foremost, и scalpel, называется восстановление по файловым сигнатурам (file signatures), и R-Studio, и R-Linux делают тоже самое, только намного лучше.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *