martes, diciembre 19, 2006

 

Como recuperé grub

Pues sí, Freespire no es perfecto, y el gestor de arranque que éste había instalado no detectó los demás sistemas que tenía. Asi que me puse manos a la obra.

De entrada había que saber que sistema de ficheros usa Freespire: reiserfs.

En segundo lugar, tirar de cualquier distribución live a mano. No cito de ninguna, se puede hacer con cualquiera.


Abrimos un terminal y creamos un directorio en el que montaremos la partición del disco duro donde se encuentra el grub que queremos restaurar:

mkdir /mnt/ubuntu

Montamos la partición que en mi caso esta formateada con ext3 y es la sda3:

mount -t ext3 /dev/sda3 /mnt/ubuntu

Conecto el directorio /dev de la distro live con el de la partición que he montado, ya que en ésta no se han inicializado los dispositivos como discos duros (sda):

mount --bind /dev /mnt/ubuntu/dev

Ahora cambio el origen de root, lo paso a la partición que hemos montado:

chroot /mnt/ubuntu/

y finalmente instalo grub en el dispositivo sda:

grub-install /dev/sda

Compruebo el menu de grub con abriendolo con un editor de textos para asegurarme que el menu esta bien:

nano /boot/grub/menu.lst

Reinicio el ordenador, y una vez dentro de mi Ubuntu arrancado debidamente con un grub restaurado, añado la entrada correspondiente a Freespire para poder escogerlo como opción de arranque, y aqui viene el porque de saber conocer el sistema de ficheros de Freespire.

Creo un directorio en donde voy a montar la partición de freespire:

sudo mkdir /mnt/freespire

Monto freespire que está en la partición 1 (sda1) del disco duro (sda) en la partición que he preparado para ello:

sudo mount -t reiserfs /dev/sda1 /mnt/freespire

Empiezo a moverme por los archivos de la partición de freespire para llegar al archivo menu.lst del grub de freespire:

cd mnt/freespire

cd boot/grub

Visualizo los archivos del directorio mediante con un ls, y abriendo el menu.lst veo que éste apunta a otro llamado menu-normal.lst, asi que lo abro con:

gedit menu-normal.lst

Mediante un copy/paste selecciono la entrada del menu correspondiente al arranque de freespire que viene a ser algo asi como lo siguiente:

title Freespire Ver. 1.0.13
root (hd0,1)
kernel /boot/vmlinuz-2.6.14-gratis root=/dev/ide/host0/bus0/target0/lun0/part2 rootdev=0x0302 ramdisk=34688 video=vesafb:nomtrr jiffymount=noatime resume2=swap:/dev/hda2:0x44000 vga=0x311 splash=silent
initrd /boot/initrd-2.6.14-gratis.gz

Con el terminal abro el menu.lst del grub de Ubuntu, situado en el directorio /mnt/boot del sistema raíz, no del que hemos montado, y pego el texto previamente seleccionado al final del archivo. En este caso, la orden para abrir el menu.lst deberá ir acompañada del correspondiente "sudo" para tener privilegios de superusario para modificar el menu de grub.

Comments: Publicar un comentario



<< Home

This page is powered by Blogger. Isn't yours?