Schakelen tussen KDE Linux en een ander besturingssysteem
Als u KDE Linux naast een ander op Linux gebaseerd besturingssysteem hebt geïnstalleerd, kunt u ze doorgaans beide bereiken via het opstartmenu van de firmware van uw computer – het menu dat verschijnt wanneer u tijdens het opstarten op een toets zoals F12 drukt.
Dat werkt, maar het vereist dat u bij elke herstart binnen een seconde of twee een toets indrukt. Op deze pagina wordt beschreven hoe u voor elk systeem een vermelding toevoegt aan het opstartmenu van het andere systeem, zodat u kunt wisselen via een menu dat op u wacht.
Op welk systeem typ ik dit?
Elk van de onderstaande onderdelen is gemarkeerd met het systeem waarop de bijbehorende commando's moeten worden uitgevoerd, aangezien de twee niet uitwisselbaar zijn:
- Op KDE Linux gebruiken beheerderscommando's
run0, net als elders in deze documentatie. - Op het andere systeem wordt hoogstwaarschijnlijk
sudogebruikt, en verschillen de bestandslocaties per distributie.
Het uitvoeren van een commando op het verkeerde systeem zal in het beste geval niets doen.
Als het andere systeem ook systemd-boot gebruikt
Doorgaans hoeft er niets te worden ingesteld. systemd-boot vindt vermeldingen door op de ESP te kijken; als beide systemen naar dezelfde ESP schrijven, zouden ze dus beide al in hetzelfde menu moeten verschijnen.
Voer het volgende uit op KDE Linux of het andere systeem om dit te controleren:
bootctl list
Als het andere systeem GRUB gebruikt
GRUB en systemd-boot herkennen elkaar niet automatisch, dus moet er aan beide kanten een vermelding worden toegevoegd.
Voeg KDE Linux toe aan het GRUB-menu
Doe dit op het andere systeem, het systeem dat GRUB gebruikt.
Voeg het volgende toe aan /etc/grub.d/40_custom, onder de regels die er al staan:
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
}
Daarin hoeft niets te worden aangepast: bootctl installeert systemd-boot altijd op datzelfde pad, ongeacht de distributie waarop het is uitgevoerd.
Maak het bestand vervolgens uitvoerbaar en genereer de GRUB-configuratie opnieuw:
sudo chmod +x /etc/grub.d/40_custom sudo grub-mkconfig -o /boot/grub/grub.cfg
Sommige distributies gebruiken hiervoor andere namen — bijvoorbeeld grub2-mkconfig en /boot/grub2/grub.cfg op Fedora en openSUSE. Controleer wat uw distributie gebruikt.
Voeg GRUB toe aan het menu van KDE Linux
Doe dit op KDE Linux.
Hiervoor moet u eerst weten waar GRUB zich op de ESP bevindt. Er is geen eenduidig antwoord: elke distributie kiest daarvoor een eigen mapnaam, dus dit moet worden opgezocht in plaats van simpelweg gekopieerd.
Om het te vinden:
run0 find /boot -name 'grub*.efi' 2>/dev/null
Neem het resultaat en verwijder alles vóór /EFI. Als u /boot/EFI/debian/grubx64.efi krijgt, is het gewenste pad /EFI/debian/grubx64.efi.
Als Secure Boot is ingeschakeld, zoek dan in diezelfde map naar shimx64.efi en gebruik dat pad in plaats daarvan, indien aanwezig. Niet elke distributie levert dit bestand mee.
Open nu een tekstbewerker, maak een bestand genaamd grub.conf aan in uw thuismap en plaats hierin het volgende:
title GRUB ([naam voor het andere OS komt hier]) efi [pad naar het EFI-bestand komt hier, bijv. /EFI/debian/grubx64.efi] sort-key zz-grub
Vervang het gedeelte in de eerste regel door de naam die u in het menu wilt gebruiken voor het item, en het gedeelte in de tweede regel door het pad dat u zojuist hebt opgezocht. Verplaats het bestand vervolgens naar de juiste locatie:
run0 mv ~/grub.conf /boot/loader/entries/grub.conf
bootctl list zou het nu moeten weergeven, en bij de volgende herstart verschijnt het onderaan het opstartmenu.
Notities
- Als de standaardkeuze van elk menu de andere bootloader is, stel dan voor minstens één ervan een time-out in die niet op nul staat; anders blijf u tussen beide heen en weer springen, als in een deeltjesversneller. Vermijd dit dus.
- Een gedeelde ESP bevat kernels voor beide systemen en kan daardoor volraken. Het is de moeite waard om
df -h /bootte bekijken als updates beginnen te mislukken. - Bijwerken op een van beide systemen kunnen de opstartvolgorde van de firmware wijzigen of vermeldingen verwijderen. Als er onverwacht iets verandert, zijn
efibootmgr -venbootctl listgoede plekken om te beginnen met zoeken. - Als de twee systemen aparte ESP's hebben, werkt de GRUB-kant mogelijk nog wel, maar de systemd-boot-kant doorgaans niet, aangezien deze alleen bestanden van zijn eigen ESP kan laden.
Artikel bijgedragen door Hadi Chokr onder de licentie CC-BY-4.0.