Přepínání mezi KDE Linuxem a jiným operačním systémem
Pokud máte nainstalovaný systém KDE Linux společně s jiným operačním systémem založeným na Linuxu, můžete se k nim obvykle dostat prostřednictvím spouštěcího menu firmwaru počítače – toho, které se zobrazí stisknutím klávesy, jako je například F12, během spouštění počítače.
To sice funguje, ale znamená to, že při každém restartu je třeba stisknout klávesu během jedné či dvou sekund. Na této stránce je popsáno, jak přidat položku pro každý systém do spouštěcího menu druhého systému, abyste mohli mezi nimi přepínat z menu, které na vás počká.
Na jakém systému to právě píšu?
Každá z níže uvedených částí je označena systémem, ke kterému příslušné příkazy patří, protože tyto dva pojmy nejsou zaměnitelné:
- V systému KDE Linux se příkazy pro správce zadávají pomocí
run0, stejně jako všude jinde v této dokumentaci. - V jiném systému se s největší pravděpodobností používá místo toho
sudo, přičemž umístění souborů se liší podle distribuce.
Spuštění příkazu na nesprávném systému v nejlepším případě nebude mít žádný účinek.
Pokud i ten druhý systém používá systemd-boot
Obvykle není třeba nic nastavovat. Program systemd-boot vyhledává položky na oddílu ESP, takže pokud oba systémy zapisují na stejný oddíl, měly by se oba již zobrazit ve stejné nabídce.
Chcete-li to ověřit, spusťte následující příkaz v systému KDE Linux nebo v jiném systému:
bootctl list
Pokud druhý systém používá GRUB
GRUB a systemd-boot se navzájem automaticky nerozpoznávají, proto je třeba na obou stranách přidat příslušnou položku.
Přidání KDE Linux do nabídky GRUBu
Proveďte to na druhém systému, tedy na tom, který používá GRUB.
Do souboru /etc/grub.d/40_custom přidejte následující text pod řádky, které tam již jsou:
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
}
Není třeba tam nic upravovat: bootctl vždy nainstaluje systemd-boot do téže cesty, bez ohledu na to, na jaké distribuci byl spuštěn.
Poté nastavte soubor jako spustitelný a znovu vygenerujte konfiguraci GRUBu:
sudo chmod +x /etc/grub.d/40_custom sudo grub-mkconfig -o /boot/grub/grub.cfg
Některé distribuce tyto soubory pojmenovávají jinak – například grub2-mkconfig a /boot/grub2/grub.cfg ve Fedora a openSUSE. Zkontrolujte, jaké názvy používá vaše distribuce.
Přidání GRUBu do nabídky KDE Linuxu
*Proveďte to v systému KDE Linux. *
Pro tento postup musíte nejprve zjistit, kde se na oddílu ESP nachází GRUB. Neexistuje na to jednoznačná odpověď: každá distribuce si zde volí vlastní název adresáře, takže tuto informaci je třeba vyhledat, nikoli pouze zkopírovat.
Jak ho najít:
run0 find /boot -name 'grub*.efi' 2>/dev/null
Vezměte tento výsledek a odstraňte vše před /EFI. Pokud se zobrazí /boot/EFI/debian/grubx64.efi, hledaná cesta je /EFI/debian/grubx64.efi.
Pokud je zapnutá funkce Secure Boot, podívejte se ve stejném adresáři na soubor shimx64.efi a použijte místo toho tuto cestu, pokud tam tento soubor je. Ne každá distribuce jej totiž obsahuje.
Nyní otevřete textový editor, ve svém domovském adresáři vytvořte soubor s názvem grub.conf a vložte do něj následující obsah:
title GRUB ([zde se zadá název druhého operačního systému]) efi [zde se zadá cesta k souboru EFI, např. /EFI/debian/grubx64.efi] sort-key zz-grub
Nahraďte část v prvním řádku názvem, pod kterým chcete, aby se položka v nabídce zobrazovala, a část ve druhém řádku cestou, kterou jste právě vyhledali. Poté soubor přesuňte na příslušné místo:
run0 mv ~/grub.conf /boot/loader/entries/grub.conf
bootctl list by jej nyní mělo zobrazit a při příštím restartu se objeví v dolní části spouštěcího menu.
Poznámky
- Pokud je výchozí položkou v každém menu jiný zavaděč, nastavte alespoň u jednoho z nich časový limit odlišný od nuly, jinak budete mezi nimi přeskakovat jako v urychlovači částic. Tomu se tedy vyhněte.
- Sdílený oddíl ESP obsahuje jádra pro oba systémy, takže se může zaplnit. Pokud začnou selhávat aktualizace, vyplatí se podívat se na
df -h /boot. - Aktualizace v kterémkoli z těchto systémů mohou změnit pořadí spouštění firmwaru nebo odstranit některé položky. Pokud dojde k neočekávané změně, doporučujeme začít hledat příčinu pomocí příkazů
efibootmgr -vabootctl list. - Pokud mají oba systémy samostatné oddíly ESP, strana s GRUBem může stále fungovat, ale strana se systémem systemd-boot obvykle nebude, protože dokáže načítat soubory pouze ze svého vlastního oddílu ESP.
Tento přípěvek napsal Hadi Chokr pod licencí CC-BY-4.0.