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.
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.