月度归档:2014年05月

linux下使用私有驱动时需谨慎升级kernel 和 x server

我的系统是 linux mint 13 xfce 版本, 显卡为ATI 的。 曾经为了追求最大限度发挥显卡性能而安装了ATI的私有驱动。

今天,我在配置一个软件过程中,执行了

     sudo apt-get upgrade
   

命令, 命令提醒我可以安装新版本的linux kernel 和 x server了, 我一看,好啊!新版本应该好很多! 然后立马输入了 “Y”, 让系统升级。
升级完成后,我继续使用电脑做别的事情,一切看起来非常的正常、平静。没有任何要发生异常的预兆。
晚上,我想电脑累了一天,重启下吧! 这下意外发生了,“我的系统启动后没有任何提示!黑屏啊!” 我想会不会因为升级导致grub不能引导?还是kernel 有问题了? 我强制关机,继续重启,有时居然可以进入linux mint 的启动界面, 但会卡在这里不动,而且奇怪的是,这个页面和以前不一样,字体明显很
粗糙。

此时我分析可能出错的地方有:
1. grub 引导程序损坏
2. 新kernel 有bug
3. x server 有问题

继续分析:如果grub引导坏掉,不可能有时可以进入linux mint 启动界面,所以可能性不大。kernel 如果有问题,也不可能进入linux mint 启动界面,更不应该在我 按 ctrl + alt + f1 时可以进入 非图形界面的。所以,出问题可能性最大的应该就是x server 了。

接下来,重启电脑,启动时注意按 SHIFT键, 在grub 引导菜单里面选择 recovery model 的菜单, 进入后,选择 “resume Resume normal boot ”, 按tab键将光标移动到 OK 按钮,回车,系统提示说“x server 不能启动,配置有问题。” 这样,我们就可以确认x server 不能正常启动了。

那我们就看看

     nano /etc/X11/xorg.conf
    

发现我的配置是ati的驱动,有下面内容,

Section "Monitor"
	Identifier   "aticonfig-Monitor[0]-0"
	Option	    "VendorName" "ATI Proprietary Driver"
	Option	    "ModelName" "Generic Autodetecting Monitor"
	Option	    "DPMS" "true"
EndSection

Section "Device"
	Identifier  "aticonfig-Device[0]-0"
	Driver      "fglrx"
	BusID       "PCI:1:0:0"
EndSection
    

猜测是系统x server , kernel 升级后私有驱动不兼容导致,那恢复成开源驱动。恢复方法为:卸载私有驱动。

恢复步骤:
1. 重启系统,正常启动过程中(不是recovery model), 按 ctrl + alt + f1 进入命令行。
2. 登录后, 切换为root用户

          sudo -i
        

3. 卸载ati 私有驱动

sudo sh /usr/share/ati/fglrx-uninstall.sh
sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev*
        

4. 重启系统

           sudo reboot
         

这次启动过程好像比较慢,但是,终于看到熟悉的 linux mint 登录界面了。说明系统恢复了!

这次,我差一点就行重装系统,重装很麻烦,最终曲折的恢复了系统。

不过,从这件事情上面得到歌总结:
如果安装了私有驱动 , 升级系统的 linux kernel 和 x server时要特别小心。最好不要升级这两个项目。

出发有特别需要,电脑上面的系统级软件还是不升级为妙。稳定才是我们的根本需求。