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

Recuperar GPT en Linux/Windows


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