启用Nvidia驱动程序会弄乱初始屏幕


55

当您从实时CD引导或在安装Ubuntu之后进行首次引导时,启动屏幕看起来很棒。但是,一旦启用随apt-get安装的nvidia-current驱动程序,启动屏幕就会发疯。

疯狂,我的意思是分辨率很低,font(我认为)很奇怪,看起来好像都坏了。

10.04发生了这种情况,现在又发生了10.10。

启用nvidia驱动程序后如何修复启动屏幕?


1
在X中,我的分辨率设置为1600x900,但是使用sudo hwinfo --framebuffer或在grub的控制台中,最大分辨率为1152x864。谁能告诉我为什么???Thankx

它也发生在12.04,但是我有一个ATI驱动程序
Emerson Hsieh'5

我只得到带有nvidia徽标的闪光灯约1个AEC,然后一切正常。
2013年

如果您设置ATA密码,请特别小心。我这样做了,无论出于什么原因,它反复崩溃试图读取磁盘,它应该一直在等待密码...
MrMesees '18

以上评论基于xenial 16.04,而不是10.04或10.10
MrMesees '18年

Answers:


55

那很简单。首先:

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

2
这样做有不利之处吗?
ændrük

我曾经安装cryptsetup而不是第二步。它的工作原理相同。
延长

1
它不适用于我,我使用的是NVIDIA 8600M。它过去经常与Maverick配合使用...
nerdy_kid 2011年

2
太好了,如果有人想知道的话,它可以在12.04上正常工作
Anake 2012年

1
只是要确认这也适用于ubuntu 14.04和nvidia,只需忽略hwinfo部分,因为它不可用不是……而且一切都一样……
Mohammad ZeinEddin 2014年

14

上述解决方案可能不适用于您。以我为例,例如hwinfo没有显示支持的分辨率。但是,您可以直接从grub获取此信息。

Ç得到在grub控制台,然后输入insmod video_all随后videoinfo获得支持的分辨率。如果支持您的本机分辨率,请使用它。也如图所示直接使用它(即1680x1050x32,因此包括色深)。按下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

现在运行以下几行,以使启动画面更早显示,并将更改实际提交给grub。

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

希望这可以帮助。


1
不,hwinfo没有给出正确的分辨率,但是我使用了最近的-可以。我还尝试在启动时按C(也尝试Shift和Escape),但无法进入Grub控制台。
neziric 2010年

1
如果没有常规的grub屏幕(您可以在其中选择要引导的内核或操作系统),则必须在引导时按住SHIFT键。当您看到grub屏幕时,按C进入控制台。
mniess 2010年

对我来说就像一个魅力!就我而言,grub控制台中的命令是'videoinfo'而不是'vbeinfo'。
BrozzSama 2014年

@ user155897谢谢,我更新了答案。
mniess

为什么支持的分辨率比我的实际分辨率低得多
ray

3

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

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


我认为问题在于,Nvidia GPU需要专有的驱动程序,而这些驱动程序无法内置到内核中,因此它们会在启动后期加载。因此,如果我没记错的话,此脚本使您的计算机加载通用的vesa驱动程序以显示启动屏幕。这实际上使您的计算机需要更长的启动时间(但我不知道我们是在说秒还是毫秒)。

我个人不会费心更改系统的核心部分,但是只要它能正常工作,它就很好。


3

上面的修复程序对我不起作用,它们还远远不够。我已经用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:1280x800(+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

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

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

对我来说,这解决了这个问题,我尝试了所有其他建议和脚本,但这些建议和脚本均无济于事,祝您好运!


2
在存储库中找不到hwinfo。在Ubuntu 14.04.1。
1111161171159459134 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.