Páginas

domingo, 28 de octubre de 2012

Cómo reinstalar el menú de arranque de openSUSE 12.1

El menú de inicio de openSUSE 11.4 y 12.1 es generado por GRUB Legacy, el cargador de arranque por defecto de openSUSE hasta la versión 12.1. El cargador de arranque es el primer programa que se ejecuta cuando se enciende el ordenador. A partir de openSUSE 12.2, el cargador de arranque por defecto para las nuevas instalaciones del sistema es GRUB 2.

GRUB es un cargador de arranque múltiple desarrollado por el proyecto GNU. GRUB permite elegir qué sistema operativo, de todos los que se encuentran instalados en el ordenador, debe iniciarse, y también permite seleccionar un núcleo específico con una configuración determinada de una distribución Linux. GRUB permite arrancar una amplia variedad de sistemas operativos, además de Linux. GRUB es compatible con todas las versiones de Windows.

En openSUSE, las opciones de GRUB se configuran con YaST.  Por defecto, openSUSE instala el código de arranque de GRUB en el sector de arranque de la partición raíz del sistema y marca esta partición como partición activa o partición de arranque. Cuando se enciende el ordenador, el sistema básico de entrada y salida (BIOS) localiza el primer disco duro y ejecuta el código de arranque genérico instalado en el sector de arranque principal (MBR), que ejecuta el código de arranque de GRUB instalado en la partición activa.

GRUB también se puede instalar en una partición /boot separada (que no se crea por defecto en la instalación de openSUSE) o en la partición extendida (si la partición raíz se encuentra en una partición lógica y no existe una partición de arranque separada). No se recomienda instalar el código de arranque de GRUB en el MBR si se ha instalado otro sistema operativo en el equipo.

Si por alguna razón, como la instalación de un nuevo sistema operativo en el ordenador o por una actualización incorrecta, el sector de arranque principal del disco duro se sobreescribe o los archivos de configuración de GRUB se corrompen, nos podemos encontrar con que el menú de arranque ha desaparecido o bien no podemos iniciar uno o varios de los sistemas operativos que tenemos instalados en el equipo. En ese caso, ¡qué no cunda el pánico! Para recuperar un menú de arranque operativo, basta con reinstalar GRUB.

Para reinstalar GRUB Legacy en openSUSE 11.4 o 12.1 hay que seguir los pasos siguientes:

1. Arrancar el ordenador con el DVD de instalación de openSUSE. Elegir la opción de "Rescue System" o "Sistema de rescate" e iniciar sesión como superusuario escribiendo root.

Rescue login:
Rescue login: root
Rescue:~ #

2. Obtener información del las particiones del sistema. El  comando fdisk -l lista las particiones del sistema. Para el caso de una instalación por defecto de openSUSE, con partición /home separada, la salida de este comando puede ser parecida a esta:

Rescue:~ # fdisk -l

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x89c77279

Device    Boot     Start       End    Blocks Id System
/dev/sda1           2048   4208639   2103296 82 Linux swap / Solaris
/dev/sda2   *    4208640  46153727  20972544 83 Linux
/dev/sda3       46153728 625141759 289494016 83 Linux
Rescue:~ #

En este caso la partición de arranque es /dev/sda2.

3. Ejecutar el interfaz de comandos de GRUB.

Rescue:~ # /usr/sbin/grub

     GNU GRUB  version 0.97  (640K lower / 3072K upper memory)

 [ Minimal BASH-like line editing is supported.  For the first word, TAB
   lists possible command completions.  Anywhere else TAB lists the  possible
   completions of a device/filename. ]

grub>


4. Averiguar el nombre de la partición donde está instalado GRUB.

grub> find /boot/grub/stage1

La salida del comando anterior será un nombre de partición según esta convención:
  • Particiones del primer disco duro:
    • /dev/hda1 o /dev/sda1 --------> (hd0,0)
    • /dev/hda2 o /dev/sda2 --------> (hd0,1)
    • /dev/hda3 o /dev/sda3 --------> (hd0,2)
    • ...
  • Particiones del segundo disco duro:
    • /dev/hdb1 o /dev/sda1 --------> (hd1,0)
    • /dev/hdb2 o /dev/sda2 --------> (hd1,1)
    • /dev/hdb3 o /dev/sda3 --------> (hd1,2)
    • ...
Si la salida del comando son dos o más particiones, significa que hay dos o más distribuciones Linux instaladas con sus correspondientes cargadores de arranque GRUB. En ese caso, hay que identificar qué partición corresponde al cargador GRUB de openSUSE a partir de la información obtenida en el primer paso.

3. Indicar la partición donde está instalado GRUB.

grub> root (hdX,Y)

Las variables X e Y representan el número de disco duro y el número de partición donde está instalado el cargador GRUB de openSUSE.

4. Instalar GRUB en el MBR del disco duro o en el sector de arranque de la partición raíz de openSUSE.

  • En el MBR del disco duro:

    grub>
    setup (hd0)

  • En la partición raíz de openSUSE:

    grub> setup (hdX,Y)

    Las variables X e Y representan el número de disco duro y el número de partición de la partición raíz de openSUSE.

5. Salir del interfaz de comandos de GRUB y reiniciar el ordenador.

grub> quit

Rescue:~ # reboot

 Si arrancamos con un LiveCD de openSUSE en vez de con el DVD de instalación, el proceso es el mismo. Sólo hay que abrir un terminal e iniciar sesión como superusuario con el comando su -. Este comando nos pedirá la contraseña de superusuario, que es linux.

Para restaurar el cargador de arranque GRUB también se puede utilizar el CD de rescate Rescatux, que dispone de un asistente gráfico para las tareas de rescate. Rescatux también sirve para comprobar y reparar los sistemas de archivo, incluso aunque aparentemente no presenten errores. Esta distribución está totalmente traducida al castellano.

1 comentario:

  1. Me marca esto: Error 17: Cannot mount selected partition

    ResponderEliminar