GRUB (Español)

From ArchWiki
Revision as of 08:12, 3 July 2012 by Fengchao (Talk | contribs) (Rename inter language link.)

Jump to: navigation, search

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:GRUB (Español)#)
Template:Article summary start

Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end

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.

Recursos externos