Ubuntu 22.04服务器未连接PCI显示器时如何加载efifb?
Ubuntu 22.04服务器未连接PCI显示器时如何加载efifb?
我完全懂你的困扰——升级到22.04后,必须开机就接显示器才能调出tty登录界面,这确实挺折腾的。先帮你理清楚问题根源:Ubuntu 22.04的内核或efi-framebuffer驱动逻辑有了变化,默认只有在开机时检测到外接显示器的情况下,才会自动初始化efi-framebuffer并加载EFI VGA驱动;而之前的版本不管有没有接显示器,都会默认完成这个初始化步骤。
那怎么解决呢?我们可以通过强制指定efifb的参数,让系统即使没接显示器也能创建帧缓冲,具体操作步骤如下:
- 首先编辑GRUB配置文件:
sudo nano /etc/default/grub - 找到
GRUB_CMDLINE_LINUX_DEFAULT这一行,在你已有的nomodeset参数后面,添加efifb=force,1920x1080-32。这里的1920x1080是你需要的分辨率,32是色深,你也可以根据之前fbset -i输出的参数调整成1920x1080-77,保证和你接显示器时的设置一致。修改后这行大概是这样:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset efifb=force,1920x1080-32" - 保存并退出编辑器后,更新GRUB配置:
sudo update-grub - 最后重启服务器,之后不管开机时有没有接显示器,系统都会自动创建
/sys/devices/platform/efi-framebuffer.0并加载EFI VGA驱动,你后续插HDMI显示器就能直接看到tty登录界面了。
重启后你可以用sudo fbset -i验证一下,即使没接显示器,也应该能看到帧缓冲的配置信息哦。
备注:内容来源于stack exchange,提问作者Michael Walton
相关产品推荐
相关产品推荐

