Вы случайно удалили важные файлы в своей системе Linux и ищете способ их восстановить? Данное руководство покажет вам, как использовать debugfs для восстановления удаленных файлов в Linux. Инструмент debugfs позволяет пользователям получить доступ к информации об inode файловой системы и структурам данных, что делает его эффективным инструментом для восстановления файлов.
Часть 1. Что такое debugfs?
Debugfs - это мощная отладочная программа в операционной системе Linux, которая предоставляет доступ к внутренним структурам данных файловой системы и информации об inode. Разработчики программного ядра часто используют ее для выполнения таких задач, как восстановление файлов и данных.
Debugfs имеет некоторые особенности, которые делают его полезным инструментом для управления файловыми системами. Она предоставляет простой, основанный на оперативной памяти интерфейс для доступа к информации о файловой системе и позволяет пользователям управлять структурами данных inode и выполнять восстановление файлов. Debugfs также предлагает множество других функций, таких как отображение статистики файловой системы и многое другое.
Часть 2. Как использовать debugfs
В среде программного ядра Linux, "debugfs" является широко распространенной файловой системой для драйверов и подсистем. В отличие от других файловых систем, содержимое файлов debugfs генерируется ядром и является специфичным для каждого драйвера или подсистемы. При разработке новых драйверов предпочтение отдается "debugfs", а не "printk", поскольку она обеспечивает более упрощенный процесс включения/выключения и стандартизированный интерфейс.
Условия
Предположим, что ядро собрано со следующими параметрами конфигурации:
CONFIG_DEBUG_FS=y
Монтирование debugfs
Процесс аналогичен другим виртуальным файловым системам, использующим команду "mount". Для монтирования файловой системы "debugfs":
Шаг 1: Создайте точку монтирования. По умолчанию это "/sys/kernel/debug/"; возможно, она уже присутствует.
# mkdir /sys/kernel/debug
Шаг 2: Смонтируйте "debugfs" с помощью команды "mount":
# mount -t debugfs none /sys/kernel/debug
Шаг 3: Используйте команду "cat" для просмотра содержимого файловой системы:
# cat /sys/kernel/debug/gpio
GPIOs 32-63, A:
[ds5] GPIOA6: [gpio] set
[ds1] GPIOA9: [gpio] clear
[sda] GPIOA23: [gpio] set
[scl] GPIOA24: [gpio] set
[Button 3] GPIOA30: [gpio] set
[Button 4] GPIOA31: [gpio] set
GPIOs 64-95, B:
GPIOs 96-127, C:
[udc_vbus] GPIOC5: [gpio] set
[nand_rdy] GPIOC13: [gpio] set
[nand_enable] GPIOC14: [gpio] set
Добавление поддержки "debugfs" в драйвер
API debugfs можно найти в исходных файлах ядра, "fs/debugfs/inode.c" и "fs/debugfs/file.c". Чтобы создать файлы "debugfs" для драйвера или подсистемы, выполните следующие три пункта:
- Определите структуру каталогов
- Разработайте функции работы с файлами для каждого файла
- Зарегистрируйте файлы в файловой системе "debugfs"
Часть 3. Как восстановить удаленные файлы с помощью debugfs в Linux?
Процесс прост.
Шаг 1: Создайте текстовый файл (data.txt) и введите:
echo 'This is a test' > data.txt
Шаг 2: Чтобы отобразить номер inode файла data.txt, введите команду:
ls -li data.txt
Шаг 3: Он обеспечивает вывод данных. Вот пример:
7536648 -rw-r--r-- 1 root root 15 May 3 12:40 data.txt
Обратите внимание на номер inode.
Шаг 4: Предположим, что файловая система находится на /dev/sda2, введите команду
# debugfs -w /dev/sda2
ИЛИ
Если файловой системой является /dev/mapper/wks01-root, введите команду:
# debugfs -w /dev/mapper/wks01-root
Через некоторое время вы получите следующее уведомление:
debugfs 1.41.12 (17-May-2010)
debugfs:
Введите команду ниже, чтобы получить блок данных
debugfs: logdump -i <7536648>
Вы снова получите выходной сигнал. Запишите блоки. Например, (0+1): 7559168 строка
Шаг 5. Используйте следующую команду для удаления файла data.txt
rm data.txt
ls data.txt
Вы получите следующие результаты
ls: cannot access data.txt: No such file or directory.
Шаг 6: Чтобы восстановить файл, введите следующую команду:
# dd if=/dev/mapper/wks01-root of=data.txt bs=4096 count=1 skip=7559168
Шаг 7: Подтвердите, что данные восстановлены.
cat data.txt
Наконец, вы получите результат, например:
This is a test
Часть 4. Лучшая альтернатива debugfs для восстановления удаленных файлов в Linux
Debugfs - это эффективный инструмент в среде Linux; однако у него есть некоторые ограничения, которые необходимо учитывать при принятии решения о его использовании для той или иной задачи. Во-первых, его основное назначение - отладка, и он может не подходить для всех случаев использования.
Кроме того, функциональность "debugfs" может быть сложной и трудной для понимания пользователями с ограниченными техническими знаниями. Тем не менее, вы можете попробовать инструмент Wondesrshare Recoverit Linux Recovery, поскольку он прост в использовании и обладает несколькими функциями восстановления данных, такими как:
Wondershare Recoverit - ваше безопасное и надежное программное обеспечение для восстановления Linux
5 481 435 человек уже скачали.
Восстанавливает потерянные или удаленные документы, фотографии, видео, музыку, электронную почту и другие 1000+ типов файлов эффективно, безопасно и в полном объеме.
Совместим со всеми основными дистрибутивами Linux, включая Ubuntu, Linux Mint, Debian, Fedora, Solus, Opensuse, Manjaro и др.
Помогает в 500+ вариантах потери данных, таких как удаление, форматирование диска, отключение питания, вирусная атака, потеря раздела и многих других.
Работает через удаленное соединение. Вы можете получить данные обратно, даже если ваш компьютер Linux вышел из строя.
Чтобы использовать эту альтернативу "debugfs" для восстановления удаленных файлов, выполните следующие действия:
Для Windows XP/Vista/7/8/10/11
Для macOS X 10.10 - macOS 13
Шаг 1: Запустите инструмент восстановления данных Linux после установки и перейдите к опции "NAS и Linux" в левой части основного интерфейса. Затем нажмите кнопку "Восстановление Linux", чтобы начать процесс восстановления данных.
Шаг 2: Появится новое окно, в котором необходимо ввести информацию, необходимую для удаленного подключения. После заполнения информации инициируйте подключение, нажав кнопку "Подключить".
Шаг 3: После успешного подключения Recoverit начнет автоматическое сканирование для поиска отсутствующих файлов на устройстве Linux. Как только нужный файл будет найден, сканирование можно остановить и восстановить файл.
Шаг 4: После завершения сканирования нажмите на "Предварительный просмотр", чтобы убедиться, что они являются теми файлами, которые необходимы для восстановления. Затем нажмите кнопку "Восстановить", чтобы сохранить файлы.
Альтернативная программа debugfs предложит вам выбрать папку назначения для сохранения восстановленных файлов. Запустите процесс восстановления, нажав кнопку "Восстановить". Для сохранения восстановленных файлов рекомендуется выбрать место, отличное от исходного.
Для Windows XP/Vista/7/8/10/11
Для macOS X 10.10 - macOS 13
Заключение
Когда речь заходит о восстановлении удаленных файлов в Linux, debugfs предлагает эффективное решение для опытных пользователей. Тем не менее, для тех, кто ищет более доступный вариант, Wondershare Recoverit Linux Recovery - отличный выбор. Он упрощает процесс восстановления и гарантирует успешный результат, что делает его надежным решением проблемы потери данных.