Recuperar archivos borrados en Linux con debugfs y su alternativa

Cómo recuperar archivos usando debugfs en Linux

Descubre el poder de debugfs en Linux y cómo utilizarlo para recuperar archivos. Esta guía cubre el acceso a la información del inodo de los archivos y la recuperación de datos perdidos.

Descarga | Win Descarga | Mac

¿Has borrado accidentalmente archivos importantes de tu sistema Linux y buscas una forma de recuperarlos? No busques más, ya que esta guía te mostrará cómo utilizar debugfs para recuperar archivos borrados en Linux. La herramienta debugfs permite a los usuarios acceder a la información del inodo y a las estructuras de datos de un sistema de archivos, lo que la convierte en una potente herramienta para la recuperación de archivos.

Parte 1. ¿Qué es debugfs?

Debugfs es una potente utilidad de depuración del sistema operativo Linux que permite acceder a las estructuras de datos internas y a la información de los inodos de un sistema de archivos. Los desarrolladores del kernel suelen utilizarla para realizar tareas como la eliminación de archivos y la recuperación de Datos.

recuperación de archivos con debugfs en linux

Debugfs tiene algunas características que lo convierten en una herramienta útil para administrar sistemas de archivos. Proporciona una interfaz sencilla basada en RAM para acceder a la información del sistema de archivos y permite a los usuarios manipular las estructuras de datos de los inodos y realizar la eliminación de archivos. Debugfs también ofrece muchas otras funciones, como mostrar estadísticas del sistema de archivos y otras más. 

Parte 2. Cómo utilizar debugfs

En el entorno del Núcleo Linux, debugfs es un sistema de archivos ampliamente adoptado para controladores y subsistemas. A diferencia de otros sistemas de archivos, el contenido de los archivos debugfs lo genera el núcleo y es específico de cada controlador o subsistema. Cuando se desarrollan nuevos controladores, se prefiere debugfs a las declaraciones printk, ya que proporciona un proceso más racionalizado para habilitar/deshabilitar y una interfaz estandarizada.

Requisitos previos

Supongamos que el núcleo se construye con las siguientes opciones de configuración:

CONFIG_DEBUG_FS=y

Montar debugfs

El proceso es similar al de otros sistemas de archivos virtuales que utilizan el comando mount. Para montar el sistema de archivos debugfs

Paso 1: Crea un punto de montaje. Por defecto es /sys/kernel/debug/; puede que ya esté presente.

# mkdir /sys/kernel/debug

Paso 2: Monta debugfs utilizando el comando mount:

# mount -t debugfs none /sys/kernel/debug

Paso 3: Utiliza el comando cat para ver el contenido del sistema de archivos:

# 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

Añadir soporte debugfs a un controlador

La API debugfs se encuentra en los archivos fuente del núcleo, fs/debugfs/inode.c y fs/debugfs/file.c. Para crear archivos debugfs para un controlador o subsistema, sigue estos tres pasos:

  • Determina la estructura de directorios
  • Desarrollar funciones de operación de archivos para cada archivo
  • Registra los archivos en el sistema de archivos debugfs

Parte 3. ¿Cómo recuperar archivos borrados utilizando debugfs en Linux?

El proceso es sencillo.

Paso 1: Crea un archivo de texto (data.txt) e introduce:

echo 'Esto es una prueba' > data.txt

Paso 2: Para mostrar el número de inodo de data.txt, introduce el comando

ls -li data.txt

Paso 3: Proporciona una salida. Aquí tienes un ejemplo:

7536648 -rw-r--r-- 1 root root 15 May 3 12:40 data.txt

Observa el número de inodo.

Paso 4: Supón que el sistema de archivos está en /dev/sda2, introduce el comando

# debugfs -w /dev/sda2

O

Si el sistema de archivos está en /dev/mapper/wks01-root, escribe el comando:

# debugfs -w /dev/mapper/wks01-root

Al cabo de un rato, recibirás el siguiente aviso:

debugfs 1.41.12 (17-mayo-2010)
debugfs:

Escribe el siguiente comando para obtener un bloque de datos

debugfs: logdump -i <7536648>

Recibirás de nuevo una salida. Anota los bloques. E.g. (0+1): 7559168 línea

Paso 5. Utiliza el siguiente comando para eliminar el archivo data.txt

rm data.txt
ls data.txt

Recibirás una salida como la siguiente

ls: no se puede acceder a datos.txt: No such file or directory.

Paso 6: Para recuperar el archivo, escribe el siguiente comando:

# dd if=/dev/mapper/wks01-root of=data.txt bs=4096 count=1 skip=7559168

Paso 7: Confirma que los datos se han recuperado.

cat data.txt

Finalmente, recibirás una salida como:

Esto es una prueba

Parte 4. La Mejor Alternativa a debugfs para Recuperar Archivos Borrados de Linux

Debugfs es una herramienta potente en el entorno Linux; sin embargo, tiene algunas limitaciones que hay que tener en cuenta a la hora de decidir si utilizarla para una tarea determinada. En primer lugar, su finalidad principal es la depuración, y puede no ser adecuada para todos los casos de uso.

Además, la funcionalidad de debugfs puede ser compleja y difícil de entender para los usuarios con conocimientos técnicos limitados. No obstante, puedes probar Wondesrshare Recoverit Linux Recovery ya que es fácil de usar y posee varias funciones de recuperación de Datos, como:

Wondershare Recoverit - Tu Software de Recuperación Linux Seguro y Confiable

5.481.435 personas lo han descargado.

Recupera documentos, fotos, videos, música, correos electrónicos y otros más de 1000 tipos de archivos perdidos o eliminados de forma eficaz, segura y completa.

Compatible con todas las principales distribuciones de Linux, como Ubuntu, Linux Mint, Debian, Fedora, Solus, Opensuse, Manjaro, etc.

Asiste en más de 500 escenarios de pérdida de datos, como borrado, formateo de disco, corte de corriente, ataque de virus, pérdida de partición, y muchos más.

Funciona a través de una conexión remota. Puedes recuperar datos incluso cuando tu computadora Linux se bloquea.

Para utilizar esta alternativa a debugfs para recuperar archivos borrados, sigue estos pasos:

Descargar gratis

Para Windows XP/Vista/7/8/10/11

Descargar gratis

Para macOS X 10.10 - macOS 13

Paso 1: Ejecuta la herramienta de recuperación de Datos de Linux después de instalarla y navega hasta la sección NAS y Linux en la parte izquierda de la interfaz principal. Desde allí, haz clic en el botón Recuperación de Linux para iniciar el proceso de recuperación de Datos.

seleccionar recuperación de linux

Paso 2: Aparecerá una nueva ventana en la que deberás introducir la información necesaria para la conexión remota. Una vez completada la información, inicia la conexión haciendo clic en el botón Conectar.

recuperar archivos mediante conexión remota

Paso 3: Tras una conexión satisfactoria, Recoverit iniciará un escaneo automático para buscar cualquier archivo que falte en el dispositivo Linux. Una vez localizado el archivo deseado, se puede detener el escaneo y restaurar el archivo.

escanea tu computadora linux con recoverit

Paso 4: Una vez finalizado el escaneo previsualiza los archivos para asegurarte de que son los deseados para la recuperación. A continuación, pulsa el botón Recuperar para guardar los archivos.

recuperar archivos borrados en linux

El software alternativo debugfs te pedirá que selecciones la carpeta de destino para guardar los archivos recuperados. Inicia el proceso de recuperación haciendo clic en el botón Recuperar. Por buenas prácticas, se sugiere elegir una ubicación distinta de la original para guardar los archivos recuperados.

recuperar archivos borrados en linux
Descargar gratis

Para Windows XP/Vista/7/8/10/11

Descargar gratis

Para macOS X 10.10 - macOS 13

Conclusión

Cuando se trata de recuperar archivos borrados en Linux, debugfs ofrece una solución potente para usuarios experimentados. Aun así, para quienes busquen una opción más accesible, Wondershare Recoverit Linux Recovery es una gran elección. Simplifica el proceso de recuperación y garantiza resultados satisfactorios, por lo que es una solución fiable para la pérdida de datos.