Hablando del método

  
de eliminación de archivos del sistema de archivos de Linux

Como un sistema operativo multiusuario y multitarea, una vez que se eliminan los archivos de Linux, es difícil recuperarlos. Aunque el comando de eliminación simplemente elimina la marca en el nodo del archivo y en realidad no borra el contenido del archivo, otros usuarios y algunos procesos que tienen acciones de escritura sobrescribirán rápidamente los datos. Sin embargo, para el Linux utilizado por la familia, o si lo soluciona después de eliminar accidentalmente el archivo, aún puede recuperarlo.

1. Breve introducción de la estructura del sistema de archivos Ext2

En el sistema de archivos Ext2 utilizado por Linux, los archivos se almacenan en bloques. Por defecto, el tamaño de cada bloque es de 1K. Diferentes bloques se distinguen por números de bloque. Cada archivo también tiene un nodo, que contiene información como el propietario del archivo, los permisos de lectura y escritura y el tipo de archivo. Para un archivo de menos de 12 bloques, el número de bloque del archivo se almacena directamente en el nodo. Si el archivo tiene más de 12 bloques, el nodo almacena el número de bloque de un bloque indirecto después de los 12 números de bloque. En el bloque correspondiente al número de bloque indirecto, se almacena el número de bloque de 256 bloques de datos (cada bloque en Ext2fs) El número ocupa 4 bytes, por lo que el número de bloque que se puede almacenar en un bloque es 1024/4 = 256). Si hay un archivo más grande, habrá un bloque indirecto secundario y un bloque indirecto terciario en el nodo.

2. Recuperar archivos que se eliminaron accidentalmente

La mayoría de las distribuciones de Linux proporcionan una herramienta de depuración que se puede usar para editar el sistema de archivos Ext2. Sin embargo, todavía hay mucho trabajo por hacer antes de usar esta herramienta.

Primero vuelva a montar la partición donde se eliminó el archivo por error. Use el siguiente comando: (asumiendo que el archivo está en la partición /usr)

mount? Cr? Cn? Co remount /usr

-r significa montaje en modo de solo lectura; -n significa no escribir /Etc /mtab, si es para restaurar el archivo en /etc, agregue este parámetro. Si el sistema dice que la partición xxx está ocupada, puede usar el comando del fusor para ver qué procesos están usando esta partición? N:

fuser? Cv? Cm /usr

Si no hay procesos importantes, Deténgalos con el siguiente comando:

fuser -k? Cv? Cm /usr

Luego puede volver a montar estos sistemas de archivos.

Si instala todos los archivos en una partición grande, puede usar linux single para ingresar al modo de usuario único en el indicador de inicio, para minimizar la posibilidad de que el sistema procese la escritura de datos en el disco duro, o Simplemente cuelgue el disco duro en otra máquina. Además, la información recuperada no debe estar escrita /arriba para evitar destruir información útil. Si tiene dos /windows en su máquina, puede escribir en estas particiones:

mount? Cr? Cn /dev /hda1 /mnt /had

Luego puede ejecutar debugfs: (asumiendo que Linux es /dev /hda5)

#debugfs /dev /hda5

Aparecerá el debugfs de debugfs:

Use el comando lsdel para obtener información sobre muchos archivos eliminados. :

debugfs: lsdel

debugfs: Se encontraron 2692 inodos eliminados.

Inodo Propietario Modo Tamaño Bloques Tiempo borrado

164821 0 100600 8192 1/1 Sol 13 de mayo 19:22:46 2001 ................................................................................

36137 0 100644 4 1 /1 mar 24 de abril 10:11:15 2001

196829 0 100644 149500 38/38 lun 27 de mayo 13:52:04 2001

debugfs:
Hay muchos archivos listados (Encontrado 2692 aquí), el primer campo es el número de nodo del archivo, el segundo campo es el propietario del archivo, el tercer campo es el permiso de lectura y escritura, luego el tamaño del archivo, el número de bloques, el tiempo de eliminaciónLuego puede juzgar cuáles necesitamos según el tamaño del archivo y la fecha de eliminación. Por ejemplo, queremos restaurar el archivo cuyo nodo es 196829:

Primero puede verificar el estado del archivo:

debugfs: stat < 196829 >

Inode: 196829 Tipo: Modo normal : 0644 Banderas: 0x0 Versión: 1

Usuario: 0 Grupo: 0 Tamaño: 149500

Archivo ACL: 0 Directorio ACL: 0

Enlaces: 0 Cantidad de bloques: 38 < Br>

Fragmento: Dirección: 0 Número: 0 Tamaño: 0

ctime: 0x31a9a574 - Mon May 27 13:52:04 2001

atime: 0x31a21dd1 - Tue May 21 20:47:29 2001

mtime: 0x313bf4d7 - Tue Mar 5 08:01:27 2001

dtime: 0x31a9a574 - Lun May 27 13:52:04 2001

BLOQUES:

594810 594811 594

Copyright © Conocimiento de Windows All Rights Reserved