Todos nuestros datos importantes se sienten en un sistema de archivos de un tipo u otro, y los problemas del sistema de archivos están obligados a suceder. En Linux, podemos usar el
fsck
Comando para encontrar y reparar errores del sistema de archivos.
Los sistemas de archivos son software
Los sistemas de archivos son uno de los componentes más críticos de una computadora. Sin un sistema de archivos, la computadora no puede almacenar ningún dato en un disco duro, ya sea que esa unidad sea una fuente mecánica de giro o una unidad de estado sólido . De hecho, se debe crear un sistema de archivos antes de que se pueda instalar el sistema operativo en el disco duro. Tiene que haber algo para que los archivos del sistema operativo se almacenen. Por lo tanto, se crea un sistema de archivos durante el proceso de instalación.
Los sistemas de archivos son creado por software , escrito en el software, y leído por software. Como saben, todo el software complejo tiene errores. Nuestros datos son críticamente importantes para nosotros, por lo que estamos poniendo mucha fe en los sistemas de archivos y el software que crea y los usa. Si algo sale mal, podemos perder el acceso a las partes del sistema de archivos o incluso una partición completa.
Moderno Sistemas de archivos de registro son mejores para manejar los problemas que pueden ser causados por una pérdida repentina de poder o un choque del sistema. Son robustos, pero no son invencibles. Si su Las mesas internas se revuelven Pueden perder la pista de dónde reside cada archivo en la unidad, qué tamaño es, qué nombre tiene, y qué permisos de archivos se establecen en ellos.
los
fsck
El comando le permite verificar que sus sistemas de archivos estén sanos. Si encuentra algún problema, generalmente puede arreglarlos para usted también.
Haz los controles previos
Utilizando
fsck
exigir
Privilegios de sudo
. Cualquier comando que pueda realizar cambios en un sistema de archivos debe ser tratado con precaución y restringido a quienes saben lo que están haciendo.
Los pilotos no saltan a un avión, arrancándolo y vuelan en el azul pálido. Hacen verificaciones de previamente. Hay demasiado en juego para hacer lo contrario. Ese es un buen hábito de desarrollarse. Antes de usar
fsck
Debe asegurarse de que lo usará en la unidad correcta. Así que antes de hacer algo con
fsck
, vamos a hacer un poco de reconocimiento.
Vamos a empezar con
fdisk
y pídalo en
menos
. No estamos pidiendo información sobre una partición específica. Utilizando el
-L
Opción (lista)
fdisk
Enumera las tablas de partición en todos los dispositivos que encuentra en el archivo "/ proc / particiones", si existe.
sudo fdisk -l | Menos
Podemos ver las entradas para
/ dev / sda
y
/ dev / sdb
. Puede desplazarse por el archivo para ver cualquier otra entrada que pueda existir en su computadora.
Las particiones en
/ dev / sda
se enumeran como
/ dev / sda1
De
/ dev / sda2
, y
/ dev / sda3
. Así que tenemos tres particiones en la primera unidad. Podemos ver un poco más de información utilizando el
separado
mando. Usaremos el
'impresión'
Opción para mostrar las tablas de partición en la ventana del terminal.
sudo parted / dev / sda 'imprimir'
Obtenemos una información adicional esta vez, incluido el tipo de sistema de archivos en cada partición.
Modelo: ATA VBOBDDISK (SCSI) Disco / Dev / SDA: 34.4GB Tamaño del sector (lógico / físico): 512b / 512b Tabla de partición: GPT Banderas de disco: Número Inicio Tamaño de extremo Nombre del sistema Banderas 1 1049kb 2097kb 1049kb bios_grub 2 2097KB 540MB 538MB FAT32 EFI SYSTEM Partition Boot, ESP 3 540MB 34.4GB 33.8GB EXT4
Hay tres unidades en esta computadora de prueba. Estos son los resultados de las otras dos unidades.
/ dev / sdb
y
/ dev / sdc
. Tenga en cuenta que estos sistemas de archivos no tienen un campo "Nombre".
Sudo parted / dev / SDB 'Imprimir'
Modelo: ATA VBOBDDISK (SCSI) Disco / dev / SDB: 21.5GB Tamaño del sector (lógico / físico): 512b / 512b Tabla de partición: MSDOS Banderas de disco: Número Inicio Tamaño de tamaño Tipo Sistema de archivos Banderas 1 1049KB 21.5GB 21.5GB Primario ext4
sudo parted / dev / sdc 'imprimir'
Modelo: ATA VBOBDDISK (SCSI) Disco / Dev / SDC: 21.5GB Tamaño del sector (lógico / físico): 512b / 512b Tabla de partición: MSDOS Banderas de disco: Número Inicio Tamaño de tamaño Tipo Sistema de archivos Banderas 1 1049kb 21.5GB 21.5GB Primary EXT3
Las segundas y terceras unidades son del mismo tamaño, y cada una tiene una partición única. Pero el sistema de archivos en la segunda unidad es
ext4
y el sistema de archivos en la tercera unidad es la mayor
ext3
.
Pasamos un identificador de partición a
fsck
, y revisa el sistema de archivos en esa partición. Pero no podemos correr
fsck
en un sistema de archivos montado. Necesitamos desmontar la unidad. Para hacerlo, necesitamos conocer el punto de montaje en el que se monta la partición, y, por lo tanto, se monta el sistema de archivos.
Podemos encontrar eso fácilmente usando el
df
mando.
DF / DEV / SDB1
DF / DEV / SDC1
Usando el comando fsck
Tenemos toda la información que necesitamos. Lo primero que haremos es desmontar el sistema de archivos que vamos a verificar. Vamos a trabajar en el sistema de archivos en la primera y única partición de
/ dev / sdb
, cual es
/ dev / sdb1
. Vimos antes que este es un
ext4
Sistema de archivos, y está montado en "/ RUN / MOUNT / DAVE / SATA2".
Usaremos el
umunt
mando. Nota No hay "n" en "Umount".
SUDO UMOUNT / RUN / MOUNT / DAVE / SATA2
Con
umunt
, La ausencia de malas noticias son buenas noticias. Si le devuelven silenciosamente el símbolo del sistema, estamos bien.
sudo fsck / dev / sdb1
Este sistema de archivos se informa como limpio. Eso significa que el sistema de archivos está informando que no tiene errores ni problemas. Una verificación de sistema de archivos más profunda no se lleva a cabo automáticamente. También podemos ver el código de retorno que
fsck
Regresó a la cáscara.
Echo $?
El valor de retorno de cero indica que no hay errores. Los posibles códigos de retorno son:
- 0 : Sin errores
- 1 : Errores de sistema de archivos corregidos
- 2 : El sistema debe ser reiniciado.
- 4 : Errores de sistema de archivos dejados sin corregir
- 8 : ERROR OPERATIVO
- dieciséis : Error de uso o sintaxis.
- 32 : Comprobación cancelada por solicitud de usuario
- 128 : Error de la biblioteca compartida
A pesar de que el sistema de archivos se informa como limpio, podemos forzar una verificación del sistema de archivos para tener lugar, utilizando el
-F
(Forzar) la opción.
sudo fsck / dev / sdb1 -f
Esta vez, el cheque tarda más en completarse, pero realiza una prueba más completa del sistema de archivos. Nuestro sistema de archivos fue de hecho limpio, y no se informan errores. Si se encuentran problemas a medida que se realizan las pruebas, se le pedirá que le permita
fsck
Fije el problema o ignore el error.
Cuando haya terminado de pruebas, debe volver a montar el sistema de archivos. La forma más fácil de hacer esto es usar.
montar
con el
-a
(Toda) opción. Esto comprueba "/ etc / fstab" para la lista de sistemas de archivos, y se asegura de que todos estén montados tal como estarían siguiendo una bota regular.
Sudo Mount -a
Tenga en cuenta que no necesitamos decir
fsck
qué tipo de sistema de archivos está en una partición; la utilidad determina que al examinar el sistema de archivos. Eso significa que podemos forzar una comprobación del sistema de archivos en
/ Dev / sdc1
, los
ext3
sistema de archivos en nuestra PC de prueba, utilizando exactamente el mismo comando que usamos en
/ dev / sdb1
, Que es una
ext4
dividir.
sudo fsck / dev / sdc1 -f
Es posible que no quieren sumergirse directamente en la fijación del sistema de archivos. Es posible que prefiera mirar antes de saltar. Puedes pedir
fsck
No ofrecer a cualquier cosa fija y cuestiones de informes sólo a la ventana de terminal. los
-NORTE
opción (en seco) hace exactamente eso:
sudo fsck -N / dev / sdb1
Lo contrario de esto es que contar
fsck
a no molesta que provocó si se encuentra algún error, y sólo tiene que ir adelante y solucionarlos. Para ello, utilice el
-y
opción (no hay indicaciones).
sudo fsck -y / dev / sdb1
El uso de fsck en la partición raíz
No se puede utilizar
fsck
en una partición montada, pero al arrancar el ordenador la partición raíz debe ser montado. Entonces, ¿cómo podemos ejecutar
fsck
en la partición raíz? La respuesta es interrumpir el proceso de arranque y funcionamiento
fsck
en el modo de recuperación.
Mientras que la computadora se inicia, mantenga presionada la tecla de “cambio”. Si hemos cronometrado justo Usted no arrancar en Linux. El proceso de arranque se detendrá en un menú en blanco y negro. La máquina de prueba utilizado para este artículo fue ejecutando Ubuntu, pero otras distribuciones tienen el mismo tipo de menú, aunque puede variar en apariencia. Donde dice “Ubuntu” en las capturas de pantalla que tendrá el nombre de su distribución.
Mover la barra de selección con las teclas “Flecha arriba” y “Flecha abajo” para que el “Opciones avanzadas para Ubuntu” elemento de menú está seleccionado. Haga clic en “Enter” para pasar a la siguiente pantalla.
Seleccione la opción que termina con “(modo de recuperación).” En nuestro ejemplo, se trata de “Ubuntu, con Linux 5.11.0-20-genérica (modo de recuperación).” Pulse la tecla “Enter”.
Verá el menú de recuperación. Seleccione “fsck comprobar todos los sistemas de archivos” y pulsar la tecla “Tab” para desplazar el cursor sobre el botón “OK”. Pulse la tecla “Enter”.
Usted verá una notificación de que la partición raíz será montado junto con las otras particiones definidas en su archivo “/ etc / fstab” .
Pulse la tecla “Tab” para mover el resaltado en el botón “Sí” y pulse “Enter”.
Verás
fsck
ejecutar en modo interactivo. Si hay problemas que se le pedirá que deje
fsck
corregirlos o hacer caso omiso de ellos. Cuando se han comprobado los sistemas de archivos verá el menú de recuperación de nuevo.
Seleccionar la opción “hoja de vida”, pulse la tecla “Tab” para desplazar el cursor sobre el botón “OK” y pulse “Enter”. El proceso de arranque se reanudará, y usted arrancar en Linux.
El modo de recuperación de arranque puede afectar a algunos conductores, por lo que es una buena práctica para reiniciar el sistema, una vez más, tan pronto como se arranca en Linux. Esto asegura que su equipo está funcionando en su forma estándar.
Cuando las cosas van mal
Las redes de seguridad están ahí por una razón. Llegar a conocer el
fsck
mando. Si surge la necesidad de utilizarlo en la ira, un día, se le alegra que usted familiarizado con antelación.