Aller directement au contenu

Naviguer entre KDE Linux et un autre système d'exploitation.

Si vous avez installé KDE Linux à coté d'un autre système d'exploitation reposant sur Linux, vous pouvez normalement accéder aux deux grâce au menu de démarrage du micrologiciel de votre ordinateur - celui que vous obtenez en appuyant sur une touche telle que F12 pendant le démarrage de la machine.

Cela fonctionne, mais cela signifie capture un appui sur une touche dans une seconde ou deux à chaque redémarrage. Cette page décrit comment ajouter une entrée pour chaque système au menu de démarrage de l'autre système, afin que vous puissiez basculer entre eux à partir d'un menu en attente de votre action.

Cette page n'explique pas comment installer deux systèmes d'exploitation côte à côte. Cela suppose que vos deux systèmes sont bien installés et fonctionnels, tous deux installés en mode « UEFI » et partageant la même partition système « EFI » (ESP). Veuillez noter que [l'installation de KDE Linux sur autre chose qu'un disque entier] (install/#4-explore-the-live-session-and-install-kde-linux) est connue pour échouer dans certaines circonstances et n'est pas encore une configuration formellement prise en charge.

Sur quel système est-ce que je saisis ceci ?

Chaque section ci-dessous est étiquetée avec le système auquel appartiennent ses commandes. En effet, les deux ne sont pas interchangeables :

  • Sous KDE Linux, les commandes d'administrateur utilisent run0, comme partout ailleurs dans cette documentation.
  • Sur l'autre système, la commande sudo est probablement utilisée à la place. De plus, les emplacements des fichiers varient selon la distribution.

Exécution d'une commande sur le mauvais système ne fera, au mieux, absolument rien.

Si l'autre système utilise également « systemd-boot »

Il n'y a généralement rien à mettre en place. « systemd-boot » trouve les entrées par consultation de l'ESP. Par conséquent, si les deux systèmes écrivent sur le même ESP, les deux devraient déjà apparaître dans le même menu.

Pour vérifier, exécutez ce qui suit sur KDE Linux ou l'autre système :

bootctl list

Si les autres systèmes utilisent GRUB

GRUB et « systemd-boot » ne se voient pas automatiquement. Il faut donc ajouter une entrée de chaque côté.

Ajouter KDE Linux au menu de GRUB

Faites ceci sur l'autre système, celui utilisant GRUB.

Ajoutez ce qui suit à /etc/grub.d/40_custom, sous les lignes déjà présentes :

menuentry "systemd-boot" --class systemd {
    insmod part_gpt
    insmod fat
    insmod chain
    search --no-floppy --file --set=root /EFI/systemd/systemd-bootx64.efi
    chainloader /EFI/systemd/systemd-bootx64.efi
}

Rien dans cela n'a besoin d'être ajusté : la commande bootctl installe toujours « systemd-boot » au même emplacement, quelle que soit la distribution sur laquelle il a été exécuté.

Rendez ensuite le fichier exécutable et régénérez la configuration de GRUB :

sudo chmod +x /etc/grub.d/40_custom
sudo grub-mkconfig -o /boot/grub/grub.cfg

Certaines distributions les nomment différemment — Par exemple, grub2-mkconfig et /boot/grub2/grub.cfg sur Fedora et openSUSE. Veuillez vérifier ce que votre distribution utilise.

Ajouter GRUB au menu de KDE Linux

Faire cela sous KDE Linux*.*

Pour cette direction, vous devez d'abord savoir où se trouve GRUB sur l'ESP. Il n'y a aucune réponse unique : chaque distribution définit son propre nom de dossier. Ce dernier doit donc être recherché plutôt que copié.

Pour le trouver :

run0 find /boot -name 'grub*.efi' 2>/dev/null

Prenez le résultat et insérez le tout avant /EFI. Si vous obtenez /boot/EFI/debian/grubx64.efi, l'emplacement souhaité est /EFI/debian/grubx64.efi.

Si « Secure Boot » est activé, veuillez rechercher le fichier shimx64.efi dans ce même dossier et utiliser cet emplacement à la place, s'il en existe un. Toutes les distributions n’en fournissent pas un.

Maintenant, veuillez ouvrir un éditeur de texte, créer un fichier appelé grub.conf dans votre dossier personnel et placer-y ceci :

title    GRUB ([name for the other OS goes here])
efi      [emplacement vers le fichier EFI file se place ici, comme par exemple, /EFI/debian/grubx64.efi]
sort-key zz-grub

Remplacez la partie de la première ligne par le nom que vous souhaitez donner à l'entrée dans le menu et la partie de la deuxième ligne par l'emplacement que vous venez de rechercher. Ensuite, déplacez le fichier à cet emplacement :

run0 mv ~/grub.conf /boot/loader/entries/grub.conf

La commande bootctl list devrait maintenant l'afficher. Il apparaîtra en bas du menu de démarrage au prochain redémarrage.

Notes

  • Si l'entrée par défaut de chaque menu est l'autre chargeur de démarrage, donnez au moins un délai d'attente non nul. Sinon vous rebondirez entre eux comme dans un accélérateur de particules. Alors évitez de faire ça.
  • Un  «ESP » partagé contient les noyaux des deux systèmes. Il peut donc se remplir. La commande df -h /boot est particulièrement intéressante si les mises à jour commencent à échouer.
  • Les mises à jour sur l'un ou l'autre système peuvent modifier l'ordre de démarrage du micrologiciel ou supprimer des entrées. Si quelque chose est modifié de manière inattendue,les commandes efibootmgr -v et bootctl list fournissent de bons endroits pour commencer la recherche.
  • Si les deux systèmes ont des « ESP » séparés, GRUB de son coté peut toujours fonctionner. Mais, « systemd-boot » de son coté ne le fera généralement pas, car il ne peut charger que des fichiers à partir de son propre « ESP ».

Article rédigé par sous licence CC-BY-4.0.