Installieren Sie rEFInd unter OS X 10.10 Yosemite

8

Ich möchte mein MacBook mit Arch Linux dual booten und habe daher versucht, rEFInd mithilfe des Installationsskripts zu installieren. Nach der Installation scheint rEFInd jedoch überhaupt nicht zu starten. Hat jemand das gleiche Problem erlebt oder hat er mögliche Lösungen, wie dies behoben werden kann?

Rawa
quelle
Gut. Nach dem heutigen Update habe ich auch dieses Problem. Refit und Refind beide funktionieren nicht. Ich habe gerade install.sh in Mac verwendet, um zu installieren. Es wird jedoch nie ein Bootmanager angezeigt. Irgendwelche Ideen?
xgdgsc
rEFInd unter OS X 10.10 gab mir eine Reihe seltsamer Probleme. Am Ende habe ich mein MacBook tatsächlich auf OS X 10.9 neu installiert und mich dann damit zufrieden gegeben. Habe OS X kaum berührt, seit ich wieder reEFInd habe. Ich habe meine Antwort bearbeitet und nicht akzeptiert, um einer besseren Antwort Platz zu machen.
Rawa

Antworten:

6

Ich wollte nur, dass du weißt, dass ich eine Lösung gefunden habe, um das mittlerweile berühmte "30 Sekunden Warten" zu vermeiden ;-)

Ich habe ein MacBook Air Mitte 2012. Ich habe alle Ihre erwähnten Lösungen ausprobiert, um den Start unter Yosemite zu beschleunigen, aber das Beste für mich war, den Namen des Refind-Ordners auf der EFI-Partition zu ändern und auch die Refind-Datei umzubenennen.

Also gibt es:

  1. Aus Sicherheitsgründen habe ich den gesamten Ordner "drivers_x64" ./install.sh --alldriversbei der rEFInd-Installation hinzugefügt

  2. Auf meiner EFI-Partition unter Yosemite (gespeichert auf /dev/disk0s1) habe ich den Ordner "refind" in "BOOT" umbenannt.

  3. In diesem Ordner habe ich "refind_x64.efi" in "bootx64.efi" umbenannt.

Mit den letzten beiden Schritten konnte mein Mac sofort auf rEFInd booten. Er wartet nicht länger etwa 30 Sekunden, um die EFI-Festplatte zu scannen!

Jay
quelle
Ich habe es gerade versucht. Danke (vielleicht sollten die Antworten kombiniert werden)
Dimitrios Mistriotis
Dies sollte die Antwort auf eine separate Frage sein, auf die JEDER mit einem MacBook Pro, der refind zum Booten in Linux verwendet, die Antwort wissen möchte. Auch eine Klarstellung: Danach müssen Sie nicht einmal bootx64.efi (von OS X) segnen - z. B. wenn Sie eine funktionierende Refind-Installation auf einer eigenen dedizierten Partition haben und die Schritte 2 und 3 ausführen, plötzlich die Zeit Zwischen dem Einschalten Ihres Computers und dem Anzeigen des Refind-Menüs liegt der Zeitraum zwischen 30 Sekunden und einigen Sekunden. Dang!
Colin
5

Ich habe das Problem behoben, indem ich bei der Installation von refind einfach die --alldrivers hinzugefügt habe. Yosemite Dual Boot funktioniert jetzt wie zuvor. Schnell und alles wird im Refind-Boot-Menü wiederhergestellt.

install.sh --alldrivers
Jeff Artik
quelle
Ich bin der Entwickler von rEFInd und rate dringend davon ab , die --alldriversOption to install.sh(genannt refind-installin 0.10.0 und höher) zu verwenden. Diese Option installiert alle Dateisystemtreiber, aber die meisten Computer benötigen nur null oder einen Treiber. Wenn Sie alle verwenden, besteht ein ernstes Risiko, dass Probleme entstehen, bis hin zum Aufhängen des Computers. Es gibt eine Option zum Erstellen von USB-Flash-Laufwerken für die Wiederherstellung. Neuere Versionen installieren unter OS X den ext4fs-Treiber, wenn eine Linux-Partition erkannt wird. Es besteht die Möglichkeit --alldrivers, dass die Neuinstallation per se Ihr Problem behoben hat.
Rod Smith
5

Ich werde meine eigene Frage hier erneut beantworten, da es jetzt eine offizielle Lösung von rEFInd gibt, und daher glaube ich, dass dies der richtige Weg ist, dies zu tun.

Die offiziellen Richtlinien finden Sie auf der rEFInd-Website .

Es folgen die dort vorgestellten Schritte:

  1. Starten Sie OS X mit allen verfügbaren Mitteln. Wenn Sie beim Einschalten die Option (oder Alt) gedrückt halten, erhalten Sie normalerweise den Apple-eigenen Boot-Manager, mit dem Sie unter OS X booten können. Wenn Ihre rEFInd-Installation gerade gestartet wird, jedoch keine OS X-Option angezeigt wird, fahren Sie mit Schritt 7 fort. Wenn rEFInd jedoch nicht gestartet wird, führen Sie die Schritte 2 bis 7 aus.
  2. Wenn Sie Änderungen an vorgenommen haben /EFI/refind/refind.conf, sichern Sie diese.
  3. Entfernen Sie den /EFI/refindVerzeichnisbaum. es ist jetzt nutzlos und seine Anwesenheit kann Verwirrung stiften.
  4. Installieren Sie rEFInd erneut, wie auf der Seite Installieren von rEFInd beschrieben . Verwenden Sie jedoch unbedingt die Option --espoder --ownhfs device-file. Letzteres ist vorzuziehen, erfordert jedoch entweder eine dedizierte Partition für rEFInd oder eine HFS + -Datenpartition, die derzeit nicht bootfähig ist.
  5. Stellen Sie sicher, dass die Partition, auf der Sie rEFInd installiert haben, bereitgestellt ist. Die Details hängen davon ab, wie Sie es installiert haben:
    • Wenn Sie rEFInd auf Ihrem ESP installiert haben, funktioniert die Eingabe von mkdir / Volumes / esp gefolgt von sudo mount -t msdos / dev / disk0s1 / Volumes / esp wahrscheinlich, obwohl dies in einigen Fällen nicht der Fall /dev/disk0s1ist. Daher müssen Sie möglicherweise Änderungen vornehmen dieses Detail.
    • Wenn Sie die Installationsoption --ownhfs-Gerätedatei verwendet haben, sollte die Zielpartition bereits bereitgestellt sein, normalerweise irgendwo unter / Volumes. Wenn nicht, suchen Sie es und mounten Sie es mit dem Festplatten-Dienstprogramm oder mount.
  6. Wenn Sie Ihre refind.confDatei gesichert haben , können Sie sie jetzt über Ihre neue refind.confDatei kopieren . Sie sollten die Datei entweder nach /Volumes/esp/EFI/refind/(wenn Sie --espdas ESP verwendet und gemountet haben /Volumes/esp) oder nach /Volumes/Mountpoint/System/Library/CoreServices/(wenn Sie ein dediziertes HFS + -Volume verwendet haben; beachten Sie, dass Mountpointdies der Name des Volumes ist) kopieren .
  7. Bearbeiten Sie Ihre neue refind.confDatei, die sich wie im vorherigen Schritt beschrieben befinden sollte. Suchen Sie in Ihrem bevorzugten Editor die dont_scan_volumesZeile, die standardmäßig mit einem # -Symbol am Zeilenanfang auskommentiert ist. Kommentieren Sie diese Zeile aus und entfernen Sie das Element "Recovery HD" aus der Zeile. Einige Benutzer geben an, dass sie wie in ein oder zwei Dummy-Einträge eingeben müssen dont_scan_volumes foo,bar, damit es funktioniert.
Rawa
quelle
1

Ich habe eine Problemumgehung für die Verwendung von rEFInd in Yosemite gefunden, aber bitte beachten Sie, dass dies wahrscheinlich nicht die beste Lösung ist .
Ich denke, der Grund, warum rEFInd unter Yosemite nicht mehr funktioniert, ist, dass sich die Root-Partition des Systems nicht mehr in einer physischen Partition befindet, sodass rEFInd in der Startphase nicht erkannt werden kann. Also habe ich versucht, rEFInd manuell in der EFI-Partition zu installieren, und es hat funktioniert.

Gehen Sie wie folgt vor:
1. Öffnen Sie das Festplatten-Dienstprogramm , wählen Sie die EFI-Partition aus und mounten Sie sie. Normalerweise sollte der Einhängepunkt / Volumes / EFI
2 sein. Ich gehe davon aus, dass Sie rEFInd bereits installiert haben, indem Sie das Skript install.sh mit Standardargumenten ausführen (rEFInd sollte unter / EFI / refind installiert werden ). Öffnen Sie das Terminal und geben Sie folgende Befehle ein: cp -r /EFI/refind /Volumes/EFI/EFI/ sudo bless --mount /Volumes/EFI --setBoot --file /Volumes/EFI/EFI/refind/refind_x64.efi

Diese Problemumgehung hat Nachteile. Auf meinem Macbook Air dauerte es 40 Sekunden, bis das Menü rEFInd angezeigt wurde und die Yosemite-Partition nicht erkannt und im Menü aufgeführt wurde. Nur mein Linux-Bootloader (grub2efi) und meine Wiederherstellungspartition wurden erkannt.
Wenn Sie Yosemite starten möchten, müssen Sie beim Start die Option gedrückt halten und Ihre Yosemite-Partition auswählen.

Eine andere Problemumgehung besteht darin, ein USB-Laufwerk zum Booten eines Bootloaders eines Drittanbieters zu verwenden.
Schauen Sie sich zum Beispiel diese Seite an . Sie können ein eigenständiges GRUB2-EFI-Image erstellen und es dann unter /EFI/boot/bootx64.efi Ihrer USB-Laufwerkspartition (FAT32-Format) ablegen.
Halten Sie die Option während des Startvorgangs gedrückt . Ihr USB-Laufwerk wird als EFI-Start angezeigt . Sie können es verwenden, um in ein temporäres GRUB2-Menü zu booten. Wenn Sie den Befehl wie configfile (gpt0,X)/boot/grub/grub.cfg (wobei X Ihre Linux-Partition oder Ihre / boot-Partition ist) verwenden , erhalten Sie Ihr altes GRUB2-Menü. Dann sollte es wie gewohnt funktionieren.

Miau
quelle
1

Tatsächlich scheint der von Samantha bereitgestellte Link die einfachste Lösung zu bieten:

diskutil list

und Sie werden so etwas sehen wie:

$diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *251.0 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:          Apple_CoreStorage                         175.6 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:       Microsoft Basic Data                         70.3 GB    disk0s4
   5:                 Linux Swap                         4.2 GB     disk0s5
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Macintosh HD           *175.3 GB   disk1
                             Logical Volume on disk0s2
                             41AF7850-5594-4959-A135-582BF79FDE46
                             Unencrypted

Dann benutze:

diskutil corestorage revert /dev/disk1

Und Neustart, Refind funktioniert jetzt wieder.

xgdgsc
quelle
1

Ja, weil rEFInd wegen Corestorage nicht funktioniert. Die gesamte Festplatte, dh alle Partitionen, wird / werden als ein einziges Volume verwaltet, und rEFInd geht in diesem "mehreren Partitionen auf mehreren Laufwerken als ein einziges logisches Volume" verloren.

Sie müssen also zwischen Corestorage-Leistung oder rEFInd wählen.

Deine Optionen:

  • Installieren Sie rEFInd in einer anderen HFS-Partition
  • in das ESP installieren

Siehe dazu die rEFInd-Homepage .

Claod
quelle
1

Auf dem MacBook (13 Zoll, Ende 2009), Yosemite 10.10, ist die Vollplattenverschlüsselung (FileVault) aktiviert. Habe rEFInd so installiert:

./install.sh --esp --alldrivers 
mkdir /Volumes/ESP
sudo mount -t msdos /dev/disk0s1 /Volumes/ESP

Und in refind / refind.conf habe ich die Direktive dont_scan_volumes gefunden und sie so aussehen lassen:

dont_scan_volumes foo,bar 

rEFInd startet OS X und Wiederherstellung erfolgreich :) Aber ich kann immer noch nicht vom Windows 7-Setup-Flash-Laufwerk booten :( Ich erhalte Fehler:

Error: Not Found from LocateDevicePath
....
Error: Not Found from LocateDevicePath
Error: Load Error while (re)opening our installation volume
The firmware refused to boot from the selected volume.

Ich habe dieses Problem gelöst, indem ich einen fast installierten Snapshot von Windows heruntergeladen und auf die erforderliche Partition geklont und dann einfach gebootet und das Setup abgeschlossen habe.

Aldekein
quelle
0

Auf Yosemite muss rEFind auf der EFI-Systempartition (ESP) installiert werden, die sich auf / dev / disk0s1 befindet.

Sie können dies entweder manuell tun, indem Sie segnen (wie in Meows Verfahren), oder Sie können einfach die --espOption verwenden, wenn Sie rEFind installieren, wie folgt : ./install --esp.

Das Problem dabei ist, wie in der Dokumentation von rEFind erwähnt, dass der Startvorgang sehr schleppend wird - es dauert eine Weile, bis das Menü rEFind angezeigt wird.

Brean
quelle
0

Die Verwendung der --easOption beim Ausführen von install.sh hat für mich wie ein Zauber gewirkt!

AlexanderNajafi
quelle
-2

Ich habe Mitte 2012 ein MacBook Pro und habe gerade von Mavericks auf Yosemite aktualisiert. Kann den REFind sehen und die Lösung gefunden hier .

Samantha
quelle
1
Willkommen bei * nix.SE! Um die Anweisungen selbst auf dieser Seite zu haben (und um Dinge wie Link-Rot zu vermeiden), sollten Sie die wichtigsten Informationen oder Anweisungen selbst hier in Ihrem Beitrag veröffentlichen.
HalosGhost