[TUTORIAL] Como fazer o VirtualBox voltar a funcionar no fedora após atualização de kernel
ATENÇÃO: Pro virtualbox funcionar e os módulos do kernel serem refeitos, você precisa DESLIGAR O SECURE BOOT.
Embora a melhor forma de virtualizar hardware em linux seja com KVM+qemu+(virt-manager ou gnome boxes) (aqui os tutoriais do virt-manager e do gnome-boxes e aqui também), muitos ainda usam VirtualBox da Oracle pois já usavam quando tinha máquinas windows, ou porque estão seguindo algum curso e as orientações são todas baseadas no VirtualBox.
O problema de usar virtualbox em host linux surge quando há uma atualização de kernel no host (o que no fedora pode acontecer algumas vezes ao mês ), o que vai sempre ocasionar um erro na próxima execução de uma máquina virtual no VirtualBox, isto ocorre pois o ele não é nativo do kernel linux e precisa a cada vez ter um código específico "injetado" novamente como um módulo do novo kernel.
O procedimento para fazer isso não é muito complicado não, mas precisa que se tenha o repositório RPM fusion habilitado, para que o DNF baixe os pacotes necessários.
Aqui vou aproveitar e listar os dois tutorias de instalação que temos no forum sobre como instalar VirtualBox no fedora:
Instalando e configurando virtualbox no fedora pelo rpmfusion (testado até a versão F36 do fedora)
Instalando VirtualBox baixando o rpm do site deles (atualmente a última versão disponível lá para fedora era a F32, e ela não serve pra versões posteriores)
O ERRO
Depois de algum tempo sem usar seu virtualbox e após algumas atualizações de seu sistema fedora, incluindo o kernel, você inicia seu virtual box na esperança de continuar alguma atividade naquela máquina virtual do windows que você ainda mantém por causa de um certo programa.
Entretanto o que acontece é que aparecem estas mensagens abaixo ao tentar iniciar a VM:
Observe que nesta ultima mensagem é mencionado especificamente que falta um "kernel driver", pois o kernel atualizado é diferente do que existia no momento da primeira instalação do VirtualBox.
A CORREÇÃO
Observação: caso você tenha instalado o VirtualBox baixando o rpm do site, sugiro que remova ele primeiro e em seguida reinstale usando o método descrito no tutorial desse link.
Como citei no começo, para baixar os pacotes atualizados necessários para a correção, é necessário habilitar os repositórios RPMfusion (neste caso específico o rpm fusion free).
1 - Caso você ainda não tenha habilitado ele, aqui vai o código pra você fazer isso pelo terminal (caso já tenha feito antes, pode seguir pro próximo passo).
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
Caso você queira fazer isso pelo ambiente gráfico pode ver nesse outro tutorial como fazer isso pro fedora worstation.
2 - Abra um terminal e digite o seguinte comando:
sudo dnf install kernel-devel-$(uname -r) akmod-VirtualBox
O dnf verificará os repositórios e informará os pacotes que irá instalar.
ATENÇÃO: Caso você tenha instalado baixando o RPM do site do VirtualBox e instalado para uma versão que não a correta (por exemplo F32 pra instalar no F33) a correção não irá funcionar, pois haverá conflito de versões instaladas.
Após baixar os pacotes, durante a execução dos scripts de instalação, em um momento ele perguntará pra você se deseja adicionar uma chave, responda "yes", ele continuará com a instalação até o final.
3 - Após encerrar a instalação, digite essas linhas no terminal, após cada uma dê "enter" e espere a saída do comando:
sudo akmods sudo systemctl restart vboxdrv lsmod | grep -i vbox
Aqui um print da tela com os resultados:
Se o resultado for semelhante com essa imagem acima, é porque deu certo.
Observação: Se a saída indicar que o serviço não pode ser iniciado, e você ainda estiver tendo erros pra iniciar sua VM, então possivelmente sua máquina está com secure boot habilitado. Pro virtualbox funcionar e os módulos do kernel serem refeitos, você precisa DESLIGAR O SECURE BOOT.
O RESULTADO
4 - Reinicie sua máquina e experimente abrir a VM no VirtualBox novamente.
Sucesso!!!! Aqui no exemplo uma VM de F32 Workstation rodando em VirtualBox num host F33 Cinnamon.
INDO ALÉM
Aqui pra mostrar um pouco do poder da virtualização
Fedora 33 KDE rodando em VirtualBox dentro de um Fedora 33 Workstation rodando em qemu/virt-manager dentro de um host Fedora 33 KDE...
Comentários
-
Muito bom, fiz no F33, estava com um problema de Interface rede que o virtualBox não estava reconhecendo, e agora deu certo, Obrigado @geraldo
0 -
em janeiro 2024 ainda funciona, top de mais.
0
Salas de discussão
- 721 Todas as salas de discussão
- 5 Eventos
- 402 Fedora
- 7 CoreOS
- 137 Spins
- 11 CINNAMON
- 28 GNOME
- 63 KDE
- 10 LXDE
- 4 LXQT
- 13 MATE
- SOAS
- 3 XFCE
- 13 Server
- 84 Workstation
- 33 SilverBlue
- Atomic
- 3 Labs
- ARM®
- 3 Segurança
- 7 Servidores
- 222 Tutoriais
- 6 Críticas e Sugestões
- 16 Novidades e anuncios
- 5 CentOS
- 18 Games
- 31 Hardware
- 8 Linguagens de programação