Uso de la consola serie para acceder a GRUB y al modo de usuario único
Se aplica a: ✔️ Máquinas virtuales Linux
Nota
CentOS al que se hace referencia en este artículo es una distribución de Linux y llegará al final del ciclo de vida (EOL). Tenga en cuenta su uso y planifique en consecuencia. Para obtener más información, consulte Guía de fin de vida de CentOS.
El cargador de arranque unificado (GRUB) es probablemente lo primero que se ve al arrancar una máquina virtual (VM). Al mostrarse antes de que se haya iniciado el sistema operativo, no se puede acceder al GRUB mediante SSH. Desde GRUB puede modificar la configuración de arranque para arrancar en modo usuario único, entre otras cosas.
El modo de usuario único constituye un entorno mínimo con una funcionalidad mínima. Puede ser útil para investigar los problemas de arranque, los problemas del sistema de archivos o los problemas de red. Se pueden ejecutar menos servicios en segundo plano y, en función del nivel de ejecución, es posible que ni siquiera se monte un sistema de archivos de forma automática.
El modo de usuario único también es útil en situaciones en las que la máquina virtual solo se puede configurar para aceptar claves SSH para el inicio de sesión. En este caso, puede usar el modo de usuario único para crear una cuenta con autenticación de contraseña.
Nota:
El servicio de consola serie solo permite a los usuarios con permisos de nivel de colaborador (o superiores) acceder a la consola serie de una máquina virtual.
Para entrar en el modo de usuario único, entre en GRUB al arrancar la máquina virtual y modifique la configuración de arranque en GRUB. Consulte las instrucciones detalladas para entrar en GRUB en la siguiente sección. En general, si la máquina virtual está configurada para mostrar GRUB, puede usar el botón de reinicio en la consola serie de la máquina virtual para reiniciar la máquina virtual y mostrar GRUB.
Acceso a GRUB general
Para acceder a GRUB, reinicie la máquina virtual mientras el panel de la consola serie está abierto. Algunas distribuciones requieren la entrada de teclado para mostrar GRUB y otras lo muestran de forma automática durante unos segundos y permiten la entrada de teclado del usuario para cancelar el tiempo de espera.
Para acceder al modo de usuario único, querrá asegurarse de que GRUB está habilitado en la máquina virtual. Según la distribución, puede necesitar algunas operaciones de configuración para asegurarse de que GRUB está habilitado. Para obtener información específica de la distribución, consulte la sección siguiente.
Reinicio de una máquina virtual para acceder a GRUB en la consola serie
Puede reiniciar la máquina virtual desde la consola de serie si mantiene el mouse sobre el botón Reiniciar y selecciona Reiniciar VM. En la parte inferior del panel se muestra una notificación sobre el reinicio.
También puede reiniciar la máquina virtual al ejecutar el comando SysRq "b" si SysRq está habilitado. Para obtener información sobre lo que puede esperar de GRUB al reiniciar el equipo, consulte las instrucciones específicas de la distribución en las siguientes secciones.
Acceso en modo de usuario único general
Es posible que necesite acceder manualmente al modo de usuario único cuando no se ha configurado una cuenta con la autenticación de contraseña. Debe modificar la configuración de GRUB para entrar manualmente al modo de usuario único. Después de hacerlo, consulte la sección "Uso del modo de usuario único para restablecer o agregar una contraseña" para obtener instrucciones adicionales.
Si la máquina virtual no puede arrancar, algunas distribuciones le ponen automáticamente en modo de usuario único o modo de emergencia. Sin embargo, otras requieren configuración adicional (como la configuración de una contraseña raíz) antes de ponerle en modo de usuario único o de emergencia de forma automática.
Uso del modo de usuario único para restablecer o agregar una contraseña
Una vez en el modo de usuario único, agregue un usuario nuevo con privilegios de sudo mediante los siguientes pasos:
- Ejecute
useradd <username>
para agregar un usuario. - Ejecute
sudo usermod -a -G sudo <username>
para conceder los nuevos privilegios de usuario raíz. - Use
passwd <username>
para establecer la contraseña del nuevo usuario. Después, puede iniciar sesión como el nuevo usuario.
Acceso a Red Hat Enterprise Linux (RHEL)
Si RHEL no se puede arrancar con normalidad, le pondrá en modo de usuario único automáticamente. Sin embargo, si no ha configurado el acceso raíz para el modo de usuario único, no tiene una contraseña raíz y no puede iniciar sesión. Existe una solución alternativa (consulte la sección "Especificación manual del modo de usuario único en RHEL"), aunque se recomienda configurar inicialmente el acceso raíz.
Acceso a GRUB en RHEL
RHEL viene con GRUB habilitado listo para su uso. Para entrar a GRUB, reinicie la máquina virtual con el comando sudo reboot
y presione cualquier tecla. Se debe mostrar el panel de GRUB. Si no se muestra, asegúrese de que las siguientes líneas están presentes en el archivo de GRUB (/etc/default/grub
):
Para RHEL 8
Nota:
Red Hat recomienda el uso de Grubby para configurar parámetros de línea de comandos de kernel en RHEL 8+. Actualmente no es posible actualizar el tiempo de espera de GRUB y los parámetros de terminal mediante Grubby. Para modificar la actualización del argumento GRUB_CMDLINE_LINUX para todas las entradas de arranque, ejecute grubby --update-kernel=ALL --args="console=ttyS0,115200 console=tty1 console=ttyS0 earlyprintk=ttyS0"
. Aquí hay más detalles disponibles.
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"
Nota:
Red Hat también proporciona documentación para arrancar en modo de rescate, modo de emergencia, modo de depuración y restablecer la contraseña raíz. Para obtener instrucciones, consulte Edición de los menús de terminal durante el arranque.
Configuración del acceso raíz para el modo de usuario único en RHEL
El usuario raíz está deshabilitado de manera predeterminada. El modo de usuario único en RHEL requiere que el usuario raíz esté habilitado. Si necesita habilitar el modo de usuario único, siga estas instrucciones:
- Inicie sesión en el sistema de Red Hat a través de SSH.
- Cambie a raíz.
- Habilite la contraseña para el usuario raíz haciendo lo siguiente:
- Ejecute
passwd root
(establezca una contraseña de raíz segura).
- Ejecute
- Asegúrese de que el usuario raíz solo puede iniciar sesión a través de ttyS0 mediante los siguientes pasos: a. Ejecute
vi /etc/ssh/sshd_config
y asegúrese de que PermitRootLogIn está establecido enno
. b. Ejecutevi /etc/securetty file
para permitir el inicio de sesión solo a través de ttyS0.
Si ahora el sistema arranca en modo de usuario único puede iniciar sesión con la contraseña raíz.
Como alternativa, en el caso de RHEL 7.4 y versiones posteriores o 6.9 y versiones posteriores, puede habilitar el modo de usuario único en las solicitudes de GRUB. Para ello, consulte Arranque en modo de usuario único.
Especificación manual del modo de usuario único en RHEL
Si ha configurado GRUB y el acceso raíz con las instrucciones anteriores, puede entrar al modo de usuario único mediante los siguientes pasos:
Para entrar en GRUB, presione Esc cuando reinicie la máquina virtual.
En GRUB, presione E para editar el sistema operativo que quiere arrancar. El sistema operativo suele aparecer en la primera línea.
Busque la línea de kernel. En Azure, comienza por linux o linux16.
Presione Ctrl + E para ir al final de la línea.
Al final de la línea, agregue systemd.unit=rescue.target.
Esta acción arranca el sistema en modo de usuario único. Si quiere usar el modo de emergencia, agregue systemd.unit=emergency.target al final de la línea (en lugar de systemd.unit=rescue.target).
Presione Ctrl + X para salir y reiniciar con la configuración aplicada.
Se le pedirá la contraseña de administrador para que pueda entrar en el modo de usuario único. Esta contraseña es la que creó en las instrucciones anteriores.
Especificación del modo de usuario único sin una cuenta raíz habilitada en RHEL
Si no ha habilitado el usuario raíz con las instrucciones anteriores, puede restablecer la contraseña raíz mediante los siguientes pasos:
Nota:
Si está usando SELinux, cuando restablezca la contraseña raíz asegúrese de seguir los pasos adicionales que se describen en la documentación de Red Hat.
Para entrar en GRUB, presione Esc cuando reinicie la máquina virtual.
En GRUB, presione E para editar el sistema operativo que quiere arrancar. El sistema operativo suele aparecer en la primera línea.
Busque la línea de kernel. En Azure, comienza por linux16.
Al final de la línea, agregue rd.break. Deje un espacio entre la línea de kernel y rd.break.
Esta acción interrumpirá el proceso de arranque antes de que el control pase de
initramfs
asystemd
, como se indica en la documentación de Red Hat.Presione Ctrl + X para salir y reiniciar con la configuración aplicada.
Después de arrancar, se le pondrá en modo de emergencia con un sistema de archivos de solo lectura.
En el shell, escriba
mount -o remount,rw /sysroot
para volver a montar el sistema de archivos raíz con permisos de lectura/escritura.Después de arrancar en modo de usuario único, escriba
chroot /sysroot
para cambiar a la celdasysroot
.Ahora está en la raíz y puede comenzar a solucionar los problemas del sistema.
En RHEL, el modo de aplicación de SELinux protege el sistema operativo de cualquier cambio. Puede ejecutar
touch /.autorelabel
para volver a etiquetar el sistema de archivos después de cambiar la contraseña.Cuando haya terminado, escriba
reboot -f
para reiniciar el equipo.
Nota:
Si ejecuta las instrucciones anteriores se le pondrá en el shell de emergencia, de tal forma que pueda también realizar tareas como editar fstab
. Sin embargo, normalmente sugerimos que restablezca la contraseña raíz y la use para entrar en modo de usuario único.
Acceso para CentOS
De forma similar a Red Hat Enterprise Linux, el modo de usuario único en CentOS requiere que GRUB y el usuario raíz estén habilitados.
Acceso a GRUB en CentOS
CentOS viene con GRUB habilitado listo para su uso. Para entrar a GRUB, reinicie la máquina virtual con el comando sudo reboot
y presione cualquier tecla. Esta acción muestra el panel de GRUB.
Modo de usuario único en CentOS
Para habilitar el modo de usuario único en CentOS, siga las instrucciones anteriores para RHEL.
Acceso para Ubuntu
Las imágenes de Ubuntu no requieren una contraseña raíz. Si el sistema arranca en modo de usuario único, puede usarlo sin necesidad de otras credenciales.
Acceso a GRUB en Ubuntu
Para acceder a GRUB, mantenga presionado Esc mientras arranca la máquina virtual.
Puede que las imágenes de Ubuntu no muestren de forma predeterminada el panel de GRUB. Puede cambiar la configuración mediante los siguientes pasos:
En un editor de texto, abra el archivo /etc/default/grub.d/50-cloudimg-settings.cfg.
Cambie el valor de
GRUB_TIMEOUT
por un valor distinto de cero.En un editor de texto, abra /etc/default/grub.
Marque como comentario la línea
GRUB_HIDDEN_TIMEOUT=1
.Asegúrese de que hay una línea
GRUB_TIMEOUT_STYLE=menu
.Ejecute
sudo update-grub
.
Modo de usuario único en Ubuntu
Si Ubuntu no se puede arrancar con normalidad, le pondrá en modo de usuario único automáticamente. Para especificar el modo de usuario único manualmente, haga lo siguiente:
- Desde GRUB, presione E para editar la entrada de arranque (la entrada de Ubuntu).
- Busque la línea que empieza por linux y, a continuación, busque ro.
- Agregue single después de ro y asegúrese de que hay un espacio antes y después de single.
- Presione Ctrl + X para reiniciar el equipo con esta configuración y especificar el modo de usuario único.
Uso de GRUB para invocar Bash en Ubuntu
Después de probar las instrucciones anteriores, puede haber situaciones (por ejemplo, una contraseña raíz olvidada) en las que todavía no pueda acceder al modo de usuario único en la VM de Ubuntu. También puede indicar al kernel que ejecute /bin/bash
como inicialización, en lugar de una inicialización de sistema. Esta acción le proporciona un shell de bash y permite dar mantenimiento al sistema. Use las siguientes instrucciones:
Desde GRUB, presione E para editar la entrada de arranque (la entrada de Ubuntu).
Busque la línea que empieza por linux y, a continuación, busque ro.
Reemplace ro por rw init=/bin/bash.
Esta acción monta el sistema de archivos como de lectura y escritura y usa
/bin/bash
como proceso de inicialización.Presione Control + X para reiniciar el equipo con esta configuración.
Acceso para CoreOS
El modo de usuario único en CoreOS requiere que GRUB esté habilitado.
Acceso a GRUB en CoreOS
Para acceder a GRUB, presione cualquier tecla mientras arranca la máquina virtual.
Modo de usuario único en CoreOS
Si CoreOS no se puede arrancar con normalidad, le pondrá en modo de usuario único automáticamente. Para especificar el modo de usuario único manualmente, haga lo siguiente:
Desde GRUB, presione E para editar la entrada de arranque.
Busque la línea que empieza por linux$. Debe haber dos instancias de la línea, cada una encapsulada en una cláusula if... else.
Agregue coreos.autologin=ttyS0 al final de cada una de las líneas linux$.
Presione Ctrl + X para reiniciar el equipo con esta configuración y especificar el modo de usuario único.
Acceso para SUSE Linux Enterprise Server
Las imágenes más recientes de SLES 12 SP3+ permiten el acceso a través de la consola serie si el sistema arranca en modo de emergencia.
Acceso a GRUB en SUSE Linux Enterprise Server
El acceso a GRUB en SUSE Linux Enterprise Server requiere la configuración del cargador de arranque a través de YaST. Para crear la configuración, haga lo siguiente:
Use SSH para iniciar sesión en la máquina virtual SLES y después ejecute
sudo yast bootloader
. Presione la tecla de tabulación, presione entrar y, a continuación, use las teclas de dirección para navegar por el menú.Vaya a Kernel Parameters (Parámetros de kernel) y después marque la casilla de verificación Use serial console (Usar consola serial).
Agregue
serial --unit=0 --speed=9600 --parity=no
a los argumentos de Consola.Presione F10 para guardar la configuración y salir.
Para entrar en GRUB, reinicie la máquina virtual y presione cualquier tecla durante la secuencia de arranque para que el panel de GRUB permanezca en pantalla.
El tiempo de espera predeterminado para GRUB es 1 s. Puede modificar esta configuración si cambia la variable
GRUB_TIMEOUT
en el archivo /etc/default/grub.
Modo de usuario único en SUSE SLES
Si SLES no puede arrancar con normalidad, se le pondrá automáticamente en el shell de emergencia. Para entrar en el shell de emergencia manualmente, haga lo siguiente:
Desde GRUB, presione E para editar la entrada de arranque (la entrada de SLES).
Busque la línea del kernel que empieza por linux.
Agregue systemd.unit=emergency.target al final de la línea del kernel.
Presione Ctrl + X para reiniciar el equipo con esta configuración y entrar al shell de emergencia.
Nota:
Esta acción lo pone en el shell de emergencia con un sistema de archivos de solo lectura. Para editar los archivos, vuelva a montar el sistema de archivos con permisos de lectura y escritura. Para ello, escriba
mount -o remount,rw /
en el shell.
Acceso para Oracle Linux
De forma similar a Red Hat Enterprise Linux, el modo de usuario único en Oracle Linux requiere que GRUB y el usuario raíz estén habilitados.
Acceso a GRUB en Oracle Linux
Oracle Linux viene con GRUB habilitado listo para su uso. Para entrar a GRUB, reinicie la VM con el comando sudo reboot
y presione la tecla Esc. Esta acción muestra el panel de GRUB. Si no se muestra el panel de GRUB, asegúrese de que el valor de la línea GRUB_TERMINAL
contiene serial console (es decir, la línea es GRUB_TERMINAL="serial console"
). Vuelva a generar GRUB con grub2-mkconfig -o /boot/grub/grub.cfg
.
Modo de usuario único en Oracle Linux
Para habilitar el modo de usuario único en Oracle Linux, siga las instrucciones anteriores para RHEL.
Pasos siguientes
Para obtener más información acerca de la consola serie, consulte la siguiente información:
- Documentación de la consola serie de Linux
- Uso de la consola serie para habilitar GRUB en varias distribuciones
- Uso de la consola serie para llamadas NMI y SysRq
- Consola serie para máquinas virtuales Windows
- Diagnósticos de arranque
Ponte en contacto con nosotros para obtener ayuda
Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.