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á.
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
sudoa 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 -vabootctl 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 Hadi Chokr pod licenciou CC-BY-4.0.