24 de noviembre de 2010

Grub2 arranque windows-linux

Resumiendo, para usar una copia de seguridad de la configuración del grub2 hay que copiar/restaurar estos tres elementos:
- el archivo /etc/default/grub
- el directorio /etc/grub.d/ ( y todos los archivos – scripts – que contiene )
- y el archivo /boot/grub/grub.cfg .
Puedes copiarlos en donde consideres oportuno para tenerlos a mano por si te hacen falta en algún momento.

Pero esto no sirve para recuperar el grub2 que se haya perdido, ( eso es otro tema http://hatteras.wordpress.com/2010/08/03/recuperar-el-grub2/ ) sino que esto sirve para, una vez restaurado el grub2, volverlo a tener como lo teníamos antes del desastre.

Con solo eso ya podríamos dar por terminado el tema, y si no te interesa saber mas, ni el porque de tener que copiar esos tres elementos no hace falta que sigas leyendo, pero si quieres saber algo mas, continua…

———————

Así como la configuración del antiguo grub se guardaba en este único archivo ( /boot/grub/menu.lst) la configuración del grub2 se guarda en varios archivos que se encuentran en tres lugares principales:

1- archivo /boot/grub/grub.cfg – Este es el principal archivo de configuración que reemplaza a menu.lst.
A diferencia de menu.lst, este archivo no se debe editar a mano; si lo abres con gedit, él mismo te lo advierte:

# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub

es decir, traducido:

# NO editar este archivo
#
# Se genera automáticamente por /usr/ sbin/grub-mkconfig usando plantillas
# de /etc/grub.d y la configuración de /etc/default/grub

2- directorio /etc/grub.d/ – Este directorio contiene scripts del nuevo grub2. Estos scripts son bloques de construcción de los que nace el archivo de grub.cfg. Cuando se ejecuta el comando de grub2 (update-grub) , los guiones se leen en una cierta secuencia y se crea grub.cfg .

Los scripts que contiene, entre otros, son:
00_header es el script que carga la configuración de GRUB en / etc / default / grub, incluyendo tiempo de espera, la entrada de arranque por defecto, y otros
05_debian_theme define el fondo, los colores y temas. El nombre de este script seguramente cambiara en otras distribuciones cuando adopten el grub2.
10_linux se encarga del kernel de linux en la partición principal.
20_memtest86+ carga la utilidad memtest86+
30_os-prober es el guión que analizará los discos duros para otros sistemas operativos y añadirlas al menú de arranque.
40_custom es una plantilla que puede utilizar para crear entradas adicionales que se añadirán al menú de arranque.

3- archivo /etc/default/grub – Este archivo contiene los ajustes de menú de grub2 que son leídos por las secuencias de comandos de grub2 y escrita en grub.cfg. El directorio /etc/default/ contiene muchos otros archivos no relacionados con el grub2, no se emplea únicamente para el grub2.

————————–

El archivo /etc/default/grub contiene la personalización del grub2; el directorio /etc/grub.d/ tiene scripts que contienen la información del menú grub2 y el sistema operativo scripts de arranque.
Cuando se ejecuta el comando update-grub, se lee el contenido del archivo de arranque y los scripts de /etc/grub.d/ , y se acaba el proceso creandose el archivo grub.cfg.

Una vez comprendido esto, ya sabemos que no basta con hacer una copia de seguridad del archivo /boot/grub/grub.cfg ya que si no tenemos también el /etc/default/grub y el /etc/grub.d/ de forma adecuada, al ejecutar update-grub se creará un archivo /boot/grub/grub.cfg distinto al que habíamos recuperado desde la copia de seguridad.

*************************************
SEGUNDA FORMA
*************************************
Si quieres cambiar la opción por defecto, prepararla para que sea Windows la predeterminada, debes efectuar una modificación en el archivo que gestiona el arranque. Estos son los pasos que debes seguir:

* Vete a Aplicaciones \ Accesorios \ Terminal.
* Escribe:sudo gedit /etc/default/grub antes en /boot/grub/menu.lst
Tendrás que escribir la contraseña de usuario para continuar con el proceso.
* Se abrirá /boot/grub/grub.cfg. Localiza la línea que pone default 0, que indica que Ubuntu es el sistema que se inicia por defecto, y cámbiala por default 6.
* Guarda los cambios y sal del Terminal.
* Actualiza los cambios: sudo update-grub2
.
A partir de este cambio, cuando arranques el ordenador, se iniciará por defecto Windows. Si quieres volver a efectuar un cambio en la secuencia, ya sabes lo que tienes que hacer.

http://www.serviciosjfp.com/Canales/otros/000231.htm

*****************************
TERCERA FORMA
****************************
Anteriormente, para modificar el tiempo de espera, sistema operativo por defecto, el nombre de los sistemas operativos y toda la información del arranque se realizaba modificando en el archivo /boot/grub/menu.lst, pero en las últimas versiones de Ubuntu, el gestor de arranque predeterminado se actualizó a GRUB 2 siendo el anterior archivo reemplazado por /boot/grub/grub.cfg

GRUB 2 es un descendiente de GRUB (GRand Unified Bootloader) que ha sido completamente reescrito para proveer al usuario incremento significativo de flexibilidad y rendimiento.

En mi caso, tengo instalado Ubuntu y Windows 7, viéndose así el menú de arranque he iniciandose por defecto Ubuntu, Linux 2.6.31-15-generic
?
Ubuntu, Linux 2.6.31-15-generic
Ubuntu, Linux 2.6.31-15-generic (recovery mode)
Memory test (memtest86+)
Memory test (memtest86+, serial console 115200)
Windows 7 (loader) (on /dev/sda1)

Para modificarlo debes ejecutar
?
sudo gedit /boot/grub/grub.cfg

En la parte final del archivo, a partir de la linea
?
### BEGIN /etc/grub.d/10_linux ###

verás la lista de arranque, donde puedes agregar, modificar o eliminar lo que desees.

Yo modifiqué los nombres, eliminé las entradas que consideré innecesarias y cambié el inicio por default a Windows 7, quedando de la siguiente forma
?
Ubuntu 10.04 Lucid Lynx
Windows 7

Lo único que necesitas es agregar al final del archivo lo siguiente:

title Microsoft Windows 7
root (hd1,0)
savedefault
makeactive
chainloader +1

Donde, root (hd1,0) es lo importante ya que indica donde esta instalado Windows, si no te funciona siempre puedes volver a Linux para modificarlo sin problema.

No hay comentarios: