Estou inicializando a mesma partição Linux diretamente ("bare metal") e como convidado no VirtualBox no Windows.
Quando eu inicializo esta partição diretamente, ela inicializa e exibe a área de trabalho corretamente. No entanto, quando inicializo em uma VM, posso inicializar em um TTY usando systemd.unit=multi-user.target
as opções de inicialização do grub.
Meu pc tem uma GPU nVidia, então para inicializar bare metal, ele tem os drivers da nvidia instalados. No entanto, quando inicializo a VM, não há GPU nVidia presente na VM - o VMWare fornece seu próprio hardware VGA virtual. Pelo que entendi, o Linux possui drivers principais para isso e eles são reconhecidos corretamente:
$ lspci -k
...
00:02.0 VGA compatible controller: VMware SVGA II Adapter
Subsystem: VMware SVGA II Adapter
Kernel driver in use: vmwgfx
Kernel modules: vmwgfx
...
Se eu executar a VM com a opção de kernel acima para inicializar em um TTY e, em seguida, efetuar login na VM via ssh e executar sudo systemctl start graphical.target
, a saída gráfica da VM mostrará novamente que ela travou logo antes do prompt de login. Se parece com isso:colidir. O diário do systemd contém o seguinte log:saída do jornalctl.
Eu gostaria de poder inicializar sem os drivers da nvidia quando estiver em uma VM, mas com os drivers da nvidia ao inicializar bare metal. Como posso fazer isso? Estou realmente ansioso para fazer isso funcionar. Infelizmente, toda a discussão on-line sobre como desligar os drivers da Nvidia sem desinstalá-los é sobre o tema da troca Optimus / Prime / GPU, para quando você tem dois GPUs simultaneamente em um laptop, e esse não é o caso aqui. Essencialmente, o que estou fazendo é como retirar o disco rígido de um PC que possui uma GPU Nvidia e colocá-lo em um que tenha uma GPU genérica (com a marca "VMware") e, em seguida, retirá-lo de lá e colocando-o de volta no pc nvidia. Eu pude ver a mudança de configuração sendo indicada, por exemplo, por ter duas seleções separadas no grub, uma para "linux com nvidia gpu" e outra para "linux com vmware gpu" e eu teria que selecionar a correta.
Não tenho 100% de certeza sobre isso, mas entendo que o driver da nvidia corrige o kernel, então talvez haja uma maneira de ter uma seleção de kernel com patch da nvidia e kernel não-nvidia? Essa seria uma boa abordagem para isso?
Estou no Ubuntu 18.04 x64 e estou usando nvidia-390, mas poderia mudar a versão para outra.
Eu apreciaria toda e qualquer dica.
Responder1
Acontece que não há necessidade de desligar os drivers da nVidia. O que acontece aqui é que o congelamento se deve a um bug no VirtualBox. Mudar a implementação do controlador gráfico de VMSVGA para VBoxVGA (e não VBoxSVGA) resolveu o problema para mim e agora posso inicializar o sistema e obter a área de trabalho.
Obrigado por klaus-vb do canal vbox irc no Freenode por sugerir esta solução. Ele estava ciente do bug do Ubuntu 18.04. Aparentemente 18.10 é melhor nesse aspecto.