Acceder GRUB desde Windows
Este es el menú de GRUB2 después de instalar Ubuntu 10.
La necesidad es acceder a él (a su configuración desde Windows).
——————————————————————————————
NOTA: En este punto ya se que se puede cambiar la configuración de inicio desde Ubuntu, utilizando aplicaciones o simplemente editando el fichero grub.cfg (en el caso de GRUB 2.0), pero la premisa por gusto obligatoria, es que el acceso se haga desde Windows. Si a alguien le interesa el porqué de esta premisa, se lo puedo volver a explicar
detalladamente, pero creo que no viene al caso ahora mismo.
——————————————————————————————
(continuemos…)
La pimero (y lo más sencillo) que se me pasa por la cabeza, es acceder al fichero de configuración de grub2 (grub.cfg) y modificarlo directamente. Para ello puedo utilizar la aplicación Ext2Fsb, que tal y como explica en la página, es un driver de acceso a ext2, compatible con w2000, Xp y Vista.
Como ya he dicho, la aplicación permite acceder a particiones Linux formateadas en ext2 sin problema, pero… Mala suerte para mi, porque si no le dices lo contrario, Ubuntu 10 formatea las particiones en ext4. ;-(
Después de revisar los foros y preguntar a algun que otro entendido, parece que la solución pasa por, crear una nueva partición en Ubuntu, formatearla como ext2 y mover a ella GRUB2, para poder acceder a la configuración de éste desde windows, con la aplicación mencionada anteriormente (Ext2Fsb). Fácil ¿no? Nada más lejos de la realidad para alguien como yo… ;-)
Antes de empezar, será necesario tener a mano el LiveCD de Ubuntu para poder arrancar con él, y el LiveCD de Super Grub2 necesarios para arrancar durante los cambios o cuando tengamos algun «accidente» con la configuración (como me ha pasado a mi).
Intentaré explicar los pasos que he ido siguiendo…
PASO 1: Crear la nueva partición. Para ello he utilizado la herramienta grauíta para Windows, Easeus Partition Master. Sencilla, potente y gratuíta. También se podría haber hecho desde Ubuntu, pero yo he decidido hacerlo desde aquí. Para ello basta con redimensionar (quitar espacio) a una de las particiones existentes y crear una nueva.
En mi caso he quitado 15 megas a la partición Windows y he creado una nueva llamada BOOTn, con ext2.
(otra opción más sencilla si cabe, que posteriormente he probado es hacer esto mismo desde Ubuntu con GParted).
PASO2: Una vez creada la partición ya deberíamos poder visualizarla desde Ubuntu.
En mi caso en este punto, al intentar entrar no me permite hacerlo porque detecta que GRUB es incorrecto (que me he cargado el arranque ¡Vamos!).
Posteriormente he comprobado que si la partición la creáis desde Ubuntu (mediante GParted) este error no aparece. en cualquiera de los dos casos se puede seguir adelante con los pasos que hay más abajo, sin problemas.
No hay problema, si arrancamos con el LiveCD de Super Grub2 podemos acceder directamente a la configuración anterior.
Seleccionamos la opción de que busque los ficheros de configuración (grub.cfg) existentes y arrancamos con el anterior.
Ahora ya podemos acceder a ubuntu y ver las particiones creadas, en mi caso con GParted.
> sudo apt-get install gparted
O también desde el «Centro de software Ubuntu».
Ahora tengo las particiones:
- /dev/sda1 en la que tengo XP
- /dev/sda2 donde está Ubuntu
- /dev/sda3 de tipo ext2 llamada BOOTn que es la que acabo de crear.
Desde GParted, puedes pulsar click derecho sobre la partición BOOTn y acceder a «Información» para anotar el UUID de la partición.
A partir de aquí realizaremos el proceso desde el Terminal. Aquí podéis ver la lista completa de comandos en la pantalla de Terminal (no son muchos) y a continuación los pongo de forma individual explicando cada uno para qué es, aunque la complicación no es mucha.
Creamos un directorio en /media
>sudo mkdir /media/bootn
Montamos la partición que hemos creado sobre ese directorio. A partir de ahora accederemos a ella por ahí:
> sudo mount /dev/sda3 /media/bootn
Copiamos el contenido del boot actual (/boot) al nuevo directorio creado (a la partición nueva):
> sudo cp -dpR /boot/* /media/bootn
Movemos el contenido del anterior boot a un directorio de backup –oldboot– (mejor que borrarlo, por si acaso); Si algo fallara con Super Grub 2 podríamos acceder de nuevo al fichero grub.cfg de este directorio oldboot.
> sudo mv /boot /oldboot
Creamos un nuevo directorio de boot.
> sudo mkdir /boot
Modificar el fichero fstab (File System Tables) para añadir la nueva partición de boot.
> sudo gedit /etc/fstab
Añadir la línea siguiente:
# /boot ; Nueva partición ext2 BOOTn
UUID=4b43bb15-46c7-4ce9-8e03-5cbfa195a5cb /boot ext2 defaults 0
El UUID debe ser el de vuestra partición; Se accede a él desde GParted (como hemos visto antes) o desde Terminal con el comando: sudo blkid /dev/sda3
Desmontar la partción /bootn
> sudo umount /media/bootn
Y montarla como /boot
> sudo mount /dev/sda3 /boot
Ahora sólo queda instalar grub en la nueva partición de boot que hemos montado.
> sudo grub-install –root-directory=/ /dev/sda
Y una vez instalado actualizarlo
> sudo update-grub
Si todo ha ido bien, la actualización del grub encontrará las opciones correspondientes a los sistemas operativos que tenemos instalados. En mi caso:
- Found linux image: /boot/vmlinuz-2.6.32-24-generic
- Found initrd image: /boot/initrd.img-2.6.32-24-generic
- Found memtest86+ image: /memtest86+.bin
- Found Windows Fundamentals for Legacy PCs on /dev/sda1
Finalmente para editar grub.cfg, desde windows necesitamos un editor que soporte el formato Unix/Linux (LF). En mi caso he utilizado RJ TextEd, del que ya hablé hace unos días en esta entrada.
Basta con cambiar (en mi caso también) la opción Default de 0 a 3 para seleccionar el sistema que posteriormente aparecerá como por defecto para arrancar.
Desde Ubuntu también es sencillo, por ejemplo, desde el Terminal con la siguiente línea:
> sudo gedit /boot/grub/grub.cfg
Hasta aquí todo lo necesario. Espero que os sea útil y os evite unas cuantas horitas de pruebas o de revisar por Internet. ;-D
En mi caso las pruebas las he hecho con Ubuntu 10.04 y la versión que hay de Grub es la 2.0.
Enlaces de interés:
Un saludo.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Hola Germán:
Muy bueno el software para el tema de las particiones que recomiendas: Easeus Partition Master.
Casualmente, tenía pendiente reparticionar un equipo con Windows 2000 que se habia quedado sin espacio en C y aproveché tu recomendacion para descargar la versión libre, para hacerlo.
Pues efectivamente, esa herramienta va muy bien. Siempre habia usado otras similares, pero el que esté disponible con una versión gratuita me parece estupendo.
Nada mas. Hay veces que cosas así te resuelven la vida en un momento de aprieto. :-)
Saludos.
Realmente funciona muy bien. Sencillo y simple. Al estilo del antiguio Partition Manager.
Otra opción (que he descubierto ahora) y que también es muy sencilla para redimensionar y crear particiones nuevas es utilizando Ubuntu. Si no se tiene instalado, se puede arrancar con el LiveCD. Se descarga GParted y las posibilidades son muy parecidas.