Guía de instalación de Solaris 10: Modernización automática de Solaris y planificación de la modernización

Capítulo 5 x86: Arranque basado en GRUB para la instalación de Solaris

En este capítulo se describe el arranque basado en GRUB en los sistemas basados en x86 relacionados con la instalación de Solaris. Este capítulo incluye los siguientes apartados:

x86: Arranque basado en GRUB (visión general)

A partir de la versión 10 1/06 de Solaris, se ha adoptado GRUB, el cargador de arranque de código abierto, como el cargador de arranque predeterminado del SO Solaris.


Nota –

El arranque basado en GRUB no está disponible para los sistemas basados en SPARC.


El cargador de arranque es el primer programa de software que se ejecuta al encender el sistema. Una vez encendido el sistema basado en x86, el Sistema de entrada y salida básico (BIOS) inicializa la CPU, la memoria y la plataforma de hardware. Una vez completada la fase de inicialización, la BIOS ejecuta el cargador de arranque desde el dispositivo de arranque configurado y, a continuación, transfiere el control del sistema a dicho cargador.

GRUB es un cargador de arranque de código abierto con una sencilla interfaz de menús que incluye opciones de arranque predefinidas en un archivo de configuración. GRUB también incluye una interfaz de línea de comandos a la que se puede acceder desde la interfaz de menús para ejecutar diversos comandos de arranque. En el SO Solaris, la implementación de GRUB es compatible con la especificación de arranque múltiple. Esta especificación se describe detalladamente en http://www.gnu.org/software/grub/grub.html.

Como el núcelo de Solaris es totalmente compatible con la especificación de arranque múltiple, puede iniciar un sistema basado en Solaris x86 mediante GRUB. Con este cargador, puede iniciar e instalar más fácilmente diversos sistemas operativos. Por ejemplo, en un sistema, puede iniciar individualmente los siguientes sistemas operativos:

Una ventaja fundamental de GRUB es su intuición en relación con los formatos ejecutables del núcleo y los sistemas de archivos, lo que permite cargar un sistema operativo sin necesidad de registrar la posición física del núcleo en el disco. Con el arranque basado en GRUB, sólo hay que especificar el nombre de archivo, la unidad y la partición en la que reside el núcleo para cargarlo. Este tipo de arranque sustituye al Asistente de configuración de dispositivos de Solaris y simplifica el proceso de arranque gracias al menú de GRUB.

x86: Funcionamiento del arranque basado en GRUB

Una vez que GRUB logra obtener el control del sistema, se muestra un menú en la consola. En el menú de GRUB, puede realizar lo siguiente:

También se puede configurar un tiempo de espera para arrancar la entrada del SO predeterminada. Si se pulsa una tecla cualquiera, se anula el arranque de la entrada del SO predeterminada.

Para ver un ejemplo de un menú de GRUB, consulte Descripción del menú principal de GRUB.

x86: Convenciones de nomenclatura de los dispositivos de GRUB

Las convenciones de nomenclatura de los dispositivos que utiliza GRUB varían ligeramente de las versiones anteriores de Solaris. El conocimiento de las convenciones de nomenclatura de los dispositivos de GRUB puede ayudarle a especificar la información de unidad y partición al configurar GRUB en el sistema.

La siguiente tabla describe las convenciones de nomenclatura de dispositivos de GRUB.

Tabla 5–1 Convenciones de nomenclatura de dispositivos de GRUB

Nombre del dispositivo 

Descripción 

(fd0), (fd1)

Primer disquete y segundo disquete 

(nd)

Dispositivo de red 

(hd0,0), (hd0,1)

Primera y segunda partición fdisk del primer disco bios

(hd0,0,a), (hd0,0,b)

Segmentos 0 y 1 de Solaris/BSD de la primera partición fdisk en el primer disco bios


Nota –

Todos los nombres de los dispositivos de GRUB deben ir entre paréntesis. Los números de partición se cuentan a partir de 0 (cero), no de 1.


Para obtener más información sobre las particiones fdisk, consulte Guidelines for Creating an fdisk Partition de System Administration Guide: Devices and File Systems.

x86: Dónde encontrar información sobre las instalaciones basadas en GRUB

Para obtener más información sobre estos cambios, consulte las siguientes referencias:

Tabla 5–2 Dónde encontrar información sobre las instalaciones basadas en GRUB

Tema 

Tareas del menú de GRUB 

Más información 

Instalación 

Para realizar la instalación desde el CD o DVD del SO Solaris 

Guía de instalación de Solaris: instalaciones básicas.

Para realizar la instalación desde una imagen de instalación de red 

Parte II, Instalación mediante una red de área local de Guía de instalación de Solaris 10: instalaciones basadas en red

 

Para configurar un servidor DHCP para las instalaciones de red 

Preconfiguración de la información de configuración del sistema mediante el servicio DHCP (tareas) de Guía de instalación de Solaris 10: instalaciones basadas en red

 

Para realizar la instalación con el programa personalizado JumpStart 

Para realizar una Instalación JumpStart Personalizada de Guía de instalación de Solaris 10: JumpStart personalizado e instalaciones avanzadas

 

Para activar un entorno de arranque o volver a uno anterior mediante Solaris Live Upgrade.  

Administración del sistema 

Para obtener información detallada sobre GRUB y las tareas administrativas 

Capítulo 11, GRUB Based Booting (Tasks) de System Administration Guide: Basic Administration

x86: Arranque basado en GRUB (planificación)

En esta sección se describen los conceptos básicos del proceso de arranque basado en GRUB y el menú de esta aplicación.

Al instalar el SO Solaris, se instalan de forma predeterminada dos entradas de menú de GRUB en el sistema. La primera entrada es la del SO Solaris. La segunda entrada es el archivo de arranque a prueba de errores, que se utiliza para la recuperación del sistema. Las entradas de GRUB en Solaris se instalan y actualizan automáticamente como parte del proceso de instalación y actualización del software de Solaris. El sistema operativo administra directamente estas entradas, que no pueden editarse manualmente.

Durante una instalación estándar de Solaris, GRUB se instala en la partición fdisk de Solaris sin modificar la configuración de la BIOS del sistema. Si el SO no se encuentra en el disco de arranque de la BIOS, deberá realizar lo siguiente:

El método preferido consiste en instalar el SO Solaris en el disco de arranque. Si hay varios sistemas operativos instalados en el equipo, puede agregar entradas al archivo menu.lst. Estas entradas se mostrarán en el menú de GRUB la próxima vez que inicie el sistema.

Para obtener más información sobre el uso de varios sistemas operativos, consulte How Multiple Operating Systems Are Supported in the GRUB Boot Environment de System Administration Guide: Basic Administration.

x86: Realización de una instalación basada en GRUB desde la red

Para realizar un arranque de red basado en GRUB, es necesario configurar un servidor DHCP para los clientes PXE y un servidor de instalación que proporcione servicios tftp. El servidor DHCP debe poder responder a las clases DHCP, PXEClient y GRUBClient. Las respuestas DHCP deben contener la siguiente información:


Nota –

rpc.bootparamd, que normalmente es necesario en el servidor para realizar un arranque de red, no es necesario para un arranque de red basado en GRUB.


Si no hay ningún servidor PXE o DHCP disponible, puede cargar GRUB desde el CD-ROM o un disco local. A continuación, puede configurar la red en GRUB, y descargar el programa de arranque múltiple y el archivo de arranque del servidor de archivos.

Para obtener más información, consulte Información general sobre el arranque y la instalación en red con PXE de Guía de instalación de Solaris 10: instalaciones basadas en red.

Descripción del menú principal de GRUB

Al iniciar un sistema basado en x86, aparece el menú de GRUB. Este menú proporciona una lista de entradas de arranque para su selección. Una entrada de arranque es una instancia del SO instalada en el sistema. El menú de GRUB se basa en el archivo de configuración menu.lst. El programa de instalación crea el archivo menu.lst, que puede modificarse una vez realizada la instalación. Este archivo determina la lista de instancias del SO que se muestran en el menú de GRUB.


Ejemplo 5–1 Menú principal de GRUB

En el siguiente ejemplo, el menú principal de GRUB muestra los sistemas operativos Solaris y Microsoft Windows. También aparece un entorno de arranque de Solaris Live Upgrade denominado second_disk. Consulte las siguientes descripciones de cada elemento del menú.


GNU GRUB version 0.95 (616K lower / 4127168K upper memory)
+-------------------------------------------------------------------+
|Solaris                                                            |
|Solaris failsafe                                                   |
|second_disk                                                        |
|second_disk failsafe                                               |
|Windows                                                            |
+-------------------------------------------------------------------+
Use the ^ and v keys to select which entry is highlighted. Press
enter to boot the selected OS, 'e' to edit the commands before
booting, or 'c' for a command-line.
Solaris

Especifica el sistema operativo Solaris.

Solaris failsafe

Especifica un archivo de arranque que puede utilizarse para la recuperación en caso de dañarse el SO Solaris.

second_disk

Especifica un entorno de arranque de Solaris Live Upgrade. El entorno de arranque second_disk se ha creado como copia del SO Solaris. Se ha actualizado y activado con el comando luactivate. El entorno está disponible para el arranque.

Windows

Especifica el sistema operativo Microsoft Windows. GRUB detecta estas particiones, pero no comprueba si puede arrancarse el SO.


Descripción del archivo menu.lst de GRUB

El archivo menu.lst muestra los contenidos del menú principal de GRUB. Este menú incluye las entradas de arranque de todas las instancias del SO instaladas en el sistema, incluidos los entornos de arranque de Solaris Live Upgrade. El proceso de actualización del software de Solaris conserva todos los cambios realizados en este archivo.

Todas las revisiones realizadas en el archivo menu.lst se muestran en el menú principal de GRUB, junto con las entradas de Solaris Live Upgrade. Todos los cambios realizados en el archivo seguirán aplicándose la próxima vez que arranque el sistema. Puede revisar este archivo por los siguientes motivos:


Precaución – Precaución –

No utilice el archivo menu.lst de GRUB para modificar las entradas de Solaris Live Upgrade. Las modificaciones pueden provocar que falle Solaris Live Upgrade.


Aunque puede utilizar el archivo menu.lst para personalizar el comportamiento de arranque como, por ejemplo, para efectuar el arranque con el depurador del núcleo, el método recomendado de personalización consiste en utilizar el comando eeprom. Si utiliza el archivo menu.lst para la personalización, es posible que se modifiquen las entradas del SO Solaris durante la actualización. Por lo tanto, se perderían los cambios.

Para obtener información sobre cómo utilizar el comando eeprom, consulte How to Set Solaris Boot Parameters by Using the eeprom Command de System Administration Guide: Basic Administration.


Ejemplo 5–2 Archivo Menu.lst

A continuación se muestra un ejemplo del archivo menu.lst:


default 0
timeout 10
title Solaris
  root (hd0,0,a)
  kernel /platform/i86pc/multiboot -B console=ttya
  module /platform/i86pc/boot_archive
title Solaris failsafe
  root (hd0,0,a)
  kernel /boot/multiboot -B console=ttya -s
  module /boot/x86.miniroot.safe
#----- second_disk - ADDED BY LIVE UPGRADE - DO NOT EDIT  -----
title second_disk
  root (hd0,1,a)
  kernel /platform/i86pc/multiboot
  module /platform/i86pc/boot_archive
title second_disk failsafe
  root (hd0,1,a)
  kernel /boot/multiboot kernel/unix -s
  module /boot/x86.miniroot-safe
#----- second_disk -------------- END LIVE UPGRADE ------------
title Windows
  root (hd0,0)
  chainloader -1
default

Especifica qué elemento se iniciará en caso de que se agote el tiempo de espera. Para cambiar el valor predeterminado, cambie el número para especificar otro elemento de la lista. El recuento comienza en cero para el primer título. Por ejemplo, cambie el valor predeterminado 2 para efectuar el inicio automáticamente con el entorno de arranque second_disk.

timeout

Especifica el número de segundos que se esperará para que el usuario introduzca la información antes de arrancar la entrada predeterminada. Si no se especifica ningún tiempo de espera, será necesario seleccionar una entrada.

title OS name

Especifica el nombre del sistema operativo.

  • Si se trata del entorno de arranque de Solaris Live Upgrade, OS name es el nombre que se especificó para el nuevo entorno de arranque durante el proceso de creación. En el ejemplo anterior, el entorno de arranque de Solaris Live Upgrade se denomina second_disk.

  • Si se trata de un archivo de arranque a prueba de errores, este archivo se utilizará para la recuperación en caso de dañarse el SO principal. En el ejemplo anterior, el archivo a prueba de errores de Solaris y el archivo a prueba de errores second_disk son los archivos de arranque de recuperación para los sistemas operativos Solaris y second_disk.

root (hd0,0,a)

Especifica en qué disco, partición y segmento se cargarán los archivos. GRUB detecta automáticamente el tipo de sistema de archivos.

kernel /platform/i86pc/multiboot

Especifica el programa de arranque múltiple. El comando kernel debe ir acompañado siempre del programa de arranque múltiple. Una vez realizado el arranque múltiple, la cadena se transfiere al SO Solaris sin interpretación.

Para obtener una descripción completa sobre el uso de varios sistemas operativos, consulte How Multiple Operating Systems Are Supported in the GRUB Boot Environment de System Administration Guide: Basic Administration.


Búsqueda del archivo menu.lst para cambiar el menú de GRUB

Debe utilizar siempre el comando bootadm para localizar el archivo menu.lst del menú de GRUB. El subcomando list-menu busca el menú de GRUB activo. El archivo menu.lst muestra todos los sistemas operativos instalados en el sistema. El contenido de este archivo determina la lista de sistemas operativos que se muestran en el menú de GRUB. Si desea realizar cambios en este archivo, consulte x86: Búsqueda del archivo menu.lst del menú de GRUB (tareas).

x86: Búsqueda del archivo menu.lst del menú de GRUB (tareas)

A partir de la versión 10 1/06 de Solaris, el menú de GRUB puede actualizarse. Por ejemplo, es posible que desee cambiar el tiempo predeterminado para establecer la velocidad con la que se inicia el SO predeterminado. También puede agregar otro sistema operativo al menú de GRUB.

Normalmente, el archivo menu.lst del menú de GRUB activo se encuentra en /boot/grub/menu.lst. En algunos casos, es posible que el archivo menu.lst de GRUB se encuentre en otra ubicación. Por ejemplo, en un sistema que utilice Solaris Live Upgrade, es posible que el archivo menu.lst de GRUB se encuentre en un entorno de arranque que no es el que se está ejecutando actualmente. También, si ha actualizado un sistema con una partición de arranque x86, es posible que el archivo menu.lst resida en el directorio /stubboot. Sólo se utiliza el archivo menu.lst de GRUB activo para iniciar el sistema. Para modificar el menú de GRUB que aparece al iniciar el sistema, debe modificarse el archivo menu.lst de GRUB activo. Si se cambia otro archivo menu.lst de GRUB, no se mostrará ningún cambio en el menú al iniciar el sistema. Para determinar la ubicación del archivo menu.lst de GRUB activo, utilice el comando bootadm. El subcomando list-menu muestra la ubicación del menú de GRUB activo. Los siguientes procedimientos determinan la ubicación del archivo menu.lst del menú de GRUB.

Para obtener más información sobre el comando bootadm, consulte la página de comando man bootadm(1M).

ProcedureBúsqueda del archivo menu.lst del menú de GRUB

En el siguiente procedimiento, el sistema incluye dos sistemas operativos: Solaris y un entorno de arranque de Solaris Live Upgrade, second_disk. Se ha iniciado el SO Solaris, que contiene el menú de GRUB.

Pasos
  1. Conviértase en superusuario o asuma una función similar.

    Las funciones incluyen autorizaciones y comandos con privilegios. Para obtener más información sobre las funciones, consulte Configuring RBAC (Task Map) de System Administration Guide: Security Services.

  2. Para encontrar la ubicación del archivo menu.lst, escriba:


    # /sbin/bootadm list-menu
    

    Se mostrarán la ubicación y el contenido.


    The location for the active GRUB menu is: /boot/grub/menu.lst
    default 0
    timeout 10
    0 Solaris
    1 Solaris failsafe
    2 second_disk
    3 second_disk failsafe

ProcedureBúsqueda del archivo menu.lst del menú de GRUB cuando el archivo menu.lst activo se encuentra en otro entorno de arranque

En el siguiente procedimiento, el sistema incluye dos sistemas operativos: Solaris y un entorno de arranque de Solaris Live Upgrade, second_disk. En este ejemplo, el archivo menu.lst no se encuentra en el entorno de arranque que se está ejecutando actualmente. Se ha iniciado el entorno de arranque second_disk. El entorno de arranque de Solaris, que contiene el menú de GRUB, no se ha montado.

Pasos
  1. Conviértase en superusuario o asuma una función similar.

    Las funciones incluyen autorizaciones y comandos con privilegios. Para obtener más información sobre las funciones, consulte Configuring RBAC (Task Map) de System Administration Guide: Security Services.

  2. Para encontrar la ubicación del archivo menu.lst, escriba:


    # /sbin/bootadm list-menu
    

    Se mostrarán la ubicación y el contenido.


    The location for the active GRUB menu is: /dev/dsk/device_name(not mounted)
    The filesystem type of the menu device is <ufs>
    default 0
    timeout 10
    0 Solaris
    1 Solaris failsafe
    2 second_disk
    3 second_disk failsafe
  3. Como no se ha montado el sistema de archivos que contiene el archivo menu.lst, móntelo. Especifique el sistema de archivos UFS y el nombre del dispositivo.


    # /usr/sbin/mount -F ufs /dev/dsk/device_name /mnt
    

    Donde device_name especifica la ubicación del sistema de archivos root (/) en el dispositivo de disco del entorno de arranque que desea montar. El nombre del dispositivo se introduce con el formato /dev/dsk/c wtx dysz. Por ejemplo:


    # /usr/sbin/mount -F ufs /dev/dsk/c0t1d0s0 /mnt
    

    Puede acceder al menú de GRUB en /mnt/boot/grub/menu.lst.

  4. Desmonte el sistema de archivos.


    # /usr/sbin/umount /mnt
    

    Nota –

    Si ha montado un entorno de arranque o un sistema de archivos de un entorno de arranque, asegúrese de desmontar el sistema o los sistemas de archivos después de utilizarlos. De lo contrario, es posible que fallen las futuras operaciones de Solaris Live Upgrade en dicho entorno de arranque.


ProcedureBúsqueda del archivo menu.lst del menú de GRUB cuando se ha montado el entorno de arranque de Solaris Live Upgrade

En el siguiente procedimiento, el sistema incluye dos sistemas operativos: Solaris y un entorno de arranque de Solaris Live Upgrade, second_disk. Se ha iniciado el entorno de arranque second_disk. El entorno de arranque de Solaris, que contiene el menú de GRUB, se ha montado en /.alt.Solaris.

Pasos
  1. Conviértase en superusuario o asuma una función similar.

    Las funciones incluyen autorizaciones y comandos con privilegios. Para obtener más información sobre las funciones, consulte Configuring RBAC (Task Map) de System Administration Guide: Security Services.

  2. Para encontrar la ubicación del archivo menu.lst, escriba:


    # /sbin/bootadm list-menu
    

    Se mostrarán la ubicación y el contenido.


    The location for the active GRUB menu is:
    /.alt.Solaris/boot/grub/menu.lst
    default 0
    timeout 10
    0 Solaris
    1 Solaris failsafe
    2 second_disk
    3 second_disk failsafe

    Como ya se ha montado el entorno de arranque que contiene el menú de GRUB, puede acceder al archivo menu.lst en /.alt.Solaris/boot/grub/menu.lst.

ProcedureBúsqueda del archivo menu.lst del menú de GRUB cuando el sistema tiene una partición de arranque x86

En el siguiente procedimiento, el sistema incluye dos sistemas operativos: Solaris y un entorno de arranque de Solaris Live Upgrade, second_disk. Se ha iniciado el entorno de arranque second_disk. Se ha actualizado el sistema y se conserva una partición de arranque x86. Esta partición, que contiene el menú de GRUB, se monta en /stubboot . Para obtener información sobre las particiones de arranque x86, consulte x86: Recomendaciones para la partición.

Pasos
  1. Conviértase en superusuario o asuma una función similar.

    Las funciones incluyen autorizaciones y comandos con privilegios. Para obtener más información sobre las funciones, consulte Configuring RBAC (Task Map) de System Administration Guide: Security Services.

  2. Para encontrar la ubicación del archivo menu.lst, escriba:


    # /sbin/bootadm list-menu
    

    Se mostrarán la ubicación y el contenido.


    The location for the active GRUB menu is:
    /stubboot/boot/grub/menu.lst
    default 0
    timeout 10
    0 Solaris
    1 Solaris failsafe
    2 second_disk
    3 second_disk failsafe

    Puede acceder al archivo menu.lst en /stubboot/boot/grub/menu.lst.