Ich möchte macOS auf einem Mac durch elementares Betriebssystem ersetzen.
Ich formatierte die gesamte Festplatte, steckte den bootfähigen USB-Stick des elementaren Betriebssystems ein, wählte EFI-Boot im Bootloader (einzige Option) und installierte das elementare Betriebssystem. Alles funktioniert gut.
Der Computer bootet normal in das elementare Betriebssystem, aber wenn ich beim Booten die optionTaste drücke, wird im Bootloader nichts angezeigt.
Wenn ich installiere, etwas anderes wähle und nur die Root- und Swap-Partition erstelle, bekomme ich eine Windows-Partition im Bootloader. Dies führt mich zu der Annahme, dass dies mit der Installation im EFI-Modus zusammenhängt.
Weiß jemand, was passieren könnte?
Warum erhalte ich beim Einstecken des Live-USB nur die EFI-Option und nicht die Windows-Option (BIOS-Modus), wenn ich die optionTaste drücke?
Bearbeiten:
Die erste von David Anderson bereitgestellte Methode funktionierte.
Ich möchte nur hinzufügen, dass ich einen systemd-Dienst erstellt habe, um grubx64.efi bei jedem Neustart/Herunterfahren zu klonen, sodass BOOTx64.EFI auch dann aktualisiert wird, wenn diese Datei aktualisiert wird. Dies wird auch die von David gegebene Lösung automatisieren.
Das habe ich getan:
1 - Erstellen Sie eine Datei namens startup-manager-fix.service mit folgendem Text:
[Unit]
Description=Show EFI Install in Apple Startup Manager
After=rc-local.service
[Service]
Type=oneshot
RemainAfterExit=true
ExecStop=-/bin/mkdir /boot/efi/EFI/BOOT/
ExecStop=/bin/cp -a -f /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/BOOT/BOOTx64.EFI
[Install]
WantedBy=multi-user.target
2 - Kopieren Sie die obige Datei in den Ordner /etc/systemd/system/
3 - Öffnen Sie das Terminal und fügen Sie diesen Befehl ein, um den Dienst zu aktivieren, der beide Dateien synchronisiert.
sudo systemctl daemon-reload && sudo systemctl enable startup-manager-fix.service && sudo systemctl start startup-manager-fix.service && sudo systemctl daemon-reload
4 - Neustart und beim nächsten Zugriff auf den Apple Boot Selector (drücken Sie beim Start die Optionstaste) sollte die EFI-Installation des elementaren Betriebssystems (oder einer anderen Ubuntu-basierten Distribution) vorhanden sein.
Nochmals vielen Dank an David für die Lösung.
Hinweis: In den folgenden Beispielen wurde die Download-Elementary OS-Installation mit
elementaryos-0.4.1-stable.20180214.iso
. Die Bilder wurden mit VirtualBox 5.2.16 r123759 (Qt5.6.3) erstellt.
Wie Sie festgestellt haben, können Macs so konfiguriert werden, dass sie Betriebssysteme booten, die nicht immer im Startup Manager angezeigt werden. Dies kann korrigiert werden. Beginnen wir mit der normalen EFI-Boot-Installation des elementaren Betriebssystems. Klicken Sie mit der rechten Maustaste auf das Files
im Applications
Menü gekennzeichnete Symbol und wählen Sie dann New Windows as Administrator
, wie unten gezeigt.
Klicken Sie unter Devices
auf File System
. Sie sollten ein Fenster ähnlich dem unten gezeigten erhalten.
Öffnen Sie als Nächstes die folgenden Ordner: boot
, efi
, EFI
und schließlich ubuntu
. Sie sollten ein Fenster ähnlich dem unten gezeigten erhalten.
Wenn Ihr Mac hochfährt, wird die in der grubx64.efi
Datei gespeicherte Software ausgeführt. Leider hat diese Datei einen Namen und ist in einem Ordner gespeichert, der vom Startup Manager nicht erkannt wird. Daher erscheint Hinweis, wenn Sie optionbeim Start gedrückt halten. Eine einfache Lösung wäre
BOOT
Ordner im EFI
Ordner.grubx64.efi
Datei aus dem ubuntu
Ordner in den BOOT
Ordner.grubx64.efi
Datei im BOOT
Ordner in BOOTx64.EFI
.Das Bild unten zeigt den Inhalt des BOOT
Ordners, nachdem Sie die obigen Schritte ausgeführt haben.
Befolgen Sie schließlich die unten angegebenen Schritte, um sicherzustellen, dass der Mac-Bootloader die BOOTx64.EFI
Datei ausführt.
EFI boot
Das elementare Betriebssystem erscheint nun im Startup Manager als internes Laufwerkssymbol mit der Bezeichnung EFI boot
.
Die obige Lösung hat ein Problem: Das elementare Betriebssystem hat keine Ahnung, dass Sie diese Änderungen vorgenommen haben . Daher werden alle Aktualisierungen der grubx64.efi
Datei nicht automatisch in die BOOTx64.EFI
Datei kopiert. Eine bessere Lösung, die dieses Problem vermeidet, ist unten angegeben.
Verwenden Sie zunächst den Epiphany
Webbrowser, um den rEFInd Boot Manager herunterzuladen . In meinem Fall wurde die Datei in meinen Ordner refind_0.11.3-1_amd64.deb
heruntergeladen . Downloads
Wenn Sie fertig sind, beenden Sie die Epiphany
Anwendung.
Klicken Sie als Nächstes mit der rechten Maustaste auf das Symbol Terminal
im Applications
Menü und wählen Sie dann New Window
. Sie sollten ein Fenster ähnlich dem unten gezeigten erhalten.
Geben Sie im Terminal
Fenster die folgenden Befehle ein. Wenn Sie eine andere Datei heruntergeladen oder in einen anderen Ordner heruntergeladen haben, nehmen Sie die entsprechenden Ersetzungen vor. Wenn Sie fertig sind, beenden Sie die Terminal
Anwendung.
cd Downloads
sudo dpkg -i refind_0.11.3-1_amd64.deb
Das Ergebnis der Ausführung der obigen Befehle war die Erstellung der Ordner refind
und tools
im EFI
Ordner, wie unten gezeigt.
Als nächstes müssen Sie die folgenden Änderungen vornehmen.
BOOT
Ordner nicht vorhanden ist, erstellen Sie diesen Ordner. Entfernen Sie andernfalls den Inhalt dieses Ordners.refind
Ordner in den BOOT
Ordner.refind_x64.efi
Datei im BOOT
Ordner in BOOTx64.EFI
.refind.conf
Datei im BOOT
Ordner und wählen Sie dann Open in Scratch
.Fügen Sie am Ende der geöffneten refind.conf
Datei die folgenden Zeilen hinzu.
#
# Added to make rEFInd silent.
#
menuentry "Elementary" {
icon \EFI\BOOT\icons\os_elementary.png
volume "EFI"
loader \EFI\ubuntu\grubx64.efi
ostype Linux
graphics on
}
timeout -1
hideui all
scanfor manual
Schließen Sie die refind.conf
Registerkarte und beenden Sie die Scratch
Anwendung.
Befolgen Sie schließlich die unten angegebenen Schritte, um sicherzustellen, dass der Mac-Bootloader die BOOTx64.EFI
Datei ausführt.
EFI boot
Wenn Sie nun das im Startup Manager gekennzeichnete Symbol für die interne Festplatte auswählen EFI boot
, startet rEFInd im Hintergrund das elementare Betriebssystem.
Windows
im Startup Manager bei der Installation für einen BIOS-Start ein Symbol mit der Bezeichnung angezeigt?Ursprünglich, als Apple erstmals die Installation von Windows auf Macs zuließ, musste Windows für einen BIOS-Start installiert werden. Daher verwendet Apple Windows
als Bezeichnung, die im Boot-Manager angezeigt wird, wenn ein BIOS-Boot-Betriebssystem installiert wurde. Diese Konvention wurde bei allen Macs bis 2015 wiederholt, als Apple damit begann, Macs auszuliefern, die nicht mehr vom BIOS booten konnten.
Daisuke Jigen
David Anderson
grubx64.efi
undBOOTx64.EFI
werden vor derrc.local
Datei ausgeführt. Wenn sich eine Aktualisierung so geändert hat , dass sie nach kopiert werdengrubx64.efi
müsste, würde die in gespeicherte Kopieroperation nicht ausgeführt werden, bevor sie ausgeführt wird. Grundsätzlich handelt es sich bei und um GRUB-Dateien, bei denen es sich um eine Linux-Datei handelt. GRUB wird vor Linux ausgeführt.grubx64.efi
BOOTX64.EFI
rc.local
BOOTX64.EFI
grubx64.efi
BOOTx64.EFI
rc.local
David Anderson
David Anderson
rc.local
wäre, wenn ein Update oder Upgrade des elementaren Betriebssystems dierc.local
Datei ändert, ersetzt oder entfernt. In einem solchen Fall könnte der Kopiervorgang eliminiert werden. Der rEFInd Boot Manager beseitigt dieses Problem. Der rEFInd Boot Manager bootet eigentlich nichts. Was passiert ist, dass rEFInd dem Mac-Bootloader die richtigen Dateien zum Booten mitteilt. Wenn Ihr Mac hochfährt, bootet der Mac-Bootloader rEFInd. Als nächstes weist rEFInd den Mac-Bootloader an, GRUB zu booten. Der Mac wird neu gestartet und der Mac-Bootloader startet GRUB. Schließlich bootet GRUB das elementare Betriebssystem.Daisuke Jigen
David Anderson
BOOTX64.EFI
Datei durch den Mac-Bootloader ist genau das, was Apple beschlossen hat, um die Anforderungen auf Seite 91 der UEFI-Spezifikation zu erfüllen .Daisuke Jigen
David Anderson
BOOTx64.EFI
sie anstelle von ausgeführt wirdgrubx64.efi
. Die UEFI-Spezifikation verwendet die SchreibweiseBOOTx64.EFI
, aber ich glaube, dass der Mac-Bootloader in Bezug auf Dateinamen von der Groß- und Kleinschreibung unabhängig ist.Daisuke Jigen
David Anderson
grubx64.efi
Datei jedes Mal segnen, wenn der Mac nicht ordnungsgemäß startet.Daisuke Jigen
David Anderson
bless
Befehl verwenden. Da elementary OS das einzige Betriebssystem ist, das auf Ihrem Mac installiert ist, müssen Sie diesen Befehl eingeben, indem Sie entweder über Internet macOS Recovery , ein Installationsprogramm für ein macOS-USB-Flash-Laufwerk oder auf einem externen Laufwerk installiertes macOS booten. Sie würden denbless
Befehl verwenden, umgrubx64.efi
als Standarddatei festzulegen, die der Mac-Bootloader beim Start ausführen soll.David Anderson
Daisuke Jigen
Daisuke Jigen