web-dev-qa-db-fra.com

Processus de démarrage - pourquoi deux étapes sur des applications distinctes se retrouvent et GRUB

J'ai un Macbook exécutant OSx et Xubuntu16.04, mais il semble y avoir quelque chose que je ne comprends pas au sujet du processus de démarrage.

Je voulais simplement choisir au démarrage quel OS j'ai commencé, OSx ou Xubuntu - mais ce qui se passe, c'est que le choix m'est présenté deux fois - d'une part dans une interface graphique avec refind et d'autre part en tant que sélection basée sur du texte avec GRUB.

Comment choisir d'en utiliser un seul? Et de préférence retrouver?

Merci

2
John

La solution

Vous pouvez éliminer le menu GRUB de deux manières:

  • Reconfiguration de GRUB - Vous pouvez dire à GRUB de masquer son menu (auquel cas GRUB sera toujours utilisé, mais son menu disparaîtra tout simplement.) Voir cette question et ses réponses pour en savoir plus sur cette approche.
  • Utilisation d'un chargeur de talon EFI - Vous avez peut-être déjà un chargeur de talon EFI dans votre menu; ce détail ne ressort pas clairement de votre description. Si c'est le cas, vous pouvez simplement le sélectionner pour le lancer de cette manière, en contournant GRUB et son menu. Si vous ne voyez pas une telle option, vous pouvez probablement les obtenir en ajoutant un pilote de système de fichiers EFI La façon la plus simple de le faire est probablement de réinstaller rEFInd. Lorsqu'il est exécuté sous OS X, le script d'installation recherche les partitions Linux et, le cas échéant, installe automatiquement le pilote ext4fs. Lorsqu'il est exécuté sous Linux, le script d'installation ajoute le pilote du système de fichiers qui contient le noyau, si ce pilote est disponible. (rEFInd est livré avec des pilotes pour ext2/3fs, ext4fs, ReiserFS et Btrfs; mais pas pour XFS ou JFS.) Si vous pouvez faire démarrer le système avec le chargeur de stub EFI, il y a de fortes chances que cela vous laisse deux façons de démarrer Ubuntu de rEFInd - le chargeur de stub EFI et GRUB. Je recommande de laisser les deux en place car la redondance peut s'avérer utile si un problème émerge avec une seule approche à l'avenir; cependant, si vous voulez en cacher un, vous pouvez le faire avec les options dont_scan_dirs ou dont_scan_files dans refind.conf; ou si vous démarrez via un GRUB en mode BIOS, vous pouvez décommenter l'option scanfor et vous assurer que hdbios est pas parmi les options. Voir cette page de la documentation rEFInd - lisez la section "Masquage et affichage des chargeurs de démarrage EFI", ou recherchez dont_scan Dans la page.

Informations générales: l'explication (tl; dr)

rEFInd est un boot manager, ce qui signifie qu'il vous présente un menu d'options de boot et vous permet de sélectionner une option. Cela contraste avec un boot loader, qui charge un noyau OS en mémoire et le lance. Chaque fois que rEFInd démarre, il recherche sur l'ordinateur les chargeurs de démarrage EFI, qui se répartissent en deux ou trois catégories, selon la façon dont vous comptez:

  • Chargeurs de démarrage en mode BIOS - Ceux-ci sont traités différemment pour les PC et Mac basés sur UEFI, mais dans les deux cas, si vous en sélectionnez un, le La machine utilise un module de support de compatibilité (CSM) pour lancer un chargeur de démarrage du BIOS à l'ancienne, tel que la version BIOS de GRUB. Il est possible que ce soit ce que vous voyez - un mode BIOS GRUB qui a été installé sur votre ordinateur parce que vous avez installé Ubuntu en mode BIOS.
  • Chargeurs de démarrage en mode EFI - Ils se lancent tous de la même manière, mais rEFInd inclut du code qui fait un cas général et un cas spécial dans cette catégorie :
    • Fichiers conventionnels .efi - La plupart des chargeurs de démarrage EFI contiennent des fichiers dont le nom se termine par .efi, Comme grubx64.efi, Qui est la version en mode EFI de GRUB. Pour la plupart de ces fichiers, rEFInd les lance simplement sans aucune option. (Il y a quelques exceptions à cette règle, mais vous ne devez pas vous en préoccuper.) Il est possible que c'est ce que vous voyez lorsque vous lancez Ubuntu à partir de rEFInd.
    • Noyaux Linux - Depuis la version 3.3.0, le noyau Linux a fourni une fonctionnalité appelée EFI stub loader, qui tourne le noyau Linux dans son propre chargeur de démarrage EFI - il peut être exécuté comme un programme EFI. Ainsi, rEFInd recherche les noms de fichiers du noyau Linux courants (vmlinuz-* Dans le cas d'Ubuntu) et, si une vérification rapide les fait ressembler à des programmes EFI exécutables, les ajoute à son menu. rEFInd peut également localiser les fichiers initiaux RAM disk (initrd) correspondants) et peut transmettre les options dont le noyau a besoin pour démarrer, soit en extrayant les données de fichiers comme /etc/fstab de Linux, soit en utilisant un fichier de configuration dédié, refind_linux.conf, que le script d'installation de rEFInd génère pour accompagner les noyaux. Surtout, rEFInd ne peut trouver les noyaux Linux que sur les systèmes de fichiers qu'il peut lire. La plupart des EFI ne peuvent lire que les systèmes de fichiers FAT, mais les noyaux Linux continuent normalement ext2/3/4fs, Btrfs ou un autre système de fichiers natif Linux. Ainsi, vous ne verrez les options de démarrage du noyau Linux dans le menu de rEFInd que si vous copiez les noyaux dans un système de fichiers FAT ou if vous ajoutez pilotes du système de fichiers EFI à l'installation de rEFInd.

Lorsque vous utilisez rEFInd avec un chargeur de démarrage en mode BIOS ou un chargeur de démarrage en mode EFI classique comme GRUB, rEFInd passe le contrôle à ce chargeur de démarrage, qui peut interagir avec l'utilisateur. GRUB, en particulier, est les deux un chargeur de démarrage et un gestionnaire de démarrage, vous verrez donc probablement un GRUB = menu après le lancement de rEFInd. La plupart des autres systèmes d'exploitation ont des chargeurs de démarrage beaucoup plus simples que GRUB; ces chargeurs de démarrage lancent leur système d'exploitation sans se soucier de présenter les menus d'options, sauf éventuellement en cas de problème.

Le chargeur de stub EFI est un chargeur de démarrage beaucoup plus simple que GRUB; il ne présente pas son propre menu de gestionnaire de démarrage. Ainsi, lorsque vous utilisez rEFInd pour lancer un noyau Linux via son chargeur de stub EFI, vous ne verrez aucun menu de suivi.

Si votre menu rEFInd n'a qu'une seule option Ubuntu et s'il lance GRUB, alors vous démarrez en utilisant soit un mode BIOS GRUB ou un GRUB en mode EFI. (Vous pouvez dire lequel est le cas en examinant la description, qui spécifie un démarrage en mode hérité ou identifie le nom de fichier du chargeur de démarrage en mode EFI.)

1
Rod Smith