Alternare KDE Linux con un altro sistema operativo
Se hai installato KDE Linux accanto a un altro sistema operativo basato su Linux, puoi accedere a entrambi normalmente attraverso il menu di avvio firmware del tuo computer — quello cui accedi premendo un tasto tipo F12 mentre la macchina si sta avviando.
Questo metodo funziona, ma implica il pigiare di un tasto entro un paio di secondi a ogni riavvio. Questa pagina descrive come aggiungere una voce per ciascun sistema al menu di avvio dell'altro sistema, in maniera che ti possa accedere con più calma a uno dei due sistemi da un menu che attende un tuo input.
Su quale sistema sto scrivendo questo messaggio?
Ciascuna sezione sotto riportata è contrassegnata col sistema i cui suoi comandi appartengono, in quanto i due non sono intercambiabili:
- In KDE Linux, i comandi dell'amministratore usano
run0, come ovunque in questa documentazione. - Nell'altro sistema, essi invece utilizzano molto probabilmente
sudo, e le posizioni dei file variano in base alla distribuzione.
Eseguire un comando nel sistema sbagliato al massimo non eseguirà nulla.
Se anche l'altro sistema usa systemd-boot
In genere non c'è nulla da configurare. systemd-boot trova le voci guardando l'ESP, pertanto se entrambi i sistemi scrivono sullo stesso, tutti e due dovrebbero comparire nello stesso menu.
Per verificare, esegui il comando seguente in KDE Linux o o nell'altro sistema:
bootctl list
Se l'altro sistema utilizza GRUB
GRUB e systemd-boot non si vedono automaticamente l'uno con l'altro, pertanto deve essere inserita una voce in entrambi.
Aggiungere KDE Linux al menu di GRUB
Fai questo nell'altro sistema, quello che usa GRUB.
Aggiungi il codice seguente al file /etc/grub.d/40_custom, sotto le righe già presenti nel file:
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
}
Lì non va regolato nulla: bootctl installa systemd-boot sempre in quello stesso percorso, in qualsiasi distribuzione stia girando.
Crea quindi l'eseguibile del file e rigenera la configurazione di GRUB:
sudo chmod +x /etc/grub.d/40_custom sudo grub-mkconfig -o /boot/grub/grub.cfg
Alcune distribuzioni hanno nomi differenti, per esempio grub2-mkconfig e /boot/grub2/grub.cfg in Fedora e openSUSE. Controlla cosa usa la tua distribuzione.
Aggiungere GRUB al menu di KDE Linux
In KDE Linux fai questo.
Per questa direzione devi prima sapere dove risiede GRUB nell'ESP. Non esiste un'unica risposta: ogni distribuzione lì sceglie il nome personalizzato della cartella, quindi esso va ricercato piuttosto che copiato.
Per trovarlo:
run0 find /boot -name 'grub*.efi' 2>/dev/null
Prendi il risultato e scarta tutto quello prima di /EFI. Se ti viene restituito /boot/EFI/debian/grubx64.efi, il percorso che ti serve è /EFI/debian/grubx64.efi.
Se Secure Boot è attivato, cerca in quella stessa cartella shimx64.efi e usa invece quel percorso, se ne esiste uno. Non è presente in tutte le distribuzioni.
Ora apri un editor di testo, crea un file chiamato grub.conf nella tua cartella home, e inserisci questo:
title GRUB ([il nome per l'altro SO va qui]) efi [il percorso al file EFI va qui, es. /EFI/debian/grubx64.efi] sort-key zz-grub
Sostituisci la parte nella prima riga con quello che vuoi sia chiamata la voce nel menu, e la parte nella seconda riga col percorso che hai appena cercato. Quindi sposta il file al suo posto:
run0 mv ~/grub.conf /boot/loader/entries/grub.conf
La bootctl list ora dovrebbe mostrarlo, e al prossimo riavvio esso comparirà alla fine del menu di avvio.
Note
- Se la voce predefinita di ogni menu è l'altro bootloader, dai almeno un timeout diverso da zero, in caso contrario entrerai in un circolo vizioso e li vedrai rimbalzare come in un acceleratore di particelle. Evita di farlo.
- Un'ESP condivisa contiene i kernel per entrambi i sistemi, può dunque esaurirsi. Vale la pena di dare uno sguardo a
df -h /bootse gli aggiornamenti iniziano a dare errore. - Gli aggiornamenti su uno dei sistemi potrebbero modificare l'ordine di avvio del firmware oppure rimuovere voci. Se qualcosa cambia in modo inatteso,
efibootmgr -vebootctl listsono buoni posti dove iniziare a cercare. - Se i due sistemi hanno ESP separate, il lato GRUB potrebbe ancora funzionare, mentre il lato systemd-boot in genere non funzionerà, dato che può caricare i file soltanto dalla sua specifica ESP.
Articolo scritto da Hadi Chokr sotto licenza CC-BY-4.0.