Dual Boot Win 8 / Ubuntu lädt nur Win

11

Mein Computer ist ein Sony Vaio Notebook. Ich habe Ubuntu und Win 8 mit Dualboot verwendet, aber Windows hat es irgendwie geschafft, das Menü zu entfernen, um das Betriebssystem beim Start auszuwählen. Ich denke, das BIOS ist UEFI. Der sichere Start wurde bereits deaktiviert und die Startreparatur schlägt irgendwie fehl.

Wie kann ich das beheben?

user296880
quelle
sda fehlt GRUB ... "Platziere GRUB in sda" mit: help.ubuntu.com/community/Boot-Repair
jmunsch
3
Mit UEFI haben Sie kein Grub im MBR von sda, nur in der efi-Partition, die es ist.
Oldfred

Antworten:

17

Sony, HP und viele Laptop-Anbieter sind fest codiert, um nur Windows zu starten.

Es gibt mehrere Work-a-Rounds, die vorschlagen, dass Sie den Grub grubx64.efioder die shimx64.efiDatei über Windows verschieben /EFI/windows/bootmgfw.efi. Dies wird jedoch nicht empfohlen, da Windows Update wiederhergestellt wird bootmgfw.efiund Sie nur noch Windows starten können.

Stattdessen empfehle ich, den Fallback /EFI/Boot/bootx64.efi umzubenennen und den Festplatteneintrag zu starten oder rEFInd zu verwenden.

Stellen Sie sicher, dass Sie die gesamte EFI-Partition sichern, bevor Sie Änderungen vornehmen.

Sie haben mehrere Möglichkeiten:

I. Verschieben und benennen Sie die Grub-Dateien grubx64.efioder shim64.efi(zum sicheren Booten) in diesen Ordner / diese Datei um/EFI/BOOT/BOOTX64.EFI

  1. Benennen Sie /efi/boot/bootx64.efi um, kopieren Sie shim oder grub in / efi / boot und nennen Sie es bootx64.efi. Starten Sie dann den Festplatteneintrag. Neue Versionen von Boot-Repair tun dies automatisch mit 'Standard-EFI-Datei verwenden' in erweiterten Optionen. Es sichert auch die aktuelle bootx64.efi, die wahrscheinlich nur eine Kopie der Windows .efi-Bootdatei ist.

    Mounten Sie die Live-Partition vom Live-Installationsprogramm auf die Festplatte: Mounten Sie die EFI-Partition. Überprüfen Sie, welche Partition FAT32 mit dem Boot-Flag ist. Oft sda1 oder sda2, variiert aber.

    sudo mount /dev/sda1 /mnt
    

    nur wenn nicht bereits vorhanden,

    sudo mkdir /mnt/EFI/Boot
    sudo cp /mnt/EFI/ubuntu/* /mnt/EFI/Boot
    

    Wenn ein neuer Ordner erstellt wurde, ist bootx64.efi nicht vorhanden. Überspringen Sie diesen Befehl

    sudo mv /mnt/EFI/Boot/bootx64.efi /mnt/EFI/Boot/bootx64.efi.backup
    

    Machen Sie grub zum Festplatten-Starteintrag in UEFI. Wenn nicht vorhanden, muss UEFI möglicherweise auch mit efibootmgr aktualisiert werden.

    sudo mv /mnt/EFI/Boot/grubx64.efi /mnt/EFI/Boot/bootx64.efi 
    

    Fügen Sie bei Bedarf einen neuen UEFI-Festplatten-Starteintrag hinzu: Siehe auch

    man efibootmgr
    

    Wenn ESP sda oder Standard-Laufwerks- und Partitionseinträge ist:

    sudo efibootmgr -c -L "UEFI Hard drive" -l "\EFI\Boot\bootx64.efi"
    

    Wenn ESP nicht sda1 ist, ist sdX Laufwerk, Y ist efi-Partition, auch NVMe-Laufwerke:

    sudo efibootmgr -c -g  -w -L "UEFI hard drive" -l '\EFI\Boot\bootx64.efi' -d /dev/sdX -p Y
    sudo efibootmgr -c -L "UEFI hard drive" -l "\EFI\Boot\bootx64.efi" -d /dev/nvme0n1 -p 2 
    
  2. (Dies ist das Gleiche wie bei Boot-Repair in II. Nicht jetzt empfohlen: Benennen Sie /efi/Microsoft/Boot/bootmgfw.efi um und kopieren Sie grub oder shim in / efi / Microsoft / Boot und nennen Sie es bootmgfw.efi Dann Windows-Eintrag booten, um zum Grub-Menü zu booten. Sie müssen manuell einen Grub-Menüeintrag hinzufügen, um die umbenannte Windows-EFI-Datei zu starten.

    Benutzer, die efi-Dateien manuell verschoben haben, sehen Beitrag 6.

    http://ubuntuforums.org/showthread.php?t=2101840
    http://ubuntuforums.org/showthread.php?t=2219452
    http://ubuntuforums.org/showthread.php?t=2221498&p=13012109#post13012109

II. Wenn Sie Boot-Repair's Fix für "Buggy UEFI" mit einer älteren Kopie ausgeführt haben, ist es am besten, es rückgängig zu machen. Nehmen Sie dann die oben beschriebene Änderung vor, um bootx64.efi zu verwenden. Um Dateien rückgängig zu machen und in ihre ursprünglichen Namen umzubenennen, müssen Sie nur die Option "EFI-Sicherungen wiederherstellen" von Boot-Repair aktivieren.

Jede Umbenennung entweder manuell oder mit Boot-Repair muss nach einem Windows-Update erneut durchgeführt werden, da Windows-Dateien wiederhergestellt werden.

III. Bearbeiten Sie Windows BCD, eine Alternative zum Umbenennen von Boot-Repair, damit Shim den Windows-Namen hat. Einige Systeme funktionieren besser, um grub / shim in Windows zu registrieren - für diejenigen, die Windows standardmäßig zurücksetzen.

Grub wird beim Start von Windows 8.1 Ubuntu 13.10 Dual Boot nicht angezeigt

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

https://coderwall.com/p/vfyqkg

IV. Wenn Beschreibung Windows sein muss, ändern Sie die UEFI-Beschreibung. Dies funktioniert wirklich nur für Benutzer mit nur Ubuntu und ohne Windows-Installation.

sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\ubuntu\shimx64.efi"

Wiederherstellen oder ein neuer Windows-UEFI-Eintrag - setzt den Standard-sda1-add -p 2 voraus, wenn sda2 (siehe man efibootmgr -d Laufwerk & -p Partitionsoptionen):

sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\Microsoft\Boot\bootmgfw.efi"
sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\Microsoft\Boot\bootmgfw.efi" -d /dev/nvme0n1 -p 1 

V. Einige installieren rEFInd, was eine weitere Problemumgehung zu sein scheint und nette Boot-Symbole enthält.

http://www.rodsbooks.com/refind/index.html

http://www.rodsbooks.com/refind/secureboot.html

PPA verfügbar, um die Installation in Ubuntu zu vereinfachen

http://www.rodsbooks.com/refind/getting.html

oldfred
quelle
Ja! Das Umbenennen hat bei mir funktioniert! Ich habe die efi-Partition gemountet und die Dateien ../EFI/ubuntu/grubx64.efi nach ../EFI/Boot/ und / EFI / Microsoft / Boot kopiert und den Namen der Datei wie folgt geändert. Im Verzeichnis ../EFI/Boot habe ich die Datei bootx64.efi mit der Datei überschrieben und im Verzeichnis ../EFI/Microsoft/Boot habe ich die Datei bootmgfw.efi mit der Datei überschrieben. Das war alles was ich denke. Vielen Dank!
user296880
Für diejenigen, die unter Windows hängen bleiben: Ich habe es geschafft, den in Option a1 beschriebenen Umbenennungsansatz durchzuführen, ohne Windows zu verlassen. Ich habe als Administrator ein Befehlsfenster geöffnet und dann ausgeführt mountvol S: /S, um die EFI-Partition als S: zu mounten. Ich hatte seltsame Probleme beim Auf- und Absteigen von Ordnern, aber das Verschieben einer Kopie von grubx64.efi nacheinander in / EFI / Boot und das Umbenennen in bootx64.efi funktionierte.
Peter Becker
Ich bin überrascht, dass der englische Major, der meinen Posten neu nummeriert hat, das nicht getan hat. Ich hatte ältere Kommentare, die sich auf A: & B: als Hauptabschnitte bezogen. :)
oldfred
0

Ich habe einen Acer, der das gleiche Problem hat. Meine Lösung besteht darin, Windows neu zu starten und nicht herunterzufahren (was eigentlich nur ein Hybernat ist).

Durch einen Neustart (der Updates auslösen kann) wird das System heruntergefahren und Sie können Boot aus dem BIOS auswählen. Sie müssen es abfangen, bevor es neu gestartet wird.

Ich benutze selten Fenster, daher stört mich das Booten auf diese Weise überhaupt nicht. Es sei denn natürlich, Windows-Updates.

Dollar
quelle
0

Die obige Antwort funktionierte nicht für den HP Pavilion meines Freundes, aber ich fand eine anständige Problemumgehung. Es scheint, dass die HP Firmware die BootOrderbei jedem Start überschreibt und Windows zuerst einstellt, aber es respektiert immer noch BootNext. Also habe ich ein Startskript geschrieben, das BootNextbei jedem Start festgelegt wird.

  1. Lauf

    efibootmgr
    

    um den numerischen Code von zu finden BootCurrent. Im Fall meines Freundes war dies 0003.

  2. /etc/systemd/system/boot-linux-next.service::

    [Unit]
    Description=Boot Linux next
    
    [Service]
    Type=oneshot
    # Replace '3' in the next line with the appropriate code.
    ExecStart=efibootmgr --bootnext 3
    
    [Install]
    WantedBy=multi-user.target
    
  3. Lauf

    systemctl enable --now boot-linux-next.service
    

Dies bedeutet, dass Sie beim nächsten Start Linux manuell auswählen müssen, wenn Sie jemals etwas anderes starten.

Leif Arne Storset
quelle