Un sistema de arranque dual con el gestor de arranque de Windows

Es bien sabido que GNU/Linux es bastante respetuoso con otros sistemas operativos a la hora de arrancar. En realidad Windows también permite arrancar otros sistemas no Microsoft, aunque requiere algo más de trasteo. Vamos a ello

Inicio

Partimos del siguiente sistema. Un sistema dual con Windows 7 y Ubuntu 14.04 instalados. El último en instalar fue Windows, así de momento no podemos acceder a Ubuntu. Y como somos un poco especiales, queremos utilizar el gestor de arranque de Windows, por puro gusto de aprender. Las particiones del sistema son las siguientes:

  • sda1 - Partición de sistema de Windows.
  • sda2 - Partición con Ubuntu 14.04
  • sda3 - Partición de Windows 7

Acceso a GNU/Linux y copia del gestor de arranque

Lo primero que vamos a hacer es acceder a Ubuntu utilizando un Live-CD. Una vez allí, vamos recrear el gestor de arranque de Ubuntu (Grub), y lo vamos a almacenar en un archivo. Finalmente, utilizaremos la herramienta bcdedit para añadir la entrada correspondiente en el almacén BCD. Empecemos.

Una vez que hayamos arrancado con el Live-CD, haremos lo siguiente:

sudo mkdir -p /media/ubuntu sudo mount /dev/sda2 /media/ubuntu // creamos estas carpetas de sistema necesarias para instalar Grub sudo mount --bind /dev /media/ubuntu/dev sudo mount --bind /proc /media/ubuntu/proc sudo mount --bind /sys /media/ubuntu/sys // Hacemos un Chroot sobre la carpeta donde hemos montado la partición de Ubuntu. sudo chroot /media/ubuntu // Instalamos Grub en la partición de arranque. Usamos --force, porque de otro modo se nos permitiría hacerlo, al tener que usar listas de bloques, menos fiables que las rutas a archivos. grub_install /dev/sda2 --force // Copiamos grub en un archivo. dd if=/dev/sda2 of=ubuntumbr.bin bs=512 count=1 // Copiamos el archivo ubuntumbr.bin a la partición de sistema de Windows. mkdir /media/sda1 mount /dev/sda1 /media/sda1 cp ubuntumbr.bin /media/sda1

Hasta aquí la recreación de Grub. Ahora, vamos a reiniciar el sistema, entrando en Windows. Una vez allí, debemos añadir una nueva entrada para el gestor de arranque Grub. Para ello, abrimos con permisos de administrador una consola de comandos:

bcdedit /create /d "Ubuntu 14.04" /application BOOTSECTOR // Al hacer esto, se generará un UUID, que debemos copiar. Por ejemplo, supongamos que es el siguiente: // 550e8400-e29b-41d4-a716-446655440000 // Indicamos al almacén BCD donde se encuentra el gestor de arranque: bcdedit /set {550e8400-e29b-41d4-a716-446655440000} device partition=C: bcdedit /set {550e8400-e29b-41d4-a716-446655440000} path \ubuntumbr.bin // También decimos en qué orden queremos que aparezcan las opciones de arranque, y cuanto tiempo en segundos tenemos para elegir entre una u otra. bcdedit /displayorder {550e8400-e29b-41d4-a716-446655440000} /addlast bcdedit /timeout 20

Y con esto, la próxima vez que arranquemos, podremos elegir entre Windows o GNU/Linux desde el gestor de arranque de Windows.

Actividad 1. Repite el proceso completo solo y sin ayuda.

Actividad 2. Añade al gestor de arranque una tercera entrada, que te permita elegir al inicio un arranque de Windows en modo a prueba de fallos. Busca instrucciones en Internet para añadir una nueva opción de arranque seguro de Windows.

Lee y comprende primero las instrucciones, porque hay varias cuestiones mezcladas. Lee, interpreta y utiliza solo aquello que te permita cubrir el ejercicio. No ejecutes comandos sin saber que están haciendo.