如何在 QEMU 上运行 Ubuntu 桌面?

BPS*_*BPS 14 kvm virtualization qemu

我已经在 QEMU 上安装了 Ubuntu 16.04 Desktop,但是现在当我启动它时:

qemu-system-i386 -m 1024M -enable-kvm -drive file=./ubuntu-desktop.img,index=0,media=disk,format=raw
Run Code Online (Sandbox Code Playgroud)

我看到这张图: 在此处输入图片说明

这是怎么回事?我怎样才能解决这个问题?

Cir*_*郝海东 19

运行 Ubuntu 18.04 设置

在 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

# Create an image based on the original post-installation image
# so as to keep a pristine post-install image.
if [ ! -f "$disk_img_snapshot" ]; then
  qemu-img \
    create \
    -b "$disk_img" \
    -f qcow2 \
    "$disk_img_snapshot" \
  ;
fi

# Run the copy of the installed image.
qemu-system-x86_64 \
  -drive "file=${disk_img_snapshot},format=qcow2" \
  -enable-kvm \
  -m 2G \
  -smp 2 \
  -soundhw hda \
  -vga virtio \
  "$@" \
;
Run Code Online (Sandbox Code Playgroud)

GitHub 上游.

此脚本将执行两次 QEMU 运行:

  • 首先是安装运行,如果已经完成则跳过此步骤。
  • 然后正常启动

QEMU第一次出现:

  • 安装 Ubuntu
  • 继续,继续,继续……
  • 等几分钟
  • 最后“立即重启”
  • 现在您可以关闭 QEMU 窗口

安装程序如下所示:

在此处输入图片说明

安装完成后,脚本会自动将安装后磁盘快照生成到ubuntu-18.04-desktop-amd64.img.qcow2,并创建到 的差异副本ubuntu-18.04-desktop-amd64.snapshot.qcow2

然后它运行ubuntu-18.04-desktop-amd64.snapshot.qcow2, 并在那里保存任何定期启动后的更改。

因此,下次您重新运行时,./ubuntu-18.04.1-desktop-amd64.sh只需从上次停止的地方重新开始。

如果您想从原始的手动安装后阶段开始在干净的环境中测试东西,您可以:

rm ubuntu-18.04-desktop-amd64.snapshot.qcow2
./ubuntu-18.04.1-desktop-amd64.sh
Run Code Online (Sandbox Code Playgroud)

快照将从全新安装开始重新生成。

快照仅存储原始图像之间的差异,因此不会占用大量磁盘空间。

默认情况下,此设置具有一个时髦的系统,可自动调整来宾分辨率以最适合 QEMU 窗口大小,如果您执行以下操作之一,您可以看到这一点:

  • 用鼠标拖动窗口
  • 切换全屏Ctrl + Alt + F或 或启动 QEMU-full-screen

笔记:

TODO剪贴板共享

试过-spice port=5930,disable-ticketing+ remote-viewer spice://127.0.0.1:5930,并spice-vdagent预装在来宾上,但没有成功。

混乱的根本原因是 QEMU 开发人员似乎更专注于非交互式使用,而不是可靠地实现这样的事情,因此一劳永逸地杀死 VirtualBox:https : //bugs.launchpad.net/qemu/+bug/ 614958

TODO:主机 3D 加速

仍然使用 SPICE 和 QXL,glxgears提供 1k FPS,与常规 SDL 完全相同。但是在主机上__GL_SYNC_TO_VBLANK=0 vblank_mode=0 glxgears提供 20k FPS,所以我猜图形没有加速?

相关:https : //unix.stackexchange.com/questions/108122/installing-ubuntu-13-0-desktop-in-qemu

禁用网络(例如恶意软件分析)

通过:-nic none在 CLI 上。

提到:https : //wiki.qemu.org/Documentation/Networking#How_to_disable_network_completely

与来宾共享主机目录

添加到 QEMU CLI:

-virtfs local,path=/path/to/share,mount_tag=host0,security_model=mapped,id=host0
Run Code Online (Sandbox Code Playgroud)

并安装在来宾上:

sudo mkdir /mnt/9p
mount -t 9p -o trans=virtio,version=9p2000.L host0 /mnt/9p
Run Code Online (Sandbox Code Playgroud)

更多详细信息,请访问:https : //superuser.com/questions/628169/how-to-share-a-directory-with-the-host-without-networking-in-qemu/1301973#1301973这也显示了相应的 fstab 条目.

https://serverfault.com/questions/516097/how-to-efficiently-share-hosts-folder-with-kvm-guests声称并不是超快。

更专门的问题:如何使用 virt-manager 在 KVM 主机和来宾之间共享文件夹?

本节在 Ubuntu 20.04 主机上进行了测试。

预构建的可启动映像

如果您想要一个无需在安装程序上进行任何交互即可启动的映像,请参阅:是否有任何预先构建的 QEMU Ubuntu 映像(32 位)在线?

服务器

与桌面提到的完全相同的过程也适用于服务器映像。

我只是无法进行初始安装以-nogrphic完全摆脱 GUI:如何在没有 GUI 的情况下在 QEMU -nographic 上启动和安装 Ubuntu 服务器映像?

但是在初始启动后,在编辑 GRUB 配置后,我实现了:如何在启动时使用串行控制台进入 GRUB 菜单?

但是,在大多数情况下,您可能只想使用云映像而不是带有仿真的服务器映像,因为它没有交互式安装程序,并且默认情况下可从 CLI 使用。

在 Ubuntu 18.04 主机、QEMU 1:2.11+dfsg-1ubuntu7.3nvidia-384版本390.48-0ubuntu3、Lenovo ThinkPad P51、NVIDIA Corporation GM107GLM [Quadro M1200 Mobile]GPU 上测试。

  • @Downvoters,请解释一下,以便我可以学习和改进信息。谢谢。 (3认同)

归档时间:

查看次数:

22149 次

最近记录:

4 年,9 月 前