如何让 VirtualBox 以 1366x768 分辨率运行?

如何让 VirtualBox 以 1366x768 分辨率运行?

我正在尝试在 VirtualBox 中运行 Windows 8。我的笔记本电脑的显示屏正好是 1366x768。如果分辨率低于 1366x768,Windows 8 会禁用其部分功能,因此我需要全屏运行客户操作系统。

问题是,VirtualBox 拒绝以 1366x768 的分辨率运行客户机。当 VirtualBox 处于“全屏”模式时,客户机的分辨率只有 1360x768——窄了 6 个像素。因此,显示屏的左右两侧各有一个 3 个像素的黑条。

此用户遇到了同样的问题,但可接受的答案是“安装 Guest Additions”,我已经完成了;这使我达到了 1360,但没有达到 1366。

根据VirtualBox 票务追踪,曾经有一个错误,即客人的屏幕宽度会向下舍入到最接近的 8 的倍数,但他们声称已在版本 3.2.12 中修复了该错误。我正在使用版本 4.1.18,并且看到了他们声称已修复的相同问题,所以要么他们又搞砸了,要么他们说修复了它,要么我的问题完全是其他问题。

这个答案建议为虚拟机分配 128MB 的视频内存,并声称之后获得 1366x768 没有任何问题。当我创建虚拟机时,其显示内存已默认为 128 MB。我尝试将其增加到 256MB,但没有效果:客户机仍然太窄了六个像素。

我的主机操作系统是 Windows 7 64 位,并且正在运行 VirtualBox 4.1.18。

如何让 VirtualBox 以我的显示器原始分辨率 1366x768 全屏运行我的客户操作系统?

答案1

在虚拟机运行时,您还可以使用以下命令告诉客户操作系统更改分辨率:

VBoxManage controlvm "Name of VM" setvideomodehint 1366 768 32

最后的32表示显示色彩深度。

答案2

经过整个周末的努力,我终于找到了罪魁祸首:VirtualBox 的 3D 加速。

如果您进入虚拟机的“设置”>“显示”,并取消选中“启用 3D 加速”,则客户机将成功以 1366x768 运行。

答案3

我使用以下命令在 Fedora 22 KDE 上解决了同样的问题:

$ VBoxManage setextradata global GUI/MaxGuestResolution any
$ VBoxManage setextradata "Win 10" "CustomVideoMode1" "1366x786x32"

请注意,你的 VirtualBox 窗口应该关闭。

答案4

确保您的硬件支持您要使用的任何分辨率。

在 VirtualBox 中启动 Linux 客户机并按下cGRUB 菜单(在 Debian 中为蓝屏),然后在grub>提示符下使用vbeinfo命令检查硬件支持的分辨率。其格式为1366x768x32

Esc退出grub>提示并继续。然后:

  1. 登录系统root
  2. vim /etc/default/grub
  3. 编辑,使用支持的模式之一:

    GRUB_GFXMODE=1366x768x24
    GRUB_GFXPAYLOAD_LINUX=keep
    
  4. 更新您的 Grub 配置(Debian 中的命令是update-grub,OpenSUSE 中的命令是grub2-mkconfig -o /boot/grub2/grub.cfg

  5. 登出
  6. 在 Windows(或任何主机操作系统)中运行此命令:

    C:\>...\vboxmanage setextradata "your_guest_os_name" "CustomVideoMode1" "1366x768x32"
    
  7. 重新启动客户操作系统

相关内容