Una vez más voy a crear esta entrada debido a un problema del día a día. Resulta que recientemente he tenido la necesidad de recuperar el cargador de arranque en un Ubuntu Server 14.04 que tenía instalado con UEFI que tenía montado sobre Hyper-V y en generación 2. El fallo comenzó al intentar mover la máquina entre dos servidores, momento en el que al intentar encenderla y ano encontraba el disco de arranque.
Antes de comenzamos vamos a sacar un backup del fichero del disco duro de la máquina virtual ya que es probable que lo necesitamos al finalizar nuestro proceso.
Ahora lo que debemos hacer es iniciar el servidor con un live-cd, la propia ISO de Ubuntu Server nos puede servir, iniciamos el modo de recuperación y vamos hasta el punto que iniciamos una sesión interactiva de terminal y entramos en el bash.
Una vez que tenemos nuestra sesión de bash vamos a montar la partición raíz, esto dependerá de si tenemos configurado lvm (podemos ver el nombre del volumen con vgscan) o no.
sudo mount /dev/volumenVLM/root /mnt
Tras esto ya tendremos acceso a nuestros datos originales, pero aún tenemos que montar los directorios que grub necesita, esto lo haremos con los siguientes comandos:
sudo mount --bind /dev /mnt/dev sudo mount --bind /dev/pts /mnt/dev/pts sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys
Y nos vamos a cambiar la raíz a nuestro nuevo directorio con:
sudo chroot /mnt
Por último vamos a montar el directorio de EFI para que grub lo tenga todo a mano, en mi caso el disco tenía tres particiones y sda1 era la partición fat32 de EFI, por lo que usaré en mis comandos
sudo mkdir /boot/efi sudo mount /dev/sda1 /boot/efi
Ejecutamos la reinstalación del cargador de arranque
grub-install /dev/sda grub-install --recheck /dev/sda update-grub
Por último desmontamos todo y reiniciamos
exit sudo umount /mnt/sys sudo umount /mnt/proc sudo umount /mnt/dev/pts sudo umount /mnt/dev sudo umount /mnt sudo reboot
En mi caso, en este punto mi servidor de Hyper-V había añadido una nueva opción de arranque pero seguía sin iniciar correctamente pero simplemente cambiando el fichero físico del disco duro en la máquina virtual por el backup que hemos sacado al inicio ya se inicio correctamente..
Como siempre digo, así es como solucione el problema si podéis aportar más información del motivo por el que necesité la copia de seguridad no dudéis en dejar un comentario ya que podríamos ayudar a más gente.