Um pen drive desaparece, uma placa de rede desconecta, um SSD apresenta mau funcionamento ou o computador exibe um erro logo após a inicialização? Antes de alterar a configuração aleatoriamente, quase sempre verifico as mensagens do kernel.
No Linux, dmesg Permite ler essas mensagens rapidamente. Não é uma ferramenta mágica, mas muitas vezes fornece a primeira pista útil: um erro de E/S, um dispositivo USB reiniciado, firmware ausente, um driver com problemas ou uma conexão de rede instável.
Neste guia, mostrarei como usar dmesg Em termos mais precisos, cruze-o com journalctl -kFiltre as linhas úteis e evite a falsa ideia de alterar uma opção do sistema antes de entender a mensagem.

O que o dmesg realmente exibe
dmesg Exibe o buffer de mensagens do kernel do Linux. Em termos mais simples, você encontrará eventos de baixo nível ali: detecção de hardware, drivers, erros de disco, USB, rede, ACPI, firmware, memória, montagem de dispositivos, etc.
Em máquinas modernas, algumas dessas mensagens também são visíveis no log do systemd. Por isso, recomendo que você mantenha ambos os comandos à mão: dmesg para leitura rápida, journalctl -k Para uma leitura mais clara no registro do sistema.
dmesg
Em algumas distribuições, a leitura pode exigir privilégios de administrador. Se você receber um erro de permissões, tente novamente com sudo.
sudo dmesg
A página de manual do dmesg Ele detalha todas as opções. Para diagnósticos de rotina, alguns comandos já são mais do que suficientes.
Leia as últimas linhas sem se afogar.
A primeira coisa a fazer é não exibir 800 linhas de uma só vez. Quando um problema acabou de ocorrer, comece pelo final do log do kernel.
sudo dmesg -T | tail -n 80
A opção -T torna as datas mais legíveis. Observe que, embora esse formato seja conveniente para uma leitura rápida, ele não substitui uma análise completa dos jornais se você estiver comparando eventos muito específicos. Para isso, journalctl continua sendo mais confortável.
Você também pode exibir apenas avisos e erros:
sudo dmesg -T --level=err,warn
Se o comando não retornar nada, não é necessariamente um mau sinal. Significa simplesmente que o kernel não registrou nenhum erro ou aviso recente nesse buffer.
Filtrar um problema de USB, disco ou rede
A verdadeira economia de tempo acontece quando você usa filtros. Se você está procurando saber por que um pen drive não monta, por que um disco rígido está com defeito ou por que uma placa de rede está reiniciando, não leia tudo. Procure pelas palavras que correspondem ao hardware.
sudo dmesg -T | grep -iE 'usb|sda|sdb|nvme|ata|erro|falha|reset'
Para constar, as frases a que se deve estar atento são geralmente bastante autoexplicativas: Erro de E/S, reiniciar, comando falhou, blk_update_request, erro de leitura, erro de gravaçãoSe você vir esse tipo de mensagem repetidamente, não comece reescrevendo-a. /etc/fstabPrimeiro verifique o cabo, a caixa USB, a fonte de alimentação e, em seguida, o estado do disco.
Para um dispositivo USB, consulte os comandos já apresentados no guia. Portas USB no Linux ou aquele que está no montando uma chave USB. dmesg Diz o que o núcleo observa, mas lsusb, lsblk E descobri Ajudar a compreender o que foi efetivamente detectado e instalado.
lsblk -o NOME,TAMANHO,TIPO DE FS,RÓTULO,UUID,PONTOS DE MONTAGEM
descobri
lsusb
Para problemas de rede, procure pelo nome da interface ou termos como link, renomeado, firmware, tempo esgotado, abaixo, acimaSe o assunto se referir principalmente à escuta de portas TCP, mude para ss ou netstat, porque dmesg Não substitui um inventário de rede.
Acompanhe as mensagens enquanto conecta o equipamento.
Quando um dispositivo se desconecta intermitentemente, a maneira mais fácil é monitorar as mensagens em tempo real. Abra um terminal, execute o comando e, em seguida, conecte o disco, a unidade USB ou o adaptador de rede.
sudo dmesg -wH
-c acompanhe novas mensagens. -H Isso torna a saída mais legível. Se preferir permanecer no log do systemd, use:
sudo journalctl -k -f
A página de manual do jornalctl Isso é útil se você quiser refinar a busca por inicialização, prioridade ou unidade. Para uma falha de hardware simples, o monitoramento em tempo real geralmente é suficiente para verificar se o kernel detecta a ramificação e, em seguida, o erro.
Compare com o journalctl para obter informações sobre a última inicialização.
dmesg É rápido, mas não paro por aí se o problema afetar um servidor ou reaparecer após uma reinicialização. O log do systemd permite reler as mensagens do kernel da inicialização atual, com seus próprios filtros.
sudo journalctl -k -b --no-pager
sudo journalctl -k -b -p warning..alert --no-pager
O primeiro comando exibe as mensagens do kernel do processo de inicialização atual. O segundo mantém apenas avisos, erros e alertas. Isso é útil após uma reinicialização em que uma montagem falhou, quando uma interface de rede não está montada corretamente ou quando um driver relata um problema na inicialização.
Se você acabou de modificar /etc/fstabNão reinicie apenas para ver o que acontece. Teste a montagem primeiro e verifique se há erros. O guia sobre fstab no Linux Este ponto precisa ser explicado em detalhes, pois uma conexão defeituosa pode bloquear a inicialização mais rápido do que você imagina.
sudo mount -a
descobri
sudo journalctl -k -b -p warning..alert --no-pager
Saber quando a mensagem indica um problema real de hardware
Uma linha isolada em dmesg Isso nem sempre é suficiente para tirar uma conclusão. Um dispositivo USB pode se reiniciar sozinho uma vez sem que isso seja grave. No entanto, um erro que se repete a cada cópia, uma unidade que alterna entre desconectar e reconectar, ou erros repetidos de E/S devem ser levados a sério.
Neste caso, realizo três verificações antes de alterar a configuração:
- Se o dispositivo for externo, troque o cabo, a porta USB ou a fonte de alimentação;
- Verifique se o disco está corretamente identificado com
lsblkEblkid; - Verifique o status SMART para saber se é um disco rígido ou um SSD.
lsblk -o NOME,TAMANHO,MODELO,SERIAL,TIPO DE FS,PONTOS DE MONTAGEM
sudo blkid
sudo smartctl -a /dev/sdX
Substituir /dev/sdX pelo disco correto. Não copie este comando cegamente para uma máquina com vários discos. Se você não tiver certeza, pare em lsblk e identifique o modelo, o tamanho e o ponto de montagem antes de prosseguir.
Antes de corrigir, anote o erro exato.
O melhor uso de dmesgO objetivo não é encontrar uma solução mágica. É capturar um erro específico antes de tomar qualquer ação. Copie algumas linhas da mensagem, anote a hora, o dispositivo envolvido e a ação que desencadeia o problema.
sudo dmesg -T | tail -n 120 > core-diagnostic.txt
sudo journalctl -k -b -p warning..alert --no-pager >> core-diagnostic.txt
Só então você poderá decidir: qual cabo substituir, qual disco fazer backup, qual driver verificar, qual regra do fstab corrigir, qual firmware instalar ou qual serviço monitorar. Essa etapa parece básica, mas evita muitos diagnósticos absurdos, principalmente para falhas intermitentes.
Se você estiver administrando uma máquina remota, tenha ainda mais cuidado. Um erro de disco ou de rede detectado no kernel pode eventualmente bloquear seu acesso. Mantenha uma sessão aberta, forneça acesso ao console, se possível, e não reinicie o sistema até entender o que o kernel está tentando lhe dizer.