-
Reparación de Grub desde un LiveCD de Debian para BIOS MBR
Pasa muchísimas veces que antes, durante, o después de las instalaciones sucesivas de Debian en nuestra PC, Grub se acaba jodiendo y no sabemos como repararlo. En este artículo voy a tratar dos supuestos. El supuesto A es que la instalación de otro sistema operativo te rompió el Grub de Debian y no puedes arrancarlo. El supuesto B es que una mala instalación de Debian te dejó sin Grub instalado, o se te borró el grub al mismo tiempo que el archivo /boot/grub/grub.cfg y no tienes configuraciones de arranque reconocibles. Vamos al supuesto A:
SUPUESTO A (Instalación de otro S.O)
Bien, una vez iniciado Debian desde el LiveCD abrimos una cli (es más rápido con Ctrl+Alt+T) y ejecutamos:
sudo fdisk -l
Ubicamos entonces cuál es la partición donde está instalado Debian. En mi caso es /dev/sda2 así que vamos a montarla para poder trabajar con ella. Pero antes creamos una carpeta para montarla con:
sudo mkdir /partdebian
Y luego efectivamente la montamos con:
sudo mount -t auto -v /dev/sda2 /partdebian
Ahora que ya está montada vamos a instalar Grub de la forma correcta en esa partición. Pero antes tenemos que instalar el paquete grub2 porque Debian Live no lo trae integrado. Lo hacemos con:
sudo apt-get update && sudo apt-get -y install grub2
Puede que la instalación de grub2 tarde un buen rato. Déjalo unos 5 minutos. Una vez instalado ya podemos proceder a meter grub en la partición, pero eligiendo correctamente el target. Los posibles targets son:
- default=x86_64-efi]
- arm-coreboot
- arm-efi
- arm-uboot
- arm64-efi
- i386-coreboot
- i386-efi
- i386-ieee1275
- i386-multiboot
- i386-pc
- i386-qemu
- i386-xen
- i386-xen_pvh
- ia64-efi
- mips-arc
- mips-qemu_mips
- mipsel-arc
- mipsel-loongson
- mipsel-qemu_mips
- powerpc-ieee1275
- riscv32-efi
- riscv64-efi
- sparc64-ieee1275
- x86_64-efi
- x86_64-xen
Lógicamente, como este hack es para MBR, pusimos como target elegiremos i386-pc:
sudo grub-install --target=i386-pc --boot-directory=/partdebian/boot /dev/sda sudo grub-install --target=i386-pc --root-directory=/partdebian /dev/sda
Reiniciamos el ordenador y al reinciar debería estar solucionado.
NOTA: Si la instalación de grub2 no termina nunca y la cli se queda ejecutando la instalación, simplemente abre otra cli y ejecuta los comandos de arriba.
SUPUESTO B (Mala instalación de Debian)
Una vez iniciado Debian desde el LiveCD abrimos una cli (es más rápido con Ctrl+Alt+T) y ejecutamos:
sudo fdisk -l
Ubicamos entonces cuál es la partición donde está instalado Debian. En mi caso es /dev/sda2 así que vamos a montarla para poder trabajar con ella. Pero antes creamos una carpeta para montarla con:
sudo mkdir /partdebian
Y luego efectivamente la montamos con:
sudo mount -t auto -v /dev/sda2 /partdebian sudo mount --bind /dev /partdebian/dev sudo mount --bind /proc /partdebian/proc sudo mount --bind /sys /partdebian/sys sudo mount --bind /usr/ /partdebian/usr sudo chroot /partdebian
Ahora, ya como root, actualizamos Grub, pero eligiendo correctamente el target. Los posibles targets son:
- default=x86_64-efi]
- arm-coreboot
- arm-efi
- arm-uboot
- arm64-efi
- i386-coreboot
- i386-efi
- i386-ieee1275
- i386-multiboot
- i386-pc
- i386-qemu
- i386-xen
- i386-xen_pvh
- ia64-efi
- mips-arc
- mips-qemu_mips
- mipsel-arc
- mipsel-loongson
- mipsel-qemu_mips
- powerpc-ieee1275
- riscv32-efi
- riscv64-efi
- sparc64-ieee1275
- x86_64-efi
- x86_64-xen
Lógicamente, como este hack es para MBR, pusimos como target elegiremos i386-pc:
update-grub grub-install --target=i386-pc /dev/sda
Salimos de chroot con Ctrl+D y luego desmontamos todos previamente montado con:
sudo umount /mnt/dev sudo umount /mnt/proc sudo umount /mnt/sys sudo umount /mnt/usr sudo umount /mnt exit umount /dev/sda2
Ahora tan solo nos queda reiniciar el sistema y estará el tema solucionado. Si quieres reinícialo desde la cli misma con:
sudo shutdown -r now
Oh yeah!
Los hacks de hacks4geeks son minitutoriales rápidos pensados para geeks con conocimiento informático avanzado. Si no entiendes o no consigues ejecutar un hack de esta web considera suscribirte a Premium para solicitar asistencia sobre el mismo.