Hyper-V 调整 设置 Ubuntu 虚拟机的分辨率

[复制链接]
发表于 2026-10-3 21:01:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

Hyper-V 里 Ubuntu 虚拟机分辨率改不了?两处都要改

用 Win10 的 Hyper-V 装 Ubuntu 20.04,进系统后发现「显示设置」里调不了分辨率、可选项灰着一片——这是因为 Hyper-V 的虚拟显示设备对 Linux 的即插即用支持不好。解决办法是内核启动参数里加一个 video 驱动参数,同时在宿主机 PowerShell 里改虚拟机的显存规格,两个地方都改了才生效。

第一步:改 Ubuntu 的 grub 配置

开终端(Ctrl+Alt+T):

sudo vi /etc/default/grub

找到 GRUB_CMDLINE_LINUX_DEFAULT 这一行,改成:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1920x1080"

把中间的 1920x1080 换成你自己机器上合适的分辨率,比如 1366x768、1600x900。

顺手记一下 vi 的常用命令

  • :w 保存文件;
  • :q 退出 vi;
  • :wq 或 :x 保存并退出;
  • :q! 强制退出不保存修改。

保存退出后,刷 grub 并安装内核补丁

sudo update-grub
sudo apt install linux-image-extra-virtual

linux-image-extra-virtual 这个包很关键——它把 Hyper-V 专用的驱动(含 hyperv_fb 帧缓冲驱动)编进内核,少了它,前面那个 video 参数不会有任何效果。

装完后重启一次 Ubuntu,让新内核和启动参数生效。

第二步:在宿主机 PowerShell 里改虚拟机

1. 关掉虚拟机

这一步不能省:必须先把 Ubuntu 虚拟机完全关机(不能只是挂起),再操作,否则 Set-VMVideo 会报错。

2. 管理员模式起 PowerShell,设分辨率

Set-VMVideo -VMName ubuntu20 -HorizontalResolution 1920 -VerticalResolution 1080 -ResolutionType Single

注意字段名和连字符:把 ubuntu20 换成你自己的虚拟机名称(名字可以在 Hyper-V 管理器里看到),把 1920、1080 换成你的屏幕分辨率。

3. 顺带开增强会话传输

Set-VM ubuntu- -EnhancedSessionTransportType HVSocket

这条打开的是增强会话的传输通道(HVSocket),配合增强会话可以拿到更好的鼠标、键盘与显示器体验。

为什么两处都要改

内核参数 video=hyperv_fb: 告诉 Linux「用 Hyper-V 的虚拟帧缓冲驱动、并直接按某个分辨率初始化」;而 PowerShell 的 Set-VMVideo 改的是 Hyper-V 给这台虚拟机分配的显存(video mode)规格。只改一边都会出问题:

  • 只改内核参数、不动宿主机:虚拟机层的显示规格没变,分辨率可能被强制回退;
  • 只改宿主机、不动内核参数:Linux 侧拿不到正确的显示模式,进系统依旧是默认小窗口。

验证是否生效

  • 重启进系统后,在「设置 → 显示」里看可选分辨率是否变多了;
  • 或者直接在终端 xrandr(如果装了 x11-apps)看当前模式列表;
  • 全屏运行(Hyper-V 里点「全屏」)看画面是否拉伸正常。

常见问题

  • 改完还是老分辨率:确认 sudo update-grub 跑过了、机器真的重启了,而且 linux-image-extra-virtual 装上了;
  • Set-VMVideo 报参数错误:多半是 Windows 版本太老不支持 Single 模式,或者虚拟机没完全关机;
  • 分辨率改大后黑屏:宿主机显示器不支持该分辨率会黑屏,先把分辨率调回一个稳妥值(比如 1280x720)再逐步加;
  • 「显示设置」依然灰的:这是 Hyper-V 的正常表现——Linux 里「设置」能看到的选项是有限的,真正生效靠的是 grub 参数,不是设置界面。

小结

一句话记法:内核里写 video=hyperv_fb:宽x高 + 装 linux-image-extra-virtual,宿主机上用 Set-VMVideo 对齐分辨率,关机改、开机测。两处对齐,Hyper-V 里的 Ubuntu 就能用上你想要的分辨率了。

qidao123.com企服评测-应用市场 编辑提示

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表