Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

В данной статье рассматриваются средства восстановления данных в случаях:

  1. повреждения (отказа) оборудования (физического повреждения носителей информации);
  2. искажения структуры хранения данных (удаление/повреждение таблицы дисковых разделов или самих дисковых разделов, форматирование дисковых разделов);
  3. удаления данных (удаление файлов или каталогов);

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

Предупреждение
В любом случае следует помнить, что:
  • Никакие инструменты не могут гарантировать восстановление, и лучший способ восстановления данных - это восстановление их из своевременно и правильно сделанной резервной копии.
    • Политика резервного копирования и восстановления должна быть обязательной частью общей политики информатизации;
    • Резервные копии должны не просто делаться, но и регулярно проверяться на возможность восстановления данных из них;
    • Для контроля состояния накопителей данных и прогнозирования их отказов следует использовать средства мониторинга: Мониторинг параметров S.M.A.R.T;
  • Для повышения вероятности успешного восстановления данных любые операции записи на носитель, содержащий восстанавливаемые данные, должны быть запрещены.
    В случаях физически повреждённых дисковых магнитных или ленточных накопителей также должны быть минимизированы все операции чтения, включения, выключения;
  • Восстановление дисковых накопителей следует производить: либо отмонтировав дисковые разделы, либо загрузившись с Live-USB, либо подключив носитель в другую машину;
  • Восстановление данных, содержащихся в удалённых файлах, при включённом режиме "безопасного удаления" невозможно;
  • Не рекомендуется пытаться извлечь данные с неисправных носителей простым копированием (команды cp, dd и пр.) так как эти команды могут впасть в бесконечный цикл чтения повреждённых участков, что может привести к расширению повреждений и дальнейшей потере данных.
Информация
titleДанная статья применима к:
  • ОС ОН Орёл 2.12
  • ОС СН Смоленск 1.6

GNU ddrescue: Копирование данных с повреждённых носителей

Инструмент GNU ddrescue (не путать с инструментом dd_rescue) копирует данные из одного (повреждённого) источника в другой, предпринимая максимально возможные усилия для максимально возможного извлечения данных.

Инструмент GNU ddrescue входит в дистрибутив ОС ОН Орёл 2.12 и может быть установлен командой:

Command
sudo apt install gddrescue

В ОС СН Смоленск инструмент может быть установлен из репозитория ОС ОН Орёл.

Общий синтаксис вызова:

Command
sudo ddrescue [<параметры>] <источник_данных> <приёмник_данных> [<карта>]

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

Раскрыть
titleПодробный алгоритм "выцарапывания" данных
В начале работы всему источнику назначается статус "не проверенный" (non-tried). Далее на всех этапах заполняется "карта" блоков с регистрацией изменения их статуса;
Первый проход. Выполняется попытка чтения большими блоками. Все блоки, которые не удалось прочитать или чтение которых было слишком долгим маркируются как "не обрезанные" (non-trimmed);
Второй проход. Выполняется чтение в обратной последовательности только тех блоков, которые не удалось прочитать на предыдущем шаге. Данная операция повторятся несколько раз с уменьшением размера блока чтения (вплоть до сектора) и переменным направлением чтения. При этом детализируется  “карта” "плохих" зон и максимально быстро считываются  "хорошие" зоны. Каждый блок читается посекторно до тех пор, пока не встретится плохой сектор. Затем этот блок читается с конца до тех пор, пока опять не встретится плохой сектор. Такой блок помечается как “обрезанный”, но не “выцарапанный” (non-scraped);


Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
  • Astra Linux Special Edition РУСБ.10015-16 исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition 2.12


Введение

В настоящей статье рассматриваются средства восстановления данных, применимые в случаях:

  1. Повреждения (отказа) оборудования (физического повреждения носителей информации).
  2. Искажения структуры хранения данных (удаление/повреждение таблицы дисковых разделов или самих дисковых разделов, форматирование дисковых разделов).
  3. Удаления данных (удаление файлов или каталогов).

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

Предупреждение
В любом случае следует помнить, что:
  • Никакие инструменты не могут гарантировать восстановление. Лучший способ восстановления данных - это восстановление их из своевременно и правильно сделанной резервной копии:
    • политика резервного копирования и восстановления должна быть обязательной частью общей политики информатизации;
    • резервные копии должны не просто делаться, но и регулярно проверяться на возможность восстановления данных из них;
    • для контроля состояния накопителей данных и прогнозирования их отказов следует использовать средства мониторинга: Мониторинг параметров S.M.A.R.T.
  • Для повышения вероятности успешного восстановления данных любые операции записи на носитель, содержащий восстанавливаемые данные, должны быть запрещены.
    В случаях физически повреждённых дисковых магнитных или ленточных накопителей также должны быть минимизированы все операции чтения, включения, выключения;
  • Восстановление дисковых накопителей следует производить: либо отмонтировав дисковые разделы, либо загрузившись с Live-USB, либо подключив носитель в другую машину;
  • Невозможно восстановление данных, содержавшихся в удаленных файлах, при включенном режиме "безопасного удаления" (см. подраздел "Очистка памяти" раздела "Защита памяти" в "Руководство по КСЗ", часть 1);
  • Не рекомендуется пытаться извлечь данные с неисправных носителей простым копированием (команды cp, dd и пр.), так как эти команды могут впасть в бесконечный цикл чтения поврежденных участков, что может привести к расширению повреждений и дальнейшей потере данных.


GNU ddrescue: Копирование данных с повреждённых носителей

Информация

Web-сайт разработчиков GNU ddrescue: https://www.gnu.org/software/ddrescue/

Инструмент GNU ddrescue (не путать с инструментом dd_rescue) копирует данные из одного (повреждённого) источника в другой, предпринимая максимально возможные усилия для максимально возможного извлечения данных.

Инструмент GNU ddrescue входит в репозиторий Astra Linux Common Edition 2.12 и может быть установлен командой:

Command
sudo apt install gddrescue

В Astra Linux Special Edition инструмент может быть установлен из репозитория Astra Linux Common Edition.

Общий синтаксис запуска инструмента:

Command
sudo ddrescue [<параметры>] <источник_данных> <приёмник_данных> [<карта>]

После инструмент инструмент:

  1. Пытается скопировать данные из указанного источника в указанный приёмник пропуская "сбойные данные". Чтение осуществляется в прямом и обратном направлении постепенно уменьшающимися блоками. Результаты копирования запоминаются в "карте" (журнале хода копирования).
  2. После завершения копирования легкодоступных данных информация, сохраненная в "карте", используется для  попыток копирования пропущенных "сбойных" участков.  Наличие "карты" позволяет в произвольные моменты времени останавливать и возобновлять операцию копирования, не выполняя чтение ранее скопированных участков. Таким образом, возможное нарастание повреждений носителя в процессе работы не повлияет на уже прочитанные данные.
Раскрыть
titleПодробный алгоритм "выцарапывания" данных
  1. В начале работы всему источнику назначается статус "не проверенный" (non-tried). Далее на всех этапах заполняется "карта" блоков с регистрацией изменения их статуса.
  2. Первый проход. Выполняется попытка чтения большими блоками. Все блоки, которые не удалось прочитать или чтение которых было слишком долгим маркируются как "не обрезанные" (non-trimmed).
  3. Второй проход. Выполняется чтение в обратной последовательности только тех блоков, которые не удалось прочитать на предыдущем шаге. Данная операция повторятся несколько раз с уменьшением размера блока чтения (вплоть до сектора) и переменным направлением чтения. При этом детализируется  “карта” "плохих" зон и максимально быстро считываются  "хорошие" зоны. Каждый блок читается посекторно до тех пор, пока не встретится плохой сектор. Затем этот блок читается с конца до тех пор, пока опять не встретится плохой сектор. Такой блок помечается как “обрезанный”, но не “выцарапанный” (non-scraped).
  4. “Выцарапывание” – последовательное посекторное чтение "обрезанных" блоков, при котором выполняется определенное количество попыток, после чего непрочитанные данные помечаются как окончательно “плохие” (bad-sector).


Информация
Параметр "карта" является необязательным, но именно его применение делает инструмент действительно эффективным.

В качестве источника и приемника могут быть использованы любые блочные устройства в любых сочетаниях: накопители (например, /dev/sdb), дисковые разделы (/dev/sdb1), файлы.

В параметрах вызова команды могут быть указаны (подробнее см. man ddrescue):

  • -r N - количество повторных попыток чтения поврежденных блоков;
  • -i NNN - начало зоны чтения;
  • -d - прямое чтение без использования буферов ядра;
  • -f - разрешение переписывать данные в приёмнике (используется для записи в приёмники, являющиеся устройствами).
  • -n - быстрое
  • “Выцарапывание” – последовательное посекторное чтение "обрезанных" блоков, при котором выполняется определённое количество попыток, после чего непрочитанные данные помечаются как окончательно “плохие” (bad-sector).
  • Информация
    Параметр "карта" является необязательным, но именно его применение делает инструмент действительно эффективным.

    В качестве источника и приёмника могут быть использованы любые блочные устройства в любых сочетаниях: накопители (например, /dev/sdb), дисковые разделы (/dev/sdb1), файлы.

    В параметрах вызова команды могут быть указаны (подробнее см. man ddrescue):

  • -r N - количество повторных попыток чтения повреждённых блоков;
  • -i NNN - начало зоны чтения;
  • -d - прямое чтение без использования буферов ядра;
  • -f - разрешение переписывать данные в приёмнике (используется для записи в приёмники, являющиеся устройствами).
  • -n - быстрое
    • чтение без фазы "выцарапывания" данных;
    • -A - пометить все сбойные области как непрочитанные. Применяется для восстановления после потери источника и его последующего подключения.

    Примеры:

    • Пример 1.

    Быстро копируем доступные данные
    • Быстрое копирование доступных данных с дискового накопителя /dev/sdh в файл-образ file.tmp используя карту map.tmp:

      Command
      Titlesudo ddrescue /dev/sdh file.tmp map.tmp

      GNU ddrescue 1.21
      Press Ctrl-C to interrupt
           ipos:  120034 MB, non-trimmed:        0 B,  current rate:   24576 B/s
           opos:  120034 MB, non-scraped:        0 B,  average rate:  23968 kB/s
      non-tried:        0 B,  bad-sector:        0 B,    error rate:       0 B/s
        rescued:  120034 MB,   bad areas:        0,        run time:  1h 23m 27s
      pct rescued:  100.00%, read errors:        0,  remaining time:         n/a
                                    time since last successful read:         n/a
      Finished                                     


    • Пример 2. В

    приведённом
    • приведенном выше примере использован исправный диск, ошибок нет.

    При возникновении
    • В следующем примере при возникновении ошибок чтения

    -
    • данные повторно

    копируем данные
    • копируются с накопителя

    , извлекая данные из повреждённых
    • для извлечения  данных из поврежденных частей. Используются карта и файл образа, созданные при первой попытке копирования,

    извлечённые
    • извлеченные данные добавляются в образ, выполняются 3 попытки повторного чтения повреждённых данных, и используется прямой доступ к данным (-d):

      Command
      sudo ddrescue -f -d -r3 /dev/sdh file.tmp map.tmp


    Информация

    Полученный

    таким способом

    образ диска можно использовать следующим способом:

    • Перед дальнейшими манипуляциями создать резервную копию образа в
    ещё
    • еще одном файле
    ;
    • . 
    • Исследовать образ с помощью описанного ниже инструмента testdisk - попробовать восстановить испорченную структуру дисковых разделов и файловых систем
    ;
    • .
    • Исследовать образ с помощью описанного ниже инструмента photorec - попробовать извлечь фото и видео из испорченной файловой структуры
    ;
    • .
    • Примонтировать дисковые разделы и изучить их содержимое. Обратите внимание - копировался диск целиком, и полученный образ может содержать внутри себя один или несколько дисковых разделов. Для монтирования дисковых разделов, находящихся в таком образе - см. команды:
      • partx и kpartx (соответственно пакеты partx и kpartx);
      • losetup (пакет klibc-utils);
      • mount - эта команда позволяет монтировать дисковый раздел, находящийся внутри образа диска, если указать смещение этого раздела от начала образа (см. соответствующую документацию).

    Копировать весь диск не обязательно, можно копировать отдельные дисковые разделы или даже только важные файлы

    (

    , если они доступны

    , на повреждённом

    . На поврежденном диске разделы и файлы могут не определяться

    )

    .

    • Пример 3. Копирование отдельно дискового раздела /dev/sdb1 в новый дисковый раздел /dev/sdc1 (новый раздел должен быть создан заранее и иметь достаточный для размещения копируемых данных размер). Команды отличаются от команд в предыдущем примере только названиями источника и приёмника:

      Command
      sudo ddrescue -f /dev/sdb1 /dev/sdc1 partmap.tmp
      sudo ddrescue -f -r3 /dev/sdb1 /dev/sdc1 partmap.tmp


    • Пример 4. Перезапуск копирования после отказа и восстановления диска-источника (например, диск-источник перестал отвечать, но удалось заставить его работать после переподключения)

    .
    • :

      • Можно указать смещение, с которого нужно продолжить копирование (для этого использовать информацию о выполненном копировании, полученную в предыдущей попытке копирования):

        Command
        sudo ddrescue -f -r3 -i 1234567000 /dev/sdb /dev/sdc map.tmp


      • Можно продолжить копирование в обратном порядке:

        Command
        sudo ddrescue -f -r3 -R /dev/sdb /dev/sdc map.tmp


      • Можно пометить сбойные области как непрочитанные для повторного чтения (рекомендуется при возобновлении копирования после потери диска):

        Command
        sudo ddrescue -f -r3 -A /dev/sdb /dev/sdc map.tmp


    • Пример 5. Отказы носителей-

    приёмников
    • приемников. Если копирование прервано из-за отказа со стороны диска-приёмника (/dev/sdc), можно скопировать содержимое неисправного приёмника на третий диск (/dev/sdd) и продолжить копирование из источника:

      Command
      sudo ddrescue -f -m map.tmp /dev/sdc /dev/sdd newmap.tmp
      sudo ddrescue -f -n /dev/sdb /dev/sdd newmap.tmp
      sudo ddrescue -f -d -r3 /dev/sdb /dev/sdd newmap.tmp


    Пакет testdisk: восстановление данных с поврежденных дисковых разделов

    Информация
    Web

    WEB-сайт разработчиков

    GNU ddrescue

    TestDisk:

    httpsgnu/software/ddrescue/


    Документация от разработчиков: TestDisk Documentation

    Пакет testdisk: восстановление данных с повреждённых дисковых разделов

    Пакет testdisk входит в дистрибутивы Astra Linux, по умолчанию не устанавливается, и может быть установлен командой:

    Command
    sudo apt install testdisk

    В состав пакета входят два инструмента:

    • testdisk - восстановление повреждённой структуры дисковых разделов и
    повреждённой
    • поврежденной файловой структуры в этих разделах;
    • photorec - поиск и извлечение видео и изображений из повреждённой файловой структуры путём прямого доступа к данным;

    Инструмент testdisk

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

    • Исправлять ошибки в дисковых разделах и восстанавливать удалённые разделы
    ;
    • .
    • Восстанавливать загрузочные секторы FAT32/NTFS из резервной копии
    ;
    • .
    • Пересобирать загрузочные секторы FAT12/FAT16/FAT32/NTFS
    ;
    • .
    • Исправлять таблицы FAT
    ;
    • .
    • Исправлять таблицы MFT используя зеркала MFT
    ;
    • .
    • Обнаруживать резервные суперблоки ext2/ext3/ext4 (далее эта информация может быть использована для восстановления файловой системы командой fsck - см.ниже)
    ;
    • .
    • Восстанавливать
    удалённые
    • удаленные файлы в FAT/exFAT/NTFS/ext2
    ;
    • .
    • Копировать файлы из удалённых дисковых разделов FAT/exFAT/NTFS/ext2/ext3/ext4.

    Инструмент использует текстовый псевдографический интерфейс.

    Пример запуска инструмента для анализа накопителя (как было указано

    выше

    ранее, можно использовать не носитель, а его образ в файле): 

    Command
    sudo testdisk /dev/sdb

    Программа testdisk может быть запущена без параметров - тогда будет предложено выбрать нужное

    устройство из подключенных дисковых устройств.

    После запуска инструмента выводится информация о заданном в параметрах вызова устройстве:

    Блок кода
    TestDisk 7.0, Data Recovery Utility, April 2015
    Christophe GRENIER <grenier@cgsecurity.org>
    http://www.cgsecurity.org
    
    TestDisk is free software, and
    comes with ABSOLUTELY NO WARRANTY.
    
    Select a media (use Arrow keys, then press Enter):
    >Disk /dev/sdb - 8589 MB / 8192 MiB - VBOX HARDDISK
    
    >[Proceed ] [ Quit ]
    
    Note: Disk capacity must be correctly detected for a successful recovery.
    If a disk listed above has incorrect size, check HD jumper settings, BIOS
    detection, and install the latest OS patches and disk drivers.
    
    

    устройство из подключенных дисковых устройств.

    После запуска инструмента выводится информация о заданном в параметрах вызова устройстве

    Для продолжения нажать Enter, после чего будут предложены варианты выбора структуры носителя

    :

    Блок кода
    TestDisk 7.0, Data Recovery Utility, April 2015
    Christophe GRENIER <grenier@cgsecurity.org>
    http://www.cgsecurity.org
    
    TestDisk is free software, and
    
    Disk
    comes with ABSOLUTELY NO WARRANTY.
    
    Select a media (use Arrow keys, then press Enter):
    >Disk /dev/sdb - 8589 MB / 8192 MiB - VBOX HARDDISK
    
    
    Please select the partition table type, press Enter when done. >[Intel ] Intel/PC partition [EFI GPT] EFI GPT partition map (Mac i386, some x86_64...) [Humax ] Humax partition table [Mac ] Apple partition map [None ] Non partitioned media [Sun ] Sun Solaris partition [XBox ] XBox partition [Return ] Return to disk selection Note: Do NOT select 'None' for media with only a single partition. It's very rare for a disk to be 'Non-partitioned'.
    Предупреждение

    С высокой вероятностью testdisk самостоятельно определит структуру носителя, однако для восстановления желательно знать, как был размечен накопитель. В частности, сравнительно редко, встречаются накопители, отформатированные без дисковых разделов (в примере выше пункт "[None ] Non partitioned media"). Попытки поиска дисковых разделов на таком накопителе (в примере выше пункт "[Intel] Intel/PC partitition") будут бесполезной тратой времени и ресурса накопителя.

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

    Блок кода
    TestDisk 7.0, Data Recovery Utility, April 2015
    Christophe GRENIER <grenier@cgsecurity.org>
    http://www.cgsecurity.org
    
    Disk /dev/sdb - 8589 MB / 8192 MiB - VBOX HARDDISK
    CHS 1044 255 63 - sector size=512
    
    >[ Analyse  ] Analyse current partition structure and search for lost partitions
     [ Advanced ] Filesystem Utils
     [ Geometry ] Change disk geometry
     [ Options  ] Modify options
     [ MBR Code ] Write TestDisk MBR code to first sector
     [ Delete   ] Delete all data in the partition table
     [ Quit     ] Return to disk selection
    
    Note: Correct disk geometry is required for a successful recovery. 'Analyse'
    process may give some warnings if it thinks the logical geometry is mismatched.

    Первый пункт "Analize" позволяет найти дисковые разделы и восстановить таблицу дискоковых разделов:

    Блок кодаTestDisk 7.0, Data Recovery Utility, April 2015 Christophe GRENIER <grenier@cgsecurity.org> http://www.cgsecurity.org Disk /dev/sdb - 8589 MB / 8192 MiB - CHS 1044 255 63 Current partition structure: Partition Start End Size in sectors No partition is
    >[Proceed ] [ Quit ]
    
    Note: Disk capacity must be correctly detected for a successful recovery.
    If a disk listed above has incorrect size, check HD jumper settings, BIOS
    detection, and install the latest OS patches and disk drivers.
    
    

    Для продолжения нажать Enter, после чего будут предложены варианты выбора структуры носителя:

    Блок кода
    TestDisk 7.0, Data Recovery Utility, April 2015
    Christophe GRENIER <grenier@cgsecurity.org>
    http://www.cgsecurity.org
    
    Disk /dev/sdb - 8589 MB / 8192 MiB - VBOX HARDDISK
    
    Please select the partition table type, press Enter when done.
    >[Intel ] Intel/PC partition
    [EFI GPT] EFI GPT partition map (Mac i386, some x86_64...)
    [Humax  ] Humax partition table
    [Mac    ] Apple partition map
    [None   ] Non partitioned media
    [Sun    ] Sun Solaris partition
    [XBox   ] XBox partition
    [Return ] Return to disk selection
    
    Note: Do NOT select 'None' for media with only a single partition. It's very
    rare for a disk to be 'Non-partitioned'.
    


    Предупреждение

    С высокой вероятностью testdisk самостоятельно определит структуру носителя, однако для восстановления желательно знать, как был размечен накопитель. В частности накопители могут быть отформатированы без создания дисковых разделов (в примере выше пункт "[None ] Non partitioned media"). Попытки поиска дисковых разделов на таком накопителе (в примере выше пункт "[Intel] Intel/PC partitition") будут бесполезной тратой времени и ресурса накопителя.

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

    Блок кода
    TestDisk 7.0, Data Recovery Utility, April 2015
    Christophe GRENIER <grenier@cgsecurity.org>
    http://www.cgsecurity.org
    
    Disk /dev/sdb - 8589 MB / 8192 MiB - VBOX HARDDISK
    CHS 1044 255 63 - sector size=512
    
    >[ Analyse  ] Analyse current partition structure and search for lost partitions
     [ Advanced ] Filesystem Utils
     [ Geometry ] Change disk geometry
     [ Options  ] Modify options
     [ MBR Code ] Write TestDisk MBR code to first sector
     [ Delete   ] Delete all data in the partition table
     [ Quit     ] Return to disk selection
    
    Note: Correct disk geometry is required for a successful recovery. 'Analyse'
    process may give some warnings if it thinks the logical geometry is mismatched.

    Первый пункт "Analize" позволяет найти дисковые разделы и восстановить таблицу дисковых разделов:

    bootable *=Primary bootable P=Primary L=Logical E=Extended D=Deleted >[Quick Search] Try to locate partition

    Если таблица разделов на носителе корректна, то будет показана информация о дисковых разделах. В примере выше дисковые разделы не найдены. Если разделы не найдены - следует выбрать пункт "Quick Search" ("Быстрый поиск") и нажать Enter, после чего будет выполнено "быстрое" сканирование носителя и поиск дисковых разделов. В примере ниже после завершения "Быстрого поиска" отображается информация о двух найденных разделах и предлагается настроить их параметры или посмотреть содержимое (файлы).  

    Блок кода
    TestDisk 7.0, Data Recovery Utility, April 2015
    Christophe GRENIER <grenier@cgsecurity.org>
    http://www.cgsecurity.org
    
    Disk /dev/sdb - 8589 MB / 8192 MiB - CHS 1044 255 63
    Partition Start End Size in sectors
    >* Linux 0 32 33 510 14 16 8192000 [first]
    P Linux 510 14 17 1044 85 1 8583168 [second]
    
    Structure: Ok. Use Up/Down Arrow keys to select partition.
    Use Left/Right Arrow keys to CHANGE partition characteristics:
    *=Primary bootable P=Primary L=Logical E=Extended D=Deleted
    Keys A: add partition, L: load backup, T: change type, P: list files,
    Enter: to continue
    ext4 blocksize=4096 Large_file Sparse_SB, 4194 MB / 4000 MiB

    После выполнения необходимых действий нажать Enter, после чего

    произойдёт

    произойдет возврат в список разделов:

    Блок кода
    TestDisk 7.0, Data Recovery Utility, April 2015
    Christophe GRENIER <grenier@cgsecurity.org>
    http://www.cgsecurity.org
    
    Disk /dev/sdb - 8589 MB / 8192 MiB - CHS 1044 255 63
    
        Partition    Start     End   Size in sectors
    
    1 * Linux       0 32 33  510 14 16  8192000 [first]
    2 P Linux     510 14 17 1044 85  1  8583168 [second]
    
    [ Quit ] >[Deeper Search] [ Write ]
    Try to find more partitions

    На этом этапе можно либо выполнить повторное "глубокое" сканирование ("Deep Search"), либо записать восстановленную информацию о разделах на носитель ("Write").

    Для восстановления

    повреждённой

    поврежденной файловой системы в дисковых разделах в меню возможных действий с накопителем выбрать пункт "Advanced":

    Блок кода
    TestDisk 7.0, Data Recovery Utility, April 2015
    Christophe GRENIER <grenier@cgsecurity.org>
    http://www.cgsecurity.org
    
    Disk /dev/sdb - 8589 MB / 8192 MiB - VBOX HARDDISK
    CHS 1044 255 63 - sector size=512
    
     [ Analyse  ] Analyse current partition structure and search for lost partitions
    >[ Advanced ] Filesystem Utils
     [ Geometry ] Change disk geometry
     [ Options  ] Modify options
     [ MBR Code ] Write TestDisk MBR code to first sector
     [ Delete   ] Delete all data in the partition table
     [ Quit     ] Return to disk selection
    
    Note: Correct disk geometry is required for a successful recovery. 'Analyse'
    process may give some warnings if it thinks the logical geometry is mismatched.

    После чего в списке дисковых разделов выбрать нужный раздел :

    Блок кода
    TestDisk 7.0, Data Recovery Utility, April 2015
    Christophe GRENIER <grenier@cgsecurity.org>
    http://www.cgsecurity.org
    
    Disk /dev/sdb - 8589 MB / 8192 MiB - CHS 1044 255 63
    
          Partition    Start      End     Size in sectors
    > 1 * Linux        0 32 33  510 14 16 8192000 [first]
      2 P Linux      510 14 17 1044 85  1 8583168 [second]
    
    [ Type ] >[Superblock] [ List ] [Image Creation] [ Quit ]
    Locate ext2/ext3/ext4 backup superblock

    После чего выбрать и выполнить возможные действия:

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

      Блок кода
      TestDisk 7.0, Data Recovery Utility, April 2015
      Christophe GRENIER <grenier@cgsecurity.org>
      http://www.cgsecurity.org
      
      Disk /dev/sdb - 8589 MB / 8192 MiB - CHS 1044 255 63
      
            Partition               Start      End Size in sectors
       
        Linux                    0 32 33 510 14 16 8192000 [first]
      superblock 0, blocksize=4096 [first]
      superblock 32768, blocksize=4096 [first]
      superblock 98304, blocksize=4096 [first]
      superblock 163840, blocksize=4096 [first]
      superblock 229376, blocksize=4096 [first]
      superblock 294912, blocksize=4096 [first]
      superblock 819200, blocksize=4096 [first]
      superblock 884736, blocksize=4096 [first]
      
      To repair the filesystem using alternate superblock, run
      fsck.ext4 -p -b superblock -B blocksize device


    • List - просмотреть список файлов;
    • Image Creation - создать образ раздела;

    Для файловой системы Ext4, использованной в примере и рекомендованной для использования в Astra Linux, для

    завершений

    завершения восстановления файловой системы выйти из программы testparm ("q") и выполнить команду проверки и восстановления файловой системы с предложенными параметрами одного из резервных суперблоков, например:

    Command
    sudo fsck.ext4 -p -b 32768 -B 4096 /dev/sdb1

    Инструмент photorec

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

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

    Как и testdisk, инструмент использует текстовый псевдографический интерфейс, и  может быть запущен из командной строки командой:

    Command
    sudo photorec /dev/sdb1

    На стартовой странице предлагается подтвердить выбор носителя для поиска: 

    Блок кода
    PhotoRec 7.0, Data Recovery Utility, April 2015
    Christophe GRENIER <grenier@cgsecurity.org>
    http://www.cgsecurity.org
    
    PhotoRec is free software, and
    comes with ABSOLUTELY NO WARRANTY.
    
    Select a media (use Arrow keys, then press Enter):
    >Disk /dev/sdb1 - 4194 MB / 4000 MiB (RO) - VBOX HARDDISK
    >[Proceed ] [ Quit ]
    
    Note:
    Disk capacity must be correctly detected for a successful recovery.
    If a disk listed above has incorrect size, check HD jumper settings, BIOS
    detection, and install the latest OS patches and disk drivers.

    Для продолжения нажать Enter.

    В открывшемся окне имеется важный пункт "File Opt" - выбор типов восстанавливаемых файлов:

    Блок кода
    PhotoRec 7.0, Data Recovery Utility, April 2015
    Christophe GRENIER <grenier@cgsecurity.org>
    http://www.cgsecurity.org
    
    Disk /dev/sdb1 - 4194 MB / 4000 MiB (RO) - VBOX HARDDISK
    
          Partition          Start       End    Size in sectors
        Unknown             0 0 1    509 236 47 8192000 [Whole disk]
    > P ext4                0 0 1    509 236 47 8192000 [first]
    
    >[ Search ] [Options ] [File Opt] [ Quit ]
    Start file recovery

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

    Блок кода
    hotoRec 7.0, Data Recovery Utility, April 2015
    Christophe GRENIER <grenier@cgsecurity.org>
    http://www.cgsecurity.org
    
    PhotoRec will try to locate the following files
    
    >[X] custom Own custom signatures
    [X] 1cd Russian Finance 1C:Enterprise 8
    [X] 3dm Rhino / openNURBS
    [X] 7z 7zip archive file
    [X] DB
    [X] a Unix Archive/Debian package
    [X] abr Adobe Brush
    [X] acb Adobe Color Book
    [X] accdb Access Data Base
    [X] ace ACE archive
    [X] ab MAC Address Book
    [X] ado Adobe Duotone Options
    [X] ahn Ahnenblatt
    [X] aif Audio Interchange File Format
    [X] all Cubase Song file: .all
    [X] als Ableton Live Sets
    [X] amd AlphaCAM (amd/amt/atd/att)
    [X] amr Adaptive Multi-Rate
    [X] apa APA Style Helper
    [X] ape Monkey's Audio compressed format
    [X] apple AppleSingle/AppleDouble
    [X] ari ARRI Raw Video
    [X] arj ARJ archive
    [X] asf ASF, WMA, WMV: Advanced Streaming Format used for Audio/Video
    [X] asl Adobe Layer Style
    [X] asm Pro/ENGINEER Assembly
    [X] atd Agelong Tree Database/Abs0luteDatabase
    [X] au Sun/NeXT audio data
    [X] axx AxCrypt
    [X] bac Bacula backup
    [X] db Berkeley DB (Little Endian)
    [X] bim Broadcast Interface Module
    [X] binvox Binvox Voxel File
    [X] bkf MS Backup file
    [X] blend blender
    [X] bmp BMP bitmap image
    [X] bz2 bzip2 compressed data
    [X] cab Microsoft Cabinet archive
    [X] caf Core Audio Format
    [X] cam Casio QV Digital Camera Image
    [X] catdrawing CATIA
    [X] cdt cdl/cdt/cdd Concept Draw
    [X] chm MS Windows HtmlHelp Data
    [X] class Java Class
    [X] comicdoc Comic Life
    [X] cp_ MS compress file (SZDD)
    [X] cow Qemu Image
    [X] crw Canon Raw picture
    Next
    Press s to disable all file families, b to save the settings
    >[ Quit ]
    Return to main menu

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

    пороизводиться

    производиться поиск файлов, и снова нажать Enter:

    Блок кода
    PhotoRec 7.0, Data Recovery Utility, April 2015
    Christophe GRENIER <grenier@cgsecurity.org>
    http://www.cgsecurity.org
    
       P ext4 0 0 1 509 236 47 8192000 [first]
    
    To recover lost files, PhotoRec need to know the filesystem type where the
    file were stored:
    >[ ext2/ext3 ] ext2/ext3/ext4 filesystem
    [ Other ] FAT/NTFS/HFS+/ReiserFS/...

    Выбрать область поиска ("Free" - поиск удалённых файлов, "Whole" - поиск всех файлов) и нажать Enter:

    Блок кода
    PhotoRec 7.0, Data Recovery Utility, April 2015
    Christophe GRENIER <grenier@cgsecurity.org>
    http://www.cgsecurity.org
    
    P ext4 0 0 1 509 236 47 8192000 [first]
    
    
    Please choose if all space need to be analysed:
     [ Free ] Scan for file from ext2/ext3 unallocated space only
    >[ Whole ] Extract files from whole partition

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

    Информация

    WEB-сайт разработчиков TestDisk: http://www.cgsecurity.org

    Документация от разработчиков: TestDisk Documentation

    Инструмент extundelete

    Инструмент extundelete входит в дистрибутивы Astra Linux, однако по итогам его применения к использованию не рекомедуется как неработоспособный.

    Command
    sudo apt install extundelete


    Command
    Titlesudo extundelete --restore-all /dev/sdh1
    NOTICE: Extended attributes are not restored.
    Loading filesystem metadata ... 232 groups loaded.
    Loading journal descriptors ... Segmentation fault


    Инструмент ext4magic

    Информация
    При написании статьи инструмент показал высокую эффективность и рекомендуется к применению. 

    Инструмент ext4magic на момент написания статьи не входит в дистрибутивы Astra Linux и может быть установлен

    командами:
    • Для ОС ОН Орёл 2.12 / ОС СН Смоленск 1.6:
    Commandwget

    из репозиториев Debian: http://ftp.de.debian.org/debian/pool/main/e

    /ext4magic/ext4magic_0.3.2-7_amd64.deb
    sudo apt install ./ext4magic_0.3.2-7_amd64.deb

    /ext4magic/.

    Полная справка по возможностям инструмента доступна в man ext4magic, основные варианты применения:

    1. Попытаться извлечь все файлы из (повреждённой) файловой системы:

      Command
      sudo ext4magic -M /dev/имя_дискового_раздела


    2. Попытаться восстановить удалённые файлы из файловой системы:

      Command
      sudo ext4magic -m /dev/имя_дискового_раздела


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

    Свободно распространяемый графический

    Графический инструмент R-Linux

    Информация

    Web-сайт компании R-Tools Technology: https://www.r-tt.com/ru/

    R-Linux

    является бесплатной программой

    — программа для восстановления файловых систем Ext2/Ext3/Ext4, используемых в Linux и некоторых Unix операционных системах (ОС). Разработчик программы - компания R-Tools Technology (Канада). Программа восстанавливает данные с существующих логических дисков, даже если записи файлов утрачены.

    Однако, в

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

    Инструмент R-Linux может быть загружен с Web-сайта производителя и установлен командами:

    Command
    wget https://www.r-studio.com/downloads/RLinux5_x64.deb
    sudo apt install ./RLinux5_x64.deb

    После установки программа доступна в графическом меню в разделе "Системные", или может быть запущена из командной строки командой:

    Command
    sudo rlinux


    Информация
    После первого запуска программа предложит ознакомиться с лицензионным соглашением и подтвердить согласие с ним.

    Стартовое окно программы:

    Image Modified

    Программа позволяет работать как непосредственно с носителями (дисковыми разделами), так и с образами носителей и дисковых разделов.


    Возможность создания образов носителей/дисковых разделов также встроена в программу.

    Программа обеспечивает поиск и восстановление

    удалённых

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

    .

     

    Помимо работы с дисковыми разделами и файловыми системами R-Linux может отображать параметры S.M.A.R.T дисковых накопителей, позволяя предсказать возможные их неисправности. 

    ИнформацияWeb-сайт компании R-Tools Technology: https://www.r-tt.com/ru/