Compartir a través de


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.

Grand Unified Bootloader (GRUB) funciona en una fase temprana en un proceso de arranque de máquina virtual Linux. Funciona antes de que se cargue el kernel de Linux y antes de que se inicien los servicios del sistema (como redes o SSH), por lo que GRUB no es accesible a través de SSH. Debe usar la consola serie para acceder a GRUB. 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 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. Si la máquina virtual está configurada para mostrar GRUB, puede usar el botón reiniciar dentro de la consola serie de la máquina virtual para reiniciar la máquina virtual y mostrar GRUB.

Captura de pantalla del botón Reiniciar máquina virtual que se muestra en la barra de herramientas.

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

Para reiniciar la máquina virtual en la consola serie, mantenga el puntero sobre el botón Reiniciar y, a continuación, seleccione Reiniciar máquina virtual. En la parte inferior del panel se muestra una notificación sobre el reinicio.

También puede reiniciar la máquina virtual ejecutando un 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.

GIF animado muestra una interfaz de línea de comandos. El usuario selecciona Reiniciar máquina virtual en la barra de herramientas y, a continuación, se reinicia la máquina virtual dentro de la consola serie.

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 "Usar el modo de usuario único para restablecer o agregar una contraseña" para obtener más instrucciones.

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:

  1. Ejecute useradd <username> para agregar un usuario.
  2. Ejecute sudo usermod -a -G sudo <username> para conceder los nuevos privilegios de usuario raíz.
  3. Use passwd <username> para establecer la contraseña del nuevo usuario. Después, puede iniciar sesión como el nuevo usuario.

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í encontrará más detalles.

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 del menú terminal durante el arranque.

modo Single-User en las versiones RHEL 6.9+ y 7.4+

Para RHEL 7.4 o 6.9 y versiones posteriores, para habilitar el modo de usuario único en las solicitudes de GRUB, 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:

  1. Para entrar en GRUB, presione Esc cuando reinicie la máquina virtual.

  2. En GRUB, presione E para editar el sistema operativo que quiere arrancar. El sistema operativo suele aparecer en la primera línea.

  3. Busque la línea de kernel. En Azure, comienza con linux o linux16.

  4. Presione Ctrl + E para ir al final de la línea.

  5. Al final de la línea, agregue systemd.unit=rescue.target.

    Esta acción arranca el sistema en modo de usuario único. Si desea usar el modo de emergencia, agregue systemd.unit=emergency.target al final de la línea (en lugar de systemd.unit=rescue.target).

  6. 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.

    GIF animado muestra una interfaz de línea de comandos. El usuario selecciona un servidor, busca el final de la línea de kernel y, a continuación, escribe el texto especificado.

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 usa SELinux, al restablecer la contraseña raíz, asegúrese de seguir los pasos adicionales que se describen en la documentación de Red Hat.

  1. Para entrar en GRUB, presione Esc cuando reinicie la máquina virtual.

  2. En GRUB, presione E para editar el sistema operativo que quiere arrancar. El sistema operativo suele aparecer en la primera línea.

  3. Busque la línea de kernel. En Azure, comienza con linux16.

  4. Al final de la línea, agregue rd.break al final de la línea. Deje un espacio entre la línea del kernel y rd.break.

    Esta acción interrumpe el proceso de arranque antes de pasar el control de initramfs a systemd, como se describe en la documentación de Red Hat.

  5. 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.

  6. En el shell, escriba mount -o remount,rw /sysroot para volver a montar el sistema de archivos raíz con permisos de lectura/escritura.

  7. Después de arrancar en modo de usuario único, escriba chroot /sysroot para cambiar a la celda sysroot.

  8. Ahora está en la raíz y puede comenzar a solucionar los problemas del sistema.

  9. 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.

  10. Cuando haya terminado, escriba reboot -f para reiniciar el equipo.

El GIF animado muestra el proceso de entrar en el modo de usuario único sin la cuenta de superusuario habilitada en RHEL en la interfaz de la línea de comandos.

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:

  1. En un editor de texto, abra el archivo /etc/default/grub.d/50-cloudimg-settings.cfg .

  2. Cambie el valor de GRUB_TIMEOUT por un valor distinto de cero.

  3. En un editor de texto, abra /etc/default/grub.

  4. Marque como comentario la línea GRUB_HIDDEN_TIMEOUT=1.

  5. Asegúrese de que hay una línea GRUB_TIMEOUT_STYLE=menu.

  6. 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:

  1. Desde GRUB, presione E para editar la entrada de arranque (la entrada de Ubuntu).
  2. Busque la línea que comienza con Linux y busque ro.
  3. Agregue single después de ro, asegurándose de que hay un espacio antes y después de single.
  4. 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:

  1. Desde GRUB, presione E para editar la entrada de arranque (la entrada de Ubuntu).

  2. Busque la línea que comienza con Linux y busque ro.

  3. 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.

  4. 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:

  1. Desde GRUB, presione E para editar la entrada de arranque.

  2. Busque la línea que comienza con linux$. Debe haber dos instancias de la línea, cada una encapsulada en una cláusula diferente if...else.

  3. Anexe coreos.autologin=ttyS0 al final de cada línea linux$ .

  4. 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:

  1. 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ú.

  2. Vaya a Parámetros del kernel y, a continuación, active la casilla Usar consola serie .

  3. Agregue serial --unit=0 --speed=9600 --parity=no a los argumentos de la consola .

  4. Presione F10 para guardar la configuración y salir.

  5. 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 1s. Puede modificar esta configuración cambiando la GRUB_TIMEOUT variable en el archivo /etc/default/grub .

GIF animado muestra el proceso de creación de la configuración del cargador de arranque a través de YaST.

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:

  1. Desde GRUB, presione E para editar la entrada de arranque (la entrada de SLES).

  2. Busque la línea de kernel que comienza con Linux.

  3. Anexe systemd.unit=emergency.target al final de la línea del kernel.

  4. 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 GRUB, asegúrese de que el valor de la línea contenga GRUB_TERMINALconsola serial (es decir, 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:

Ponte en contacto con nosotros para obtener ayuda

Si tiene preguntas o necesita ayuda, cree una solicitud de soporte técnico o solicite soporte técnico a la comunidad de Azure. También puede enviar comentarios sobre el producto a la comunidad de comentarios de Azure.