Preskočiť na obsah

Prepínanie medzi KDE Linux a iným operačným systémom

Ak máte KDE Linux nainštalovaný popri inom operačnom systéme založenom na Linuxe, k obom sa zvyčajne dostanete cez zavádzaciu ponuku firmvéru počítača — tú, ktorá sa objaví po stlačení klávesu ako F12 počas štartu.

Funguje to, ale znamená to pri každom reštarte stihnúť stlačiť kláves v priebehu sekundy či dvoch. Táto stránka opisuje, ako pridať položku pre každý systém do zavádzacej ponuky toho druhého systému, aby ste medzi nimi mohli prepínať z ponuky, ktorá na vás počká.

Táto stránka nevysvetľuje, ako nainštalovať dva operačné systémy vedľa seba. Predpokladá, že oba už máte nainštalované a funkčné, oba v režime UEFI a so spoločným systémovým oddielom EFI (ESP). Pozor, inštalácia KDE Linux inam než na celý disk za istých okolností zlyháva a zatiaľ nie je oficiálne podporovanou konfiguráciou.

Na ktorom systéme to práve píšem?

Každá časť nižšie je označená systémom, na ktorý jej príkazy patria, pretože tie dva nie sú zameniteľné:

  • Na KDE Linux sa na správcovské príkazy používa run0, tak ako všade inde v tejto dokumentácii.
  • Na tom druhom systéme sa najskôr používa sudo a umiestnenie súborov sa líši podľa distribúcie.

Spustenie príkazu na nesprávnom systéme v lepšom prípade neurobí nič.

Ak aj druhý systém používa systemd-boot

Zvyčajne netreba nič nastavovať. systemd-boot hľadá položky na ESP, takže ak oba systémy zapisujú na ten istý, mali by sa už oba objaviť v tej istej ponuke.

Overíte to spustením tohto na KDE Linux alebo na druhom systéme:

bootctl list

Ak druhý systém používa GRUB

GRUB a systemd-boot sa navzájom automaticky nevidia, takže položku treba pridať na oboch stranách.

Pridanie KDE Linux do ponuky GRUB-u

Toto spravte na tom druhom systéme, ktorý používa GRUB.

Do /etc/grub.d/40_custom pridajte pod už existujúce riadky toto:

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
}

Nič v tom netreba upravovať: bootctl inštaluje systemd-boot vždy na tú istú cestu, nech ho spustíte na ktorejkoľvek distribúcii.

Potom nastavte súboru príznak spustiteľnosti a znova vygenerujte konfiguráciu GRUB-u:

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

Niektoré distribúcie ich nazývajú inak — napríklad grub2-mkconfig a /boot/grub2/grub.cfg na Fedore a openSUSE. Overte si, čo používa vaša distribúcia.

Pridanie GRUB-u do ponuky KDE Linux

Toto spravte na KDE Linux.

V tomto smere najprv potrebujete vedieť, kde na ESP sa GRUB nachádza. Jednotná odpoveď neexistuje: každá distribúcia si tam volí vlastný názov adresára, takže to treba zistiť, nie odpísať.

Zistíte ju takto:

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

Z výsledku zahoďte všetko pred /EFI. Ak dostanete /boot/EFI/debian/grubx64.efi, hľadaná cesta je /EFI/debian/grubx64.efi.

Ak je zapnutý Secure Boot, pozrite sa v tom istom adresári po shimx64.efi a použite radšej tú cestu, ak tam je. Nedodáva ho každá distribúcia.

Teraz otvorte textový editor, vytvorte vo svojom domovskom adresári súbor grub.conf a vložte doň toto:

title    GRUB ([sem príde názov druhého systému])
efi      [sem príde cesta k súboru EFI, napríklad /EFI/debian/grubx64.efi]
sort-key zz-grub

Časť v prvom riadku nahraďte tým, ako sa má položka v ponuke volať, a časť v druhom riadku cestou, ktorú ste práve zistili. Potom súbor presuňte na miesto:

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

bootctl list by ju teraz mal zobraziť a pri ďalšom reštarte sa objaví na konci zavádzacej ponuky.

Poznámky

  • Ak je predvolenou položkou každej ponuky ten druhý zavádzač, aspoň jednému dajte nenulový časový limit, inak sa budete medzi nimi odrážať ako v urýchľovači častíc. Radšej sa tomu vyhnite.
  • Spoločný ESP obsahuje jadrá oboch systémov, takže sa môže zaplniť. Ak začnú aktualizácie zlyhávať, oplatí sa pozrieť na df -h /boot.
  • Aktualizácie na ktoromkoľvek zo systémov môžu zmeniť poradie zavádzania vo firmvéri alebo odstrániť položky. Ak sa niečo nečakane zmení, dobrým východiskom sú efibootmgr -v a bootctl list.
  • Ak majú tie dva systémy samostatné ESP, strana s GRUB-om môže fungovať, strana so systemd-boot však spravidla nie, keďže ten dokáže načítať súbory len z vlastného ESP.

Článok napísal pod licenciou CC-BY-4.0.