Grub sieht kein externes Laufwerk (Intel Mac)

1050
dremodaris

Ich habe einen Intel Mac (MacMini) und ein externes USB-Laufwerk. Auf dem internen Laufwerk habe ich eine Partition mit einer OSX-Installation und eine mit Ubuntu + Grub2. Auf dem externen Laufwerk habe ich eine Kopie meiner kompletten OSX-Partition und eine Kopie meiner kompletten Ubuntu-Partition (beide mit anderen UUIDs als das Original).

Ich benutze rEFIt für das duale Booten. Das interne OSX und Linux sowie das externe OSX werden im rEFIt-Menü angezeigt und sind bootfähig. Das externe Linux, das ich booten möchte, fehlt. Nachdem ich das Linux-Backup erstellt hatte, habe ich update-grub auf dem internen Linux (es fand alle 4 Installationen) und auf dem externen (über chroot - es fand alle Installationen außer dem internen Linux) gefunden. Das Problem wurde dadurch nicht gelöst.

Wenn ich versuche, das externe Linux mit dem internen Grub zu booten, erhalte ich die Fehlermeldung:

error: no such device: <the UUID of the external Linux partition> error: no such partition. error: you need to load the kernel first. 

Wenn ich lsdas interne Grub-Menü eingebe, werden alle Partitionen auf dem internen Laufwerk aufgelistet, die jedoch (hd1)völlig fehlen.

Ich habe versucht, die Partitionstabellen auf dem externen Laufwerk mit zu synchronisieren gptsync, aber es wird behauptet, dass kein GPT vorhanden ist. gdiskhabe aber eine gefunden, und ein manueller Vergleich mit fdiskder Ausgabe von 's vermittelt mir den Eindruck, dass sie synchron sind. (Die Linux-Partition ist in beiden Tabellen enthalten.)

BEARBEITEN:

Ich habe rEFInd auf eine CD gebrannt und experimentiert. Ergebnisse:

  • Wenn ich meinen Mac boote, indem er C drückt, um von der CD zu booten, wird kurz der graue Hintergrund von rEFInd angezeigt, die Grub wird jedoch sofort von der internen Installation gestartet. Ich kann dieses Problem umgehen, indem Sie in REFIT die Option REIFInd auswählen. Dies gibt mir jedoch wenig Sicherheit bei der Installation von rEFInd in OSX.

  • rEFInd zeigt alle Optionen, die angezeigt werden sollen. Wie zu erwarten war, können die Grubs Linux immer noch nicht von der externen Festplatte booten.

  • Wenn ich mit rEFInd einen Linux-Kernel von der externen Festplatte starte, bootet er zwar, aber nach dem Booten stellt sich heraus, dass die interne Partition gemountet ist /. Gemäß diesem Artikel befinden sich die einzigen Änderungen, die nach dem Kopieren einer Partition vorgenommen werden müssen, in der Grub. Da ich das Essen nicht benutze, verstehe ich es nicht.

0

1 Antwort auf die Frage

1
Rod Smith

Sie sollten zunächst den Unterschied zwischen dem Booten im nativen EFI-Modus und dem Booten im BIOS / CSM / Legacy-Modus verstehen. Intel-basierte Macs verfügen über EFI-Firmware und OS X-Starts im EFI-Modus. Diese Firmware enthält einen BIOS-Emulator (bekannt als Compatibility Support Module oder CSM oder manchmal als Unterstützung für "Legacy-Modus" bezeichnet), mit dem sie Boot-Loader im BIOS-Modus starten können. Apple beabsichtigt, dies zum Booten von Windows zu verwenden. Viele Benutzer verwenden diese BIOS / CSM / Legacy-Unterstützung jedoch auch zum Booten anderer Betriebssysteme, einschließlich Linux. Linux unterstützt jedoch sowohl das Booten im EFI-Modus als auch das Booten im BIOS-Modus. Daher ist die Verwendung des CSM des Mac häufig unnötig und kompliziert. OTOH, es gibt bestimmte Modelle, bei denen die Hardware unter Linux beim Booten im BIOS-Modus besser funktioniert als beim Booten im EFI-Modus.

Das Booten von externen Medien auf Macs ist besonders in den Modi BIOS / CSM / Legacy ein heikles Angebot. Die Chancen stehen gut, dass Sie auf dieses Problem stoßen. Ich kenne keine "Silberkugel" -Lösung für das Problem im BIOS-Modus. Die Lösung, die am ehesten funktioniert, ist das Booten im EFI-Modus. Um dies zu tun, empfehle ich Ihnen, von dem aufgegebenen rEFIt zu seiner Gabel zu wechseln, die ich behaupte, rEFInd. REFInd fügt unter anderem Unterstützung für den direkten Start von Linux-Kerneln mit EFI-Stub-Loadern hinzu (die die meisten von der Distribution bereitgestellten Kernel seit 3.3.0 enthalten). Wenn Sie rEFInd von einem USB-Flashlaufwerk oder CD-R-Image starten, das auf der Download-Seite verfügbar ist, wird Linux möglicherweise sowohl von Ihren internen als auch von externen Laufwerken (und auch von OS X von beiden Standorten aus) gestartet. Wenn dies funktioniert, installieren Sie rEFInd in OS XInstallieren Sie außerdem den Treiber für das Dateisystem, das Ihren Linux-Kernel enthält (normalerweise ext4fs). Das Ergebnis sollte die Fähigkeit sein, eines der Betriebssysteme direkt zu starten, wobei GRUB umgangen wird.

Wenn all dies funktioniert, empfehle ich, den hässlichen und gefährlichen Hybrid-MBR zu entfernen , den Apple EFI als Auslöser für die Aktivierung seines CSM verwendet. (Das gptsyncDienstprogramm erstellt oder ändert einen Hybrid-MBR.) Lesen Sie diesen Link, um zu verstehen, was ein Hybrid-MBR ist und warum es ein solches Problem ist.


BEARBEITEN:

Die Tatsache, dass die rEFInd-CD-R nicht richtig funktioniert hat, als Sie "C" zum direkten Booten verwendet haben, funktionierte jedoch nicht, wenn sie von rEF gestartet wird. Leider ist das Booten von optischen Medien in EFI ziemlich kompliziert und Apple scheint seine eigenen Falten aufgeworfen zu haben. Auf diese Weise zu booten kann daher ein wenig heikel sein, zumal ich (der Entwickler von rEFInd) nur einen alten Mac zum Testen habe. Das Booten von einer Festplatte (oder von einem USB-Flashlaufwerk) funktioniert eher.

Aufgrund Ihrer Beschreibung vermute ich, dass Sie Ihre /etc/fstabDatei im kopierten Dateisystem nicht aktualisieren konnten . /etc/fstabWenn Sie dieses Verfahren ausführen, ist eine Aktualisierung erforderlich, um auf die neue UUID für die Partition zu verweisen. Wenn Sie zufällig eine /boot/refind_linux.confDatei haben, muss diese ebenfalls aktualisiert werden. (Möglicherweise haben Sie diese Datei nicht, aber Sie könnten vielleicht ein wenig über meine Anweisungen hinausgehen oder in der Vergangenheit mit rEFInd gespielt haben.)

Vielen Dank. Ich habe eine CD mit RefInd-CD gebrannt und meine Erkenntnisse an die Frage angehängt. dremodaris vor 9 Jahren 0
Siehe meine Bearbeitung oben. Rod Smith vor 9 Jahren 0
Ah, ich habe über Fstab gelesen, sorry. Ich habe alle Anweisungen befolgt, aber den MBR entfernt, und sie wirken wie ein Zauber, danke! Beim MBR erwähnen Sie "gptsync". [Here] (http://superuser.com/questions/508026/windows-detects-gpt-disk-as-mbr-in-efi-boot) stattdessen "gdisk". Ist diese Antwort irgendwie veraltet? dremodaris vor 9 Jahren 0
Bitte folgen Sie dem Link, den ich der [gdisk] -Dokumentation zu Hybrid-MBRs zur Verfügung gestellt habe.] (Http://www.rodsbooks.com/gdisk/hybrid.html) Das Dienstprogramm `gptsync` erstellt Hybrid-MBRs, jedoch mit wenig Flexibilität. Eine von vielen Funktionen von "gdisk" ist die Möglichkeit, Hybrid-MBRs zu erstellen, jedoch mit mehr Flexibilität. Eine weitere Funktion von "gdisk" ist die Möglichkeit, einen Hybrid-MBR durch einen gesetzlich geschützten MBR zu ersetzen, was ich Ihnen empfohlen habe, da Hybrid-MBRs illegal und gefährlich sind. (In meinem Beitrag aus dem Jahr 2012, auf den Sie verlinkt haben, wird beschrieben, wie dieser Ersatz hergestellt wird. Er ist immer noch gültig.) Rod Smith vor 9 Jahren 0
Alles erledigt, ohne Probleme, danke! dremodaris vor 9 Jahren 0