GRUB 2

Sumario básico de GRUB 2:

El fichero de configuración Grub 2 predeterminado

El fichero /etc/default/grub contiene la configuración de las variables de grub2. Por ejemplo, el tiempo antes de arrancar, entradas predeterminadas en el menú que se activará, parámetros del kernel, la apariencia de grub y cosas similares.

Los ficheros de script de Grub 2

Los ficheros situados en /etc/grub.d controlan el fichero resultante llamado grub.cfg que se encuentra en /boot/grub/.

El fichero grub.cfg nunca debe ser alterado manualmente. Todos los cambios tienen que hacerse mediante uno o todos los ficheros de script que se hallan en /etc/grub.d. os-prober debería poder manejar el 90% de todos los casos:

00_header:
05_debian_theme: Establece el entorno, colores de texto, temas
10_hurd: Localiza los núcleos Hurd
10_linux: Localiza los núcleos de Linux según los resultados de la orden lsb_release.
20_memtest86+: Si el fichero /boot/memtest86+.bin existe, lo incluye en el menú de arranque.
30_os-prober: Busca Linux y otros sistemas operativos en todas las particiones y los incluye en el menú boot.
40_custom: Una plantilla para agregar entradas personalizadas del menú de arranque para otros sistemas operativos.
60_fll-fromiso: Una plantilla para agregar entradas personalizadas del menú de arranque mediante fromiso a un lápiz USB o a una tarjeta SSD.
60_fll-fromiso no debe ser alterado use /etc/default/grub2-fll-fromiso
Read  Booting 'fromiso' with Grub 2

Después de que se haya hecho un cambio, grub.cfg necesita enterarse. En el caso de las actualizaciones del kernel de aptosid, se da automáticamente la orden de actualización. Si es una alteración manual hecha por usted como adminstrador del sistema en cualquiera de los ficheros antes mencionados, necesitará correr:

update-grub

El paquete deb Debian Grub2 se ha designado de manera que una alteración manual por parte de usted será necesaria muy raramente.

Edición de las opciones de arranque de Grub2 mediante la edición en pantalla

Grub2-Edit

Si, por la razón que sea, necesita hacer una alteración temporal de las opciones de arranque en el kernel realtado en Grub2, presione la tecla e para editar las opciones del kernel y mediante las teclas de dirección, vaya hasta la línea que desea editar, y a continuación mientras esté en la pantalla de edición haga Ctrl+x para arrancar el ordenador con las nuevas opciones que haya cambiado.

Por ejemplo, para ir directamente a run level 3, añada 3 al final de la línea linux /boot/vmlinuz.

Lo que haya editado mediante el editor de pantalla no queda permanentemente. Para hacer cambios que perduren necesitará editar los ficheros apropiados. Vea los ficheros de Grub 2.

Arranque dual y múltiple con Grub 2

Ya que Grub2 tiene una configuración modular, permite mediante un comando sencillo buscar cualquier sistema operativo recientemente instalado y si lo encuentra, trata de cambiar el fichero menu.cfg. Esta orden sencilla es:

update-grub

Si usted tiene necesidad de añadir una entrada personalizada al menu.cfg o si 30_os-prober falla al escribir en grub.cfg un cargador de menús, use su editor de textos favorito para hacer correcciones en /etc/grub.d/40_custom.

Ejemplos del fichero 40_custom personalizado:

menuentry "second mbr"{
set root=(hd1)
chainloader +1
}
menuentry "second partition"{
set root=(hd0,2)
chainloader +1
}

Cuando haya hecho los cambios, dé la orden:

update-grub

En caso de que avisara de que no conoce el dispositivo de arranque de un disco, ello significaría que el mapa de dispositivos debe ser vuelto a generar.

Asegúrese de que usted elige una partición en la que no esté el MBR al instalar el otro sistema operativo:

grub-mkdevicemap --no-floppy
update-grub

Se pueden ignorar los avisos de forma segura.

Si cometiera un error, la actualización sobreescribiría probablemente su MBR y necesitaría arreglarlo con Grub2 sobreescrito en MBR.

Solo volver a escribir grub2 al MBR desde el disco duro:

/usr/sbin/grub-install --recheck --no-floppy /dev/sda

Se debe correr esta línea más de una vez, hasta que esté convencido de que ha quedado grabado.

El sector de arranque del MBR ha sido sobre-escrito por Windows, se ha corrompido y/o para recobrar Grub2

NOTA: para restaurar un arrancador Grub2 necesita tener un aptosid.iso 2009-04 (moros) o posterior. Alternativamente, use chroot con cualquier live.iso.

Para volver a escribir el grub2 al MBR y/o para recuperar en general grub 2, necesitará arrancar desde aptosid.iso:

  1. Para identificar y confirmar sus particiones (p. ej. [h,s]d[a..]X) todas las acciones que siguen necesitan privilegios de super-usuario, así que conviértase en root (#):
    $ su
    
  2. Cuando ya sea root, escriba:
    fdisk -l
    cat /etc/fstab
    
    Esto es para conocer los nombres correctos.
  3. Cuando esté seguro de cuál es la partición correcta, cree el punto de montaje:
    mkdir -p /media/[hdxx,sdxx,diskx]
    
  4. Móntelo:
    mount /dev/xdxx /media/xdxx
    
  5. Ahora vuelva a escribir Grub en el MBR del primer disco duro (genérico):
    /usr/sbin/grub-install --recheck --no-floppy --root-directory=/media/xdxx /dev/sda
    

Uso de chroot para recuperar un Grub corrupto o que ha sido sobreescrito en el MBR

Para recuperar Grub si ha sido sobreescrito o ha quedado corrupto en el MBR, establezca un entorno chroot. Cualquier disco live.iso será suficiente, ya que chroot le lleva al sistema instalado en su disco duro por lo que puede recuperar la versión de grub apropiada, ya sea grub1 (grub-legacy) o grub2.

Arranque un aptosid.iso CD-live que sea apropiado para su sistema (32 o 64 bits CD, DVD, lápiz USB o tarjeta SSD) y abra la consola. Escriba su y presione Intro para tener permisos de root.

Usando fdisk -l o blkid, determine qué partición es la de arranque y tome nota de los nombres correctos. Si prefiere un GUI use Gparted.

blkid

y para comprobar que fstab coincide con la salida de blkid:

cat /etc/fstab

Supongamos que su sistema de fichero raíz está en /dev/sda2

mkdir /mnt/aptosid-chroot
mount /dev/sda2 /mnt/aptosid-chroot

A continuación necesita montar /proc, /run, /dev y /sys de la siguiente manera:

mount --bind /proc /mnt/aptosid-chroot/proc
mount --bind /run /mnt/aptosid-chroot/run
mount --bind /sys /mnt/aptosid-chroot/sys
mount --bind /dev /mnt/aptosid-chroot/dev
mount --bind /dev/pts /mnt/aptosid-chroot/dev/pts

Si arranca usando un sistema de particiones EFI también necesitará montarlo. Suponiendo que sea /dev/sda1:

mount /dev/sda1 /mnt/aptosid-chroot/boot/efi

Ahora su entorno chroot está establecido, acceda a él mediante:

chroot /mnt/aptosid-chroot /bin/bash

Ahora ya puede usar el caché local de apt o modificar los ficheros que se deban arreglar como si hubiera arrancado en el OS, en este caso para reparar Grub en el MBR.

Para recuperar Grub 2

apt-get install --reinstall grub-pc

Para comprobar que Grub se instaló en la partición o el disco correctos, haga:

dpkg-reconfigure grub-pc

Para recuperar Grub 2 EFI

apt-get install --reinstall grub-efi-amd64

Para recuperar Grub 1 (grub-legacy)

apt-get install --reinstall grub-legacy

siga las instrucciones del instalador.

Para liberar el chroot:

Ctrl+d

Vuelva a arrancar su PC.

Page last revised 29/06/2013 0850 UTC