A partir de 2017, o qemu não fornece emulação de placa gráfica somente em modo texto para x86-64 que forçaria um convidado a permanecer no modo de texto.
As distribuições atuais como o Fedora 25 vêm com o módulo bochs_drm
do kernel que ativa um buffer de quadros (por exemplo, o modo gráfico de 1024x768), por padrão. Em contraste com isso, e. O Debian 8 (estável) não fornece este módulo e, portanto, permanece no modo de texto tradicional durante a inicialização completa.
Assim, ao executar o qemu a partir de um terminal (por exemplo, com -display curses
), faz sentido ativar um console serial como seguro contra falhas:
console=tty0 console=ttyS0
ou
console=tty0 console=ttyS0,115200
(Parâmetros do kernel para o convidado, a velocidade padrão é 9600, ambas as configurações funcionam com o qemu, tornam as configurações persistentes no Fedora, atribuindo-as a GRUB_CMDLINE_LINUX
in /etc/sysconfig/grub
e executando grub2-mkconfig -o /etc/grub2.cfg
ou grub2-mkconfig -o /etc/grub2-efi.cfg
)
Caso nada mais funcione, é possível alternar o qemu via Alt + 3 para o console serial.
Uma segunda medida é desabilitar o framebuffer por meio de um parâmetro bochs_drm
module - ou seja, definindo-o na linha de comando do guest kernel:
bochs_drm.fbdev=off
Alternativa na lista negra
Como alternativa, o módulo bochs_drm
pode estar na lista negra, por exemplo, criando uma configuração em /etc/modprobe.d
- say - bochs.conf
:
blacklist bochs_drm
Como o initramfs também não deve carregar o módulo bochs_drm, é necessário certificar-se de que essa configuração esteja incluída no initramfs. Nas distribuições do Fedora, isto é conseguido via:
# dracut -f
Inicialização UEFI
Ao inicializar o qemu com um firmware UEFI (por exemplo, -bios /usr/share/edk2/ovmf/OVMF_CODE.fd
), a desativação do bochs fbdev não é suficiente. A inicialização do Fedora do que trava ao tentar mudar para o framebuffer bochs. A lista negra do bochs_drm corrige isso, mas não é suficiente. Um só recebe um modo gráfico de 640 x 480 que não é redefinido para o modo de texto pelo kernel. Assim, para os visitantes da UEFI, é necessário seguir a rota do console serial.
Console serial
O uso do console serial em combinação com -display curses
gera uma experiência de usuário inferior ao ideal, pois as pragas interferem na emulação do terminal vt110 / vt220. Assim, basta apenas para emergências.
Uma solução melhor é desligar completamente o monitor e usar o modo Qemu serial / monitor combinado:
-display none -serial mon:stdio -echr 2
(onde Ctrl + b h exibe uma ajuda e Ctrl + b c alterna entre os modos)
Com o Fedora 27, o Grub2 é configurado com suporte ao console serial, por padrão. Assim, também pode ser controlado através do terminal serial.
Chamar resize
após o login atualiza a geometria do terminal, portanto, o terminal resultante se comporta tão bem quanto o local.
Meta para vários usuários
Caso a imagem do convidado tenha um instalador gráfico do gerenciador de login, faz sentido desativá-la :
# systemctl set-default multi-user.target
Caso contrário, o on deve alternar para o primeiro console virtual após cada inicialização (por exemplo, Alt + 2 ou Alt + 3 ao usar a exibição de curses).