Stellen Sie den Apple Bootloader auf einem (Intel) Mac wieder her, nachdem ein Update-Grub von einer externen Ubuntu-Installation ausgeführt wurde


10

Ich habe Ubuntu auf einer externen Festplatte installiert und verwende es als tragbare Installation, die ich überall hin mitnehmen kann.

Heute habe ich es auf dem iMac eines Freundes gebootet und nachdem Software Updater mich gebeten hatte, Updates zu installieren. So tat ich.

Da ich zu diesem Zeitpunkt damit fertig war, schaltete ich den Computer aus und zog den Stecker aus der Steckdose. Unmittelbar danach habe ich den iMac erneut gestartet, damit er wieder in OSX bootet.

Zu meinem größten Schock, Entsetzen und meiner Verwirrung wurde ich mit einem GRUB-Rettungsbildschirm konfrontiert!

Wie ist das möglich? Ubuntu ist auf der externen Festplatte installiert, nicht auf der internen! Wie zum Teufel ist GRUB auf der internen Festplatte des iMac gelandet?

Noch wichtiger ist, wie behebe ich das?



1
@Fran - Nein, kein Betrüger. Ich wollte den Apple Bootloader wiederherstellen, nicht GRUB.
You'reAGitForNotUsingGit

Antworten:


9

(Scrollen Sie nach unten für die eigentliche Korrektur)

Die Dinge waren also noch komplizierter, als es zunächst schien.

Um die Kompatibilität mit MS-Windows aufrechtzuerhalten, verwendet Apple einen hybriden UEFI- und Legacy-MBR-Modus. Anscheinend gibt es einen NVRAM-Wert, der der Firmware mitteilt, ob versucht werden soll, im UEFI-Modus (OS-X) oder im älteren MBR-Modus (Windows) zu starten. Dieser Wert wird durch Ihre Auswahl unter "Systemeinstellungen> Startdiskette" gesteuert. (Frag mich nicht warum, frag Apple)

Um Ubuntu von meiner externen Festplatte zu booten, habe ich zuerst von einer DVD gebootet, auf die ich eine ISO von rEFInd gebrannt hatte. (Wählen Sie "EFI-Start" mit dem DVD-Symbol, wenn Sie die OptionTaste während des Startvorgangs gedrückt halten.) Nach dem Booten von dieser DVD habe ich dann meine externe Festplatte ausgewählt, um von rEFInd aus zu booten.

Hier fangen die Dinge an, wirklich seltsam zu werden. Nachdem rEFInd angewiesen wurde, von der externen Festplatte zu booten, wurde der lila GRUB-Bildschirm nie angezeigt (Ja, ich hatte eine Verzögerung eingestellt), und außerdem gab es keine lila Punkt-Boot-Animation. Stattdessen wurde der weiße Text hochgefahren.

Nach dem genaueren Betrachten von rEFInd vor dem Start von boot kann ich feststellen, dass die Ubuntu-Option darin bestand, einen bestimmten Kernel zu laden und nicht nur von der Festplatte zu booten.

Dies bedeutet, dass rEFInd offensichtlich EFI ist und im Wesentlichen als GRUB-Ersatz fungiert. Obwohl Ubuntu im MBR-Modus auf der externen Festplatte installiert wurde, wurde es im UEFI-Modus gestartet.

Diese Tatsache ist sehr wichtig, und Sie werden gleich sehen, warum.

Dann lasse ich den Software Updater einige Updates ausführen. Bei Betrachtung der Protokolle scheint der update-grubBefehl während des Installationsvorgangs ausgeführt worden zu sein. Hier passieren all die schlechten Dinge . Jetzt weiß ich noch nicht genau, was passiert ist, aber hier ist meine beste Vermutung: Der Grub-Updater war verwirrt, da Grub im MBR-Modus installiert wurde, Ubuntu jedoch derzeit im UEFI-Modus gestartet wurde. Aufgrund der Verwirrung und der Tatsache, dass der Bootloader an einem anderen Ort installiert ist, je nachdem, in welchem ​​Mod Sie gebootet haben, macht der Grub-Updater einen großen Fehler und installiert Grub im MBR-Modus auf der internen Festplatte.


Nun zum eigentlichen Fix!

In meinem speziellen Fall war die OS-X-Partition immer noch bootfähig, wenn ich den OptionSchlüssel während des Startvorgangs gedrückt und "Macintosh HD" ausgewählt habe.

Nach dem Booten von OS-X möchten Sie die Systemeinstellungen öffnen und dann zur Startdiskette wechseln. Wählen Sie das OS-X-Volume aus, klicken Sie auf Übernehmen oder was auch immer, starten Sie neu und BOOM! Das Apple-Logo zeigt!


Nun, nur zu Ihrer Information, ich denke, obwohl dies das Problem behebt, befindet sich GRUB immer noch in Sektor 0, aber ich denke nicht, dass es dort Schaden anrichten wird, und schon gar nicht, wenn Sie Windows im Bootcamp installieren, seit Windows gestartet wurde Loader würde es dann einfach überschreiben

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.