如何在 Ubuntu Server 上通过 ssh 安装带有 GUI 的虚拟机

如何在 Ubuntu Server 上通过 ssh 安装带有 GUI 的虚拟机

我正在尝试使用 virt-install 安装 Windows 10。Ubuntu Server LTS 20.04我并不是虚拟化方面的专家,但我尝试使用以下命令进行安装:

$ virt-install --name=windows10 --vcpus=4 --memory=8192\
--cdrom=/mnt/data/iso/Win10_20H2_v2_EnglishInternational_x64.iso\
--disk /mnt/data/vm-images/win10-vm,size=50,format=qcow2,bus=virtio\
--network bridge=br0,model=virtio --os-type=win10 --os-variant=win10\
--graphics vnc

但出现以下警告,并且它挂起Waiting for installation to complete.(可能是因为我需要访问 Windows GUI 才能实际安装?)。

WARNING  Graphics requested but DISPLAY is not set. Not running virt-viewer.
WARNING  No console to launch for the guest, defaulting to --wait -1

Starting install...
Allocating 'win10-vm'                                        |  50 GB  00:00:06
Domain installation still in progress.
Waiting for installation to complete.

我的 MacBook 上有一个 VNC 客户端(macOS Big Sur 上的 TigerVNC 1.11.0),但我无法连接。经过一番搜索,我发现 virt-install 找不到显示器(因为没有显示器连接到 Ubuntu 机器?),以及 SSH 中的 X-forwarding,但我找不到明确的指南。我能找到的所有指南要么在 Linux 机器上使用 GUI,要么使用virt-manager,要么安装只需要 SSH 访问的虚拟机。但我在 CentOS(无头)上测试 oVirt 时这样做了,所以我知道这应该是可能的,但我不知道如何从 CLI(通过 SSH)执行此操作。

有人能给我提供一份(详尽的,因为我对这个还很陌生)指南,告诉我如何在通过 SSH 访问的无头机器上安装需要 VNC 访问的虚拟机吗?

答案1

请不要介意我之前的评论。这个已经测试过了。安装虚拟机时,您必须为 --graphics 选项提供更多参数,如下所示:

$ virt-install --name=windows10 --vcpus=4 --memory=8192\
  --cdrom=/mnt/data/iso/Win10_20H2_v2_EnglishInternational_x64.iso\
  --disk /mnt/data/vm-images/win10-vm,size=50,format=qcow2,bus=virtio\
  --network bridge=br0,model=virtio --os-type=win10 --os-variant=win10\
  --graphics vnc,port=5901,listen=0.0.0.0`

它指定服务器将监听所有 IP 上的 VNC 请求,否则它将监听环回地址 (127.0.0.1)。之后,使用以下命令,您将看到 VNC 的监听端口:

virsh domdisplay windows10

它必须返回类似的内容:vnc://localhost:1然后您可以使用指定端口的 VNC 连接到您的服务器。

相关内容