[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
- 731 Todas as salas de discussão
- 5 Eventos
- 410 Fedora
- 7 CoreOS
- 141 Spins
- 11 CINNAMON
- 29 GNOME
- 66 KDE
- 10 LXDE
- 4 LXQT
- 13 MATE
- SOAS
- 3 XFCE
- 13 Server
- 84 Workstation
- 34 SilverBlue
- Atomic
- 3 Labs
- ARM®
- 3 Segurança
- 7 Servidores
- 223 Tutoriais
- 6 Críticas e Sugestões
- 16 Novidades e anuncios
- 5 CentOS
- 18 Games
- 31 Hardware
- 9 Linguagens de programação

