Gå till innehåll

Byt mellan KDE Linux och ett annat operativsystem

Om man har KDE Linux installerat tillsammans med ett annat Linux-baserat operativsystem kan man normalt nå båda via datorns startmeny i fast programvara: den man får genom att trycka på en tangent som F12 medan datorn startar.

Det fungerar, men det innebär att man måste göra en tangenttryckning inom en sekund eller två vid varje omstart. Den här sidan beskriver hur man lägger till en post för varje system i det andra systemets startmeny, så att man kan byta mellan dem från en meny som väntar på en.

Vilket system skriver jag detta på?

Varje avsnitt nedan är märkt med det system dess kommandon hör hemma i, eftersom de två inte är utbytbara:

  • På KDE Linux, administratörskommandon använder run0, precis som överallt annars i den här dokumentationen.
  • På andra system, används troligtvis sudo istället, och filernas platser varierar beroende på distribution.

Att köra ett kommando på fel system kommer i bästa fall inte att göra någonting.

Om det andra systemet också använder systemd-boot

Det finns vanligtvis inget att ställa in. systemd-boot hittar poster genom att titta på ESP, så om båda systemen skriver till samma system, borde båda redan visas i samma meny.

För att kontrollera, kör följande på KDE Linux eller det andra systemet:

bootctl list

Om det andra systemet använder GRUB

GRUB och systemd-boot ser inte varandra automatiskt, så en post måste läggas till på varje sida.

Lägga till KDE Linux i GRUB:s meny

Gör det på det andra systemet, det som använder GRUB.

Lägg till följande i /etc/grub.d/40_custom, under raderna som redan är där:

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
}

Ingenting där behöver justeras: bootctl installerar alltid systemd-boot på samma sökväg, oavsett vilken distribution den körs på.

Gör sedan filen körbar och generera om GRUB:s inställning:

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

Vissa distributioner namnger dem olika, till exempel grub2-mkconfig och /boot/grub2/grub.cfg på Fedora och openSUSE. Kontrollera vad din distribution använder.

Lägg till GRUB i KDE Linux meny

Gör det här på KDE Linux.

För den här riktningen behöver man först veta var GRUB finns på ESP:n. Det finns inget entydigt svar: varje distribution väljer sitt eget katalognamn där, så det måste slås upp snarare än kopieras.

För att hitta det:

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

Ta resultatet och ta bort allt före /EFI. Om man får /boot/EFI/debian/grubx64.efi är sökvägen man vill ha /EFI/debian/grubx64.efi.

Om säker start är aktiverad, leta i samma katalog efter shimx64.efi och använd den sökvägen istället, om det finns en. Inte alla distributioner levererar en sådan.

Öppna nu en texteditor, skapa en fil som heter grub.conf i hemkatalogen och lägg följande i den:

title    GRUB ([ange namnet på det andra operativsystemet här])
efi      [ange sökvägen till EFI-filen här, t.ex. /EFI/debian/grubx64.efi]
sort-key zz-grub

Ersätt delen på första raden med det du vill att posten ska heta i menyn, och delen på andra raden med sökvägen som just söktes upp. Flytta sedan filen till rätt plats:

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

bootctl list borde nu visa det, och det visas längst ner i startmenyn vid nästa omstart.

Anmärkningar

  • Om standardposten för varje meny är det andra startladdningsprogrammet, ge minst en av dem en tidsgräns som inte är noll, annars hoppar man mellan dem som i en partikelaccelerator. Så undvik att göra det.
  • En delad ESP innehåller kärnor för båda systemen, så den kan bli full. df -h /boot är värd att titta på om uppdateringar börjar misslyckas.
  • Uppdateringar på båda systemen kan ändra startordningen för den inbyggda programvaran eller ta bort poster. Om något ändras oväntat är efibootmgr -v och bootctl list bra ställen att börja leta.
  • Om de två systemen har separata ESP:er kan GRUB-sidan fortfarande fungera, men systemd-sidan fungerar vanligtvis inte, eftersom den bara kan ladda filer från sin egen ESP.

Artikel bidragen av med licens CC-BY-4.0.