Por que estou recebendo uma tela preta ao inicializar a VM usando o qemu?

9

Quando tento inicializar uma máquina virtual usando:

qemu-system-x86_64 -m 1024 -cdrom /host/iso/ubuntu-13.10-desktop-amd64.iso -name mac -hda ~/ubuntu

Aparece uma tela preta logo após o início da instalação (antes de escolher o idioma). Tentei definir nomodeset"Outras opções", mas isso não resolveu o problema.

No entanto, usando o mesmo ISO, posso inicializar a VM usando o Virtual Machine Manager. Preciso inicializar a VM usando qemu-system-x86_64para um dos meus projetos.

Por favor, deixe-me saber como resolver isso.

Sagar Patni
fonte
Não é uma resposta para a pergunta, mas se você quiser brincar com a resolução do monitor, brinque com a bandeira -vga [std|vmware|cirrus|qxl]. Consulte man qemu-kvmpara mais detalhes.
Nehal J Wani
Aqui eu descrevo em grande detalhe a melhor configuração QEMU KVM que eu alcancei até agora para Ubuntu: askubuntu.com/questions/884534/...
Ciro Santilli冠状病毒审查六四事件法轮功
Vim aqui porque estava recebendo a tela preta na Win10 VM depois de alterar a memória da VM para 2536MB. Mudá-lo novamente para 2048MB resolvido para mim. (Eu então resolvi com 3072MB).
Marc.2377 16/02/19

Respostas:

9

Por padrão qemu-system-x86_64, emulação , não virtualização. A emulação é lenta e exige topmuita CPU - você pode ver isso executando , o que mostrará sua CPU em quase 100%. Acabei de inicializar o Xubuntu 14.04 usando qemu-system-x86_64no meu sistema e levou 10 minutos para inicializar na área de trabalho. O Ubuntu normalmente oculta informações de inicialização, e é por isso que você está vendo uma tela preta (ou alguns outros artefatos gráficos causados ​​pela alteração da resolução do BIOS). Se você remover splash quiete adicionar debugaos parâmetros do kernel, verá o que está fazendo durante esse período.

O que você provavelmente deseja fazer é executar qemu-system-x86_64 -enable-kvmpara ativar o suporte à virtualização de hardware.

qemu-system-x86_64 -enable-kvm -m 1024 -cdrom /host/iso/ubuntu-13.10-desktop-amd64.iso -name mac -hda ~/ubuntu

De man qemu-system-x86_64:

-enable-kvm
       Enable KVM full virtualization support. This option is only available
       if KVM support is enabled when compiling.

(Você pode ver pessoas recomendando o programa a kvmpartir do pacote qemu-kvm. kvmÉ apenas um script de wrapper exec qemu-system-x86_64 -enable-kvm "$@")

O KVM usa a virtualização de hardware em vez de simulação e, portanto, é muito mais rápido. Requer uma CPU que suporte extensões de virtualização de hardware (VT-x para Intel ou AMD-V para AMD), que os sistemas de PC mais modernos possuem.

Com a virtualização, a CPU está realmente executando o código binário executável bruto do sistema operacional convidado. A virtualização é rápida, mas tem a limitação de que o sistema operacional host e o sistema operacional convidado devem ser compatíveis com binários. Com a emulação, o código binário do sistema operacional convidado é reescrito para ser executado na CPU do host. É lento, mas tem a vantagem de poder executar um SO convidado compilado para uma arquitetura de CPU diferente (por exemplo, uma imagem QEMU para o Debian armel explica como executar o Debian ARM em um PC).

Outra opção popular para virtualização é o VirtualBox .

banho
fonte
O kvm é apenas um invólucro qemu-system-x86_64. Dizendo que qemu-system-x86_64é apenas emulação, você quer dizer que o kvm é um invólucro de virtualização sobre a emulação fornecida por qemu-system-x86_64?
jobin
@ Jinob obrigado por apontar isso, resposta ajustada em conformidade.
bain