Archivo

Archive for 2 marzo 2009

Un Grub maestro, varios Esclavos

marzo 2, 2009 3 comentarios

A raíz de la entrada “Un solo Grub para todos tus Linux” del magnífico blog de FORAT, en el que explica cómo crear entradas a mano en GRUB cuando instalas varios sistemas operativos y quieres mantener el GRUB original, voy a permitirme por una vez estar en desacuerdo con él y poner por escrito aquí mi forma de hacerlo, que creo que es un poco más sencilla 😉

Y para ello voy a poner el ejemplo de Windows XP.

Cuando tenemos instalado Linux y XP en una misma máquina, lo que tenemos en el MBR es el gestor de arranque GRUB, y dentro de éste una entrada con título como por ejemplo “XP”. Si editamos esa entrada ( pulsando “e” ) desde GRUB, vemos estas líneas:

root (hd0,0)

chainloader +1

makeactive

Estas líneas lo que hacen es pasarle el control al gestor de arranque del XP, que en vez de estar en el MBR está en la partición 1, de ahí el (hd0,0).

Pues eso mismo lo podemos hacer para linux. Pongámonos en un escenario típico:

  • 1ª partición hda1 –> Windows XP ( Con su gestor de arranque en la partición hda1
  • 2ª partición hda2 –> Linux Ubuntu ( Con su gestor de arranque GRUB en el MBR, ya que es nuestro sistema operativo principal )
  • 3ª partición hda3 –> Instalaremos Debian Lenny que acaba de salir como estable y queremos probarla.

Lo que haríamos sería iniciar la instalación de Debian Lenny normalmente, y cuando nos pregunte dónde instalar el gestor de arranque GRUB le decimos que en vez de en el MBR lo haga en la misma partición dónde instalamos Debian, es decir en hda3.

Al reiniciar, cuando nos salga el GRUB vemos que sólo nos aparecen las entradas del XP y de Ubuntu. Iniciamos Ubuntu, y como root editamos el fichero /boot/grub/menu.lst , y abajo de todo tendremos algo así:

title Ubuntu jaunty (development branch), kernel 2.6.28-8-generic
root (hd0,1)
kernel /boot/vmlinuz-2.6.28-8-generic root=UUID=09dd0c85-868a-457f-a25c-0f20c1707f28 ro splash vga=794
initrd /boot/initrd.img-2.6.28-8-generic
quiet

### END DEBIAN AUTOMAGIC KERNELS LIST

# This entry automatically added by the Debian installer for a non-linux OS
title Microsoft Windows XP Professional
root (hd0,0)
savedefault
makeactive
chainloader +1

Pues justo debajo de la entra para Windows XP creamos una nueva para nuestra Debian:

title Debian Lenny

root (hd0,2)

chainloader +1

makeactive

Guardamos, y al reiniciar y cargar el GRUB del MBR que es el de Ubuntu, nos saldrán tres entradas

  • Ubuntu
  • Windows XP
  • Debian Lenny

Si pulsamos Debian Lenny lo que hace es cargarnos el GRUB de Debian de la partición hda3, pinchamos en el kernel por defecto y listo.

Yo le veo 2 ventajas a este método:

  1. Podemos instalar varios Sistemas Operativos, teniendo el GRUB del que más nos guste en el MBR, y a través de éste cargamos los GRUB de los otros Sistemas Operativos.
  2. No nos tenemos que preocupar por las actualizaciones. Si sale un nuevo kernel debian y nos actualiza el GRUB no pasa nada, nos lo hace bien. De la otra forma, tendriamos que volver a editar el menu.lst con el nuevo kernel.

Aunque todo es mejorable por supuesto. Acepto sugerencias y críticas. Criticar, criticar …

Nota: Cuando me refiero a (hd0,0) hd0 se refiere al disco 1, y 0 a la particion 1. Por eso cuando instalamos Debian Lenny en hda3, en grub es (hd0,2) hd0 –> disco 1, 2 –> partición 3).

Categorías:Linux