Pourquoi est-ce que j'obtiens un écran noir lors du démarrage de VM à l'aide de qemu?

9

Lorsque j'essaie de démarrer une machine virtuelle en utilisant:

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

Iget un écran noir juste après le début de l'installation (avant de choisir la langue). J'ai essayé de définir nomodeset"Autres options" mais cela n'a pas résolu le problème.

Cependant, en utilisant le même ISO, je peux démarrer la machine virtuelle à l'aide de Virtual Machine Manager. J'ai besoin de démarrer la machine virtuelle à l'aide qemu-system-x86_64de l'un de mes projets.

Veuillez me faire savoir comment résoudre ce problème.

Sagar Patni
la source
Pas une réponse à la question, mais si vous avez envie de jouer avec la résolution du moniteur, jouez avec le drapeau -vga [std|vmware|cirrus|qxl]. Référez-vous man qemu-kvmpour plus de détails.
Nehal J Wani
Ici, je décris en détail la meilleure configuration KEM
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功
Je suis venu ici parce que j'obtenais un écran noir dans la machine virtuelle Win10 après avoir changé la mémoire de la machine virtuelle en 2536 Mo. Le changer à nouveau à 2048 Mo a été résolu pour moi. (Je me suis ensuite installé avec 3072 Mo).
Marc.2377

Réponses:

9

Par défaut qemu-system-x86_64ne émulation , pas la virtualisation. L'émulation est lente et gourmande en CPU - vous pouvez le voir en exécutant top, ce qui montrera votre CPU à près de 100%. Je viens de démarrer Xubuntu 14.04 à l'aide qemu-system-x86_64de mon système et il a fallu 10 minutes pour démarrer sur le bureau. Ubuntu cache normalement les informations de démarrage, c'est pourquoi vous voyez un écran noir (ou d'autres artefacts graphiques causés par la modification de la résolution du BIOS). Si vous supprimez splash quietet ajoutez debugaux paramètres du noyau, vous verrez ce qu'il fait pendant ce temps.

Ce que vous voulez probablement faire est d'exécuter qemu-system-x86_64 -enable-kvmpour activer la prise en charge de la virtualisation matérielle.

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.

(Vous pourriez voir des gens recommander le programme à kvmpartir du package qemu-kvm. kvmEst juste un script wrapper qui le fait exec qemu-system-x86_64 -enable-kvm "$@")

KVM utilise la virtualisation matérielle plutôt que la simulation, et est donc beaucoup plus rapide. Il nécessite un processeur prenant en charge les extensions de virtualisation matérielle (VT-x pour Intel ou AMD-V pour AMD), que la plupart des systèmes PC modernes possèdent.

Avec la virtualisation, le CPU exécute en fait le code binaire exécutable brut à partir du système d'exploitation invité. La virtualisation est rapide, mais a la limitation que l'OS hôte et l'OS invité doivent être compatibles binaires. Avec l'émulation, le code binaire du système d'exploitation invité est réécrit pour s'exécuter sur le processeur hôte. Il est lent, mais présente l'avantage de pouvoir exécuter un système d'exploitation invité compilé pour une architecture de processeur différente (par exemple, une image QEMU pour Debian armel explique comment exécuter Debian ARM sur un PC).

VirtualBox est une autre option populaire pour la virtualisation .

bain
la source
kvm n'est qu'un wrapper qemu-system-x86_64. En disant que ce qemu-system-x86_64n'est qu'une émulation, voulez-vous dire que kvm est un wrapper de virtualisation sur l'émulation fournie par qemu-system-x86_64?
jobin
@Jobin merci de l'avoir signalé, réponse ajustée en conséquence.
bain