Ich habe derzeit drei Betriebssysteme auf meinem MacBook Air 2017 installiert: macOS, Ubuntu und Windows 10. Ich konnte Ubuntu nicht ohne rEFInd booten, aber ich bevorzuge den Standard-Boot-Manager, weil ich das Firmware-Passwort verwenden möchte (das rEFInd hat nicht).
Gibt es eine Möglichkeit für den macOS-Boot-Manager, Ubuntu zu erkennen, ohne einen Boot-Manager eines Drittanbieters zu verwenden?
ANMERKUNGEN:
Die Ausgabe des Befehls diskutil list
.
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.3 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk1 242.6 GB disk0s2
3: Linux Filesystem 49.9 GB disk0s4
4: Microsoft Basic Data WinData 75.1 GB disk0s5
5: Microsoft Basic Data Windows 125.1 GB disk0s6
/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +242.6 GB disk1
Physical Store disk0s2
1: APFS Volume Macintosh HD 74.0 GB disk1s1
2: APFS Volume Preboot 25.1 MB disk1s2
3: APFS Volume Recovery 506.6 MB disk1s3
4: APFS Volume VM 2.1 GB disk1s4
Diese zweite Antwort unterscheidet sich von meiner ersten Antwort in folgenden Punkten.
Die zweite EFI-Partition wird durch eine HFS+-Partition ersetzt.
Die im Startup Manager angezeigte Bezeichnung lautet „Ubuntu“ anstelle des generischen „EFI Boot“.
Ich gehe von folgendem aus:
Ich werde zwei Möglichkeiten anbieten, um Ihr Problem zu lösen. Jeder hat seine Vor- und Nachteile.
Der Mac Startup Manager zeigt ein Betriebssystem an, wenn Sie die .efi-Datei an der richtigen Stelle ablegen. Dieser Speicherort ist der System/Library/CoreServices
Ordner des Volumes in einer HFS+-Partition. Der Dateiname muss boot.efi
. Darüber hinaus können Sie das angezeigte Symbol für das Betriebssystem anpassen, indem Sie eine .VolumeIcon.icns
Datei im Stammordner des Volumes in der HFS+-Partition platzieren.
Hinweis: Hier wird weiterhin rEFInd verwendet, jedoch nicht als Ersatz für den Startup Manager. Sie können ein Firmware-Passwort verwenden. Tatsächlich werden keine rEFInd-Menüs angezeigt. Der rEFInd-Boot-Manager bootet grub einfach stillschweigend (was Ubuntu bootet).
refind-bin-0.11.2.zip
und diese Datei in Ihren ~/Downloads
Ordner heruntergeladen wurde.Mounten Sie die neue HFS+-Partition, indem Sie den folgenden Befehl eingeben.
sudo diskutil mount disk0s3
Die neue HFS+-Partition hat den Volume-Namen Ubuntu
.
Installieren Sie rEFInd auf dem Volume auf der neuen HFS+-Partition.
cd ~/Downloads/refind-bin-0.11.2
./refind-install --ownhfs /dev/disk0s3
Hinweis: Die Fehlermeldung
Could not set boot device property: 0xe00002bc
wurde erwartet und kann ignoriert werden.
Konfigurieren Sie die TextEdit-Anwendung. Öffnen Sie TextEdit und navigieren Sie dann zum Fenster "Einstellungen ...". Deaktivieren Sie alle "Optionen", wie unten gezeigt. Wenn Sie fertig sind, beenden Sie TextEdit.
Verwenden Sie den folgenden Befehl, um zu dem Ordner zu navigieren, der die refind.conf
Datei enthält.
cd /Volumes/Ubuntu/System/Library/CoreServices
Erstellen Sie eine Sicherungskopie dieser Datei.
sudo cp refind.conf refind.conf.orignal
CoreServices
Fügen Sie dem Ordner und der refind.conf
Datei Schreibberechtigungen hinzu.
sudo chmod a+w . refind.conf
Öffnen Sie die Datei in der TextEdit-Anwendung.
open -e refind.conf
Bearbeiten Sie in diesem Volume die System/Library/CoreServices/refind.conf
Datei, um grub still zu booten (was Ubuntu intern booten wird). Dies kann durch Hinzufügen der folgenden Zeilen am Ende der refind.conf
Datei erreicht werden. Sie sollten in der Lage sein, diese Zeilen einfach auszuschneiden und einzufügen. Wenn Sie fertig sind, speichern Sie die Änderungen und beenden Sie dann TextEdit.
#
# Added to make rEFInd silent.
#
menuentry "Ubuntu" {
icon \System\Library\CoreServices\icons\os_ubuntu.png
volume "EFI"
loader \EFI\ubuntu\grubx64.efi
ostype Linux
graphics on
}
timeout -1
hideui all
scanfor manual
Unmounten Sie das neue Volume mit dem Namen Ubuntu
, indem Sie die folgenden Befehle eingeben.
cd ~
diskutil unmount disk0s3
Vorteile: Ubuntu ist nicht betroffen, sodass Ubuntu-Updates keine Aufmerksamkeit erfordern.
Nachteile: Sie müssen den Drittanbieter-Bootmanager rEFInd verwenden.
Mounten Sie die ursprüngliche EFI-Partition und die neue HFS+-Partition, indem Sie die folgenden Befehle eingeben.
sudo diskutil mount disk0s1
sudo diskutil mount disk0s3
Die ursprüngliche EFI-Partition trägt den Namen EFI
und die neue HFS+-Partition den Namen Ubuntu
.
Erstellen Sie im neuen Volume mit dem Namen Ubuntu
die Ordner EFI/ubuntu
und System/Library/CoreServices
, indem Sie die folgenden Befehle eingeben.
mkdir -p /Volumes/Ubuntu/EFI/ubuntu
mkdir -p /Volumes/Ubuntu/System/Library/CoreServices
Kopieren Sie die Dateien grub.cfg
und grubx64.efi
auf das neue Volume namens Ubuntu
. Die benötigten Befehle sind unten angegeben.
cp /Volumes/EFI/EFI/ubuntu/grub.cfg /Volumes/Ubuntu/EFI/ubuntu/grub.cfg
cp /Volumes/EFI/EFI/ubuntu/grubx64.efi /Volumes/Ubuntu/System/Library/CoreServices/boot.efi
Hängen Sie die ursprüngliche EFI-Partition und die neue HFS+-Partition aus, indem Sie die folgenden Befehle eingeben.
diskutil unmount disk0s1
diskutil unmount disk0s3
Vorteile: Sie müssen den Bootmanager rEFInd von Drittanbietern nicht verwenden.
Nachteile: Wenn grubx64.efi
oder grub.cfg
aktualisiert wird, müssen Sie diese Dateien manuell auf ein neues Volume mit dem Namen kopieren Ubuntu
.
Die folgenden Schritte fügen das folgende Ubuntu-Symbol zum Startmenü hinzu.
mac-icns.dmg
. Ich gehe davon aus, dass diese Datei in Ihren ~/Downloads
Ordner heruntergeladen wurde.Stellen Sie das benannte Volume bereit Ubuntu
, indem Sie den folgenden Befehl eingeben.
sudo diskutil mount disk0s3
Verwenden Sie die Finder-Anwendung, um die os_ubuntu.icns
Symboldatei in den Stammordner des Volumes mit dem Namen zu kopieren Ubuntu
. Alternativ können Sie den unten gezeigten Befehl verwenden.
sudo cp /Volumes/mac-icns/os_ubuntu.icns /Volumes/Ubuntu/.
Benennen Sie die os_ubuntu.icns
Symboldatei in .VolumeIcon.icns
. Dies kann durch Eingabe des folgenden Befehls erreicht werden.
sudo mv /Volumes/Ubuntu/os_ubuntu.icns /Volumes/Ubuntu/.VolumeIcon.icns
Hinweis: Dateien, die mit einem Punkt ( .
) beginnen, werden normalerweise nicht in einem Finder-Anwendungsfenster angezeigt.
Verwenden Sie die Finder-Anwendung, um die EFI-Systempartition mit dem Volumenamen auszuwerfen Ubuntu
. Alternativ können Sie den unten gezeigten Befehl verwenden, um das Volume zu unmounten.
diskutil unmount disk0s3
Verwenden Sie die Finder-Anwendung, um das Volume mit dem Namen auszuwerfen mac-icns
.
Hinweis: Unten basiert auf der Ausgabe
diskutil list
, die Sie in Ihrer Frage angegeben haben.
Geben Sie den folgenden Befehl in einem Terminal-Anwendungsfenster ein. Dadurch wird ein „Mac OS Extended“-Volume namens „Ubuntu“ in einer neuen Partition erstellt.
sudo diskutil apfs resizeContainer disk0s2 242300M HFS+ Ubuntu 200M
Rufen Sie die Volume-UUID für das Volume mit dem Namen „Ubuntu“ ab, indem Sie den folgenden Befehl eingeben.
diskutil info Ubuntu | grep "Volume UUID"
Die Ausgabe sollte ähnlich der unten gezeigten sein.
Volume UUID: 795F14D2-ED1F-3CA0-A004-BD0A27000DC8
Verhindern Sie als Nächstes, dass dieser neue Volume-Name „Ubuntu“ automatisch gemountet wird, indem Sie die folgenden Befehle eingeben. Ersetzen Sie Ihre UUID durch die unten gezeigte.
sudo bash
echo >> /etc/fstab
echo UUID=795F14D2-ED1F-3CA0-A004-BD0A27000DC8 none hfs rw,noauto >> /etc/fstab
exit
/etc/fstab
Hinweis: Der richtige Weg, um die Datei zu bearbeiten , ist die Verwendung des Befehlssudo vifs
. Die Verwendung desecho
Befehls ist nur eine kurze Abkürzung.
Verwenden Sie die Finder-Anwendung, um dieses neue Volume auszuwerfen. Alternativ können Sie den unten gezeigten Befehl eingeben, um dieses Volume zu unmounten.
diskutil unmount Ubuntu
Wenn Sie möchten, dass ich einen der oben genannten Schritte erweitere, lassen Sie es mich wissen.
sudo nano /Volumes/Ubuntu/System/Library/CoreServices/refind.conf
dieses Problem umgangen.nano
ist ein guter Ersatz.3.5.1.1 Removable Media Boot Behavior
auf Seite 91 der Unified Extensible Firmware Interface (UEFI) Specification installiert werden . Für Intel-Macs müssen die Medien entfernbar sein.Meine zweite Antwort unterscheidet sich von dieser Antwort in folgenden Punkten.
Ich gehe von folgendem aus:
Ich gebe Ihnen zwei Möglichkeiten, Ihr Problem zu lösen. Jeder hat seine Vor- und Nachteile.
Der Mac Startup Manager zeigt ein Betriebssystem an, wenn Sie die .efi-Datei an der richtigen Stelle ablegen. Dieser Speicherort ist der EFI/boot
Ordner des Volumes in einer EFI-Partition. Der Dateiname muss bootx64.efi
. Darüber hinaus können Sie das für das Betriebssystem angezeigte Symbol anpassen, indem Sie eine .VolumeIcon.icns
Datei im Stammordner des Volumes in der EFI-Partition platzieren.
Hinweis: Hier wird weiterhin rEFInd verwendet, jedoch nicht als Ersatz für den Startup Manager. Sie können ein Firmware-Passwort verwenden. Tatsächlich werden keine rEFInd-Menüs angezeigt. Der rEFInd-Boot-Manager bootet grub einfach stillschweigend (was Ubuntu bootet).
refund-bin-0.11.2.zip
und diese Datei in Ihren ~/Downloads
Ordner heruntergeladen wurde.Installieren Sie rEFInd auf dem Volume auf der neuen EFI-Partition.
cd ~/Downloads/refind-bin-0.11.2
./refind-install --usedefault /dev/disk0s3
Unmounten und mounten Sie die neue EFI-Partition, indem Sie die folgenden Befehle eingeben.
diskutil unmount disk0s3
sudo diskutil mount disk0s3
Die neue EFI-Partition hat den Volume-Namen EFI2
.
Konfigurieren Sie die TextEdit-Anwendung. Öffnen Sie TextEdit und navigieren Sie dann zum Fenster "Einstellungen ...". Deaktivieren Sie alle "Optionen", wie unten gezeigt. Wenn Sie fertig sind, beenden Sie TextEdit.
Verwenden Sie den folgenden Befehl, um zu dem Ordner zu navigieren, der die refind.conf
Datei enthält.
cd /Volumes/EFI2/EFI/BOOT
Erstellen Sie eine Sicherungskopie dieser Datei.
cp refind.conf refind.conf.orignal
Öffnen Sie die Datei in der TextEdit-Anwendung.
open -e refind.conf
Bearbeiten Sie in diesem Volume die EFI/BOOT/refind.conf
Datei, um grub still zu booten (was Ubuntu intern booten wird). Dies kann durch Hinzufügen der folgenden Zeilen am Ende der refind.conf
Datei erreicht werden. Sie sollten in der Lage sein, diese Zeilen einfach auszuschneiden und einzufügen. Wenn Sie fertig sind, speichern Sie die Änderungen und beenden Sie dann TextEdit.
#
# Added to make rEFInd silent.
#
menuentry "Ubuntu" {
icon \EFI\BOOT\icons\os_ubuntu.png
volume "EFI"
loader \EFI\ubuntu\grubx64.efi
ostype Linux
graphics on
}
timeout -1
hideui all
scanfor manual
Unmounten Sie das neue Volume mit dem Namen EFI2
.
diskutil unmount disk0s3
Vorteile: Ubuntu ist nicht betroffen, sodass Ubuntu-Updates keine Aufmerksamkeit erfordern.
Nachteile: Sie müssen den Drittanbieter-Bootmanager rEFInd verwenden.
Mounten Sie die ursprüngliche und die neue EFI-Partition, indem Sie die folgenden Befehle eingeben.
sudo diskutil mount disk0s1
sudo diskutil mount disk0s3
Die ursprüngliche EFI-Partition trägt den Namen EFI
und die neue EFI-Partition den Namen EFI2
.
Erstellen Sie im neuen Volume mit dem Namen EFI2
die Ordner EFI/ubuntu
und EFI/boot
, indem Sie die folgenden Befehle eingeben.
mkdir -p /Volumes/EFI2/EFI/ubuntu
mkdir -p /Volumes/EFI2/EFI/boot
Kopieren Sie die Dateien grub.cfg
und grubx64.efi
auf das neue Volume namens EFI2
. Die benötigten Befehle sind unten angegeben.
cp /Volumes/EFI/EFI/ubuntu/grub.cfg /Volumes/EFI2/EFI/ubuntu/grub.cfg
cp /Volumes/EFI/EFI/ubuntu/grubx64.efi /Volumes/EFI2/EFI/boot/bootx64.efi
Vorteile: Sie müssen den Bootmanager rEFInd von Drittanbietern nicht verwenden.
Nachteile: Wenn grubx64.efi
oder grub.cfg
aktualisiert wird, müssen Sie diese Dateien manuell auf ein neues Volume mit dem Namen kopieren EFI2
.
Die folgenden Schritte fügen das folgende Ubuntu-Symbol zum Startmenü hinzu.
mac-icns.dmg
. Ich gehe davon aus, dass diese Datei in Ihren ~/Downloads
Ordner heruntergeladen wurde.Stellen Sie das benannte Volume bereit EFI2
, indem Sie den folgenden Befehl eingeben.
sudo diskutil mount disk0s3
Verwenden Sie die Finder-Anwendung, um die os_ubuntu.icns
Symboldatei in den Stammordner des Volumes mit dem Namen zu kopieren EFI2
. Alternativ können Sie den unten gezeigten Befehl verwenden.
cp /Volumes/mac-icns/os_ubuntu.icns /Volumes/EFI2/.
Benennen Sie die os_ubuntu.icns
Symboldatei in .VolumeIcon.icns
. Dies kann durch Eingabe des folgenden Befehls erreicht werden.
mv /Volumes/EFI2/os_ubuntu.icns /Volumes/EFI2/.VolumeIcon.icns
Hinweis: Dateien, die mit einem Punkt ( .
) beginnen, werden normalerweise nicht in einem Finder-Anwendungsfenster angezeigt.
Verwenden Sie die Finder-Anwendung, um die EFI-Systempartition mit dem Volumenamen auszuwerfen EFI2
. Alternativ können Sie den unten gezeigten Befehl verwenden, um das Volume zu unmounten.
diskutil unmount disk0s3
Verwenden Sie die Finder-Anwendung, um das Volume mit dem Namen auszuwerfen mac-icns
.
Hinweis: Unten basiert auf der Ausgabe
diskutil list
, die Sie in Ihrer Frage angegeben haben.
Geben Sie beim Starten von macOS die folgenden Befehle in einem Terminal-Anwendungsfenster ein.
sudo diskutil apfs resizecontainer disk0s2 242300M %EFI% n 200M
sudo newfs_msdos -F 32 -v EFI2 /dev/disk0s3
Wenn Sie möchten, dass ich einen der oben genannten Schritte erweitere, lassen Sie es mich wissen.
C12A7328-F81F-11D2-BA4B-00A0C93EC93B
.
David Anderson
diskutil list
Befehls einschließen würden. Deine Frage wurde schon einmal gestellt. Es gibt mehrere einfache Lösungen.kouwei32
diskutil list
Ausgabe: PastebinDavid Anderson
David Anderson
diskutil list
. Ersetzen Sie die Ausgabe in Ihrer Antwort durch diese neue Ausgabe. Ich frage dies, weildisk0s3
in Ihrer derzeit angezeigten Ausgabe fehlt.