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

8

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

Iget uma tela preta logo após o início da instalação (antes de escolher o idioma). Tentei definir nomodeset em "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. Eu preciso inicializar a VM usando qemu-system-x86_64 para um dos meus projetos.

Por favor, deixe-me saber como resolver isso.

    
por Sagar Patni 12.02.2014 / 16:42

1 resposta

7

Por padrão, qemu-system-x86_64 faz emulação , não virtualização. A emulação é lenta e exige muita CPU - você pode ver isso executando top , o que mostrará sua CPU próxima a 100%. Acabei de inicializar o Xubuntu 14.04 usando qemu-system-x86_64 no meu sistema, e levei 10 minutos para inicializar na área de trabalho. O Ubuntu normalmente esconde informações de inicialização, e é por isso que você está vendo uma tela preta (ou algum outro artefato gráfico causado pela resolução de alteração do BIOS). Se você remover splash quiet e adicionar debug aos parâmetros do kernel, verá o que está fazendo durante esse tempo.

O que você provavelmente quer fazer é executar qemu-system-x86_64 -enable-kvm para ativar o suporte para 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 kvm do pacote qemu-kvm . kvm é apenas um script de wrapper que faz exec qemu-system-x86_64 -enable-kvm "$@" )

O KVM usa 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 a maioria dos sistemas de PC modernos possui.

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 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 rodar um sistema operacional convidado compilado para uma arquitetura de CPU diferente (por exemplo, Uma imagem do QEMU para o Debian armel explica como executar o Debian ARM em um PC).

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

    
por bain 13.05.2014 / 15:48