在 Hyper-V 中更改 Ubuntu VM 的屏幕分辨率

在 Hyper-V 中更改 Ubuntu VM 的屏幕分辨率

昨晚我尝试使用 Hyper-V 在我的设备上设置 Ubuntu VM。创建 VM 时没有遇到任何问题,也没有在其中安装和启动操作系统(除了我第一次错误地选择了第二代),但是,在连接到虚拟主机时,我在更改虚拟主机的分辨率时遇到了问题。

我进行了大量搜索和解决问题,但到目前为止,我的尝试都没有奏效。以下是我尝试过的方法以及我得到解决方案的引用(我今天早上可以再次找到它们):

  1. 从 ISO 安装 Kubuntu 21.04 并尝试更改显示设置中的分辨率。除了 1024x768 之外没有其他选项。
  2. 本文修改grub文件内容:
    1. 打开终端。
    2. 进入sudo nano /etc/default/grub
    3. 修改以 开头的行以GRUB_CMDLINE_LINUX_DEFAULT添加分辨率设置。在我的例子中,这是GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1920x1200"
    4. 修改以 开头的行以GRUB_CMDLINE_LINUXT添加分辨率设置。在我的例子中,这是GRUB_CMDLINE_LINUX="quiet splash video=hyperv_fb:1920x1200"
    5. 跑步sudo update-grub
    6. 关闭虚拟机。
    7. 重新启动虚拟机。
    8. 这导致黑屏,虚拟机无法使用。
  3. xrdp按照安装在这里回答在 Ask Ubuntu 上启用EnhancedSessionTransportType
  4. 通过 Hyper-V 快速创建菜单安装 Ubuntu 20.04。没有运气。
  5. xrpd在 Ubuntu 20.04 VM 上安装;没有运气。
  6. 修改 grub(如上所述)。没有运气

回答还表明最大分辨率为 1920x1080(这真的不是我想要的,我有一个 1920x1200 的显示器,我想使用所有像素),所以我也尝试在 grub 的设置中使用它,以及安装linux-image-extra-virtual。 仍然是 Kubuntu 21.04 我得到 1024x768。

我能做什么?我知道这听起来很愚蠢,但这应该只是工作。我在 Gnome Boxes 中创建虚拟机(Linux 和 Windows)没有遇到任何问题,并且能够更改分辨率。为什么这不行简单的Hyper-V 中的功能?字面上地无法在 1920x1200 的屏幕上使用 1024x768 的 VM;VM 中单独适用的菜单占用了全部的屏幕,并且使用 IDE 远非一种愉快的体验。

答案1

以下对我有用。已在 Ubuntu 20.04 | Host Windows 11 上测试。

打开 grub 文件。

sudo nano /etc/default/grub

用下面的方法更改 GRUB_CMDLINE_LINUX_DEFAULT 的值。将 3840x2160 替换为您的最高分辨率。

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:3840x2160"

运行以下命令

sudo update-grub

sudo apt install linux-image-extra-virtual

关闭虚拟机并以主机管理员身份打开 PowerShell 并运行以下命令。将“ubuntu”替换为您的虚拟机名称。将“3840”和“2160”更改为您的最高分辨率。

set-vmvideo -vmname ubuntu -horizontalresolution:3840  -verticalresolution:2160 -resolutiontype single

此命令可能不需要。这是我在 Kali 博客上读到的内容。

set-vm "Ubuntu" -EnhancedSessionTransportType HVSocket

启动虚拟机。打开 Ubuntu 显示设置并选择比例 200。

答案2

我正在运行 Ubuntu 22.04,只需要以下 PowerShell 命令:

set-vmvideo Ubuntu -horizontalresolution:1920 -verticalresolution:1080 -resolutiontype single

(将 Ubuntu 替换为您的虚拟机名称,将分辨率替换为您的显示器的分辨率)

答案3

在 Ubuntu 22.04 上,这似乎足以设置分辨率

set-vmvideo Ubuntu -horizontalresolution:3840 -verticalresolution:2400 -resolutiontype single

但在我的情况下,重新启动虚拟机后比例没有被保存,所以我不得不在 Ubuntu 终端中设置以下内容[xrandr 对我来说不起作用]:

gsettings set org.gnome.desktop.interface scaling-factor 2

(缩放 200%)

答案4

使用 Windows 11 Pro 在 HyperV 中使用第二代 VM 也有效。下面我附上了帮助。在 grub 文件中(输入 sudo nano 后etc/default/grub),请务必使用CRTL+G查看 HELP 菜单,其中显示了提供的所有热键和命令。

以下是我采取的具体步骤:

  • 我根据我的分辨率 1920x1080 更改了建议的两行

  • 然后按CTRL+X初始化 grub 文件的退出

  • 按 Y 然后按 ENTER 接受对文件的更改

  • 然后输入 sudo update-grub 并再次按 ENTER。

  • 然后我输入 sudo reboot 并重新打开 Obuntu 会话。

好了,屏幕尺寸固定了。

我的 grub 文件的语法

相关内容