Descarga Full Programas Here in descargafullprogramas

8/11/09

Funcionamiento del Grub

En todos los discos duros, se reserva un espacio para el MBR (Master Boot Record) o Sector de Arranque. Esta es la estructura básica, sobre el espacio restante se hacen las particiones, y en ellas se puede o no instalar un SO (Sistema Operativo).

Cada SO tiene su gestor de arranque, así que cuando instalamos un SO, en el proceso de instalación se modifica el MBR del disco para que pueda arrancar el SO que hay instalado en la partición x.

En el caso de Windows, ese sector de arranque, solo permite arrancar Windows, sin embargo Linux, utiliza gestores de arranque que permiten arrancar otros SO’s instalados en el disco, gestores de arranque como LiLo o Grub.


Funcionamiento de Grub

Como grub es un cargador de arranque, veremos que pasa desde que encendemos el ordenador:

Primero la BIOS, enlaza a un dispositivo de arranque, como el HDD o CD-ROM, en el caso de HDD, se le pasa el control al MBR del Disco.
En el MBR se encuentra la Fase 1 del GRUB, ya que el MBR solo tiene 512 bytes de espacio. La fase 1 carga la siguiente fase del GRUB, que puede encontrarse en cualquier parte del disco duro.
De la fase 1 se puede pasar a la 1.5 o a la fase 2, de todos modos la 1.5 pasa a la 2, así que obviaremos detalles en esto.
La fase 2, que es la que contiene el menú, lo muestra, y una vez el usuario elige la opción, Grub carga el kernel elegido
De modo que Grub se instala en dos partes, primero en el MBR como ya hemos dicho, y después en el disco, bien en una partición /boot o bien en la partición / de la distribución linux principal.

En cualquier caso Grub, una vez instalado se encuentra en /boot , y ahí tiene su archivo de configuración, donde podemos configurar las opciones de arranque.

Como arranca Linux

Para arrancar un SO Linux los pasos son los siguientes:

Decirle a Grub la partición en la que se encuentra instalado el SO Linux
Iniciar el kernel
Un ejemplo de como cargar un SO Linux, sería el siguiente:

root (hd0,1)
kernel /vmlinuz root=/dev/hda2 ro

Como arranca Windows
Para arrancar un SO Windows seguimos estos pasos:

Decirle a Grub la partición en la que se encuentra instalado
Hacer la partición Activa
Llamara al cargador de arranque Windows
El ejemplo de como cargar un SO Windows, es este:

root (hd0,0)
makeactive
chainloader +1

menu.lst
El archivo de configuración para Grub es el menu.lst, que se encuentra en /boot/grub/.

En este archivo debemos de poner las entradas del menú de Grub, con sus opciones de arranque correspondiente, además de algunos valores generales.

Los Discos Duros se enumeran desde 0, y las particiones también se enumeran desde 0. Así por ejemplo para la primera partición del primer disco escribiríamos (hd0,0)

Ejemplo de /boot/grub/menu.lst:

# Configuration General
timeout 5
default 1
color light-blue/black light-cyan/blue

# Entradas del menú
# (0) Arch Linux
title Arch Linux
root (hd0,1)
kernel /boot/vmlinuz26 root=/dev/sda2 ro vga=773
initrd /boot/kernel26.img
# (1) Windows XP
title Windows XP
rootnoverify (hd0,0)
makeactive
chainloader +1

grub.cfg
El archivo de configuración para Grub2 es el grub.cfg, que se encuentra en /boot/grub/ .

En el archivo debemos de poner las entradas del menú de Grub2, con sus opciones de arranque correspondientes, además de algunos valores generales.

Los Discos Duros se enumeran desde 0, sin embargo lasparticiones se enumeran desde 1. Así por ejemplo para la primera partición del primer disco escribiríamos (hd0,1)

Ejemplo de /boot/grub/gurb.cfg:

# Configuration General
set timeout=5
set default=0

# (0) Arch Linux
menuentry "Arch Linux" {
set root=(hd0,2)
linux /vmlinuz26 root=/dev/sda2 ro
initrd /kernel26.img
}

# (1) Windows
menuentry "Windows" {
set root=(hd0,1)
chainloader +1
}

Solución a problemas básicos con Grub

Como restaurar Grub
A veces no es posible prescindir de Windows, bien por los juegos o por trabajo, pero no todo se puede hacer en Linux. Pero en Windows es necesario un formateo cada cierto tiempo. Al formatear Windows, el MBR se reescribe para este, perdiendo Grub en 99% de los casos.

La solución es reinstalar grub, para lo que tendremos que arrancar desde alguna distribución live:

PartedMagic: Es una distribución Live, ideada para trabajar con particiones.
GParted Live: Es otra distribución Live, ideada para trabajar con particiones.
Arch Linux: Es el CD de Instalación de Arch Linux, pero arranca una consola desde la que podemos trabajar igual.
Debian: Igual que Arch, es el CD de Instalación de Debian, arranca una consola desde la que podemos reinstalar grub.
Además prácticamente podemos reinstalar grub desde cualquier CD Linux. Veamos como reinstalar el Grub.

Ejecutamos el interprete de comandos de grub:

grub

Indicamos la localización de la partición donde se encuentra Grub:

root (hdX,Y)

Instalamos grub en el MBR del Disco.

setup (hdX)

Salimos y reiniciamos, ya está grub reinstalado.

quit

Grub no muestra el menú sino su consola
Este error puede darse tanto en Grub como en Grub 2. Suele darse cuando las ordenes escritas en el menu.lst o en el grub.cfg no son correctas. En particular cuando no hemos escrito correctamente el número de disco o partición.

En lugar del menú, aparece el mensaje de debajo.

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

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

grub>

La respuesta es clara, primero pulsamos TAB, así vemos los posibles comandos a ejecutar. Entre ellos se encuentra cat, con lo que es fácil ver el archivo menu.lst o grub.cfg.

cat /boot/grub/menu.lst
cat /boot/grub/grub.cfg

Con esto podemos ver las ordenes necesarias para el arranque, que en el caso de Linux son root y kernel . En realidad este paso no es necesario si sabes lo que hay que poner. El cat es solo para orientarse/recordar comandos.

Una vez vistos basta con escribir los comandos y arrancar el SO Linux, y una vez hecho lo primero es modificar el archivo de configuración, para no volver a obtener este error.

Errores numerados
Además de estos hay otros errores numerados, aunque la solución a veces es parecida a estos dos anteriores, siempre viene bien saber el motivo del error.

Fuente