Fügen Sie das Grub-Menü für OS X hinzu

7

Ich habe Ubuntu 16.04 Desktop auf meinem MacBook Pro installiert und kann OS X jetzt nicht starten. Meine Festplattenpartitionstabelle lautet:

Device         Start       End   Sectors   Size Type
/dev/sda1         40    409639    409600   200M EFI System
/dev/sda2     409640 392401823 391992184 186.9G Apple HFS/HFS+
/dev/sda3  392402944 490233855  97830912  46.7G Linux filesystem

Ich habe den Menüeintrag in /etc/grub.d/40_custom wie folgt hinzugefügt:

menuentry "OS X" {
        insmod hfsplus
        set root=(hd0,gpt2)
        multiboot /boot
}

Führen Sie update-grub aus und starten Sie es neu.

Jetzt kann ich den Eintrag für "OS X" sehen, aber wenn ich ihn auswähle, heißt es:

error: disk 'hd0,gpt2' not found.
Press any key to continue...

Wie kann ich es reparieren?


quelle
Haben Sie im EFI-Startmodus installiert? askubuntu.com/questions/732611/…
oldfred
Um es näher zu erläutern: Wenn sich GRUB im EFI-Modus befindet, sollte es in der Lage sein, mit OS X zu starten, indem der OS X-Bootloader gestartet wird. Die von Ihnen vorgestellte GRUB-Zeilengruppe führt dies jedoch nicht aus . Die Eingabe sudo update-grub sollte den OS X-Bootloader erkennen und automatisch hinzufügen, dies scheint jedoch manchmal fehlzuschlagen. Viele Mac-Benutzer bevorzugen die Verwendung meines rEFInd-Boot-Managers zur Verwaltung des Boot-Prozesses anstelle von GRUB.
Rod Smith

Antworten:

11

Das Hinzufügen der folgenden Codes zur Datei /etc/grub.d/40_custom hat bei mir gut funktioniert:

menuentry "OS X" {
    insmod hfsplus
    search --set=root --file /System/Library/CoreServices/boot.efi
    chainloader /System/Library/CoreServices/boot.efi
}

und dann rennen

sudo grub-mkconfig -o /boot/grub/grub.cfg

Getestet auf iMac 17,1 (Macbook Retina Ende 2015), Ubuntu 16.04 LTS, Mac OS El Captain

Mos
quelle
Arbeitete wie ein Zauber für mich, MacOS Sierra 10.12.3, MacBook Pro Retina 15 "
Soja Wod
Dies funktionierte nach einem High Sierra-Upgrade nicht mehr. Jetzt bekomme ich ein Verbotsschild. Ich habe auch einen anderen Pfad / eine andere Datei ausprobiert: /com.apple.boot.S/boot.efi, aber das ändert leider nichts (warum diese Datei? Weil der Zeitstempel auf dieser boot.efi meinem High Sierra Upgrade entspricht). Es fehlt etwas, aber ich weiß nicht was. In der Zwischenzeit können Sie für verzweifelte Menschen MacOS immer noch über die Wahltaste starten. Drücken Sie nach dem Mac Sound die Optionstaste, bis ein Menü angezeigt wird, wählen Sie "Macintosh HD" und Ihre beschissene High Sierra startet. Leider funktioniert die GRUB-Option nicht mehr.
Thomas
1
High Sierra verwendet standardmäßig APFS auf SSDs. Möglicherweise müssen Sie apfs.efi online finden und zu / boot / grub / x86_64-efi hinzufügen oder wo immer sich Ihre anderen .mods oder .efis befinden.
PapaSloth
3

Stellen Sie sicher, dass der folgende Befehl eine / boot / efi-Partition auflistet: cat /etc/fstab Wenn / boot / efi nicht vorhanden ist, können Sie Mac OS X nicht starten. Wenn es vorhanden ist, müssen Sie den Menüeintrag in grub wie folgt hinzufügen ::

  1. Öffnen Sie die Datei /etc/grub.d/40_custom mit Ihrem bevorzugten Texteditor als root. Beispiel mit dem Terminal: gksudo gedit /etc/grub.d/40_customodersudo vi /etc/grub.d/40_custom
  2. Fügen Sie dann die folgenden Zeilen am Ende der Datei hinzu:

    menuentry "MacOSX" {
      # Search the root device for Mac OS X's loader.
      search --file --no-floppy --set=root /usr/standalone/i386/boot.efi
      # chainload the loader, pass parameters like -v directly
      chainloader (${root})/usr/standalone/i386/boot.efi #-v
    }
    
  3. Speichern und Beenden

  4. Aktualisieren Sie die Grub-Konfiguration wie folgt: sudo update-grub

Ich habe Schritt für Schritt geantwortet, damit jeder, der diese Antwort findet, die Schritte leicht reproduzieren kann. Dies wurde unter Ubuntu 16.04 getestet, wobei Ubuntu im EFI-Modus installiert war. Mac OS X: El Capitan, Mac mini.

David Bogner
quelle
0

Ich habe meine allgemeine Lösung für das Problem. Kürzlich habe ich Ubuntu 16.04LTS Gnome auf meinem iMac mit Sierra Mac OS X installiert. Der Grund dafür war, dass das Betriebssystem träge wurde und ich etwas schnelleres wollte (und nach 17 Jahren mit Linux war die Lösung offensichtlich). Ich folge einem netten Tutorial Ubuntu auf iMac

Bis zum Neustart des iMac nach der Ubuntu-Installation lief alles hervorragend. Das einzige Boot-System war Linux, außerdem konnte ich das GRUB-Menü nicht sehen ... Hoffentlich bootete es) Das Linux funktioniert hervorragend, nur einige Wireless- und Grafiktreiber fehlten (stattdessen Xorg verwendet), aber nach dem Anschließen über ein Ethernet-Kabel an Mein Modem Ich habe alle Updates gemacht und die Treiber installiert. Ein Link zur Installation der Wifi-Treiber: Ubuntu Mac Wifi-Treiber

Grafiktreiber können über die Benutzeroberfläche der Systemeinstellungen ausgewählt werden

Also, zurück zum Dual-Booten von Linux und Mac OS X. Ich habe mit GRUB herumgespielt, keine der Methoden hat bei mir funktioniert !!! Das Drücken der "Wahltaste" funktionierte nicht mehr (GRUB hat den iMacs MBR überschrieben).

Ich hätte es fast aufgegeben, es vor dem Wochenende zu schaffen, aber dann habe ich es mit rEFInd versucht:

sudo apt-add-repository ppa:rodsmith/refind
sudo apt-get update
sudo apt-get install refind

war alles, was ich brauchte, um meinen Dual-Boot perfekt für Linux und Mac OS X zum Laufen zu bringen. Jetzt habe ich im Boot-REFInd-Boot-Menü und kann einfach zwischen Boot-Partitionen wählen.

Das einzige verbleibende Problem ist immer noch das GRUB-Begrüßungsmenü. Ich kann aufgrund eines falschen Grafikmenüs keine Optionen sehen. Ich habe versucht, Konsolenmodus, ich funktioniert nicht, einige Fehlermeldung über das grafische Regime beim Booten. Ich werde hier so schnell wie möglich berichten, ich löse es!

PS01:

Dann habe ich einige Verbesserungen vorgenommen, die für alle Ubuntu-Installationen nützlich sind: Wie man Ubuntu beschleunigt

Besonders die Vorspannung wirkte für mich magisch: Normalerweise träge beim Start Gimp lädt jetzt in einer halben Sekunde!

makaveli_lcf
quelle
0

Renn einfach

os-prober

Bilden Sie Linux und führen Sie es erneut aus

grub-mkconfig -o /boot/grub/grub.cfg

und endgültige Neuinstallation von Grub mit

grub-install /dev/sda
Damjan Kunst
quelle
Könnten Sie bitte weitere Informationen darüber hinzufügen, was bei jedem Schritt getan wird und warum dies erforderlich ist?
Pablo Bianchi