Hyper-V中带RemoteFX视频适配器的Ubuntu虚拟机屏幕分辨率问题
解决Hyper-V中Ubuntu 18.04桌面版屏幕分辨率问题(含RemoteFX适配)
刚上手Windows 10上的Hyper-V跑Ubuntu 18.04桌面版时,我也踩过屏幕分辨率的坑——原来改grub的方法确实能解决普通情况,但启用RemoteFX 3D视频适配器后就完全不管用了,给你整理了两种场景下的解决方案:
一、未启用RemoteFX 3D Video Adapter时的配置方法
这是最常用的标准配置方式,步骤清晰:
- 打开终端,编辑grub配置文件:
sudo nano /etc/default/grub - 找到
GRUB_CMDLINE_LINUX_DEFAULT这一行,在quiet splash后追加分辨率参数,修改后内容如下:
你可以把GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1920x1080"1920x1080替换成任意你需要的分辨率,比如2560x1440或1600x900 - 保存并退出nano编辑器:按
Ctrl+O确认保存,再按Ctrl+X退出 - 更新grub使配置生效:
sudo update-grub - 重启虚拟机,分辨率就会自动切换到你设置的参数了
二、启用RemoteFX 3D Video Adapter后失效的解决办法
开启RemoteFX后,Hyper-V会加载专门的3D图形驱动,原来的hyperv_fb帧缓冲驱动就不再生效了,这时候需要用Ubuntu原生的显示设置或自定义分辨率来解决:
方法1:通过系统显示设置调整
- 确保Ubuntu已经预装了Hyper-V Linux集成服务(Ubuntu 18.04默认已经集成,无需额外安装)
- 打开Ubuntu的设置应用,找到显示选项
- 在分辨率下拉菜单中,直接选择你需要的分辨率(比如1920x1080)
- 点击应用,系统会弹出确认窗口,选择保留更改即可完成设置
方法2:自定义添加缺失的分辨率
如果下拉菜单里没有你想要的分辨率,可以手动添加:
- 打开终端,先查看当前显示输出设备名称:
通常输出结果中会显示类似xrandrVirtual-1的设备名称 - 生成自定义分辨率的模式参数(以1920x1080@60Hz为例):
终端会返回一串模式信息,比如:cvt 1920 1080 60Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
- 将这个模式添加到显示设备:
注意把命令中的xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync xrandr --addmode Virtual-1 1920x1080_60.00Virtual-1替换成你刚才查到的实际显示设备名称 - 回到显示设置,就能看到刚才自定义的分辨率了,选择应用即可
内容的提问来源于stack exchange,提问作者Michael




