В данной статье рассматриваются средства восстановления данных в случаях:
- повреждения (отказа) оборудования (физического повреждения носителей информации);
- искажения структуры хранения данных (удаление/повреждение таблицы дисковых разделов или самих дисковых разделов, форматирование дисковых разделов);
- удаления данных (удаление файлов или каталогов);
В данной статье предполагается, что читатель знаком с основными типами файловых систем и особенностями их внутренней структуры.
Предупреждение |
---|
В любом случае следует помнить, что:
- Никакие инструменты не могут гарантировать восстановление, и лучший способ восстановления данных - это восстановление их из своевременно и правильно сделанной резервной копии.
- Политика резервного копирования и восстановления должна быть обязательной частью общей политики информатизации;
- Резервные копии должны не просто делаться, но и регулярно проверяться на возможность восстановления данных из них;
- Для контроля состояния накопителей данных и прогнозирования их отказов следует использовать средства мониторинга: Мониторинг параметров 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.8)
- 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
|
Введение
В настоящей статье рассматриваются средства восстановления данных, применимые в случаях:
- Повреждения (отказа) оборудования (физического повреждения носителей информации).
- Искажения структуры хранения данных (удаление/повреждение таблицы дисковых разделов или самих дисковых разделов, форматирование дисковых разделов).
- Удаления данных (удаление файлов или каталогов).
Предполагается, что читатель знаком с основными типами файловых систем и особенностями их внутренней структуры.
Предупреждение |
---|
В любом случае следует помнить, что:
- Никакие инструменты не могут гарантировать восстановление. Лучший способ восстановления данных - это восстановление их из своевременно и правильно сделанной резервной копии:
- политика резервного копирования и восстановления должна быть обязательной частью общей политики информатизации;
- резервные копии должны не просто делаться, но и регулярно проверяться на возможность восстановления данных из них;
- для контроля состояния накопителей данных и прогнозирования их отказов следует использовать средства мониторинга: Мониторинг параметров S.M.A.R.T.
- Для повышения вероятности успешного восстановления данных любые операции записи на носитель, содержащий восстанавливаемые данные, должны быть запрещены.
В случаях физически повреждённых дисковых магнитных или ленточных накопителей также должны быть минимизированы все операции чтения, включения, выключения; - Восстановление дисковых накопителей следует производить: либо отмонтировав дисковые разделы, либо загрузившись с Live-USB, либо подключив носитель в другую машину;
- Невозможно восстановление данных, содержавшихся в удаленных файлах, при включенном режиме "безопасного удаления" (см. подраздел "Очистка памяти" раздела "Защита памяти" в "Руководство по КСЗ", часть 1);
- Не рекомендуется пытаться извлечь данные с неисправных носителей простым копированием (команды cp, dd и пр.), так как эти команды могут впасть в бесконечный цикл чтения поврежденных участков, что может привести к расширению повреждений и дальнейшей потере данных.
|
GNU ddrescue: Копирование данных с поврежденных носителей
Инструмент GNU ddrescue (не путать с инструментом dd_rescue) копирует данные из одного (повреждённого) источника в другой, предпринимая максимально возможные усилия для максимально возможного извлечения данных.
Инструмент GNU ddrescue входит в репозиторий Astra Linux Common Edition 2.12.45 и в расширенный репозиторий Astra Linux Special Edition начиная с обновления 1.7.1 (4.7.4) и при подключенном репозитории может быть установлен командой:
Command |
---|
sudo apt install gddrescue |
В Astra Linux Special Edition 1.6 инструмент может быть установлен из репозитория Astra Linux Common Edition.
Общий синтаксис запуска инструмента:
Command |
---|
sudo ddrescue [<параметры>] <источник_данных> <приёмник_данных> [<карта>] |
После инструмент инструмент:
- Пытается скопировать данные из указанного источника в указанный приёмник пропуская "сбойные данные". Чтение осуществляется в прямом и обратном направлении постепенно уменьшающимися блоками. Результаты копирования запоминаются в "карте" (журнале хода копирования).
- После завершения копирования легкодоступных данных информация, сохраненная в "карте", используется для попыток копирования пропущенных "сбойных" участков. Наличие "карты" позволяет в произвольные моменты времени останавливать и возобновлять операцию копирования, не выполняя чтение ранее скопированных участков. Таким образом, возможное нарастание повреждений носителя в процессе работы не повлияет на уже прочитанные данные.
Раскрыть |
---|
title | Подробный алгоритм "выцарапывания" данных |
---|
|
- В начале работы всему источнику назначается статус "не проверенный" (non-tried). Далее на всех этапах заполняется "карта" блоков с регистрацией изменения их статуса.
- Первый проход. Выполняется попытка чтения большими блоками. Все блоки, которые не удалось прочитать или чтение которых было слишком долгим маркируются как "не обрезанные" (non-trimmed).
- Второй проход. Выполняется чтение в обратной последовательности только тех блоков, которые не удалось прочитать на предыдущем шаге. Данная операция повторятся несколько раз с уменьшением размера блока чтения (вплоть до сектора) и переменным направлением чтения. При этом детализируется “карта” "плохих" зон и максимально быстро считываются "хорошие" зоны. Каждый блок читается посекторно до тех пор, пока не встретится плохой сектор. Затем этот блок читается с конца до тех пор, пока опять не встретится плохой сектор. Такой блок помечается как “обрезанный”, но не “выцарапанный” (non-scraped).
- “Выцарапывание” – последовательное посекторное чтение "обрезанных" блоков, при котором выполняется определенное количество попыток, после чего непрочитанные данные помечаются как окончательно “плохие” (bad-sector).
|
Информация |
---|
Параметр "карта" является необязательным, но именно его применение делает инструмент действительно эффективным. |
В качестве источника и приемника могут быть использованы любые блочные устройства в любых сочетаниях: накопители (например, /dev/sdb), дисковые разделы (/dev/sdb1), файлы.
В параметрах вызова команды могут быть указаны (подробнее см. man ddrescue):
- -r N - количество повторных попыток чтения поврежденных блоков;
- -i NNN - начало зоны чтения;
- -d - прямое чтение без использования буферов ядра;
- -f - разрешение переписывать данные в приёмнике (используется для записи в приёмники, являющиеся устройствами).
- -n - быстрое чтение без фазы "выцарапывания" данных;
- -A - пометить все сбойные области как непрочитанные. Применяется для восстановления после потери источника и его последующего подключения.
Примеры:
“Выцарапывание” – последовательное посекторное чтение "обрезанных" блоков, при котором выполняется определённое количество попыток, после чего непрочитанные данные помечаются как окончательно “плохие” (bad-sector). Информация |
---|
Параметр "карта" является необязательным, но именно его применение делает инструмент действительно эффективным. |
В качестве источника и приёмника могут быть использованы любые блочные устройства в любых сочетаниях: накопители (например, /dev/sdb), дисковые разделы (/dev/sdb1), файлы.
В параметрах вызова команды могут быть указаны (подробнее см. man ddrescue):
- -r N - количество повторных попыток чтения повреждённых блоков;
- -i NNN - начало зоны чтения;
- -d - прямое чтение без использования буферов ядра;
- -f - разрешение переписывать данные в приёмнике (используется для записи в приёмники, являющиеся устройствами).
- -n - быстрое чтение без фазы "выцарапывания" данных;
- -A - пометить все сбойные области как непрочитанные. Применяется для восстановления после потери источника и его последующего подключения.
Примеры:
Пример 1. Быстро копируем доступные данные с дискового накопителя /dev/sdh в файл-образ file.tmp используя карту map.tmp:
Command |
---|
Title | sudo 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 - попробовать восстановить испорченную структуру дисковых разделов и файловых систем;Исследовать 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. Перезапуск копирования после отказа и восстановления диска-источника (например, диск-источник перестал отвечать, но удалось заставить его работать после переподключения):
образ с помощью описанного ниже инструмента 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 sdc sdd newmapsudo ddrescue n sdd newmap.tmpd r3 sdd newmapПакет testdisk: восстановление данных с повреждённых дисковых разделов
Пакет testdisk входит в дистрибутивы Astra Linux, по умолчанию не устанавливается, и может быть установлен командой:
Command |
---|
sudo apt install testdisk |
В состав пакета входят два инструмента:
- testdisk - восстановление повреждённой структуры дисковых разделов и повреждённой файловой структуры в этих разделах;
- photorec - поиск и извлечение видео и изображений из повреждённой файловой структуры путём прямого доступа к данным;
Инструмент testdisk
Инструмент testdisk выполняет анализ информации, хранящейся в заданном блочном устройстве, и пытается найти известные ему структуры данных (дисковые разделы, таблицы файлов, каталоги и пр.). В качестве устройства может использоваться диск (/dev/sdb) или файл, содержащий образ диска. Инструмент может:
Пакет testdisk: восстановление данных с поврежденных дисковых разделов
Пакет testdisk входит в дистрибутивы Astra Linux, по умолчанию не устанавливается, и может быть установлен командой:
Command |
---|
sudo apt install testdisk |
В состав пакета входят два инструмента:
- testdisk - восстановление повреждённой структуры дисковых разделов и поврежденной файловой структуры в этих разделах;
- photorec - поиск и извлечение видео и изображений из повреждённой файловой структуры путём прямого доступа к данным;
Инструмент testdisk
Инструмент testdisk выполняет анализ информации, хранящейся в заданном блочном устройстве, и пытается найти известные ему структуры данных (дисковые разделы, таблицы файлов, каталоги и пр.). В качестве устройства может использоваться диск (/dev/sdb) или файл, содержащий образ диска. Инструмент может:
- Исправлять ошибки в дисковых разделах и восстанавливать удалённые разделы.
- Восстанавливать загрузочные секторы FAT32/NTFS из резервной копии.
- Пересобирать загрузочные секторы FAT12/FAT16/FAT32/NTFS.
- Исправлять таблицы FAT.
- Исправлять таблицы MFT используя зеркала MFT.
Исправлять ошибки в дисковых разделах и восстанавливать удалённые разделы;Восстанавливать загрузочные секторы 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
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 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 Если таблица разделов на носителе корректна, то будет показана информация о дисковых разделах. В примере выше дисковые разделы не найдены. Если разделы не найдены - следует выбрать пункт "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 - |
VBOX HARDDISK
- sector size=512[Analyse]Analysecurrentpartitionstructureandsearchforlostpartitions
>[Advanced]FilesystemUtils
[Geometry]Changediskgeometry[Options]Modifyoptions
[MBRCode]WriteTestDiskMBRcodetofirstsector
Delete]Deletealldatainthepartitiontable
[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,[second]
[ Type ] >[Superblock] [ List ] [Image Creation] [ Quit ]
Locate ext2/ext3/ext4 backup superblock |
После чего выбрать и выполнить возможные действия:
StartEnd>1*0323351014168192000[first]
2PLinux 171044 85 1 8583168 [second]
[ Type ] >[Superblock] [ List ] [Image Creation] [ Quit ]
Locate ext2/ext3/ext4 backup superblock8192000 [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.
В открывшемся окне выбрать файловую систему, в которой будет производиться поиск файлов,
После чего выбрать и выполнить возможные действия:
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, выбрать нужный дисковый раздел и снова нажать Enter:
Блок кода |
---|
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 |
Выбрать файловую систему, в которой искать файлы и снова нажать 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 [ Free ] Scan for file from ext2/ext3 unallocated space only
>[ Whole ] Extract files from whole partition |
После чего выбрать каталог в который будут копироваться обнаруженные файлы и нажать "C", после чего будет выполнено сканирование данных с сохранением обнаруженных файлов в указанном каталоге.
Инструмент extundelete
Инструмент extundelete входит в дистрибутивы Astra Linux, однако по итогам его применения к использованию не рекомедуется как неработоспособный.
Command |
---|
sudo apt install extundelete |
Command |
---|
Title | sudo 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 Special Edition очередное обновление 1.8. После подключения репозитория инструмент может быть установлен командой:
Command |
---|
sudo apt install ext4magic |
Полная справка по возможностям инструмента доступна в man ext4magic, основные варианты применения:
Попытаться извлечь все файлы из (повреждённой) файловой системы:
Command |
---|
sudo ext4magic -M /dev/имя_дискового_раздела |
Попытаться восстановить удалённые файлы из файловой системы:
Command |
---|
sudo ext4magic -m /dev/имя_дискового_раздела |
По умолчанию извлекаемые файлы сохраняются в подкаталоге RECOVERED текущего рабочего каталога.
Графический инструмент R-Linux
R-Linux — программа для восстановления файловых систем Ext2/Ext3/Ext4, используемых в Linux и некоторых Unix операционных системах (ОС). Разработчик программы - компания R-Tools Technology (Канада). Программа восстанавливает данные с существующих логических дисков, даже если записи файлов утрачены. В программе отсутствует возможность восстановления данных по сети, а также функциональность по реконструкции дисковых массивов и восстановления находящихся на них данных.
Инструмент R-Linux может быть загружен с Web-сайта производителя и установлен командами:
После установки программа доступна в графическом меню в разделе "Системные", или может быть запущена из командной строки командой:
Информация |
---|
После первого запуска программа предложит ознакомиться с лицензионным соглашением и подтвердить согласие с ним. |
Стартовое окно программы:
Image Added
Программа позволяет работать как непосредственно с носителями (дисковыми разделами), так и с образами носителей и дисковых разделов. Возможность создания образов носителей/дисковых разделов также встроена в программу.
Программа обеспечивает поиск и восстановление удаленных файлов, а в случаях, когда структура дисковых разделов изменена или повреждена, R-Link предлагает возможность сканирования накопителя для поиска сохранившихся данных и восстановления дисковых разделов.
Помимо работы с дисковыми разделами и файловыми системами R-Linux может отображать параметры S.M.A.R.T дисковых накопителей, позволяя предсказать возможные их неисправности.
После чего выбрать каталог в который будут копироваться обнаруженные файлы и нажать "C", после чего будет выполнено сканирование данных с сохранением обнаруженных файлов в указанном каталоге.
Инструмент extundelete
Инструмент extundelete входит в дистрибутивы Astra Linux, однако по итогам его применения к использованию не рекомедуется как неработоспособный.
Command |
---|
sudo apt install extundelete |
Command |
---|
Title | sudo 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:
Command |
---|
wget 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 |
Полная справка по возможностям инструмента доступна в man etxt4magic, основные варианты применения:
Попытаться извлечь все файлы из (повреждённой) файловой системы:
Command |
---|
sudo ext4mgic -M /dev/имя_дискового_раздела |
Попытаться восстановить удалённые файлы из файловой системы:
Command |
---|
sudo ext4mgic -m /dev/имя_дискового_раздела |
По умолчанию извлекаемые файлы сохраняются в подкаталоге RECOVERED текущего рабочего каталога.