10 votes

Triple démarrage de MacOS High Sierra, Ubuntu et Windows sans rEFInd

J'ai actuellement trois systèmes d'exploitation installés sur mon Macbook Air 2017 : MacOS, Ubuntu et Windows 10. Je ne pouvais pas démarrer dans Ubuntu sans REFInd, mais je préfère nettement le gestionnaire de démarrage par défaut, car je veux utiliser le mot de passe du microprogramme (que REFInd n'a pas).

Existe-t-il un moyen pour que le gestionnaire de démarrage de MacOS reconnaisse Ubuntu sans utiliser un gestionnaire de démarrage tiers ?

NOTES :

  • Je ne veux pas qu'Ubuntu soit défini comme mon système d'exploitation par défaut comme une alternative. Je veux juste qu'il apparaisse dans le menu de démarrage.
  • Ça ne me dérange pas si ça va juste dans GRUB. Tant qu'il peut charger le noyau, c'est bon.

La sortie de la commande 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

5voto

David Anderson Points 30783

Alternative Deuxième réponse

Ce site deuxième réponse diffère de mon première réponse de la manière suivante.

  • La deuxième partition EFI est remplacée par une partition HFS+.

  • L'étiquette affichée dans le gestionnaire de démarrage sera "Ubuntu" au lieu de l'étiquette générique "EFI Boot".

Je vais supposer ce qui suit :

  • Vous devez installer 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.
  • Il n'y a qu'un seul disque impliqué et le disque est interne.
  • rEFInd est installé dans la partition EFI.

Je vais vous proposer deux façons de résoudre votre problème. Chacune a ses avantages et ses inconvénients.

Le gestionnaire de démarrage de Mac affichera un système d'exploitation si vous placez le fichier .efi au bon endroit. Cet emplacement est le System/Library/CoreServices du volume dans une partition HFS+. Le nom du fichier doit être boot.efi . En outre, vous pouvez personnaliser l'icône affichée pour le système d'exploitation en plaçant une icône .VolumeIcon.icns dans le dossier Root du volume de la partition HFS+.

La première voie.

Note : Ici, rEFInd est toujours utilisé, mais pas en remplacement du gestionnaire de démarrage. Vous pourrez utiliser un mot de passe de firmware. En fait, aucun menu rEFInd n'est affiché. Le gestionnaire de démarrage rEFInd démarre juste silencieusement grub (qui démarre Ubuntu).

  1. Téléchargez rEFInd à partir de ce site Site web de SourceForge . Je suppose que le fichier téléchargé s'appelle refind-bin-0.11.2.zip et ce fichier a été téléchargé sur votre ~/Downloads dossier.

  2. Créez une nouvelle partition HFS+. Les instructions sont données dans la section "Ajout d'une partition HFS+".

  3. Montez la nouvelle partition HFS+, en entrant la commande suivante.

    sudo  diskutil  mount  disk0s3

    La nouvelle partition HFS+ aura pour nom de volume Ubuntu .

  4. Installez rEFInd dans le volume de la nouvelle partition HFS+.

    cd  ~/Downloads/refind-bin-0.11.2
    ./refind-install  --ownhfs  /dev/disk0s3

    Remarque : Le message d'erreur Could not set boot device property: 0xe00002bc était attendu et peut être ignoré.

  5. Configurer 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.

    y1

  6. Utilisez la commande ci-dessous pour naviguer vers le dossier contenant le fichier refind.conf fichier.

    cd  /Volumes/Ubuntu/System/Library/CoreServices

    Faites une copie de sauvegarde de ce fichier.

    sudo  cp  refind.conf  refind.conf.orignal

    Ajoutez des droits d'écriture au CoreServices et le dossier refind.conf fichier.

    sudo  chmod  a+w  .  refind.conf

    Ouvrez le fichier dans l'application TextEdit.

    open  -e  refind.conf
  7. Dans ce volume, éditez le System/Library/CoreServices/refind.conf pour démarrer silencieusement grub (qui démarrera Ubuntu en interne). Ceci peut être accompli en ajoutant les lignes suivantes à la fin du fichier 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 \System\Library\CoreServices\icons\os_ubuntu.png
        volume "EFI"
        loader \EFI\ubuntu\grubx64.efi
        ostype Linux
        graphics on
    }
    timeout -1
    hideui all
    scanfor manual
  8. Démontez le nouveau volume nommé Ubuntu en entrant les commandes suivantes.

    cd  ~
    diskutil  unmount  disk0s3

Pour : Ubuntu n'est pas affecté, donc toute mise à jour d'Ubuntu ne nécessitera pas d'attention.

Contre : Vous devez utiliser le gestionnaire de démarrage tiers rEFInd.

La deuxième voie.

  1. Créez une nouvelle partition HFS+. Les instructions sont données dans la section "Ajout d'une partition HFS+".

  2. Montez la partition EFI d'origine et la nouvelle partition HFS+, en entrant les commandes suivantes.

    sudo  diskutil  mount  disk0s1
    sudo  diskutil  mount  disk0s3

    La partition EFI originale aura le nom EFI et la nouvelle partition HFS+ portera le nom de Ubuntu .

  3. Dans le nouveau volume nommé Ubuntu créer les dossiers EFI/ubuntu et System/Library/CoreServices en entrant les commandes suivantes.

    mkdir  -p  /Volumes/Ubuntu/EFI/ubuntu
    mkdir  -p  /Volumes/Ubuntu/System/Library/CoreServices
  4. Copier les fichiers grub.cfg et grubx64.efi vers le nouveau volume nommé Ubuntu . Les commandes nécessaires sont indiquées ci-dessous.

    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
  5. Démontez la partition EFI d'origine et la nouvelle partition HFS+, en entrant les commandes suivantes.

    diskutil  unmount  disk0s1
    diskutil  unmount  disk0s3

Pros : Vous n'avez pas besoin d'utiliser le gestionnaire de démarrage tiers rEFInd.

Contre : Si le grubx64.efi o grub.cfg est mis à jour, vous devez copier manuellement ces fichiers sur un nouveau volume nommé Ubuntu .

Ajout d'une icône personnalisée

Les étapes ci-dessous permettent d'ajouter l'icône Ubuntu suivante au menu de démarrage.

os_ubuntu.png

  1. Téléchargez une collection d'icônes à partir du site Web Sourceforge. Mac icns .

  2. Utilisez l'application Finder pour ouvrir le fichier téléchargé. mac-icns.dmg . Je suppose que ce fichier a été téléchargé sur votre ~/Downloads dossier.

  3. Monter le volume nommé Ubuntu en entrant la commande suivante.

    sudo  diskutil  mount  disk0s3
  4. Utilisez l'application Finder pour copier le os_ubuntu.icns dans le dossier Root du volume nommé Ubuntu . Vous pouvez également utiliser la commande ci-dessous.

    sudo cp  /Volumes/mac-icns/os_ubuntu.icns  /Volumes/Ubuntu/.
  5. Renommer le os_ubuntu.icns pour le fichier d'icône .VolumeIcon.icns . Ceci peut être accompli en entrant la commande suivante.

    sudo mv  /Volumes/Ubuntu/os_ubuntu.icns  /Volumes/Ubuntu/.VolumeIcon.icns

    Note : Les fichiers commençant par un point ( . ) n'apparaissent pas normalement dans une fenêtre d'application du Finder.

  6. Utilisez l'application Finder pour éjecter la partition Système EFI avec le nom de volume Ubuntu . Vous pouvez également utiliser la commande ci-dessous pour démonter le volume.

    diskutil  unmount  disk0s3
  7. Utilisez l'application Finder pour éjecter le volume nommé mac-icns .

Ajout d'une partition HFS+

Note : Les données ci-dessous sont basées sur les résultats de diskutil list que vous avez fourni dans votre question.

  1. Saisissez la commande ci-dessous dans une fenêtre de l'application Terminal. Cette commande va créer un volume "Mac OS Extended" nommé "Ubuntu" dans une nouvelle partition.

    sudo  diskutil  apfs  resizeContainer  disk0s2  242300M  HFS+  Ubuntu  200M
  2. Obtenez l'UUID du volume nommé "Ubuntu" en entrant la commande ci-dessous.

     diskutil info Ubuntu | grep "Volume UUID"

    La sortie devrait être similaire à celle montrée ci-dessous.

       Volume UUID:              795F14D2-ED1F-3CA0-A004-BD0A27000DC8
  3. Ensuite, empêchez ce nouveau volume nommé "Ubuntu" de se monter automatiquement, en entrant les commandes suivantes. Remplacez votre UUID par celui indiqué ci-dessous.

    sudo  bash
    echo  >> /etc/fstab
    echo  UUID=795F14D2-ED1F-3CA0-A004-BD0A27000DC8 none hfs rw,noauto >> /etc/fstab
    exit

    Note : La manière correcte, de modifier le /etc/fstab est d'utiliser la commande sudo vifs . Utilisation du echo est juste un raccourci rapide.

  4. Utilisez l'application Finder pour éjecter ce nouveau volume. Vous pouvez également entrer la commande indiquée ci-dessous pour démonter ce volume.

    diskutil  unmount  Ubuntu

Si vous souhaitez que je développe l'une des étapes ci-dessus, faites-le moi savoir.

1voto

David Anderson Points 30783

Réponse originale

Mon deuxième réponse diffère de cette réponse de la manière suivante.

  • 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 de l'étiquette générique "EFI Boot".

Je vais supposer ce qui suit :

  • Vous devez installer 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.
  • Il n'y a qu'un seul disque impliqué et le disque est interne.
  • rEFInd est installé dans la partition EFI.

Je vais vous donner deux façons de résoudre votre problème. Chacune a ses avantages et ses inconvénients.

Le gestionnaire de démarrage de Mac affichera un système d'exploitation si vous placez le fichier .efi au bon endroit. Cet emplacement est le EFI/boot du volume dans une partition EFI. Le nom du fichier doit être bootx64.efi . En outre, vous pouvez personnaliser l'icône affichée pour le système d'exploitation en plaçant une icône .VolumeIcon.icns dans le dossier Root du volume de la partition EFI.

La première voie.

Note : Ici, rEFInd est toujours utilisé, mais pas en remplacement du gestionnaire de démarrage. Vous pourrez utiliser un mot de passe du firmware. En fait, aucun menu rEFInd n'est affiché. Le gestionnaire de démarrage rEFInd démarre juste silencieusement grub (qui démarre Ubuntu).

  1. Téléchargez rEFInd à partir de ce site Site web de SourceForge . Je suppose que le fichier téléchargé s'appelle refund-bin-0.11.2.zip et ce fichier a été téléchargé sur votre ~/Downloads dossier.

  2. Créez une nouvelle partition EFI. Les instructions sont données dans la section "Ajouter une partition EFI".

  3. Téléchargez le logiciel rEFInd Boot Manager à partir de l'adresse suivante Site web de SourceForge .

  4. Installez rEFInd dans le volume de la nouvelle partition EFI.

    cd  ~/Downloads/refind-bin-0.11.2
    ./refind-install  --usedefault  /dev/disk0s3
  5. 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 pour nom de volume EFI2 .

  6. 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.

    y1

  7. Utilisez la commande ci-dessous pour naviguer vers le dossier contenant le fichier 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
  8. Dans ce volume, éditez le EFI/BOOT/refind.conf pour démarrer silencieusement grub (qui démarrera Ubuntu en interne). Ceci peut être accompli en ajoutant les lignes suivantes à la fin du fichier 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
  9. Démontez le nouveau volume nommé EFI2 .

    diskutil  unmount  disk0s3

Pros : Ubuntu n'est pas affecté, donc toute mise à jour d'Ubuntu ne nécessitera pas d'attention.

Contre : Vous devez utiliser le gestionnaire de démarrage tiers rEFInd.

La deuxième voie.

  1. Créez une nouvelle partition EFI. Les instructions sont données dans la section "Ajouter une partition EFI".

  2. Montez les partitions EFI originales et nouvelles, en entrant les commandes suivantes.

    sudo  diskutil  mount  disk0s1
    sudo  diskutil  mount  disk0s3

    La partition EFI originale aura le nom EFI et la nouvelle partition EFI aura pour nom EFI2 .

  3. Dans le nouveau volume nommé EFI2 créer les dossiers EFI/ubuntu et EFI/boot en entrant les commandes suivantes.

    mkdir  -p  /Volumes/EFI2/EFI/ubuntu
    mkdir  -p  /Volumes/EFI2/EFI/boot
  4. Copier les fichiers grub.cfg et grubx64.efi vers le nouveau volume nommé EFI2 . Les commandes nécessaires sont indiqué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

Pros : Vous n'avez pas besoin d'utiliser le gestionnaire de démarrage tiers rEFInd.

Contre : Si le grubx64.efi o grub.cfg est mis à jour, vous devez copier manuellement ces fichiers vers un nouveau volume nommé EFI2 .

Ajout d'une icône personnalisée

Les étapes ci-dessous permettent d'ajouter l'icône Ubuntu suivante au menu de démarrage.

os_ubuntu.png

  1. Téléchargez une collection d'icônes à partir du site Web Sourceforge. Mac icns .

  2. Utilisez l'application Finder pour ouvrir le fichier téléchargé. mac-icns.dmg . Je suppose que ce fichier a été téléchargé sur votre ~/Downloads dossier.

  3. Monter le volume nommé EFI2 en entrant la commande suivante.

    sudo  diskutil  mount  disk0s3
  4. Utilisez l'application Finder pour copier le os_ubuntu.icns dans le dossier Root du volume nommé EFI2 . Vous pouvez également utiliser la commande ci-dessous.

    cp  /Volumes/mac-icns/os_ubuntu.icns  /Volumes/EFI2/.
  5. Renommer le os_ubuntu.icns pour le fichier d'icône .VolumeIcon.icns . Ceci peut être accompli en entrant la commande suivante.

    mv  /Volumes/EFI2/os_ubuntu.icns  /Volumes/EFI2/.VolumeIcon.icns

    Note : Les fichiers commençant par un point ( . ) n'apparaissent pas normalement dans une fenêtre d'application du Finder.

  6. Utilisez l'application Finder pour éjecter la partition Système EFI avec le nom de volume EFI2 . Vous pouvez également utiliser la commande ci-dessous pour démonter le volume.

    diskutil  unmount  disk0s3
  7. Utilisez l'application Finder pour éjecter le volume nommé mac-icns .

Ajout d'une partition EFI

Note : Les données ci-dessous sont basées sur les résultats de diskutil list que vous avez fourni dans votre question.

En démarrant sous 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 souhaitez que je développe l'une des étapes ci-dessus, faites-le moi savoir.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X