我已经完成的步骤:
- 在VMware Workstation 12中安装Ubuntu Server 16.04.1
- 编辑
/etc/default/grub
以包含GRUB_GFXMODE=1440x900 GRUB_GFXPAYLOAD_LINUX=keep
- 跑步
sudo update-grub
- 重新启动;分辨率设置正确,GRUB 和 Ubuntu 均为 1440x900
- 关闭
- 拍了一张快照
- 启动虚拟机;分辨率不再正确设置,GRUB 为 640x480,Ubuntu 为 800x600
我在安装期间、第一次重新启动之前或两次重新启动之间没有进行任何自定义。我该如何解决这个问题,以便 Ubuntu 始终以 1400x900 运行?
vbeinfo
GRUB 中没有列出任何高于 800x600 的分辨率。
hwinfo --framebuffer
根本不输出任何东西。
编辑:我已经通过在新虚拟机中进行第二次安装验证了这一点:最初,GRUB 检测到更高的分辨率,并且可以在重新启动后继续存在,但在关闭和重新启动后无法继续存在。
答案1
在尝试了更多虚拟机之后,我将问题追溯到 VMware 添加
svga.guestBackedPrimaryAware = "TRUE"
到 VMX 文件,这表明 VMware 知道虚拟机安装了 VMware 工具。看起来,当设置此标志时,VMware 不会通过 VBE 公开更高分辨率,因此 GRUB 无法使用更高分辨率。从 VMX 文件中删除这一行可以解决一次启动的问题,但 VMware 在您关闭计算机时会将其添加回来。
如果硬件版本为 10,则不会出现此行为,但会在 11 或 12 上出现。要永久修复该问题,请svga.guestBackedPrimaryAware = "TRUE"
从 VMX 文件中删除该行,并将行virtualHW.version = "11"
或更改virtualHW.version = "12"
为virtualHW.version = "10"
。