Use o console serial para acessar o GRUB e o modo de usuário único
Aplica-se a: ✔️ VMs do Linux
Observação
O CentOS mencionado neste artigo é uma distribuição Linux e chegará ao fim da vida útil (EOL). Considere seu uso e planeje adequadamente. Para obter mais informações, consulte Diretrizes de fim da vida útil do CentOS.
GRand Unified Bootloader (GRUB) é provavelmente a primeira coisa que você vê ao inicializar uma máquina virtual (VM). Como é exibido antes do início do sistema operacional, o GRUB não pode ser acessado via SSH. No GRUB, você pode modificar sua configuração de inicialização para inicializar no modo de usuário único, entre outras coisas.
O modo de usuário único é um ambiente mínimo com funcionalidade mínima. Pode ser útil para investigar problemas de inicialização, problemas de sistema de arquivos ou problemas de rede. Menos serviços podem ser executados em segundo plano e, dependendo do nível de execução, um sistema de arquivos pode nem ser montado automaticamente.
O modo de usuário único também é útil em situações em que sua VM pode ser configurada para aceitar apenas chaves SSH para entrada. Nesse caso, você pode usar o modo de usuário único para criar uma conta com autenticação de senha.
Observação
O serviço Serial Console permite que apenas usuários com nível contributor ou permissões superiores acessem o console serial de uma VM.
Para entrar no modo de usuário único, digite GRUB quando sua VM estiver inicializando e modifique a configuração de inicialização no GRUB. Veja as instruções detalhadas para entrar no GRUB na próxima seção. Em geral, se sua VM foi configurada para exibir GRUB, você pode usar o botão reiniciar no console serial de sua VM para reiniciar a VM e exibir GRUB.
Acesso geral ao GRUB
Para acessar o GRUB, reinicie sua VM enquanto o painel Serial Console estiver aberto. Algumas distribuições exigem a entrada do teclado para mostrar o GRUB e outras mostram o GRUB automaticamente por alguns segundos para permitir que a entrada do teclado do usuário cancele o tempo limite.
Para poder acessar o modo de usuário único, você deseja garantir que o GRUB esteja habilitado em sua VM. Dependendo da sua distribuição, pode ser necessário algum trabalho de configuração para garantir que o GRUB esteja habilitado. Para obter mais informações específicas da distribuição, veja a próxima seção.
Reinicie sua VM para acessar o GRUB no console serial
Você pode reiniciar sua VM no console serial passando o mouse sobre o botão Reiniciar e selecionando Reiniciar VM. Uma notificação sobre a reinicialização é exibida na parte inferior do painel.
Você também pode reiniciar sua VM executando um comando SysRq "b" se SysRq estiver ativado. Para saber o que esperar do GRUB ao reinicializar, consulte as instruções específicas da distribuição nas próximas seções.
Acesso geral ao modo de usuário único
Você pode precisar de acesso manual ao modo de usuário único quando não configurou uma conta com autenticação de senha. Modifique a configuração do GRUB para entrar manualmente no modo de usuário único. Depois de fazer isso, consulte a seção "Usar o modo de usuário único para redefinir ou adicionar uma senha" para obter mais instruções.
Se a VM não conseguir inicializar, as distribuições geralmente colocam você automaticamente no modo de usuário único ou no modo de emergência. Outras distribuições, no entanto, requerem configuração adicional, como a configuração de uma senha de root, antes que possam colocá-lo automaticamente no modo de usuário único ou de emergência.
Use o modo de usuário único para redefinir ou adicionar uma senha
Depois que estiver no modo de usuário único, adicione um novo usuário com privilégios sudo fazendo o seguinte:
- Execute
useradd <username>
para adicionar um usuário. - Execute
sudo usermod -a -G sudo <username>
para conceder privilégios raiz ao novo usuário. - Use
passwd <username>
para definir a senha para o novo usuário. Você pode entrar como o novo usuário.
Acesso para Red Hat Enterprise Linux (RHEL)
Se o RHEL não puder inicializar normalmente, ele o colocará no modo de usuário único automaticamente. No entanto, se você não configurou o acesso root para o modo de usuário único, não possui uma senha root e não pode entrar. Há uma solução alternativa (consulte a seção "Entrar manualmente no modo de usuário único no RHEL"), mas sugerimos que você configure o acesso root inicialmente.
Acesso GRUB no RHEL
RHEL vem com GRUB habilitado pronto para uso. Para entrar no GRUB, reinicie sua VM executando sudo reboot
e pressione qualquer tecla. O painel GRUB deve ser exibido. Se não estiver, certifique-se de que as seguintes linhas estejam presentes em seu arquivo GRUB (/etc/default/grub
):
Para RHEL 8
Observação
A Red Hat recomenda usar o Grubby para configurar os parâmetros da linha de comando do kernel no RHEL 8. No momento, não é possível atualizar o tempo limite do grub e os parâmetros do terminal usando o grubby. Para modificar a atualização do argumento GRUB_CMDLINE_LINUX para todas as entradas de inicialização, execute grubby --update-kernel=ALL --args="console=ttyS0,115200 console=tty1 console=ttyS0 earlyprintk=ttyS0"
. Mais detalhes estão disponíveis aqui.
GRUB_TIMEOUT=5
GRUB_TERMINAL="serial console"
GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0 earlyprintk=ttyS0"
Para RHEL 7
GRUB_TIMEOUT=5
GRUB_TERMINAL_OUTPUT="serial console"
GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0,115200n8 earlyprintk=ttyS0,115200 net.ifnames=0"
Observação
A Red Hat também fornece documentação para inicializar no modo de resgate, modo de emergência ou modo de depuração e para redefinir a senha root. Para obter instruções, consulte Edição do menu do terminal durante a inicialização.
Configure o acesso raiz para o modo de usuário único no RHEL
O usuário raiz está desabilitado por padrão. O modo de usuário único no RHEL requer que o usuário root esteja ativado. Se você precisar habilitar o modo de usuário único, use as seguintes instruções:
- Entre no sistema Red Hat via SSH.
- Mude para raiz.
- Habilite a senha para o usuário root fazendo o seguinte:
- Execute
passwd root
(defina uma senha raiz forte).
- Execute
- Assegure-se de que o usuário raiz possa se conectar somente via ttyS0 fazendo o seguinte: a. Execute
vi /etc/ssh/sshd_config
e certifique-se de que PermitRootLogIn esteja definido comono
. b. Executevi /etc/securetty file
para permitir o login somente via ttyS0.
Agora, se o sistema inicializar no modo de usuário único, você poderá entrar com a senha root.
Como alternativa, para RHEL 7.4 ou 6.9, para ativar o modo de usuário único nos prompts do GRUB, consulte Inicialização no modo de usuário único.
Entrar manualmente no modo de usuário único no RHEL
Se você configurou o GRUB e o acesso root usando as instruções anteriores, pode entrar no modo de usuário único fazendo o seguinte:
Para entrar no GRUB, pressione Esc ao reiniciar a VM.
No GRUB, pressione E para editar o sistema operacional no qual deseja inicializar. O sistema operacional geralmente é listado na primeira linha.
Encontre a linha do kernel. No Azure, começa com linux ou linux16.
Pressione Ctrl E para ir para o final da linha.
No final da linha, adicione systemd.unit=rescue.target.
Esta ação inicializa você no modo de usuário único. Se você quiser usar o modo de emergência, adicione systemd.unit=emergency.target ao final da linha (em vez de systemd.unit=rescue.target).
Pressione Ctrl X para sair e reiniciar com as configurações aplicadas.
Você será solicitado a fornecer a senha do administrador antes de entrar no modo de usuário único. Esta senha é aquela que você criou nas instruções anteriores.
Entrar no modo de usuário único sem conta raiz habilitada no RHEL
Se você não habilitou o usuário root seguindo as instruções anteriores, ainda pode redefinir sua senha root fazendo o seguinte:
Observação
Se você estiver usando o SELinux, ao redefinir a senha root, certifique-se de seguir as etapas adicionais descritas na documentação da Red Hat.
Para entrar no GRUB, pressione Esc ao reiniciar a VM.
No GRUB, pressione E para editar o sistema operacional no qual deseja inicializar. O sistema operacional geralmente é listado na primeira linha.
Encontre a linha do kernel. No Azure, começa com linux16.
No final da linha, adicione rd.break ao final da linha. Deixe um espaço entre a linha do kernel e rd.break.
Esta ação interrompe o processo de inicialização antes que o controle seja passado de
initramfs
parasystemd
, conforme descrito na documentação da Red Hat.Pressione Ctrl X para sair e reiniciar com as configurações aplicadas.
Após a reinicialização, você entra no modo de emergência com um sistema de arquivos somente leitura.
No shell, insira
mount -o remount,rw /sysroot
para remontar o sistema de arquivos raiz com permissões de leitura/gravação.Depois de inicializar no modo de usuário único, digite
chroot /sysroot
para alternar para a cadeiasysroot
.Agora você está no root e pode começar a solucionar os problemas do sistema.
No RHEL, o modo de imposição do SELinux protege o sistema operacional de quaisquer alterações. Você pode executar
touch /.autorelabel
para rotular novamente o sistema de arquivos após a alteração da senha.Depois de terminar, digite
reboot -f
para reiniciar.
Observação
Executar as instruções anteriores leva você ao shell de emergência para que também possa executar tarefas como editar fstab
. No entanto, normalmente sugerimos que você redefina sua senha root e a use para entrar no modo de usuário único.
Acesso para CentOS
Assim como o Red Hat Enterprise Linux, o modo de usuário único no CentOS requer que o GRUB e o usuário root estejam ativados.
Acesso GRUB no CentOS
CentOS vem com GRUB habilitado fora da caixa. Para entrar no GRUB, reinicie sua VM digitando sudo reboot
e pressione qualquer tecla. Esta ação exibe o painel GRUB.
Modo de usuário único no CentOS
Para ativar o modo de usuário único no CentOS, siga as instruções anteriores para RHEL.
Acesso para Ubuntu
As imagens do Ubuntu não requerem uma senha de root. Se o sistema inicializar no modo de usuário único, você poderá usá-lo sem credenciais adicionais.
Acesso GRUB no Ubuntu
Para acessar o GRUB, pressione e segure Esc enquanto a VM está inicializando.
Por padrão, as imagens do Ubuntu podem não exibir automaticamente o painel GRUB. Você pode alterar a configuração fazendo o seguinte:
Em um editor de texto, abra o arquivo /etc/default/grub.d/50-cloudimg-settings.cfg.
Altere o valor
GRUB_TIMEOUT
para um valor diferente de zero.Em um editor de texto, abra /etc/default/grub.
Comente a linha
GRUB_HIDDEN_TIMEOUT=1
.Certifique-se de que haja uma linha
GRUB_TIMEOUT_STYLE=menu
.Execute
sudo update-grub
.
Modo de usuário único no Ubuntu
Se o Ubuntu não inicializar normalmente, ele o coloca automaticamente no modo de usuário único. Para entrar no modo de usuário único manualmente, faça o seguinte:
- No GRUB, pressione E para editar sua entrada de inicialização (a entrada do Ubuntu).
- Procure a linha que começa com linux e, em seguida, procure por ro.
- Adicione single após ro, garantindo que haja um espaço antes e depois de single.
- Pressione Ctrl X para reiniciar com essas configurações e entrar no modo de usuário único.
Use o GRUB para invocar o bash no Ubuntu
Depois de tentar as instruções anteriores, pode haver uma situação (como uma senha root esquecida) em que você ainda não consegue acessar o modo de usuário único em sua VM Ubuntu. Você também pode dizer ao kernel para executar /bin/bash
como inicialização, em vez da inicialização do sistema. Essa ação fornece um bash shell e permite a manutenção do sistema. Use as seguintes instruções:
No GRUB, pressione E para editar sua entrada de inicialização (a entrada do Ubuntu).
Procure a linha que começa com linux e, em seguida, procure por ro.
Substitua ro por rw init=/bin/bash.
Esta ação monta seu sistema de arquivos como leitura/gravação e usa
/bin/bash
como o processo de inicialização.Pressione Ctrl X para reiniciar com essas configurações.
Acesso para CoreOS
O modo de usuário único no CoreOS requer que o GRUB esteja ativado.
Acesso GRUB no CoreOS
Para acessar o GRUB, pressione qualquer tecla enquanto sua VM estiver inicializando.
Modo de usuário único no CoreOS
Se o CoreOS não inicializar normalmente, ele o coloca automaticamente no modo de usuário único. Para entrar no modo de usuário único manualmente, faça o seguinte:
No GRUB, pressione E para editar sua entrada de inicialização.
Procure a linha que começa com linux$. Deve haver duas instâncias da linha, cada uma encapsulada em uma cláusula if...else diferente.
Anexe coreos.autologin=ttyS0 ao final de cada linha linux$.
Pressione Ctrl X para reiniciar com essas configurações e entrar no modo de usuário único.
Acesso para SUSE SLES
As imagens mais recentes do SLES 12 SP3 permitem o acesso por meio do console serial se o sistema inicializar no modo de emergência.
Acesso GRUB no SUSE SLES
O acesso GRUB no SLES requer uma configuração de bootloader via YaST. Para criar a configuração, faça o seguinte:
Use SSH para entrar em sua VM SLES e, em seguida, execute
sudo yast bootloader
. Pressione Tab, pressione Enter e use as teclas de seta para navegar pelo menu.Vá para Parâmetros do Kernel e marque a caixa de seleção Usar console serial.
Adicione
serial --unit=0 --speed=9600 --parity=no
aos argumentos do Console.Pressione F10 para salvar suas configurações e sair.
Para entrar no GRUB, reinicie sua VM e pressione qualquer tecla durante a sequência de inicialização para manter o painel GRUB exibido.
O tempo limite padrão para GRUB é 1s. Você pode modificar essa configuração alterando a variáve l
GRUB_TIMEOUT
no arquivo /etc/default/grub.
Modo de usuário único no SUSE SLES
Se o SLES não puder inicializar normalmente, você será automaticamente colocado no shell de emergência. Para entrar no shell de emergência manualmente, faça o seguinte:
No GRUB, pressione E para editar sua entrada de inicialização (a entrada SLES).
Procure a linha do kernel que começa com linux.
Anexe systemd.unit=emergency.target ao final da linha do kernel.
Pressione Ctrl X para reiniciar com essas configurações e entre no shell de emergência.
Observação
Esta ação coloca você no shell de emergência com um sistema de arquivos somente leitura. Para editar quaisquer arquivos, remonte o sistema de arquivos com permissões de leitura/gravação. Para fazer isso, digite
mount -o remount,rw /
no shell.
Acesso para Oracle Linux
Assim como o Red Hat Enterprise Linux, o modo de usuário único no Oracle Linux requer que o GRUB e o usuário root estejam habilitados.
Acesso GRUB no Oracle Linux
O Oracle Linux vem com GRUB habilitado pronto para uso. Para entrar no GRUB, reinicie sua VM executando sudo reboot
e pressione Esc. Esta ação exibe o painel GRUB. Se o painel GRUB não for exibido, verifique se o valor da linha GRUB_TERMINAL
contém console serial (isto é,GRUB_TERMINAL="serial console"
). Recrie o GRUB com grub2-mkconfig -o /boot/grub/grub.cfg
.
Modo de usuário único no Oracle Linux
Para ativar o modo de usuário único no Oracle Linux, siga as instruções anteriores para RHEL.
Próximas etapas
Para saber mais sobre o console serial, consulte:
- Documentação do Console Serial do Linux
- Use o Console Serial para ativar o GRUB em várias distribuições
- Use o Console Serial para chamadas NMI e SysRq
- Console Serial para VMs do Windows
- Diagnóstico de inicialização
Entre em contato conosco para obter ajuda
Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.