# Supprimer des entrées rEFInd



## Melvenor (24 Avril 2019)

Bonjour, 

après avoir installer avec succès rEFInd, ce dernier m'affiche 2 entrées Windows et 2 entrées MacOS.
J'aimerai savoir s'il est possible via le refind.conf de laisser seulement une entrée pour chaque OS.

Merci d'avance.


----------



## macomaniac (24 Avril 2019)

Bonsoir *Melvenor
*
Concentrons-nous sur l'affichage Mac. Démarre pour obtenir l'écran de rEFInd. Avec les touches de déplacement --> 

- loge ta sélection sur la 1ère icône Mac : qu'est-ce qui s'incrit en-dessous comme désignation de ce type de démarrage ? - ne serait-ce pas *Preboot* ?​
- loge ta sélection sur la 2ère icône Mac : qu'est-ce qui s'incrit en-dessous comme désignation de ce type de démarrage ? - ne serait-ce pas *Macintosh HD* (ou le nom personnalisé de ton volume Mac - si oui : lequel) ?​
=> poste ces 2 précisions nécessaires.


----------



## Melvenor (24 Avril 2019)

macomaniac a dit:


> Bonsoir *Melvenor
> *
> Concentrons-nous sur l'affichage Mac. Démarre pour obtenir l'écran de rEFInd. Avec les touches de déplacement -->
> 
> ...



Merci pour votre retour !
Voilà de quoi répondre à vos questions.


----------



## macomaniac (24 Avril 2019)

Est-ce que tu veux booter sur *Preboot* (volume *apfs* de prédémarrage) ou sur *Macintosh SSD* (volume *apfs* de démarrage) ?


----------



## Melvenor (24 Avril 2019)

macomaniac a dit:


> Est-ce que tu veux booter sur *Preboot* (volume *apfs* de prédémarrage) ou sur *Macintosh SSD* (volume *apfs* de démarrage) ?



J'amerai dans l'idéal utiliser "Macintosh SSD" pour MacOS et "Boot from EFI" pour Windows.


----------



## macomaniac (24 Avril 2019)

De retour dans ta session de *Macintosh SDD* > passe la commande :

```
sudo diskutil mount disk0s1
```


qui monte le volume *EFI* de la partition n°*1* du disque

Passe la commande :

```
open -e /Volumes/EFI/EFI/refind/refind.conf
```


qui ouvre le fichier *refind.conf* dans TextEdit

fais jouer l'ascenseur pour descendre un peu après la moitié du texte du fichier. Tu tombes sur ce paragraphe commenté par des *#* :


```
# Partitions (or whole disks, for legacy-mode boots) to omit from scans.
# For EFI-mode scans, you normally specify a volume by its label, which you
# can obtain in an EFI shell by typing "vol", from Linux by typing
# "blkid /dev/{devicename}", or by examining the disk's label in various
# OSes' file browsers. It's also possible to identify a partition by its
# unique GUID (aka its "PARTUUID" in Linux parlance). (Note that this is
# NOT the partition TYPE CODE GUID.) This identifier can be obtained via
# "blkid" in Linux or "diskutil info {partition-id}" in macOS.
# For legacy-mode scans, you can specify any subset of the boot loader
# description shown when you highlight the option in rEFInd.
# The default is "LRS_ESP".
#
```


tu laisses ce § intact. La ligne juste en-dessous est elle aussi commentée par un *#* (= échappée de prise en compte) et doit être :


```
#dont_scan_volumes "Recovery HD"
```


décommente cette ligne seule en enlevant le *#* et remplace le *"Recovery HD"* par *"Preboot"* --> ce qui doit donner exactement :


```
dont_scan_volumes "Preboot"
```


enregistre ton édition > puis redémarre

=> est-ce que tu n'as plus que l'icône *X* de *Macintosh SSD* ?


----------



## Melvenor (24 Avril 2019)

Je viens de suivre à la lettre ce que vous avez indiquer. 
Cela a fonctionné puisque seul "Boot From Macintosh SSD" est désormais visible.

Je suppose qu'il va falloir ajouter une ligne similaire en dessous pour cette fois, "ne plus scanner" mon entrée Windows indésirable ?


----------



## macomaniac (24 Avril 2019)

Alors pour Windows --> je suis obligé de passer en mode "spéculatif" (imagination théorique) > car je ne me suis jamais servi de cet OS.

Passe la commande :

```
diskutil list
```


qui affiche le tableau des disques

Poste ce tableau --> que j'avise la configuration actuelle de ton disque.


----------



## Melvenor (24 Avril 2019)

```
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *251.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         125.0 GB   disk0s2
   3:         Microsoft Reserved                         16.8 MB    disk0s3
   4:       Microsoft Basic Data BOOTCAMP                125.8 GB   disk0s4

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +125.0 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh SSD           35.6 GB    disk1s1
   2:                APFS Volume Preboot                 44.8 MB    disk1s2
   3:                APFS Volume Recovery                522.7 MB   disk1s3
   4:                APFS Volume VM                      1.1 GB     disk1s4

melvins-macbook-pro:~ melvenor$
```


----------



## macomaniac (24 Avril 2019)

Je vois que le volume *BOOTCAMP* est formé sur une partition de type : *Microsoft Basic Data*.

Question : est-ce Windows 10 qui est installé dans le volume *BOOTCAMP* ?


----------



## Melvenor (24 Avril 2019)

macomaniac a dit:


> Je vois que le volume *BOOTCAMP* est formé sur une partition de type : *Microsoft Basic Data*.
> 
> Question : est-ce Windows 10 qui est installé dans le volume *BOOTCAMP* ?


 
Oui c'est exact. Lors du lacement de l'utilitaire BootCamp, MacOS crée une partition vierge temporaire nommée "BOOTCAMP" au sein de laquelle ce dernier va installer Windows. La partition garde alors ce nom mais possède bien l'installation complète de W10.


----------



## macomaniac (24 Avril 2019)

Alors voici la spéculation -->

- tu as 2 icônes Windows à l'écran de rEFInd : une commentée comme = *Boot Microsoft EFI boot from EFI* > et l'autre comme = *Boot Windows (Legacy) from Basic data partition*​
- *Boot Microsoft EFI boot from EFI* => désigne évidemment le volume *EFI* de la partition *disk0s1* > dans lequel doit exister un dossier Windows recelant un prédémarreur (*boot_loader*) *bootmgr.efi* permettant de démarrer le Windows 10 du volume *BOOTCAMP* en mode *UEFI* (le mode spécifique de ce nouveau Windows)​
- *Boot Windows (Legacy) from Basic data partition* => désigne tout aussi clairement la partition de type : *Microsoft Basic Data* sur laquelle est formé le volume *BOOTCAMP*. Dans ce volume > doit exister un *boot_loader* alternatif *bootmgr* --> destiné à permettre (secondairement) un boot "*Legacy*" de Windows. Ce boot implique une émulation de *BIOS* de la part de l'*EFI* > et une table de partition alternative de type *Hybrid_MBR* sur le bloc *0* (1er bloc) du disque. L'existence d'une telle *HMBR* sur le bloc *0* est improbable sur un disque Mojave --> donc le boot *Legacy* est une possibilité théorique impraticable.​
En conséquence > il faut ne conserver que le boot *UEFI* > càd. celui qui passe par le prédémarrage du volume *EFI*. Il faut donc exclure dans *refind.conf* le volume *BOOTCAMP* du scan des *boot_loaders* --> afin d'échapper le *boot_loader* "*Legacy*" : *bootmgr*.

----------

Donc repasse les commandes :

```
sudo diskutil mount disk0s1
open -e /Volumes/EFI/EFI/refind/refind.conf
```


qui montent le volume *EFI* et ouvrent le fichier *refind.conf* dans *TextEdit*

recale-toi exactement à la même ligne décommentée que tu as éditée et qui est actuellement -->


```
dont_scan_volumes "Preboot"
```


il s'agit ici d'ajouter le volume *BOOTCAMP* aux exclusions de scan. Mais ! sous quel *label* (= intitulé de boot dans le temps du boot) le volume *BOOTCAMP* est-il désigné ? --> il est douteux que ce soit son nom de *device* (= *BOOTCAMP*) > et il est spéculable que ce soit le *label* de boot : Windows. On va partir sur cette conjecture spéculative.

édite la ligne décommentée pour qu'elle soit exactement ceci -->


```
dont_scan_volumes "Preboot" "Windows"
```


puis sauvegarde ton édition et redémarre

=> tu n'auras qu'à dire si l'exclusion d'un volume de *label* présumé Windows dans le temps du boot --> a fonctionné et si tu n'as plus qu'une icône de boot de Windows (en mode *UEFI*).


----------



## Melvenor (24 Avril 2019)

Bon je viens d'essayer. Résultat : Ça fonctionne parfaitement.

Si ça peut aider à l'avenir, 


macomaniac a dit:


> L'existence d'une telle *HMBR* sur le bloc *0* est improbable sur un disque Mojave --> donc le boot *Legacy* est une possibilité théorique impraticable.


 --> c'est totalement vrai puisqu'en cliquant dessus, rien ne se passe et on doit redémarrer.



macomaniac a dit:


> et il est spéculable que ce soit le *label* de boot : Windows. On va partir sur cette conjecture spéculative.


 --> 100% vrai aussi. Effectivement en incluant "Windows" à l'exclusion du scan, "Boot from Legacy" disparait bien !

Merci 1000 fois pour ces réponses, et pour la qualité de ces dernières. 
Merci de faire vivre ces forums, et de rendre service à des millions d'utilisateurs.

PS: Ne changez rien, vos explications sont claires, concises et par conséquent très efficaces.


----------



## macomaniac (24 Avril 2019)

Content pour toi !

- c'était assez poilant de spéculer sur un OS Windows dont je ne me suis jamais servi > et dont j'ai seulement une imagination théorique ​


----------



## oNuR (3 Mai 2019)

Bonjour à tous,

Merci infiniment pour cette discussion.
Même l’auteur n’a pas pus expliquer si clairement.


----------



## Nikware (10 Mai 2021)

Je confirme, suite aux explications de Macomaniac, j'ai pu également configurer reFind pour cacher les options de boot indésirables.

Je n'ai plus que Mojave et Insider (j'ai renommé BOOTCAMP de la sorte) en options de boot.


----------



## Random_error (21 Juin 2021)

Bonjour, 

J’ai un cas particulier. Au démarrage j’ai deux icônes Mac qui s’affichent dont l’appellation est identique, je ne peux donc pas les différencier pour en désactiver une. Je pense que c'est du au fait que sur chaque disque de mon Fusion Core j'ai une partition de type Apple_Boot appelée Boot OS X. Je peux en supprimer une ?


```
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *120.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage Fusion                  60.0 GB    disk0s2
   3:                 Apple_Boot Boot OS X               134.2 MB   disk0s3
   4:       Microsoft Basic Data STOCK                   4.0 GB     disk0s4
   5:       Microsoft Basic Data                         6.0 GB     disk0s5
   6:           Linux Filesystem                         49.6 GB    disk0s6

/dev/disk1 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *250.1 GB   disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:          Apple_CoreStorage Fusion                  247.1 GB   disk1s2
   3:                 Apple_Boot Boot OS X               134.2 MB   disk1s3
   4:                 Apple_Boot                         650.0 MB   disk1s4
```


----------



## macomaniac (21 Juin 2021)

Bonjour *Ramdom_error*

Sélectionne l'icône *X* de gauche --> quelle indication textuelle se trouve alors affichée (du volume qui va être démarré) ? - idem pour l'icône *X* de droite.

- je pense effectivement que ce sont les volumes *Boot OS X* des 2 *booters* qui vont être affichés > mais c'est pour avoir une confirmation. Et oui : dès que tu as un Fusion Drive => tu as *2* possibilités de boot affichées (*1* par disque).​


----------



## Random_error (21 Juin 2021)

J’avais envoyé les deux captures d’écrans dans le précédent message, veux-tu autre chose ?


----------



## macomaniac (21 Juin 2021)

Pardon : je n'avais pas inspecté les images. Effectivement : il s'agit des volumes *Boot OS X* des 2 *booters*.

- alors voici la spéculation : des volumes homonymes ne se trouvent jamais montés sous le même intitulé > mais le *1er* monté se trouve monté avec son intitulé brut (*Boot OS X*) > le *2è* monté avec un index *1* différenciateur (*Boot OS X 1*). Avec un Fusion Drive > on n'est jamais absolument sûr de quel disque se trouvera connecté au Système du Mac en *1er* (SSD ou HDD ?) > et donc quel volume de *booter* sera monté en *1er* comme *Boot OS X* et quel en *2è* comme *Boot OS X 1*. Ce qui reste indifférent en substance > le volume logique du Fusion Drive pouvant se trouver démarré depuis l'*1* ou l'autre des *booters*.​
De ce court raisonnement on déduit qu'il suffit d'exclure l'intitulé de volume *Boot OS X* => pour que nécessairement reste à l'affiche *Boot OS X 1* (sans son index à l'écran de rEFInd). Ou l'inverse si tu préfères : exclusion de *Boot OS X 1* et affiche de *Boot OS X* seul.

D'accord pour l'idée ?


----------



## Random_error (21 Juin 2021)

Oui je vais tester ça tout de suite !


----------



## macomaniac (21 Juin 2021)

Quand tu édites l'entrée du fichier *refind.conf* dans TextEdit > mets l'intitulé du volume à exclure d'affichage entre *""* => *"Boot OS X"*.

- si ça ne fonctionnait pas > il est possible de mentionner à la place du *label* du volume un *UUID*.​


----------



## Random_error (21 Juin 2021)

macomaniac a dit:


> Quand tu édites l'entrée du fichier *refind.conf* dans TextEdit > mets l'intitulé du volume à exclure d'affichage entre *""* => *"Boot OS X"*.
> 
> - si ça ne fonctionnait pas > il est possible de mentionner à la place du *label* du volume un *UUID*.​


Oui, j'ai tester et notre hypothèse n'était pas la bonne, il ne rajoute pas de caractère pour faire la distinction entre les deux nom. Quand j'ai sauvegardé le fichier avec "Boot OS X", au démarrage il supprime les deux. 
Je confirme qu'on peut utiliser UUID je suis allé voir dans la documentation :


> For EFI boot loaders, you can identify a volume by its filesystem label, partition name, or partition unique GUID value.


J'ai obtenu le UUID en exécutant : diskutil info disk1s3
--> D222D9B8-24D5-4B29-B201-0DE2BC69F5FE
J'ai fait la modification.
Je redémarre, et sa fonctionne !
Merci encore et bonne journée !


----------



## macomaniac (21 Juin 2021)

D'accord :  bien joué avec l'*UUID*. Au moins c'est un identifiant unique.

- à présent : si tu ne veux qu'*1* seul pingouin au lieu de *2*  > sélectionne chaque pingouin à l'écran de rEFInd --> est-ce qu'*1* des volumes désigné s'intitule *EFI* et l'autre du nom du volume Linux ?​


----------



## Random_error (22 Juin 2021)

J'ai réglé le problème maintenant je n'ai plus qu'un seul pingouin !
Autre chose, quand je redémarre avec ma partition *Linux*, *rEFInd *saute, il boot par défaut sur le *Grub* de *Linux* et je suis obligé de faire *Tab*  pour *booter* sur ma partition mac afin de réinstaller *rEFnd*. C'est la deuxième fois que je le subis et cela risque de se reproduire. 
Pourtant quand j'execute la commande : _nvram -p  (voir ci-dessus)_, à la variable : *efi-boot-device* peut voir qu'il pointe bien sur le *boot loader* de *rEFInd. *Où est le problème ? Es-ce que des mises à jour de *Linux* pourrait, en théorie, modifier le* boot loader ?* Et si c'est le cas, réactiver le *SIP* pourrait t'il empêcher la modification du *boot loader* ?

```
efi-backup-boot-device-data-data    %02%01%0c%00%d0A%03%0a%00%00%00%00%01%01%06%00%00%0a%03%12%0a%00%00%00%00%00%00%00%04%01*%00%03%00%00%00%88K%f5%0d%00%00%00%00%00%00%04%00%00%00%00%00%8bQ!%b8%19%01%9dH%a7%dd%cbs%1fPC:%02%02%7f%ff%04%00
efi-backup-boot-device    <array><dict><key>IOMatch</key><dict><key>IOProviderClass</key><string>IOMedia</string><key>IOPropertyMatch</key><dict><key>UUID</key><string>BC1B6954-5CB5-4E74-9775-28DA5F519119</string></dict></dict><key>BLLastBSDName</key><string>disk3s2</string></dict></array>%00
efi-boot-device    <array><dict><key>IOMatch</key><dict><key>IOProviderClass</key><string>IOMedia</string><key>IOPropertyMatch</key><dict><key>UUID</key><string>86C328E3-877C-4517-8CFA-A67C6BB71B7F</string></dict></dict><key>IOEFIShortForm</key><true/><key>BLLastBSDName</key><string>disk0s1</string></dict><dict><key>IOEFIDevicePathType</key><string>MediaFilePath</string><key>Path</key><string>\EFI\refind\refind_x64.efi</string></dict></array>%00
boot-gamma    %10%06%00%00%c2%9c%00%00%00%00%00%00%ca%00%00%00%00%00%00%00%0f%00%01%06%da%00%03%0cb%03D%118%07%06%19%c3%0eH!%c0%1aL0%902%0f>%19EW^%15h!%85%a1%8f%a6%98%17%a5%ae%bb%aa%c9r%c9%87%d6%f6%da%b5%e5%fc%f2>%f6%fe%f9%0e%fa%0d%00%c1%06%a7%00%03%0co%02D%11%91%05%06%19%e0%0b%08"%9a%16M4M/O>%1c;%19f%0cbb%894%83i%a5`%9f%b9%e6%d2%e3%fd%f4%17%f2%fe%f9%c3%f7%10%00%c1%06m%00%03%0c%ad%01%04%11%1c%04F%19%cf%09%08#D%13%cd6%dc(SM%a1=%a7%9e%da%80m%b4%d5%942%ca%ca%aa%f9%e7%c9%cc%fc%f2%88%dc%fd%f4N%e0%fd%f7%05%e7%fe%fa%e7%ee%ff%fc!%f5
backlight-level    %b8%02
efi-apple-recovery-data    %02%01%0c%00%d0A%03%0a%00%00%00%00%01%01%06%00%00%0a%03%12%0a%00%00%00%00%00%00%00%04%01*%00%01%00%00%00(%00%00%00%00%00%00%00%00@%06%00%00%00%00%00%e3(%c3%86|%87%17E%8c%fa%a6|k%b7%1b%7f%02%02%04%04B%00\%00E%00F%00I%00\%00A%00P%00P%00L%00E%00\%00F%00I%00R%00M%00W%00A%00R%00E%00\%00M%00B%00P%007%001%00.%00s%00c%00a%00p%00%00%00%7f%ff%04%00
csr-data    <dict><key>kext-allowed-teams</key><array><string>VB5E2TV963</string></array></dict>%00
BootCampHD    %02%01%0c%00%d0A%03%0a%00%00%00%00%01%01%06%00%01%04%03%05%06%00%00%00%7f%ff%04%00
bluetoothInternalControllerInfo    %13%82%ac%05%00%00a%06%00&%08%c4%b2h
prev-lang:kbd    fr-FR:1111
EFICapsule_Result    STAR
efi-apple-recovery    <array><dict><key>IOMatch</key><dict><key>IOProviderClass</key><string>IOMedia</string><key>IOPropertyMatch</key><dict><key>UUID</key><string>86C328E3-877C-4517-8CFA-A67C6BB71B7F</string></dict></dict><key>BLLastBSDName</key><string>disk0s1</string></dict><dict><key>IOEFIDevicePathType</key><string>MediaFilePath</string><key>Path</key><string>\EFI\APPLE\FIRMWARE\MBP71.scap</string></dict></array>%00
SystemAudioVolumeDB    #
fmm-computer-name    *****
bluetoothActiveControllerInfo    %13%82%ac%05%00%00%00%00a%06%00&%08%c4%b2h
csr-active-config    w%00%00%00
SystemAudioVolume    %ba
efi-boot-device-data    %04%01*%00%01%00%00%00(%00%00%00%00%00%00%00%00@%06%00%00%00%00%00%e3(%c3%86|%87%17E%8c%fa%a6|k%b7%1b%7f%02%02%04%04:%00\%00E%00F%00I%00\%00r%00e%00f%00i%00n%00d%00\%00r%00e%00f%00i%00n%00d%00_%00x%006%004%00.%00e%00f%00i%00%00%00%7f%ff%04%00
efi-backup-boot-device-data    %02%01%0c%00%d0A%03%0a%00%00%00%00%01%01%06%00%01%04%03%05%06%00%00%00%04%01*%00%02%00%00%00(@%06%00%00%00%00%00@%e9%c2%e8%00%00%00%00Ti%1b%bc%b5\tN%97u(%da_Q%91%19%02%02%7f%ff%04%00
```


----------



## macomaniac (22 Juin 2021)

L'instruction de démarrage automatique de l'*EFI* en *NVRAM* --> est la valeur associée à la variable : *efi-boot-device*.

- voici l'instruction raccourcie à de l'« humainement lisible » :​

```
<string>disk0s1</string> ... <string>\EFI\refind\refind_x64.efi</string>
```

càd. volume *EFI* correspondant à l'appareil *disk0s1* > dossier *EFI* contenu > sous-dossier *refind* > boot_loader : *refind_x64.efi*

En résumé : le Mac devrait afficher automatiquement l'écran de rEFInd.

----------

Pour ton affaire de pingouin => tu ne m'as pas répondu : quel volume était désigné par le pingouin de gauche et quel autre par celui de droite ? - l'un d'eux était-il bien le volume *EFI disk0s1* ? - l'autre le volume Linux *disk0s6* ?

- s'il en était bien ainsi --> quel volume as-tu exclu d'affichage ? --> si c'est le Linux > tu te retrouves sur un *boot* pointant dans le volume *EFI* au prédémarreur Grub de Linux. Il faudrait alors plutôt que tu exclues le volume *EFI* (via son *UUID*) de l'affichage > pour que le pingouin désigne le volume Linux. À charge alors de rEFInd de booter dfirectement l'OS Linux sans passer par Grub.​


----------



## Random_error (22 Juin 2021)

Le pingouin de gauche désignait l'entrée par le *Grub* (Boot EFI\grub64.efi from EFI) et celui de droite permettait de démarrer directement sur la partition (Boot boot\vmilnuz-5.10.0-adm64 from Linux), j'ai donc exclu la deuxième en rajoutant : "*Linux*" dans le fichier *refind.conf. *Je ne peux pas garder le lien vers le *Grub* sans provoquer un dysfonctionnement de *rEFInd* ?


----------



## macomaniac (22 Juin 2021)

Ne m'en demande pas trop concernant Linux : je n'ai jamais utilisé aucune distribution Linux et je ne me représente pas le rôle de Grub dans cette affaire.

- tu n'as qu'à ré-éditer le fichier *refind.conf* en excluant cette fois-ci le volume *EFI disk0s1* d'affichage (via son *UUID*). Tu devrais exclure de ce chef Grub (qui y est recelé) de tout rôle dans le boot de Linux > en laissant rEFInd effectuer l'opération. *Rod Smith* (le développeur de rEFInd) "is a Linux man" (comme il aime à dire). Il n'a dû avoir aucun mal à programmer un prédémarreur de Linux _sui generis_. Tu verras bien si ton Linux démarre et si oui tu oublies Grub.​


----------

