
我正在嘗試在 VirtualBox 中執行 Windows 8。我的筆記型電腦的顯示器正好是 1366x768。如果解析度低於 1366x768,Windows 8 會停用其某些功能,因此我需要全螢幕執行來賓作業系統。
問題是,VirtualBox 拒絕以 1366x768 的解析度運行 guest 虛擬機器。當 VirtualBox 為「全螢幕」時,客戶端只有 1360x768——六個像素太窄了。因此,顯示器的左右兩側各有一個三像素黑條。
該用戶遇到了同樣的問題,但接受的答案是“安裝來賓添加”,我已經完成了;這讓我到達了 1360,但沒有到達 1366。
根據VirtualBox 票務追蹤器,曾經有一個錯誤,訪客的螢幕寬度會向下舍入到最接近的 8 倍數,但他們聲稱在 3.2.12 版本中修復了該錯誤。我正在使用 4.1.18 版本,並看到他們聲稱已修復的相同問題,因此要么他們再次破壞了它,要么他們錯誤地修復了它,要么我的問題完全是另一回事。
這個答案建議給虛擬機 128MB 的視頻內存,並聲稱之後獲得 1366x768 沒有問題。當我建立虛擬機器時,其顯示記憶體已預設為 128 MB。我嘗試將其增加到 256MB,但沒有效果:客機仍然太窄了 6 個像素。
我的主機作業系統是 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>
提示並繼續。然後:
- 以以下身分登入系統
root
vim /etc/default/grub
編輯,使用支援的模式之一:
GRUB_GFXMODE=1366x768x24 GRUB_GFXPAYLOAD_LINUX=keep
更新您的 Grub 設定(Debian 中的命令是
update-grub
,OpenSUSE 中的命令是grub2-mkconfig -o /boot/grub2/grub.cfg
)- 登出
在 Windows(或任何主機作業系統)中執行以下命令:
C:\>...\vboxmanage setextradata "your_guest_os_name" "CustomVideoMode1" "1366x768x32"
重新啟動您的來賓作業系統