Cómo resolver el error del sistema de archivos de solo lectura en Linux

A veces, el sistema de archivos de Linux puede cambiar repentinamente a modo de solo lectura. Es un poco extraño, ya que de repente solo se pueden ver y leer archivos, pero no modificar ni añadir nada. Normalmente, esto ocurre si el sistema detecta errores o daños en el disco. Es un fastidio, sobre todo al intentar solucionar problemas o realizar actualizaciones, porque da la sensación de que Linux se protege de daños mayores bloqueando el sistema de archivos. A veces, reiniciar manualmente o ejecutar una comprobación puede ayudar, pero saber qué comandos y configuraciones ajustar marca la diferencia.

Cómo reparar un sistema de archivos de solo lectura en Linux

Comprobar y editar las opciones de montaje del disco

Esto es lo primero que debe hacer, ya que, en algunas configuraciones, el sistema de archivos podría estar montado en modo de solo lectura desde el inicio, gracias a las opciones establecidas en /etc/fstab. Este archivo controla cómo se montan los discos en cada arranque, incluso si se producen errores. Por lo tanto, si su sistema sigue montando la raíz u otros sistemas de archivos en modo de solo lectura, corregir esto aquí puede ser clave.

  • Abra una terminal y ejecútela cat /etc/fstab: debe buscar una línea como esta:

UUID=00000000-0000-0000-0000-00000000 / ext4 errors=remount-ro 0 1

En esta línea, errors=remount-ro explica por qué se remonta como de solo lectura al detectar problemas. Cambiar esto a errors=continue o errors=panic puede alterar su reacción, pero tenga cuidado, ya que podría ocultar problemas subyacentes.

En la mayoría de los casos, conviene asegurarse de que la línea no se monte explícitamente como de solo lectura a menos que sea necesario. Si está bien en el archivo /etc/fstab, continúe con la siguiente solución.

Identifique su disco con comandos

Conocer el nombre exacto del dispositivo es útil, especialmente si va a ejecutar comprobaciones de disco o a remontarlo. Ejecutar:

$ sudo blkid

Esto genera los UUID y los nombres de los dispositivos, como /dev/sda3. Es útil comparar el UUID con el nombre del dispositivo, ya que, a veces, los dispositivos cambian de orden tras reiniciar.

Otro buen comando es:

$ df -h

Muestra los sistemas de archivos montados y sus puntos de montaje. Si la raíz (/) muestra errores o está en modo de solo lectura, ese es el problema.

Ejecutar una comprobación del sistema de archivos (fsck) manualmente

Esta parte es bastante crítica. Al detectar errores, Linux podría volver a montarse automáticamente como de solo lectura para evitar más daños. Para solucionarlo, debe ejecutar fsck. Normalmente, no es posible hacerlo mientras el sistema de archivos está montado, así que inicie desde un LiveCD o en modo de recuperación. Pero si ya está en una sesión de resolución de problemas con acceso root, puede intentar:

$ sudo fsck -y /dev/sda3

Reemplace /dev/sda3 con su dispositivo. El -yindicador intenta solucionar problemas automáticamente, pero a veces es mejor ejecutarlo sin él para ver qué encuentra primero.

Si prefiere utilizar el UUID, ejecute:

$ sudo fsck -y UUID=00000000-0000-0000-0000-00000000

lo que a veces puede ayudar si el nombre del dispositivo cambia o no es consistente.

Volver a montar el sistema de archivos como escribible inmediatamente

Si no puede reiniciar en modo de recuperación ahora mismo o desea que las cosas se puedan escribir rápidamente, puede volver a montar el sistema de archivos raíz como lectura y escritura con:

$ sudo mount -o remount, rw /

Tenga en cuenta que, si hay errores pendientes, esto es solo una solución temporal. Linux podría volver a montarlo como de solo lectura después de un tiempo. Por lo tanto, siempre es mejor programar una comprobación de disco adecuada con fsck.

Reparación de sistemas de archivos de solo lectura en máquinas virtuales

Si una máquina virtual Linux no arranca repentinamente porque el sistema de archivos es de solo lectura (especialmente tras perder la conexión con el almacenamiento compartido), podría deberse a problemas de volumen. A menudo, la máquina virtual mostrará un mensaje de initramfs con un mensaje como «INCONSISTENCIA INESPERADA».

En ese caso, simplemente escriba exit si es seguro o ejecute:

$ fsck /dev/sda3 -y

Esto ejecuta la comprobación del sistema de archivos manualmente. Para todos los errores de disco, también puede ejecutar:

$ fsck -A -y

que revisa todos los sistemas de archivos conectados a su máquina virtual. Tras las reparaciones, reinicie la máquina virtual y, con suerte, volverá a funcionar. Tenga cuidado: fsckes potente, pero puede causar pérdida de datos si se usa incorrectamente.