OCULTAR MENU LATERAL >>

Resolver problemas de arranque al actualizar a Ubuntu 10.04

Una amiga me ha pedido ayuda con un problema que le ha surgido al arrancar en un equipo donde tiene instalados Windows XP y Ubuntu. Resulta que al actualizar a Ubuntu 10.04 el Grub se ha visto envuelto en algún error y ahora al seleccionar la opción de Windows no ocurre nada (permanece en el menú como si no se hubiera seleccionado).

Para quien le ocurra algo parecido decir que no hay por qué alarmarse (al menos de momento). Si no ha ocurrido ningún desastre la partición de Windows (con todo lo que allí se alojaba) sigue intacta.

Para resolver este problema y muchos otros parecidos es necesario conocer un poco en qué consiste el Grub y como funciona; vamos a ello.

En todos los PCs que usamos, una vez pulsamos el botón de encendido ocurre lo siguiente:
  1. Se carga la BIOS, la cual contiene las configuraciones básicas del PC. La BIOS está incluída en la placa base.
  2. Se comienza a leer el disco predeterminado (el cual está indicado en la BIOS). Lo normal es que sea nuestro disco duro, aunque también se puede configurar arrancar desde un CD, desde un disquette, desde un Pendrive,...
Cuando llegamos al paso en que es leído el disco duro, se leerá la primera posición del mismo. Al sector que contiene dicha posición se le llama MBR (Master Boot Record) o sector 0.

En los PCs lo habitual es encontrar un programa gestor de arranque dentro del MBR, el cual se encarga de redireccionar al sector donde se aloja la rutina de arranque del sistema operativo.
NOTA: Como el gestor de arranque que acompaña a Windows no es compatible con otros sistemas, para poder tener Windows junto a (por ejemplo) Ubuntu es necesario utilizar otro gestor que sí sea compatible. la instalación de Ubuntu facilita esta acción utilizando de manera predeterminada el gestor Grub (aunque hay otras alternativas como LILO, SILO;...).

Entendido esto, vamos ahora a reparar el problema:
NOTA: En caso de que no podamos entrar a Ubuntu podemos utilizar el disco de instalación y arrancar desde allí.
  1. Abrimos una Terminal (Aplicaciones->Accesorios->Terminal).
  2. Obtenemos la dirección de inicio del sistema operativo que no arranca en el Grub:
    ~$ sudo fdisk -l
    Este comando nos devuelve información detallada de nuestros discos, incluídas las direcciones de inicio de cada partición. Entre las líneas devueltas podremos ver algo parecido a esto:
    Dispositivo Inicio    Comienzo      Fin      Bloques  Id  Sistema
    /dev/sda1   *           1        9768    78461428+   7  HPFS/NTFS
    /dev/sda2            9769       19457    77826892+   5  Extendida
    /dev/sda5            9769       19057    74613861   83  Linux
    /dev/sda6           19058       19457     3212968+  82  Linux swap / Solaris
    
    Podemos distinguir la partición donde está instalado Windows por el sistema de ficheros que usa (HPFS/NTFS). En este ejemplo podemos ver que la partición donde se encuentra instalado Windows es la "hda1", que comienza en el sector "1" y acaba en el "9768".
  3. Editamos la lista de sistemas que aparecen en nuestro Grub:
    NOTA: Yo he utilizado el editor gedit, que viene instalado por defecto, pero puedes usar cualquier otro.
    ~$ sudo gedit /boot/grub/menu.lst
    Se abrirá un fichero, el cual contiene la configuración de la lista que es mostrada al arrancar el Grub. Entre las líneas del fichero podemos distinguir algo parecido a esto:
    
    title  Ubuntu 10.04 LTS, kernel 2.6.32-22-generic
    uuid  52ccae3f-31b4-49ed-af2c-7fb29c1b19f2
    kernel  /boot/vmlinuz-2.6.32-22-generic root=UUID=52ccae3f-31b4-49ed-af2c-7fb29b1b19f3 ro splash vga=795 
    initrd  /boot/initrd.img-2.6.32-22-generic
    quiet
    
    title  Ubuntu 10.04 LTS, kernel 2.6.32-22-generic (recovery mode)
    uuid  52ccae3f-31b4-49ed-af2c-7fb29c1b19f2
    kernel  /boot/vmlinuz-2.6.32-22-generic root=UUID=52ccae3f-31b4-49ed-af2c-7fb29b1b19f3 ro  single
    initrd  /boot/initrd.img-2.6.32-22-generic
    
    title  Ubuntu 10.04 LTS, memtest86+
    uuid  52ccae3f-31b4-49ed-af2c-7fb29c1b19f2
    kernel  /boot/memtest86+.bin
    quiet
    
    title  Microsoft Windows XP Professional
    rootnoverify (hd0,0)
    savedefault
    makeactive
    chainloader +1
    
    Lo más probable es que si tenías el problema comentado al inicio del post, o alguno parecido, estas líneas no las tengas correctamente configuradas.

    Según este ejemplo, cuando en el grub seleccionemos "Microsoft Windows XP Professional", el arranque se dirigirá al disco "hd0,0". Y allí es donde se debe encontrar la rutina para arrancar Windows. Para comprobar si es correcta esa dirección la compararemos con la que obtuvimos en el paso 2 (en nuestro caso "hda1"). De la direcciópn "hd0,0" el primer número representa la letra (a=0;b=1;c=2;...) y el segundo número representa el número de la partición disminuido en 1 (1=0;2=1;3=2;...); por tanto la dirección hd0,0 corresponde a hda1 (otros ejemplos: hda2=hd0,1; hdb2=hd1,1; hda5=hd0,4;...).
    Sólo tendremos que corregir el fichero abierto con la configuración correcta, cerrar y guardar.
  4. Reiniciamos para que los cambios surtan efecto y lo probamos.

Salu2,
elSant0

ALGUNOS ARTICULOS RELACIONADOS

0 comentarios:

Publicar un comentario

Escribe aquí tus valoraciones, dudas, sugerencias,... Son sólo unos instantes y ayuda a mejorar el blog.