Acabo de instalar Ubuntu 12 en mi nueva computadora portátil (con Win7 de 64 bits preinstalado) en modo EFI y ahora ya no puedo cargar Win7 (Ubuntu simplemente carga bien desde grub). Cuando selecciono la entrada de Windows 7 en el menú de grub, aparece este error:
Invalid EFI file path
La entrada grub.cfg (generada por boot-repair) es:
menuentry "Windows 7 (loader) (on /dev/sda3)" --class windows --class os {
insmod part_gpt
insmod ntfs
set root='(hd0,gpt3)'
search --no-floppy --fs-uuid --set=root B8449665449625E2
chainloader +1
}
Esta es la salida separada:
GNU Parted 2.3
Viene usato /dev/sda
Benvenuti in GNU Parted. Digitare "help" per l'elenco dei comandi.
(parted) print list
Modello: ATA ST9500325AS (scsi)
Disco /dev/sda: 500GB
Dimensione del settore (logica/fisica): 512B/512B
Tabella delle partizioni: gpt
Numero Inizio Fine Dimensione File system Nome Flag
5 1049kB 106MB 105MB fat32 avvio
3 345MB 200GB 200GB ntfs Basic data partition
1 200GB 200GB 1049kB bios_grub
2 200GB 496GB 296GB ext4
4 496GB 500GB 4172MB
La partición EFI de arranque, montada como
/dev/sda5 on /boot/efi type vfat (rw) )
tiene los siguientes archivos (excluyendo la carpeta grub y otros archivos en la raíz de arranque):
./efi
./efi/efi
./efi/efi/boot
./efi/efi/boot/bootx64.efi
./efi/efi/ubuntu
./efi/efi/ubuntu/grubx64.efi
./efi/efi/Microsoft
./efi/efi/Microsoft/Boot
./efi/efi/Microsoft/Boot/bootmgfw.efi.grb
./efi/efi/Microsoft/Boot/bootmgfw.efi
./efi/efi/Microsoft/Boot/bootx64.efi.grb
./efi/efi/Microsoft/Boot/bootx64.efi
Cómo puedo arreglar esto ?
Gracias
EFI/Microsoft/Boot/bootmgfw.efi.grb
archivo en el ESP es el verdadero cargador de arranque de Windows, por lo que cambiar el nombrebootmgfw.efi
a otra cosa y luegobootmgfw.efi.grb
volver a cambiar a bootmgfw.efi lo solucionará. Puede verificar los tamaños de archivo de estos archivos y deEFI/ubuntu/grubx64.efi
verificar esto, o usardiff
para compararlos. FWIW, los desarrolladores de Ubuntu podrían haber hecho esto para evitar errores en algunas implementaciones de EFI, ¡pero es bastante malo de ellos, si es así!set root=(hd0,gpt1)
porque allí es donde mi DELL mantiene su partición EFI.insmod part_gpt
es necesario. Si está aquí por una solución de carga de cadena GRUB que no es de Windows y su ruta es correcta, esa es su respuesta.Finalmente, resolví formatear y reinstalar todo desde cero ... básicamente (no sé por qué) Grub había sobrescrito el cargador de Windows 7, ese era el problema.
fuente