Réponse originale
Ma deuxième réponse diffère de cette réponse des manières suivantes.
- Dans la deuxième réponse, la deuxième partition EFI est remplacée par une partition HFS +. Ce type de partition est plus facile à créer et à modifier.
- Dans la deuxième réponse, l'étiquette affichée dans le gestionnaire de démarrage sera "Ubuntu" au lieu du "démarrage EFI générique".
Je vais assumer ce qui suit:
- Vous avez installé Ubuntu pour utiliser la méthode de démarrage EFI.
- Vous utilisez grub pour démarrer Ubuntu
- Grub démarre à partir de la partition EFI.
- Il n'y a qu'une seule partition EFI.
- La partition EFI est la première partition du disque.
- Un seul disque est impliqué et le disque est interne.
- rEFInd est installé dans la partition EFI.
Je vais donner deux façons de résoudre votre problème. Chacun a ses avantages et ses inconvénients.
Le gestionnaire de démarrage Mac affichera un système d'exploitation si vous placez le fichier .efi au bon emplacement. Cet emplacement est le EFI/boot
dossier du volume dans une partition EFI. Le nom du fichier doit être bootx64.efi
. De plus, vous pouvez personnaliser l'icône affichée pour le système d'exploitation en plaçant un .VolumeIcon.icns
fichier dans le dossier racine du volume dans la partition EFI.
La première façon.
Remarque: Ici, rEFInd est toujours utilisé, mais ne remplace pas le gestionnaire de démarrage. Vous pourrez utiliser un mot de passe du firmware. En fait, aucun menu de réinitialisation n'est affiché. Le gestionnaire de démarrage rEFInd ne démarre que silencieusement grub (qui démarre Ubuntu).
- Téléchargez rEFInd de ce site Web SourceForge . Je suppose que le fichier téléchargé est nommé
refund-bin-0.11.2.zip
et que ce fichier a été téléchargé dans votre ~/Downloads
dossier.
- Créez une nouvelle partition EFI. Les instructions sont données dans la section "Ajouter une partition EFI".
- Téléchargez le logiciel rEFInd Boot Manager à partir de ce site Web SourceForge .
Installez rEFInd dans le volume de la nouvelle partition EFI.
cd ~/Downloads/refind-bin-0.11.2
./refind-install --usedefault /dev/disk0s3
Démontez et montez la nouvelle partition EFI en entrant les commandes suivantes.
diskutil unmount disk0s3
sudo diskutil mount disk0s3
La nouvelle partition EFI aura le nom du volume EFI2
.
Configurez l'application TextEdit. Ouvrez TextEdit, puis accédez à la fenêtre "Préférences ...". Décochez toutes les "Options", comme indiqué ci-dessous. Lorsque vous avez terminé, quittez TextEdit.
Utilisez la commande ci-dessous pour accéder au dossier contenant le refind.conf
fichier.
cd /Volumes/EFI2/EFI/BOOT
Faites une copie de sauvegarde de ce fichier.
cp refind.conf refind.conf.orignal
Ouvrez le fichier dans l'application TextEdit.
open -e refind.conf
Dans ce volume, éditez le EFI/BOOT/refind.conf
fichier pour démarrer silencieusement grub (ce qui permettra de démarrer Ubuntu en interne). Cela peut être accompli en ajoutant les lignes suivantes à la fin du refind.conf
fichier. Vous devriez pouvoir couper et coller ces lignes. Lorsque vous avez terminé, enregistrez les modifications, puis quittez 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
Démontez le nouveau volume nommé EFI2
.
diskutil unmount disk0s3
Avantages: Ubuntu n'est pas affecté, donc aucune mise à jour d'Ubuntu ne nécessitera d'attention.
Inconvénients: vous devez utiliser le gestionnaire de démarrage tiers rEFInd.
La deuxième façon.
- Créez une nouvelle partition EFI. Les instructions sont données dans la section "Ajouter une partition EFI".
Montez les partitions EFI d'origine et nouvelles en entrant les commandes suivantes.
sudo diskutil mount disk0s1
sudo diskutil mount disk0s3
Le nom de la partition EFI d'origine EFI
et celui de la nouvelle partition EFI EFI2
.
Dans le nouveau volume nommé EFI2
, créez les dossiers EFI/ubuntu
et EFI/boot
, en entrant les commandes suivantes.
mkdir -p /Volumes/EFI2/EFI/ubuntu
mkdir -p /Volumes/EFI2/EFI/boot
Copiez les fichiers grub.cfg
et grubx64.efi
dans le nouveau volume nommé EFI2
. Les commandes nécessaires sont données ci-dessous.
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
Avantages: vous n'avez pas besoin d'utiliser le gestionnaire de démarrage tiers rEFInd.
Inconvénients: Si le grubx64.efi
ou grub.cfg
est mis à jour, vous devez copier manuellement ces fichiers sur le nouveau volume nommé EFI2
.
Ajout d'une icône personnalisée
Les étapes ci-dessous ajouteront l'icône Ubuntu suivante au menu de démarrage.
- Téléchargez une collection d’icônes à partir du site Web sourceforge Mac icns .
- Utilisez l'application Finder pour ouvrir le fichier téléchargé
mac-icns.dmg
. Je suppose que ce fichier a été téléchargé dans votre ~/Downloads
dossier.
Montez le volume nommé EFI2
en entrant la commande suivante.
sudo diskutil mount disk0s3
Utilisez l'application Finder pour copier le os_ubuntu.icns
fichier d'icône dans le dossier racine du volume nommé EFI2
. Vous pouvez également utiliser la commande ci-dessous.
cp /Volumes/mac-icns/os_ubuntu.icns /Volumes/EFI2/.
Renommez le os_ubuntu.icns
fichier d'icône en .VolumeIcon.icns
. Cela peut être accompli en entrant la commande suivante.
mv /Volumes/EFI2/os_ubuntu.icns /Volumes/EFI2/.VolumeIcon.icns
Remarque: Les fichiers commençant par un point ( .
) n'apparaissent pas dans la fenêtre de l'application Finder.
Utilisez l'application Finder pour éjecter la partition EFI System avec le nom du volume EFI2
. Vous pouvez également utiliser la commande ci-dessous pour démonter le volume.
diskutil unmount disk0s3
Utilisez l'application Finder pour éjecter le volume nommé mac-icns
.
Ajout d'une partition EFI
Remarque: ci-dessous est basé sur la sortie de diskutil list
celle que vous avez fournie dans votre question.
Lors du démarrage sur macOS, entrez les commandes ci-dessous dans une fenêtre de l’application Terminal.
sudo diskutil apfs resizecontainer disk0s2 242300M %EFI% n 200M
sudo newfs_msdos -F 32 -v EFI2 /dev/disk0s3
Si vous avez besoin de moi pour développer l'une des étapes ci-dessus, faites le moi savoir.
diskutil list
commande. Votre question a déjà été posée. Il y a plusieurs solutions simples.