当前位置: 首页>>技术问答>>正文


启用Nvidia驱动程序会混淆启动画面

, , ,

问题描述

当您从Live CD启动或在安装Ubuntu后进行首次启动时,启动画面看起来很棒。但是一旦启用nvidia-current驱动程序,安装了apt-get,启动画面就会疯狂。

疯狂,我的意思是分辨率非常低,字体(我假设)非常奇怪,它看起来都被打破了。

这发生在10.04,现在又是10.10。

启用nvidia驱动程序后如何修复启动画面?

最佳解决思路

这很容易。首先:

sudo apt-get install v86d hwinfo
sudo hwinfo --framebuffer

这将显示您支持的分辨率。做记录。

然后:

gksudo gedit /etc/default/grub

搜索 – GRUB_GFXMODE =

在此下方您需要输入:GRUB_GFXPAYLOAD_LINUX=1024x768< – your-resolution-here

保存文件,然后:

echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash
sudo update-grub2
sudo update-initramfs -u

次佳解决思路

上述解决方案可能对您不起作用。就我而言,例如hwinfo不显示支持的分辨率。但是,您可以直接从grub获取此信息。

按c进入grub控制台,然后输入insmod video_all,接着输入videoinfo以获得支持的分辨率。如果支持您的原始分辨率,请使用它。也可以如图所示直接使用它(即1680x1050x32,因此包括colordepth)。按ESC退回。

如果您拥有支持的分辨率编辑/etc /default /grub,并且文件包含以下两行:

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=1680x1050x32
GRUB_GFXPAYLOAD_LINUX=keep

现在运行以下行以更早地显示splash,并实际将更改提交到grub。

echo "FRAMEBUFFER=y" | sudo tee -a /etc/initramfs-tools/conf.d/splash
sudo update-initramfs -u -k all
sudo update-grub

希望这可以帮助。

第三种解决思路

这是一个简单的脚本来解决这个问题:http://www.webupd8.org/2010/10/script-to-fix-ubuntu-plymouth-for.html

我不知道这是否会改变你的alt + F2问题

我认为问题是,Nvidia GPU需要无法内置到内核中的专有驱动程序,因此它们会在很晚的启动阶段加载。因此,如果我没记错的话,这个脚本会让你的计算机加载一个通用的vesa驱动程序来显示启动画面。这实际上使您的计算机需要更长的时间才能启动(但我不知道我们是在谈论秒还是毫秒)。

我个人不会费心去更换我的系统的核心部分,但只要它有效,它的确很好。

第四种思路

以上修复对我来说不起作用,但它们还远远不够。我已经用13.04对此进行了测试,但是他的博客上的作者将它用于较低的ubuntu版本。来自此博客的原始信息:http://jechem.blogspot.be/2011/04/fix-plymouth-splash-screen-in-ubuntu-on.html

首先运行以下命令安装hwinfo:

sudo apt-get install v86d hwinfo

安装后运行以下命令并记下最高分辨率:

sudo hwinfo --framebuffer

对我来说这是模式0x0361:1280×800(+5120),24位,然后编辑以下文件:

gksu gedit /etc/default/grub

这将打开GRUB配置文件,我们现在查找GRUB_CMDLINE_LINUX_DEFAULT = “quiet splash”并使用以下内容进行更改,使用我的更改您的分辨率并添加颜色深度(对于我24可以是16或32)。

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1280x800-24,mtrr=3,scroll=ywrap"

然后找到以下行(如果需要,取消注释)并再次更改分辨率,请注意您不包括颜色深度:

GRUB_GFXMODE=1280x800

保存并退出,然后编辑以下文件:

gksu gedit /etc/initramfs-tools/modules

滚动到文件末尾并添加以下行,再次像以前一样添加分辨率和colordepth:

uvesafb mode_option=1280x800-24 mtrr=3 scroll=ywrap

然后在终端中键入以下命令,然后重新启动:

echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash
sudo update-grub
sudo update-initramfs -u

对我来说,这解决了问题,我尝试了所有其他的建议和脚本,没有一个工作,但这样做,祝你好运!

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1392.html,未经允许,请勿转载。