Red Hat 7, 8 e 9: como iniciar em modo single (rescue e emergency)

O antigo "single" no GRUB mudou a partir do Red Hat 7. Como entrar em modo de manutenção, em modo de emergência e como recuperar a senha de root no RHEL e derivados.

Olá pessoal, tudo bem?

Antigamente, para iniciar o Red Hat em modo single, bastava inserir a palavra single na linha do kernel, no menu do GRUB. A partir do Red Hat 7, com o GRUB 2 e o systemd, isso mudou. Vou mostrar como fazer.

Editando a entrada do GRUB

  1. Reinicie o servidor e, na tela do GRUB, selecione a entrada do kernel com as setas.
  2. Aperte a tecla e para editar.
  3. Vá até a linha que começa com linux (no RHEL 7, linux16) e adicione, no final dela, uma das opções abaixo.
  4. Aperte Ctrl + X para iniciar com a alteração. Ela vale só para esse boot.
💡 No GRUB antigo, o boot depois da edição era com a tecla b. No GRUB 2, é Ctrl + X.

Qual opção usar

# modo de manutenção (equivale ao antigo single): pede a senha de root
systemd.unit=rescue.target

# modo de emergência: o mínimo possível, raiz montada só para leitura
systemd.unit=emergency.target

# para recuperar a senha de root: para antes mesmo de montar o sistema
rd.break
  • rescue.target: monta os sistemas de arquivos e sobe o mínimo de serviços. Use para manutenção quando você tem a senha de root;
  • emergency.target: use quando o rescue não sobe, por exemplo por um erro no /etc/fstab;
  • rd.break: o caminho para quando a senha de root foi perdida.

Na versão original deste post, eu usava init=/bin/sh. Ele continua funcionando e cai direto num shell, mas os modos acima são os documentados pela Red Hat e se comportam melhor com o systemd.

Recuperando a senha de root com rd.break

Depois de iniciar com rd.break, você cai num shell antes do sistema montar a raiz de verdade. A partir daí:

# a raiz real fica em /sysroot, montada só para leitura
mount -o remount,rw /sysroot
chroot /sysroot

# troca a senha
passwd root

# obrigatório com SELinux ativo: reetiqueta os arquivos no próximo boot
touch /.autorelabel

exit
exit
⚠️ Não pule o touch /.autorelabel. Sem ele, o arquivo de senhas fica com o contexto do SELinux errado e ninguém consegue logar. O primeiro boot depois disso demora um pouco mais, por causa do relabel, e é normal.
🚨 Se qualquer pessoa com acesso ao console consegue trocar a senha de root assim, proteja o GRUB com senha (grub2-setpassword) em servidores onde o acesso físico ou ao console não é controlado.

Tudo isso vale também para os derivados do Red Hat, como Rocky Linux, AlmaLinux, Oracle Linux e CentOS Stream.

Considerações Finais

O velho single virou systemd.unit=rescue.target, e a recuperação de senha ganhou o rd.break. Vale guardar este passo a passo, porque normalmente a gente só precisa dele em dia de problema, com pressa e sem internet no console.

Até a próxima.

Abraço

:wq!

Post publicado originalmente em março de 2016 e atualizado em novembro de 2026.

Comentários