Notilinux Mauro  

Solución a: «Input/output error» en Linux

Hay errores de Linux que no dejan demasiado margen para la tranquilidad. Uno de ellos es «Input/output error».

Puede aparecer cuando intentás copiar archivos, acceder a un disco externo, abrir un pendrive o incluso ejecutar alguna operación sobre una partición.

Un ejemplo típico sería:

cp: error reading 'archivo': Input/output error

O también:

Input/output error

Lo importante es no sacar una conclusión demasiado rápido. Este mensaje no significa automáticamente que el disco esté roto. Puede haber un problema con el sistema de archivos, una conexión USB defectuosa, un cable en mal estado o, efectivamente, un problema físico en la unidad.

En este artículo vamos a revisar el problema paso a paso para intentar encontrar la causa antes de tomar medidas más agresivas.

En Linux, una operación de entrada/salida (I/O) es cualquier operación mediante la cual el sistema intenta leer o escribir información en un dispositivo.

Por ejemplo, cuando copiás un archivo desde un disco externo, Linux necesita leer los datos del dispositivo y escribirlos en el destino.

Si el kernel no puede completar correctamente esa operación, puede aparecer un Input/output error.

El mensaje, por sí solo, no identifica la causa exacta. Por eso el primer objetivo no debería ser reparar el disco inmediatamente, sino averiguar qué está fallando.

  • Problemas con el cable USB.
  • Una conexión USB defectuosa o inestable.
  • El dispositivo recibió una desconexión inesperada.
  • Errores en el sistema de archivos.
  • Problemas de alimentación en un disco externo.
  • Errores de lectura o escritura del dispositivo.
  • Un disco HDD, SSD o pendrive que está comenzando a fallar.

Antes de ejecutar cualquier herramienta de reparación, identificá exactamente qué dispositivo está presentando el problema.

Ejecutá:

lsblk -f

Este comando muestra los discos, las particiones, el sistema de archivos y los puntos de montaje.

Podés encontrar una salida similar a:

NAME   FSTYPE FSVER LABEL   SIZE MOUNTPOINTS
sda                       465.8G
├─sda1 ext4               100G /
└─sda2 ext4               365G /home
sdb                       931.5G
└─sdb1 ntfs       Datos   931.5G /media/mauro/Datos

Prestá mucha atención a la identificación del dispositivo. No confundas el disco completo, como /dev/sdb, con una partición, como /dev/sdb1.

Cuando aparece un error de entrada/salida, los mensajes del kernel pueden aportar información mucho más precisa.

Después de reproducir el problema, ejecutá:

sudo dmesg -T | tail -50

También podés consultar el registro del kernel de la sesión actual con:

sudo journalctl -k -b | tail -50

Buscá mensajes relacionados con el dispositivo que presenta el problema.

Por ejemplo, si el problema está relacionado con /dev/sdb, pueden aparecer mensajes donde se mencione sdb, errores de lectura o escritura, o problemas de comunicación con el dispositivo.

Esta información es especialmente importante porque puede ayudarnos a distinguir entre un problema lógico y uno relacionado con el hardware.

Si el error aparece con un pendrive, disco USB o cualquier dispositivo externo, antes de ejecutar una reparación conviene revisar algo tan simple como la conexión.

  • Probá otro puerto USB.
  • Si es posible, probá otro cable.
  • En discos externos que utilizan alimentación independiente, comprobá la fuente de alimentación.
  • Evitá utilizar hubs USB para hacer la prueba.
  • Probá el dispositivo en otro equipo si tenés esa posibilidad.

Si después de cambiar el puerto o el cable el problema desaparece, probablemente no había un problema con el sistema de archivos sino con la comunicación con el dispositivo.

Si la unidad continúa funcionando pero presenta errores, puede existir un problema en el sistema de archivos.

Antes de utilizar herramientas de comprobación, asegurate de que la partición esté desmontada.

sudo umount /dev/sdb1

Reemplazá /dev/sdb1 por la partición correcta.

Para sistemas de archivos Linux compatibles con fsck, podés realizar una comprobación con:

sudo fsck /dev/sdb1

fsck es una interfaz que utiliza las herramientas específicas disponibles para cada tipo de sistema de archivos.

Es importante no ejecutar comandos de reparación a ciegas sobre una partición que esté montada o sobre un dispositivo que no hayas identificado correctamente.

Si utilizás Ubuntu, Linux Mint u otra distribución que incluya Discos (GNOME Disks), también podés realizar determinadas comprobaciones desde una interfaz gráfica.

  1. Abrí la aplicación Discos.
  2. Seleccioná el disco que presenta el problema.
  3. Seleccioná la partición correspondiente.
  4. Si está montada, desmontala.
  5. Abrí las opciones de la partición.
  6. Seleccioná la opción para comprobar o reparar el sistema de archivos, si está disponible.

Esta opción resulta especialmente cómoda cuando el problema está relacionado con una partición que quedó inconsistente después de una desconexión inesperada.

Si los errores de entrada/salida vuelven a aparecer, especialmente en el mismo disco, ya conviene investigar si existe un problema físico.

Para discos compatibles con SMART podés utilizar smartctl, incluido en el paquete smartmontools.

En Debian, Ubuntu y Linux Mint podés instalarlo con:

sudo apt update
sudo apt install smartmontools

Primero podés pedirle a smartctl que busque los dispositivos disponibles:

sudo smartctl --scan-open

Después podés consultar la información SMART del disco correspondiente:

sudo smartctl -a /dev/sdb

Reemplazá /dev/sdb por el dispositivo correcto.

La herramienta puede mostrar información de salud, registros de errores y, cuando el dispositivo lo permite, resultados de pruebas internas.

Si el disco comienza a mostrar errores de hardware, errores no corregibles o indica que está fallando, no conviene seguir intentando repararlo como si fuera un simple problema del sistema de archivos.

La prioridad pasa a ser recuperar los datos.

Si todavía podés acceder a la información, realizá una copia de seguridad hacia otro dispositivo antes de continuar haciendo pruebas.

La documentación de smartctl advierte que un estado de disco fallando debe tomarse como una señal para sacar los datos del dispositivo y ponerlos a salvo. :contentReference[oaicite:1]{index=1}

Que una reparación haya solucionado el problema no significa necesariamente que el dispositivo esté en perfecto estado.

Si el error apareció una sola vez después de una desconexión accidental y nunca volvió a ocurrir, puede haber sido simplemente una inconsistencia del sistema de archivos.

Pero si el mensaje vuelve a aparecer, especialmente durante operaciones de lectura o escritura, conviene investigar el hardware.

El error aparece al copiar archivos

Si solamente determinados archivos generan Input/output error, puede existir un problema localizado en la zona del dispositivo donde están almacenados esos datos.

En ese escenario no conviene asumir que todo se solucionará ejecutando una reparación del sistema de archivos.

El disco desaparece y vuelve a aparecer

Si el dispositivo se desconecta y vuelve a aparecer mientras lo utilizás, prestá especial atención al cable, al puerto USB, a la alimentación y a los mensajes del kernel.

Un problema de comunicación puede producir errores de entrada/salida aunque el sistema de archivos esté correctamente estructurado.

Es un pendrive

Los pendrives también pueden presentar este error. Si el problema aparece repetidamente en distintos equipos, no descartes que la memoria flash esté llegando al final de su vida útil.

Es un disco externo NTFS

Si la unidad utiliza NTFS y fue utilizada previamente desde Windows, primero hay que comprobar que Windows haya cerrado correctamente la partición. Un estado de hibernación o Inicio rápido puede impedir un acceso normal desde Linux.

Cuando aparecen errores de entrada/salida, es tentador empezar a ejecutar comandos de reparación hasta que alguno funcione.

No es una buena estrategia.

  • No ejecutes fsck sobre una partición montada.
  • No ejecutes comandos sobre /dev/sda o /dev/sdb sin verificar primero qué dispositivo es.
  • No formatees la unidad para intentar «solucionar» el error si necesitás conservar los datos.
  • No ignores errores de entrada/salida que aparecen repetidamente.
  • No sigas escribiendo datos en un disco que muestra señales claras de fallo físico si todavía necesitás recuperar información.

Un único error después de desconectar accidentalmente un dispositivo no necesariamente significa que el disco esté muriendo.

La situación es diferente si empezás a encontrar varios de estos síntomas:

  • El disco desaparece y vuelve a aparecer.
  • Las operaciones de lectura son extremadamente lentas.
  • Los archivos dejan de poder abrirse.
  • Los errores aparecen cada vez con mayor frecuencia.
  • SMART informa problemas.
  • El kernel registra repetidamente errores de lectura o escritura.

En ese escenario, la prioridad debería ser salvar los datos y después diagnosticar o reemplazar el dispositivo.

El error «Input/output error» es un mensaje que conviene tomar en serio, pero no hay que asumir automáticamente que significa que el disco está muerto.

Primero identificá correctamente el dispositivo con lsblk -f, revisá los mensajes del kernel, comprobá cables y conexiones si se trata de una unidad externa y, si el problema continúa, revisá el sistema de archivos y la salud del dispositivo.

Si los errores vuelven a aparecer o SMART muestra señales de fallo, no pierdas tiempo intentando reparar una y otra vez la unidad: hacé primero una copia de seguridad de tus datos importantes.

En Linux, un mensaje tan sencillo como «Input/output error» puede ser la primera señal de un problema mucho más serio. Detectarlo a tiempo puede marcar la diferencia entre reparar una unidad y terminar intentando recuperar datos de un disco que ya dejó de funcionar.

La entrada Solución a: «Input/output error» en Linux se publicó primero en NotiLinux.com.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.