Ir para o conteúdo

Alternar entre o KDE Linux e outro sistema operacional

Se você tiver o KDE Linux instalado juntamente com outro sistema operacional baseado em Linux, geralmente poderá acessar ambos por meio do menu de inicialização do firmware do computador — aquele que você acessa pressionando uma tecla como F12 durante a inicialização da máquina.

Isso funciona, mas exige pressionar uma tecla dentro de um ou dois segundos a cada reinicialização. Esta página descreve como adicionar uma entrada para cada sistema ao menu de inicialização do outro sistema, permitindo alternar entre eles a partir de um menu que aguarda a sua escolha.

Esta página não explica como instalar dois sistemas operacionais lado a lado. Ela pressupõe que você já tenha ambos instalados e em funcionamento, ambos em modo UEFI e compartilhando a mesma Partição de Sistema EFI (ESP). Observe que a instalação do KDE Linux em algo diferente de um disco inteiro pode falhar em certas circunstâncias e ainda não é uma configuração oficialmente suportada.

Em qual sistema estou digitando isto?

Cada seção abaixo está identificada com o sistema ao qual seus comandos pertencem, pois os dois não são intercambiáveis:

  • No KDE Linux, os comandos de administrador utilizam o run0, assim como em todo o restante desta documentação.
  • No outro sistema, muito provavelmente utiliza-se sudo, e os locais dos arquivos variam de acordo com a distribuição.

Executar um comando no sistema errado, na melhor das hipóteses, não fará nada.

Se o outro sistema também utilizar o systemd-boot

Normalmente, não há nada a configurar. O systemd-boot localiza as entradas verificando a ESP; portanto, se ambos os sistemas gravarem na mesma partição, ambos deverão aparecer automaticamente no mesmo menu.

Para verificar, execute o seguinte no KDE Linux ou no outro sistema:

bootctl list

Se o outro sistema utiliza o GRUB

O GRUB e o systemd-boot não reconhecem um ao outro automaticamente. Portanto, é necessário adicionar uma entrada em cada um deles.

Adicionar o KDE Linux ao menu do GRUB

Faça isso no outro sistema, aquele que usa o GRUB.

Adicione o seguinte ao arquivo /etc/grub.d/40_custom, abaixo das linhas que já estão lá:

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
}

Não é necessário ajustar nada ali: o bootctl sempre instala o systemd-boot nesse mesmo caminho, independentemente da distribuição em que tenha sido executado.

Em seguida, torne o arquivo executável e regenere a configuração do GRUB:

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

Algumas distribuições usam nomes diferentes para eles — por exemplo, grub2-mkconfig e /boot/grub2/grub.cfg no Fedora e no openSUSE. Verifique o que a sua distribuição utiliza.

Adicionar o GRUB ao menu do KDE Linux

Faça isso no KDE Linux.

Para seguir este procedimento, você precisa primeiro saber onde o GRUB está localizado na ESP. Não existe uma resposta única: cada distribuição escolhe seu próprio nome de diretório nesse local; portanto, essa informação deve ser consultada em vez de simplesmente copiada.

Para encontrá-lo:

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

Pegue o resultado e remova tudo o que vier antes de /EFI. Se você obtiver /boot/EFI/debian/grubx64.efi, o caminho desejado é /EFI/debian/grubx64.efi.

Se o Secure Boot estiver habilitado, procure por shimx64.efi nesse mesmo diretório e utilize esse caminho, caso ele exista. Nem todas as distribuições o incluem.

Agora, abra um editor de texto, crie um arquivo chamado grub.conf no seu diretório pessoal e insira isto nele:

title    GRUB ([o nome do outro sistema operacional vai aqui])
efi      [o caminho para o arquivo EFI vai aqui, por exemplo, /EFI/debian/grubx64.efi]
sort-key zz-grub

Substitua a parte da primeira linha pelo nome que você deseja dar ao item no menu e a parte da segunda linha pelo caminho que você acabou de consultar. Em seguida, mova o arquivo para o local correto:

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

O comando bootctl list agora deve exibi-lo, e ele aparecerá na parte inferior do menu de inicialização na próxima reinicialização.

Notas

  • Se a opção padrão de cada menu for o outro gerenciador de inicialização, defina um tempo limite diferente de zero para pelo menos um deles; caso contrário, você ficará alternando entre eles como em um acelerador de partículas. Portanto, evite fazer isso.
  • Uma partição ESP compartilhada armazena kernels para ambos os sistemas, portanto, ela pode ficar cheia. Vale a pena verificar a saída de df -h /boot se as atualizações começarem a falhar.
  • Atualizações em qualquer um dos sistemas podem alterar a ordem de inicialização do firmware ou remover entradas. Se algo mudar inesperadamente, efibootmgr -v e bootctl list são bons pontos de partida para investigar.
  • Se os dois sistemas possuírem partições ESP separadas, o lado do GRUB ainda poderá funcionar, mas o lado do systemd-boot geralmente não funcionará, uma vez que ele só consegue carregar arquivos de sua própria ESP.

Artigo contribuído por sob a licença CC-BY-4.0.