¿Desaparece una unidad USB, se desconecta una tarjeta de red, falla una unidad SSD o aparece un error justo después de arrancar? Antes de cambiar la configuración al azar, casi siempre reviso los mensajes del kernel.
Bajo Linux, dmesg Permite leer estos mensajes rápidamente. No es una herramienta mágica, pero suele proporcionar la primera pista útil: un error de E/S, un reinicio del dispositivo USB, firmware faltante, un controlador defectuoso o una conexión de red inestable.
En esta guía, te mostraré cómo usar dmesg En realidad, crúzalo con journalctl -kFiltra las líneas útiles y evita la falsa buena idea de cambiar una opción del sistema antes de comprender el mensaje.

Lo que realmente muestra dmesg
dmesg Muestra el búfer de mensajes del kernel de Linux. En términos más sencillos, allí encontrará eventos de bajo nivel: detección de hardware, controladores, errores de disco, USB, red, ACPI, firmware, memoria, montaje de dispositivos, etc.
En una máquina moderna, algunos de estos mensajes también son visibles en el registro de systemd. Por eso te recomiendo tener ambos comandos a mano: dmesg para una lectura rápida, journalctl -k para una lectura más clara en el registro del sistema.
dmesg
En algunas distribuciones, la lectura puede requerir privilegios de administrador. Si recibe un error de permisos, inténtelo de nuevo con sudo.
sudo dmesg
La página del manual de dmesg Detalla todas las opciones. Para diagnósticos rutinarios, unos pocos comandos son más que suficientes.
Lee las últimas líneas sin ahogarte
Lo primero que hay que hacer es no mostrar 800 líneas a la vez. Cuando acaba de ocurrir un problema, empiece por el final del registro del kernel.
sudo dmesg -T | tail -n 80
la opción -T hace que las fechas sean más legibles. Tenga en cuenta que, si bien este formato es conveniente para una lectura rápida, no reemplaza un análisis exhaustivo de los periódicos si está comparando eventos muy específicos. Para eso, journalctl sigue siendo más cómodo.
También puede mostrar solo advertencias y errores:
sudo dmesg -T --level=err,warn
Si el comando no devuelve nada, no es necesariamente una mala señal. Simplemente significa que el kernel no ha registrado ningún error o advertencia reciente en ese búfer.
Filtrar un problema de USB, disco o red
El verdadero ahorro de tiempo se consigue al filtrar. Si buscas la razón por la que una unidad USB no se monta, por qué un disco duro falla o por qué una tarjeta de red se reinicia, no leas todo. Busca las palabras que correspondan al hardware.
sudo dmesg -T | grep -iE 'usb|sda|sdb|nvme|ata|error|fail|reset'
Cabe destacar que las líneas a las que hay que prestar atención suelen ser bastante autoexplicativas: error de E/S, reiniciar, comando fallido, blk_update_request, error de lectura, error de escrituraSi ves este tipo de mensaje repetidamente, no empieces por reescribirlo. /etc/fstabPrimero, compruebe el cable, la carcasa USB, la fuente de alimentación y, a continuación, el estado del disco.
Para un dispositivo USB, haga referencia cruzada con los comandos que ya se ven en la guía en el Puertos USB en Linux o el de la montar una llave USB. dmesg te dice lo que observa el núcleo, pero lsusb, lsblk Y encontrar Ayuda a comprender qué es lo que realmente se detecta y se instala.
lsblk -o NOMBRE,TAMAÑO,TIPO DE SISTEMA DE SERVICIO,ETIQUETA,UUID,PUNTOS DE MONTAJE
encontrar
lsusb
Para un problema de red, busque el nombre de la interfaz o términos como enlace, renombrado, firmware, se acabó el tiempo, abajo, arribaSi el tema se refiere principalmente a la escucha de puertos TCP, cambie a ss o netstat, porque dmesg No reemplaza un inventario de red.
Siga las instrucciones mientras conecta el equipo.
Cuando un dispositivo se desconecta intermitentemente, la forma más sencilla es monitorizar los mensajes en tiempo real. Abre una terminal, ejecuta el comando y, a continuación, conecta el disco, la unidad USB o el adaptador de red.
sudo dmesg -wH
-w seguir nuevos mensajes. -H Hace que la salida sea más legible. Si prefiere permanecer en el registro de systemd, utilice:
sudo journalctl -k -f
La página del manual de diarioctl Esto resulta útil si se desea refinar la búsqueda por inicio, prioridad o unidad. En caso de un fallo de hardware simple, la monitorización en tiempo real suele ser suficiente para comprobar si el kernel detecta la bifurcación y, posteriormente, el error.
Consultar la última versión del inicio con journalctl.
dmesg Es rápido, pero no me detengo ahí si el problema afecta a un servidor o se repite tras un reinicio. El registro de systemd permite releer los mensajes del kernel del arranque actual, con sus propios filtros.
sudo journalctl -k -b --no-pager
sudo journalctl -k -b -p warning..alert --no-pager
El primer comando muestra los mensajes del kernel del proceso de arranque actual. El segundo solo conserva las advertencias, los errores y las alertas. Esto resulta útil después de un reinicio en el que falló el montaje, una interfaz de red no se montó correctamente o un controlador informó de un problema durante el arranque.
Si acabas de modificar /etc/fstabNo reinicies solo para ver. Prueba primero el ensamblaje y verifica si hay errores. La guía en fstab en Linux Este punto debe explicarse en detalle, ya que una mala conexión puede bloquear el inicio más rápido de lo que uno podría imaginar.
sudo mount -a
encontrar
sudo journalctl -k -b -p warning..alert --no-pager
Saber cuándo el mensaje indica un problema real de hardware.
Una línea aislada en dmesg Esto no siempre es suficiente para llegar a una conclusión. Un dispositivo USB puede reiniciarse una vez sin que sea grave. Sin embargo, un error que se repite con cada copia, una unidad que alterna entre desconectarse y conectarse, o errores de entrada/salida repetidos deben tomarse en serio.
En este caso, realizo tres comprobaciones antes de modificar la configuración:
- Cambie el cable, el puerto USB o la fuente de alimentación si el dispositivo es externo;
- verificar que el disco esté correctamente identificado con
lsblkYnegro; - Comprueba el estado SMART para saber si se trata de un disco duro o una unidad SSD.
lsblk -o NOMBRE,TAMAÑO,MODELO,NÚMERO DE SERIE,TIPO DE SISTEMA DE ARCHIVO,PUNTOS DE MONTAJE
sudo blkid
sudo smartctl -a /dev/sdX
Reemplazar /dev/sdX por el disco correcto. No copie este comando a ciegas en una máquina con varios discos. Si no está seguro, deténgase en lsblk e identifique el modelo, el tamaño y el punto de montaje antes de continuar.
Antes de corregir, anote el error exacto.
El mejor uso de dmesgEl objetivo no es encontrar una solución milagrosa, sino detectar un error específico antes de actuar. Copie algunas líneas alrededor del mensaje, anote la hora, el dispositivo involucrado y la acción que desencadena el problema.
sudo dmesg -T | tail -n 120 > core-diagnostic.txt
sudo journalctl -k -b -p warning..alert --no-pager >> core-diagnostic.txt
Solo entonces podrás decidir: qué cable reemplazar, qué disco hacer una copia de seguridad, qué controlador revisar, qué regla de fstab corregir, qué firmware instalar o qué servicio monitorizar. Este paso parece básico, pero evita muchos diagnósticos absurdos, sobre todo en el caso de fallos intermitentes.
Si administras una máquina remota, ten aún más cuidado. Un error de disco o de red detectado por el kernel puede interrumpir tu acceso. Mantén una sesión abierta, proporciona acceso a la consola si es posible y no reinicies hasta que comprendas qué te está indicando el kernel.