為了將嵌入式專案從 ARM 目標移植到 Linux/x86,我必須建立一個 Debian VM(我現在使用 Virtualbox),它以幀緩衝模式啟動,解析度為 640x480。
我使用該systemctl set-default multi-user.target
命令使虛擬機器在幀緩衝區上啟動,但它似乎無法低於 800x600 解析度。我能找到的所有教程和指南都與以高解析度模式啟動來賓虛擬機有關,但我找不到任何可以解決我的問題的內容。
我遵循了以下位置的建議https://forums.virtualbox.org/viewtopic.php?f=29&t=83189
edit /etc/default/grub
Uncomment: #GRUB_GFXMODE=640x480
Modify it to required resolution: GRUB_GFXMODE=1024x768
Add the following: GRUB_GFXPAYLOAD_LINUX=keep
Save, exit, and run update-grub
Edit "/etc/modprobe.d/fbdev-blacklist.conf" and add vboxvideo Reboot
使用GRUB_GFXMODE=640x480
並創建/etc/modprobe.d/fbdev-blacklist.conf
文件,但沒有結果 - 它始終以 800x600 開始
有人可以幫忙嗎?我目前使用的是 Debian 9,如果出現不相容的情況,可以移至另一個版本。
編輯:根據要求,這裡是 #cat /proc/cmdline 的輸出:
BOOT_IMAGE=/boot/vmlinuz-4.9.0-11-amd64 root=UUID=5bb1ded6-45a6-4d13-93d8-5f593e66e609 ro quiet
答案1
在 VirtualBox Manager 檔案 -> 首選項 -> 顯示最大來賓螢幕大小參數可以是自動/無/提示
使用尺寸 None 或具有所需尺寸的提示為我做到了。
僅供參考:GRUB 配置:
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""
GRUB_GFXMODE= the one you want (1024x768x32 in my case)
GRUB_GFXPAYLOAD_LINUX= keep or the one you want (1024x768x32 in my case)
#GRUB_TERMINAL=console (kept in comment)
答案2
如果這對其他人有任何幫助,我可以透過以下更改以 VGA 模式啟動/etc/default/grub
:
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"
代替
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
這會啟用所有啟動訊息,並且由於某種原因,還會使控制台保持 VGA 解析度。我在以下位置找到了一些相關建議https://linuxconfig.org/how-to-increase-tty-console-resolution-on-ubuntu-18-04-server
據我所知,VGA 解析度可以透過以下任一方式設置
GRUB_GFXMODE=640x480
GRUB_GFXPAYLOAD_LINUX=keep
或者
GRUB_GFXMODE=""
GRUB_GFXPAYLOAD_LINUX=640x480
答案3
新增到/etc/default/grub
GRUB_GFXMODE=640x480
GRUB_GFXPAYLOAD_LINUX=keep
若要以普通文字模式啟動,請「保留」以保留使用 gfxmode 設定的圖形模式