Recuperar GRUB2 (1.97~beta4) después de instalar Windows
ÍNDICE
1. ¿A quién va dirigido este artículo?
2. ¿Qué se necesita?
3. Proceso
1. ¿A quién va dirigido este artículo?
Esta guía puede ser útil para usuarios de equipos donde el GRUB2 es utilizado después del encendido para escoger el sistema operativo a utilizar. Luego de una re-instalación de Windows por lo general desaparece el GRUB y el sistema por sí solo arranca con Windows, sin darnos la posibilidad de iniciar nuestra instalación GNU/Linux.
2. ¿Qué se necesita?
Se requiere un LiveCD de (K|X)Ubuntu en una versión igual o más reciente que 9.10 Karmic Koala. Es necesario arrancar desde el mismo para la recuperación del GRUB2.
--Tip: Es mucho mejor tomar la imagen del instalador de nuestra distribución y con ella convertir una unidad Flash USB o unidad de almacenamiento externa como unidad de autoarranque. El sistema operativo funcionará bastante más rápido que si es ejecutado desde un CD/DVD, y prácticamente no se notará que se está usando en modo Live--
3. ¿Qué se debe hacer?
Una vez iniciada la sesión, en una consola se deben ejecutar los siguientes comandos:
a)
$ sudo fdisk -lLa salida de este comando nos muestra información acerca de la tabla de particiones para el (los) disco(s) duro(s) instalado(s) en el equipo. Una de ellas contiene la instalación de nuestra distribución GNU/Linux, representada por "/" (root). Hay que identificar dicha partición para proseguir.
He aquí un ejemplo de lo que debe aparecer al ejecutar el mencionado comando.
$ sudo fdisk -l
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xda8dda8d
Device Boot Start End Blocks Id System
/dev/sda1 * 1 15524 124696498+ 7 HPFS/NTFS
/dev/sda2 15525 19457 31591822+ 5 Extended
/dev/sda5 15525 16010 3903763+ 82 Linux swap / Solaris
/dev/sda6 16011 17834 14651248+ 83 Linux
/dev/sda7 17835 19457 13036716 83 Linux
Como puede observarse, se muestran las particiones de Windows (con el sistema de archivos HPFS/NTFS), y las que son propias de nuestra distribución GNU/Linux. En este caso, en la partición /dev/sda6 es donde está el punto de montaje "/". Crearemos una carpeta en /mnt y montaremos ahí la partición, aunque podemos hacerlo en cualquier otro lado.
b)
$ sudo mkdir /mnt/temp
$ sudo mount /dev/sda6 /mnt/tempTambién es recomendable montar /proc, /sys y /dev para evitar errores posteriores.
$ sudo mount -o bind /sys /mnt/temp/sys
$ sudo mount -o bind /proc /mnt/temp/proc
$ sudo mount -o bind /dev /mnt/temp/devc)
$ sudo chroot /mnt/tempAsí se hace un cambio de dónde queremos ubicar nuestra "/" de manera temporal (o virtual), y tenemos pleno acceso. No será necesario usar sudo para obtener los permisos requeridos para hacer los cambios por realizar.
Nota 1: Si en este paso aparecen errores como el que se muestra a continuación:
$ sudo chroot /mnt/temp
chroot: cannot run command `/bin/bash': No such file or directoryEsto se debe a que la partición elegida no es la correcta. La intención es montar la partición donde esta "/" (raíz de la instalación de linux que queremos recuperar) y que contiene el directorio "/boot".
d)
# update-grubNota 2: Si en este paso aparecen errores como este:
# update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.aa-bb-generic
Found initrd image: /boot/initrd.img-2.6.aa-bb-generic
grub-probe: error: Cannot find a GRUB drive for /dev/sda6. Check your device.map.En este caso /dev/sda6 es la partición que tenemos como "/".
Esto sucede porque en el archivo device.map no existe información acerca de nuestro sistema de archivos.
Para ello debemos abrir, editar y guardar este archivo.
Buscamos la ruta correcta:
# locate device.mapEsto muestra la ruta donde se encuentra el archivo. Se puede abrir con kate, gedit, nano...
El archivo puede encontrarse vacio. La siguiente linea es un ejemplo de lo que se debe agregar:
(hd0) /dev/sdaHay que guardar el archivo y cerrarlo. Con esto le decimos al GRUB cual es la jerarquía para los discos duros que tengamos instalados en el equipo. En caso de ser solo uno con diversas particiones primarias y lógicas, con la linea del ejemplo basta.
Mas información acerca de como esta organizado el sistema de archivos aqui.
e)
# grub-install /dev/sdaY en caso de errores en este paso, puede ejecutarse el comando:
# grub-install --recheck /dev/sdaReiniciar el equipo. El GRUB2 debe aparecer como antes.
Fuentes:
https://wiki.ubuntu.com/Grub2
http://www.kubuntu-es.org/foro/200902/xp-borra-grub-mbr-recuperar-grub
http://www.ubuntu-es.org/?q=node/120290&page=1