Passa al contenuto

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.

Questa pagina non spiega come installare due sistemi operativi in parallelo. Presume che tu li abbia già installati e che siano funzionanti, installati entrambi in modalità UEFI, e che condividano la stessa partizione di sistema EFI (ESP). Avviso: è noto che installare KDE Linux in qualsiasi altro modo diverso da un intero disco darà errore in determinate circostanze e che non è una configurazione ancora formalmente supportata.

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 /boot se 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 -v e bootctl list sono 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 sotto licenza CC-BY-4.0.