Ubuntu 20.04 TTY/控制台模式屏幕超出显示器范围的解决求助
Ubuntu 20.04 TTY/控制台模式屏幕超出显示器范围的解决求助
针对你升级到Ubuntu 20.04后遇到的TTY和恢复模式屏幕超出显示器的问题,结合你提供的Intel Xeon E3-1200 v2/3rd Gen Core显卡、HDMI连接的硬件信息,我给你几个针对性的解决方案试试:
先确认你已经尝试过的操作(避免重复踩坑)
- 修改
/etc/default/grub中的GRUB_GFXMODE=1280x1024,但未生效 - 通过
sudo dpkg-reconfigure console-setup调整字体,问题依旧
针对性解决方案
1. 让内核继承GRUB的分辨率设置
你之前只设置了GRUB_GFXMODE,但可能内核启动时又恢复了默认分辨率,需要加上GRUB_GFXPAYLOAD_LINUX参数来保持设置:
- 编辑GRUB配置文件:
sudo nano /etc/default/grub
- 修改或添加以下两行(可以用你图形界面正常的1680x1050,或者
hwinfo里明确支持的分辨率比如1280x1024):
GRUB_GFXMODE=1680x1050@60 GRUB_GFXPAYLOAD_LINUX=keep
注:
@60是指定60Hz刷新率,如果你不确定显示器支持的刷新率,可以去掉;也可以直接用hwinfo里的模式格式,比如1280x1024x24对应24位色模式
- 保存后更新GRUB:
sudo update-grub
- 重启系统测试TTY模式
2. 添加Intel i915驱动的内核启动参数
你的显卡使用的是i915驱动,可以直接在启动时强制指定HDMI输出的分辨率:
- 编辑GRUB配置文件:
sudo nano /etc/default/grub
- 找到
GRUB_CMDLINE_LINUX_DEFAULT行,添加video=HDMI-1:1680x1050@60(这里的HDMI-1需要确认,你可以在图形界面执行xrandr命令查看你的HDMI输出名称,可能是HDMI-A-1、HDMI-0等):
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=HDMI-1:1680x1050@60"
- 保存后更新GRUB并重启:
sudo update-grub && sudo reboot
3. 使用VESA帧缓冲支持的精确模式
从你提供的hwinfo --framebuffer输出看,你的显卡支持多种标准VESA模式,比如1280x1024的24位色模式(对应Mode 0x031b),可以直接指定这个模式:
- 编辑GRUB配置文件:
sudo nano /etc/default/grub
- 设置:
GRUB_GFXMODE=1280x1024x24 GRUB_GFXPAYLOAD_LINUX=1280x1024x24
- 更新GRUB并重启测试
4. 切换到纯文本控制台模式
如果上述图形控制台模式的调整都无效,可以尝试禁用图形控制台,改用纯文本模式:
- 编辑GRUB配置文件:
sudo nano /etc/default/grub
- 修改以下参数:
GRUB_TERMINAL=console GRUB_GFXMODE=text
- 更新GRUB并重启,此时TTY会使用纯文本模式,通常不会出现超出屏幕的问题
补充说明
- 每次修改GRUB配置后,必须执行
sudo update-grub才能让设置生效 - 如果你不确定显示器的最佳分辨率和刷新率,可以在图形界面查看显示器的设置,或者参考显示器的说明书
备注:内容来源于stack exchange,提问作者eugened
相关产品推荐
相关产品推荐

