web-dev-qa-db-fra.com

Pourquoi ai-je un écran noir lors du démarrage de VM avec qemu?

Quand j'essaye 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

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

Cependant, en utilisant le même ISO, je peux démarrer le VM à l'aide de Virtual Machine Manager. Je dois démarrer VM à l'aide de qemu-system-x86_64 pour l'un de mes projets.

S'il vous plaît laissez-moi savoir comment résoudre ce problème.

8
Sagar Patni

Par défaut, qemu-system-x86_64 effectue une émulation , pas de virtualisation. L'émulation est lente et demande beaucoup de ressources processeur. Vous pouvez le constater en exécutant topname__, qui affiche votre processeur à près de 100%. Je viens de démarrer Xubuntu 14.04 à l’aide de qemu-system-x86_64 sur mon système et il a fallu 10 minutes pour le démarrer sur le bureau. Ubuntu masque normalement les informations de démarrage, ce qui explique pourquoi vous voyez un écran noir (ou un autre artefact graphique causé par la modification de la résolution du BIOS). Si vous supprimez splash quiet et 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-kvm pour 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 verrez peut-être des personnes recommander le programme kvmà partir du package qemu-kvm. kvmest simplement un script d'encapsulation qui exécute 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), disponibles sur la plupart des systèmes PC modernes.

Avec la virtualisation, la CPU exécute actuellement le code binaire exécutable brut à partir du système d'exploitation invité. La virtualisation est rapide, mais le système d'exploitation hôte et le système d'exploitation 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 la CPU hôte. Il est lent, mais présente l’avantage de pouvoir exécuter un SE invité compilé pour une architecture de processeur différente (par exemple. ne image QEMU pour Debian armel explique comment exécuter Debian ARM sur un PC).

Une autre option populaire pour la virtualisation est VirtualBox .

7
bain