Esta web utiliza cookies, puedes ver nuestra política de cookies aquí. Si continuas navegando estás aceptándola

Recuperar GPT en Linux/Windows


Lan placas base modernas traen UEFI como sistema de arranque, esto aporta una serie de ventajas como la posibilidad de arrancar un SO sin bootloader, soporte de particiones GPT, capacidades de red desde el propio arranque entre otras. UEFI utiliza una partición donde guarda las imágenes de EFI, si esta es borrada hay que restaurarla para poder arrancar, en este manual explicaré dicho procedimiento tanto en Linux como Windows10.

Primero debemos tener claro que hay una partición donde residirán todas las imágenes de arranque(/boot/efi), mientras esta partición vfat exista y tenga el contenido correcto tanto la BIOS-UEFI como Grub serán capaces de arrancar dichas imágenes. Sí habéis leido bien, UEFI puede arrancar directamente la imagen EFI sin necesidad de un bootloader tipo Grub/LILO.

Bajo Linux es tan sencillo como chrootear a la partición del sistema y reinstalar grub:

Las particiones en mi sistema son:

fdisk -l /dev/sda

Disposit.  Comienzo     Final  Sectores Tamaño Tipo
/dev/sda1      2048      4095      2048     1M Arranque de BIOS
/dev/sda2      4096    413695    409600   200M Sistema EFI
/dev/sda3    413696   2510847   2097152     1G Sistema de ficheros de Linux
/dev/sda4   2510848 468862094 466351247 222,4G Sistema de ficheros de Linux

Chrooteamos:

mount /dev/sda4 /mnt/gentoo
mount /dev/sda3 /mnt/gentoo/boot
mount /dev/sda2 /mnt/gentoo/boot/efi

mount -t proc none /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev

chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile
export PS1="(chroot) $PS1"

Montamos el directorio /sys/firmware/efi/efivars con la opción rw para poder escribir en él:

mount -o remount,rw /sys/firmware/efi/efivars

Reinstalamos el EFI y regeneramos la config de grub:

grub-install --target=x86_64-efi --efi-directory=/boot/efi /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

Salimos del chroot:

exit

Reiniciamos:

reboot

NOTA: Tendremos que compilar Grub del siguiente modo

vi /etc/make.conf
GRUB_PLATFORMS="efi-64"

En windows debemos arrancar desde el cd de instalación, acceder a la línea de comandos y reinstalar la imagen EFI.

Arrancamos diskpart

diskpart

Seleccionamos el disco donde está la partición EFI:

list disk
select disk 0

Seleccionamos la partición donde está la partición EFI y le asignamos la letra A:

list partition 
select partition 1
assign letter=A

Seleccionamos la partición donde está Windows instalado y le asignamos la letra C:

list partition
list vol
select vol 3
assign letter=C
exit

Cambiamos al directorio de EFI y copiamos los ficheros necesarios:

cd /d a:\EFI\Microsoft\Boot\
bootrec /fixboot
bcdboot c:\Windows /l en-gb /s a: /f ALL

Tras esto podremos ejecutar grub-mkconfig -o /boot/grub/grub.cfg y obtendremos una entrada adicional de Windoz.


Autor: Kr0m -- 23/08/2016 02:28:40