webentwicklung-frage-antwort-db.com.de

Ungültiger EFI-Dateipfad

ich habe gerade Ubuntu 12 auf meinem neuen Laptop (mit Win7 64bit vorinstalliert) im EFI-Modus installiert und jetzt kann ich Win7 nicht mehr laden (Ubuntu lädt nur gut von Grub). Wenn ich den Windows 7-Eintrag im Grub-Menü auswähle, erhalte ich folgende Fehlermeldung:

Invalid EFI file path

Der Eintrag grub.cfg (generiert durch boot-repair) lautet:

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
}

Dies ist die geteilte Ausgabe:

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

Die Boot-EFI-Partition, gemountet als

/dev/sda5 on /boot/efi type vfat (rw) ) 

verfügt über die folgenden Dateien (mit Ausnahme des Ordners grub und anderer Dateien im Startstamm):

./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

Wie kann ich das beheben?

Vielen Dank

9

Ihr GRUB -Eintrag für Windows eignet sich für einen Start im BIOS-Modus, nicht jedoch für einen Start im EFI-Modus. Dies ist ein GRUB Fehler. Sie können versuchen, den Eintrag durch Folgendes zu ersetzen:

menuentry "Windows 7" {
    insmod part_gpt
    insmod chain
    set root='(hd0,gpt5)'
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

Ich garantiere nicht, dass dies funktionieren wird, aber es könnte sein. Wenn dies der Fall ist, fügen Sie diesen Eintrag zu /etc/grub.d/40_custom hinzu, damit er erneut erstellt wird, wenn Ubuntu seine GRUB -Konfiguration aktualisiert.

Eine andere Möglichkeit besteht darin, zusätzlich zu oder anstelle von GRUB einen anderen Boot-Manager zu verwenden. rEFInd, erkennt zum Beispiel sowohl Windows als auch GRUB automatisch. Wenn Sie Kernel der Version 3.3.0 oder höher verwenden (im Lieferumfang von Ubuntu 12.10, jedoch nicht von Ubuntu 12.04), können Sie Linux direkt mit rEFInd booten und dabei GRUB vollständig umgehen. gummiboot ist eine weitere Option mit ähnlichen Startfunktionen, erfordert jedoch mehr manuelle Wartung, wenn Sie Linux direkt mit gummiboot starten möchten.

5
Rod Smith

Endlich habe ich das Formatieren und Neuinstallieren von Grund auf gelöst ... im Grunde (ich weiß nicht warum) hatte Grub den Windows 7 Loader überschrieben, das war das Problem.

2