解决Nvidia显卡的电脑安装Ubuntu及驱动的各种坑

来源:互联网 发布:rrt star算法 编辑:程序博客网 时间:2024/04/29 21:48

最近给游戏本装双系统(对没错,我就是用游戏本搞开发的那个人),由于是N卡+Intel核显的电脑(并且是1920*1080及以上的高分屏),装Ubuntu前后遇到各种坑。
下面我们慢慢道来如何爬出这些坑。

我遇到的这些坑目前如下,大家可以对号入座:
(1)用U盘安装Ubuntu系统,卡死在logo界面(下面那一排进度点根本不动),死活进不去;
(2)好不容易把(1)解决了,发现分辨率降低成了800*600,安装过程中部分按钮都点不到;
(3)安装成功后进系统发现没法调节屏幕亮度(甚至连系统设置-亮度里的条都没了);
(4)装上N卡官方驱动后发现在登录界面无限循环,死活进不去桌面;
(5)虽然系统正常了,驱动也装好了,但怎么莫名其妙又失效了(表现为亮度又不能调了)。


好,我们逐个解决这些问题,其实这些问题的出现逻辑也大致是上述的顺序。
(1)原因分析: 你会发现在logo界面其实分辨率很正常,这恰恰就是卡死的原因,因为Ubuntu默认内置了Nvidia的第三方开源驱动nouveau(不是官方的,有点坑,尤其是对桌面用户),所以导致在系统安装过程中就因识别到N卡而加载了第三方驱动,具体为什么卡死不太清楚,总之就是禁用掉。
解决办法:
(a)卡死在logo界面时,直接强制关机,回到最初的步骤;
(b)在黑白的grub引导界面(第一行是Try Ubuntu… 第二行是Install Ubuntu的那个界面),先用方向键选到第二行Install,但不要立即按回车,而是按E,就进入参数配置编辑界面;
(c)找到开头是linux的那行,一般来说是倒数第二行,在末尾quiet splash的后面先空一格再加上

acpi_osi=linux nomodeset

如果quiet splash后面发现有- - -这串符号,直接删了就是,只要保证上述添加的参数在splash后面即可;
(d)然后按F10即可进入正常的安装流程。

(2)原因分析: 因为我们在第一个问题中把显卡驱动给禁用了,所以这个时候分辨率会下降到800*600,安装过程的前几步还没什么,到分区那一步就坑死了,下面的菜单和按钮都被遮住了,看不见也点不到。
解决办法: 这个时候你按下Alt+F7,或者直接在标题栏点右键会看见有一个Move选项,然后鼠标会变成一个手指的图标,此时你用方向键或者鼠标拖动就能把窗口往上拖出屏幕边缘,下面的部分自然就看得见了。

(3)原因分析: 无法调节亮度,系统设置里压根不给你调节的拖动条,并且有些同学在用Unity Tweak Tool进行主题美化后发现一些透明度也失效了,这都是因为没有正确安装N卡官方驱动。
解决办法: 这个问题和(4)合在一起解决。

(4)原因分析: 在登录界面输入密码后进不去桌面,又跳回了登录,无限循环,这个问题主要原因其实也是因为没有正确地安装Nvidia官方显卡驱动导致的(英伟达工程师还专门给出了解决办法的,大概是因为OpenGL的一些问题)。
解决办法: 下面就给大家一个正确的姿势在Ubuntu上安装Nvidia驱动:
(a)首先去N卡官网下载自己显卡对应的驱动:www.geforce.cn/drivers
(b)下载后好放在英文路径的目录下,怎么简单怎么来,然后最好是把文件名改成自己记得的名字,等会儿要用到,因为默认下载下来后面带了一串版本号,比如我就改成了Nvidia-Linux.run
(c)为了避免后面各种麻烦,直接给驱动程序赋最高权限:

sudo chmod 777 Nvidia-Linux.run

(d)然后我们去把那个第三方驱动给拉入黑名单,先编辑文件:

sudo gedit /etc/modprobe.d/blacklist.conf

在文件末尾加上 blacklist nouveau
然后刷新配置:

sudo update-initramfs -u

(e)到这一步时最好重启一下系统,然后正式进入官方驱动的安装流程。按下Ctrl+Alt+F1进入非图形终端;
(f)禁用X服务:

sudo service lightdm stop

(g)带参数安装驱动(这个地方我的驱动程序直接在Home目录下,所以很方便):

sudo ./Nvidia-Linux.run -no-opengl-files

(h)重启X服务:

sudo service lightdm restart

然后重启系统吧,驱动问题一切OK。

(5)原因分析: 这个问题一般不会出现,一旦出现其实也不知道是什么情况下造成的,反正还是grub参数的问题。
解决办法:
编辑grub文件:

sudo gedit /etc/default/grub

找到GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash nomodeset”这一行,把nomodeset这个参数和它前面相邻的空格删掉,即改成:
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”
保存后,更新grub配置:

sudo update-grub

再重启电脑,显卡驱动又恢复效果了。


参考文章:
http://blog.csdn.net/u012759136/article/details/53355781
http://blog.csdn.net/ssmixi/article/details/73483795

原创粉丝点击