Как восстановить файлы в Линукс
Случайно удалил несколько файлов conf, для восстановления удачно воспользовался программой scalpel:
apt-get install scalpel
Чтобы восстановить текстовые конфиг. файлы пришлось вспомнить какими символами они начинаются. Нашёл подобный искомому файлу образец который начинается и заканчивается так же. Регистр символов не важен, это можно указать опцией.
В windows скопировать фрагмент начала / конца файла можно в программе FAR manager клавиши F3 + F4, для копирования нажать в левом верхнем углу "Выделить", "Пометить" Выделяем мышкой фрагмент начала и копируем в буфер обмена Ctrl+c
Добавим в конфигурацию scalpel новое расширение файла
В файл: /etc/scalpel/scalpel.conf добавим новую строку опциями:
conf y 9000 x73x65x72x76x65x72x20x7B x0Dx0Ax7D
Оцпп разделяются пробелами. Первое значение - расширение искомого файла
Второе значение определяет, чувствительность к регистру символов, у — да, n — нет.
Третье значение — максимальный размер в байтах.
Далее фрагменты начало и конец файла, взятые из подобного файла образца.
Перед каждым байтом вставим \x для указания шестнадцатеричного кода
Запускаем:
scalpel /dev/sda1 -o /tmp/restore/
Opening target "/dev/sda1" Image file pass 1/2. /dev/sda1: 100.0% |*******************| 29.0 GB 00:00 ETAAllocating work queues... Work queues allocation complete. Building carve lists... Carve lists built. Workload: conf with header "x73x65x72x76x65x72x20x7b" and footer "x0dx0ax7d" --> 153 files Carving files from image. Image file pass 2/2. /dev/sda1: 100.0% |*******************| 29.0 GB 00:00 ETAProcessing of image file complete. Cleaning up... Done. Scalpel is done, files carved = 153, elapsed = 42 seconds.