29 mar 2011

Recuperar Grub

Hay varias maneras de recuperar el grub después de instalr Chakra, una de ellas figura en Espacio KDE:


En este tutorial vamos a ver la forma de recuperar el arranque de Linux, muchos usuarios tienen en sus PCs o Laptops una instalación en tus disco duro con Windows y otra con Linux al iniciar su equipo normalmente tienen un menú (Grub) con las opciones para elegir que S.O iniciar. Situación:
Un usuario con doble sistema operativo Windows/Linux, se ve en la necesidad de reinstalar el Windows y pierde su menú de arranque Grub, por Windows no respeta y te lo bota sin avisar siquiera.
Los usuarios nuevos en esto entran en panico y no saben que hacer ¿y quién no? a mí me pasó, de encima Windows te la pone difícil, pues bien para arreglar este detalle usaremos la herramienta Super Disk Grub, simplemente con esto recuperaremos nuestro Grub.
Super Grub Disk es una navaja suiza con la que podrás recuperar el arranque de tus sistemas operativos, sean Windows o Linux, restaurando la información del MBR.
  1. Primero nos descargamos el Super Grub Disk (.iso) y grabarlo en un CD.
  2. Una vez quemado el disco reiniciamos la computadora con el disco dentro y con el BIOS configurado para que inicie con el CD.
  3. Saldrá el menú de Super Disk Grub, ahi seleccionas la opcion Super Disk Grub.
  4. Ahora selecciona el sistema operativo osea GNU/LINUX y te saldrá una descripción de las siguientes secciones, que pasas pulsando enter.
  5. Seleccionamos la opción Arregla automaticamente arranque de GNU/LINUX (GRUB)
  6. Después el GRUB se arreglará, reiniciamos y tendremos el menú de nuevo.
Enlaces | Sitio Web de SDG | Mirrors para Dscarga.



También encontré esta información en la wiki de Arch:



Installando el paquete GRUB

Instale primero grub con pacman
pacman -S grub
Edite el archivo menu.lst con su configuración
nano /boot/grub/menu.lst
Nota: Use hd[a-z] para discos ide y sd[a-z] para los scsi o sata
Vea el mío como ejemplo:
# Archivo de configuración de GRUB - (GNU GRand Unified Bootloader)
# /boot/grub/menu.lst

# DISPOSITIVO   CONVERSIONES
#
#  Linux           Grub
# -------------------------
#  /dev/fd0        (fd0)
#  /dev/hda        (hd0)
#  /dev/hdb2       (hd1,1)
#  /dev/hda3       (hd0,2)
#

#  CONFIGURACION DE LA RESOLUCION DEL FRAMEBUFFER
#     +-------------------------------------------------+
#          | 640x480    800x600    1024x768   1280x1024
#      ----+--------------------------------------------
#      256 | 0x301=769  0x303=771  0x305=773   0x307=775
#      32K | 0x310=784  0x313=787  0x316=790   0x319=793
#      64K | 0x311=785  0x314=788  0x317=791   0x31A=794
#      16M | 0x312=786  0x315=789  0x318=792   0x31B=795
#     +-------------------------------------------------+

# Configuración general:
timeout   5
default   1
color light-blue/black light-cyan/blue
 
# Secciones de arranque
# numeradas a partir del 1 en su orden de aparición
#
# PISTA: Si quiere un framebuffer de 1024x768, añada "vga=773" a la línea de su kernel.
#
#-*

# (0) Arch Linux
title  Arch Linux  [cpio]
root   (hd0,0)
kernel /vmlinuz26 root=/dev/sda6 ro vga=773
initrd /kernel26.img

title  Arch Linux  [thinkpad]
root   (hd0,0)
kernel /vmlinuz26thinkpad root=/dev/sda6 ro video=vesafb:off acpi_sleep=s3_bios
resume=swap:/dev/sda5
initrd /kernel26thinkpad.img
Copiar los puntos de montaje a mtab
grep -v rootfs /proc/mounts > /etc/mtab

Instalando el cargador de arranque en el MBR ("Master Boot Record")

Hay dos formas habituales de instalar GRUB. Una es crear un disco de arranque (en un disquete, o en un cd-rom), y otra que consiste en instalar desde una instalación de Arch que se esté ejecutando. Si está actualizando una versión de grub puede que le interese la última porque es más sencilla y rápida, aunque el sitio web de GRUB dictamina que el disco de arranque es más seguro.
Utilizando la utilidad grub-install
grub-install --root-directory Punto-de-montaje (hdn) 
Instala grub en el MBR de un disco duro. La opción da la ruta a la imagen del kernel, si no está en /, p.ej. en /boot.
(hdn) es un disco, donde n es el número del disco, empezando desde 0.
Ejemplo:
Si tiene una partición de arranque separada y montada en /boot, haga una de las siguientes acciones
grub-install --root-directory=/boot '(hd0)'
grub-install --root-directory=/boot sda
grub-install --root-directory=/boot hda
Si notiene una partición de arranque separada, simplemente ejecute la orden sin la opción --root-directory
grub-install /dev/sda
Advertencia GRUB no entiende el esquema de nombres hda, sda, etc. Ve el disco en términos de (hd0), (hd1), etc. Esta es la razón por la que uno 'debe' tener cuidado al utilizar grub-install.
grub-install intenta relacionar los dispositivos BIOS con el formato hda/sda, y normalmente lo hace correctamente. La manera de comprobar si se hace correctamente es leyendo la salida de la propia orden una vez que ha finalizado la instalación del cargador de arranque. grub-install mostrará por pantalla algo como lo siguiente:
(fd0) /dev/fd0
(hd0) /dev/hda
Tendrá que comprobar usted si la relación es correcta. Si no lo es, vaya a /boot/grub y edite el archivo 'device.map' de la manera que sea correcta. Vuelva a ejecutar entonces la utilidad grub-install para reinstalar GRUB.

Configuración del cargador de arranque

La configuración de grub se hace en el archivo:
/boot/grub/menu.lst
  • (hdn,m) es la partición m del disco n, comenzando los números por 0
  • splashimage (hdn,m)/grub/Name.xpm.gz es el aarchivo de la imagen de arranque ("splash-image")
  • default n es la entrada de arranque por defecto, la escogida una vez transcurrido el tiempo para que el usuario seleccione una entrada
  • timeout m tiempo de espera m en segundos para una selección por parte del usuario, antes de arrancar la entrada por defecto
  • password -md5 str contraseña cifrada de arranque 'str'
  • title str Mensaje 'str' pidiendo una entrada de arranque
  • root (hdn,m) partición base, donde reside el kernel
  • kernel /path ro root=/dev/device initrd /initrd.img utiliza la opción root, si no encuentra el kernel en /
  • makeactive
    chainloader +1
    establece la unidad activa y cede el proceso de arranque a su cargador de arranque (para Windows, por ejemplo)
  • map (hd0) (hd1)
    map (hd1) (hd0)
    cambia los disco primario y secundario a la hora de arrancar, obligatorio para arrancar Windows desde un disco secundario
  • root (hdn,m,z)
    kernel /boot/loader
    arranca la partición x de FreeBSD
  • default saved recuerda cada selección actual de arranque y la convierte en la nueva selección por defecto. Escriba "savedefault" al final de cada selección de arranque, para aquellas en que quiera que se utilice esta opción.
Para aquellos que les guste los efectos gráficos, existe la entrada Graphical GRUB.


Arranque dual

Estas son las dos maneras más comunes de configurar el archivo menu.lst. Para usos más complejos, vaya aquí.

Arranque dual con Windows

Añada esto al final de su archivo /boot/grub/menu.lst. Esto da por supuesto que su partición Windows es [s/h]da2.
# (2) Windows XP
title Windows XP
rootnoverify (hd0,1)
makeactive
chainloader +1

Arranque dual con Windows en un disco duro diferente

Añada esto al final de su archivo /boot/grub/menu.lst. Esto da por supuesto que su partición Windows es [s/h]db1.
# (2) Windows XP
title Windows XP
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,0)
makeactive
chainloader +1
La función map engaña a su instalación de Windows para que piense que el disco secundario es en realidad el primario.

Arranque dual con otras distribuciones de linux

Se hace exactamente de la misma manera en que se carga Arch linux. Aquí se da por supuesto que la otra distribución está en la partición [s/h]da3.
title Other Linux
root (hd0,2)
kernel /boot/vmlinuz (añada aquí las opciones que sean necesarias)
initrd /boot/initrd.img (si el otro kernel usa o necesita una)

Arranque dual con otra distribución de linux (mediante "Chainloading")

Para evitar la pesadilla del mantenimiento, podría querer encadenar al GRUB del MBR a otro cargador de arranque que pudiera tener instalado en el sector de arranque de una partición [(hd0,2) en nuestro ejemplo] en vez de en el MBR. De esta manera las cosas "automágicas" de la otra distribución gestionarán el archivo menu.lst de (hd0,2) (si también es grub) para su propia distribución y usted arrancará con todas las opciones necesarias (como detectar correctamente el último kernel utilizado) sin necesidad de copiar y pegar partes de aquel menu.lst en el suyo.
En nuestro ejemplo [1], GRUB está en el MBR y algún otro cargador de arranque (BL) (sea grub o lilo) está en el sector de arranque de (hd0,2).
-------------------------------------------------
|   |           |           |    %   (hd0,2)     |
| M |           |           | B  %               |
| B |  (hd0,0)  |  (hd0,1)  | L  %  Otra         |
| R |           |           |    %  Distro       |
|   |           |           |    %               |
-------------------------------------------------
  |                            ^
  |     chainloading           |
  -----------------------------
Entonces, simplemente tiene que poner en su menu.lst:
title Otra distribución de Linux
root (hd0,2)
chainloader +1

Interacción de LiLO y GRUB

Si alguna vez utilizó lilo no olvide desinstalarlo con
pacman -R lilo
dado que algunas tareas (p.ej. la compilación del kernel utilizando make all) harán una llamada de lilo, y entonces lilo se instalara por encima de grub. Tenga en cuenta que esto no eliminará lilo en el MBR, sino que éste seŕa sobreescrito cuando usted instale otro cargador de arranque.

Resolución de problemas

GRUB error 15

Asegúrese de que la línea del kernel tenga ro en el archivo menu.lst.

1 comentario: