Uno de los problemas que nos podemos encontrar en el caso de reinstalar o instalar un sistema operativo diferente (por ejemplo Windows) es que el MBR (Master Boot Record) se reescribe por el último sistema instalado, borrándonos GRUB2. Nos puede suceder también (como me pasó a mí) al sacar un disco de mi PC donde estaba alojado GRUB2, que no era el disco de sistema.
Para repararlo necesitaremos una distribución en LiveCD como Ubuntu 9.10 o superior (en mi caso utilicé el mismo CD que usé al instalar el sistema). Nos debemos asegurar que el cargador de arranque que utilice el LiveCD sea GRUB2, y no LILO o GRUB.
Arrancamos con el LiveCD y abrimos una terminal. Para saber en qué partición tenemos Ubuntu ejecutamos lo siguiente:
sudo fdisk -l
Montamos a continuación en /mnt. En mi caso es sda1, en caso contrario reemplacemos por la nuestra:
sudo mount /dev/sda1 /mnt
Luego, montamos el resto de los dispositivos:
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /dev/proc
Y ejecutamos el comando chroot para acceder como root al sistema de archivos de nuestro disco con Ubuntu:
sudo chroot /mnt
Por último cargamos GRUB2 en el MBR ejecutando el siguiente comando:
grub-install --recheck /dev/sda
Recuerden de substituir sda por nuestro disco de Ubuntu.
Sólo nos queda configurar GRUB2 para que aparezcan la lista completa de sistemas operativos y kernels Linux:
sudo update-grub2
Reiniciamos y todo volverá a estar funcionando como antes.
3 comentarios:
Esto para que sirve?:
"Luego, montamos el resto de los dispositivos:
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /dev/proc"
Si montamos solamente /dev/sda1 sólo tenemos acceso a los archivos. Montando /dev completo y /proc logramos comunicar con el kernel y ejecutar cosas dentro de nuestro disco en vez de en la LiveCD.
xke bindmounteas proc en /dev y no dentro de /mnt ?
Publicar un comentario