关于使用 Linux 客户操作系统将 VirtualBox 分辨率提高到 800x600 以上的问题有很多,但每次提出的解决方案都是“安装客户附加功能”。
我希望虚拟机尽可能简单且可移植,因此我不想安装“Guest additions”,因为它似乎在每次内核升级后都会失败,必须在 VBox 升级之前将其卸载等。
有没有办法在不使用 Guest Additions 的情况下将分辨率提高到 800x600 以上?为什么 WinXP 可以在不使用 Guest Additions 的情况下设置 1024x768?
答案1
将主机的原始分辨率添加为 VESA 视频模式:
VBoxManage -q setextradata "CustomVideoMode1" "1280x1024x32"
在您的 Xorg 配置文件中使用帧缓冲设备:
Section "Device" # ... Driver "fbdev" # ... End Section
使用带有启动选项的内核模式设置:
video=uvesafb:mtrr:3,ywrap,1280x1024-32
然而,性能可能会受到严重影响。
我认为最好将 VirtualBox 存储库添加到您的软件包列表中,然后安装 DKMS,它将在内核更改时重新编译模块。
另一种选择是使用 Xvesa 显示服务器而不是 Xorg;但是,它受到的限制更多(例如不支持 XKB)。
答案2
有没有办法可以在不添加访客的情况下将分辨率提高到 800x600 以上?
不。
为什么 WinXP 无需添加客户机就可以设置 1024x768
据我所知,默认的 VGA 驱动程序将最小分辨率设置为 1024x768。