J'ai installé Ubuntu 16.04 Desktop sur QEMU, mais maintenant, je le lance avec:
qemu-system-i386 -m 1024M -enable-kvm -drive file=./ubuntu-desktop.img,index=0,media=disk,format=raw
Que se passe-t-il? Comment puis-je réparer cela?
Utilisation de la configuration Ubuntu 18.04
Testé dans un hôte Ubuntu 18.10.
ubuntu-18.04.1-desktop-AMD64.sh
#!/usr/bin/env bash
set -eux
# Parameters.
id=ubuntu-18.04.1-desktop-AMD64
disk_img="${id}.img.qcow2"
disk_img_snapshot="${id}.snapshot.qcow2"
iso="${id}.iso"
# Get image.
if [ ! -f "$iso" ]; then
wget "http://releases.ubuntu.com/18.04/${iso}"
fi
# Go through installer manually.
if [ ! -f "$disk_img" ]; then
qemu-img create -f qcow2 "$disk_img" 1T
qemu-system-x86_64 \
-cdrom "$iso" \
-drive "file=${disk_img},format=qcow2" \
-enable-kvm \
-m 2G \
-smp 2 \
;
fi
# Snapshot the installation.
if [ ! -f "$disk_img_snapshot" ]; then
qemu-img \
create \
-b "$disk_img" \
-f qcow2 \
"$disk_img_snapshot" \
;
fi
# Run the installed image.
qemu-system-x86_64 \
-drive "file=${disk_img_snapshot},format=qcow2" \
-enable-kvm \
-m 2G \
-smp 2 \
-soundhw hda \
-vga virtio \
"$@" \
;
Ce script effectuera deux exécutions de QEMU:
La première fois que QEMU arrive
Le programme d'installation ressemble à ceci:
Une fois l'installation terminée, le script prend automatiquement un instantané et lance un démarrage normal.
Chaque fois que vous souhaitez revenir à l'installation initiale, supprimez simplement l'instantané et réexécutez le script:
rm ubuntu-18.04-desktop-AMD64.snapshot.qcow2
./ubuntu-18.04.1-desktop-AMD64.sh
et l'instantané sera re-généré à partir de la nouvelle installation.
La capture instantanée ne stocke que les différences entre l'image d'origine et ne nécessite donc pas beaucoup d'espace disque.
Cette configuration a par défaut un système funky qui redimensionne automatiquement la résolution de l’invité pour s’adapter au mieux à la taille de la fenêtre QEMU.
Ctrl + Alt + F
ou démarrez QEMU avec -full-screen
Remarques:
L’option -vga virtio
permet d’obtenir des résolutions plus élevées: https://superuser.com/questions/132322/how-to-increase-the-visualized-screen-resolution-on-qemu-kvm/1331924#1331924 Basculer en plein écran avec:
-soundhw hda
active le son. Pourquoi QEMU ne l’active-t-il pas par défaut, m’a battu.
Une fois à l'intérieur de la VM, réduisez le temps d'attente du menu GRUB et affichez quelques messages de démarrage pour le prochain démarrage avec:
printf 'GRUB_TIMEOUT=1\nGRUB_CMDLINE_LINUX_DEFAULT=""\n' | Sudo tee -a /etc/default/grub
Sudo update-grub
Partage du presse-papiers TODO:
Essayé -spice port=5930,disable-ticketing
+ remote-viewer spice://127.0.0.1:5930
, et spice-vdagent
est pré-installé sur l'invité, mais en vain.
La cause principale du désordre est que les développeurs de QEMU semblent plus axés sur une utilisation non interactive, plutôt que de mettre en œuvre de telles choses de manière fiable et donc de tuer VirtualBox une fois pour toutes: https://bugs.launchpad.net/qemu/+ bug/614958
TODO: Accélération 3D de l'hôte. Toujours avec SPICE et QXL, glxgears
donne 1k FPS, et exactement la même chose avec SDL normal. Mais sur l'hôte __GL_SYNC_TO_VBLANK=0 vblank_mode=0 glxgears
donne 20k FPS, alors je suppose que les graphiques ne sont pas accélérés?
Connexes: https://unix.stackexchange.com/questions/108122/installing-ubuntu-13-0-desktop-in-qem
Testé sur un hôte Ubuntu 18.04, QEMU 1:2.11+dfsg-1ubuntu7.3
, nvidia-384
version 390.48-0ubuntu3
, Lenovo ThinkPad P51, GPU NVIDIA Corporation GM107GLM [Quadro M1200 Mobile]
.
Images amorcées prédéfinies
Si vous souhaitez une image qui démarre sans qu'aucune interaction ne soit nécessaire sur le programme d'installation, voir: Existe-t-il une image QEMU Ubuntu (32 bits) pré-construite en ligne?
Serveur
La même procédure que celle mentionnée pour le bureau a également fonctionné pour l'image du serveur.
Je ne pouvais tout simplement pas faire l'installation initiale avec -nogrphic
pour me débarrasser entièrement de l'interface graphique: Comment démarrer et installer l'image du serveur Ubuntu sur QEMU -nographic sans l'interface graphique?
Mais après le démarrage initial, après avoir modifié GRUB configs, je parviens à ce résultat: Comment accéder au menu GRUB au démarrage avec la console série?
Cependant, dans la plupart des cas, vous voudrez probablement simplement utiliser l'image du cloud au lieu de l'image du serveur avec émulation, car elle ne dispose pas du programme d'installation interactif et peut être utilisée à partir de la CLI par défaut.
Les étapes d'installation décrites (par Ciro) ont fonctionné pour moi. La ligne de commande utilisée dans le script fonctionnait bien, mais je devais utiliser d'autres options qui posaient des problèmes de démarrage par la suite (le démarrage cesse d'afficher des informations sur les blocs de stockage)
-vga cirrus a finalement aidé (résolution max. 1280 x 1024). J'ai GPU NVIDIA sur l'hôte avec une configuration double moniteur. Pas sûr de ce qui causait le problème. Aussi, -vga std et -vga virtio ne fonctionnaient pas.
OS hôte = 16.4 LTS et OS invité = 18.4.2 LTS
Sudo ./x86_64-softmmu/qemu-system-x86_64 -m 8196 -M q35,accel=kvm,kernel-irqchip=split -cpu Host -smp 8 -drive file=~/qemu/ubuntu-18.04.2-desktop-AMD64.img.qcow2,format=qcow2 -vnc :5 -net nic -Net User,hostfwd=tcp::2222-:22 -device intel-iommu,intremap=on **-vga cirrus**