新买的电脑,之后就是个人主要工具了,天然不能不装早已习惯的Ubunu。考虑到兼容性,以及在Ubuntu下通常也用不到4G内存,因而选择了32位系统。因为安装U盘是现成的,觉得很容易就搞定的事情,结果折腾了好几天。主板、显卡、无线网卡,都出了很棘手的问题。
主板
第一个问题是根本安装不了,不管是U盘安装、wubi安装仍是硬盘安装,通通卡在安装界面出现以前。搜了大半天,终于有一条对症的,设置BIOS,关闭APIC就能够了。APIC是啥东西?中文全称“高级可编程中断控制器”。不知到关掉以后对系统性能有多少影响,可是目前要装Ubuntu只能关掉了。
显卡
主板问题解决,我还没来得及高兴的时候下一个问题就来了:选择安装Ubuntu以后显示器忽然黑掉,显示“无视频信号”……第一个反应就是显卡的问题。 机器配了一块Nvidia GTX560SE的显卡,估计是Ubuntu不支持这块显卡,进不了图形模式?终于找到一条有用的方法:在选择安装Ubuntu前,先按Tab键(原文中是按F6,经测试Ubuntu12.04是按Tab)修改启动脚本,删掉splash(原文中是删除quiet和splash),添加nomodeset(由于是Nvidia显卡),按回车,顺利进入安装界面。嗯,无线网络上不去,虽然输入正确的密码但是链接不上网络,这是下一个问题,避过不谈。 正常安装后,启动系统仍然会无视频信号。在GRUB菜单下按e键,编辑启动脚本,删除quiet和splash,添上nomodeset,按control+x启动,可进入系统。 下面就是安装显卡驱动了。因为暂时没法在Ubuntu系统下上网,而且好像附加驱动中也没有能用的Nvidia驱动,因而到官方网站上下载了Linux版的驱动,为方便表示,假定驱动程序已更名位Nvidia.run,而且赋予可运行的权限。重启电脑,进入系统后control+alt+F1进入第一个控制台界面,输入用户名密码登陆。进入驱动程序所在目录,先运行sudo stop lightdm 关闭X,而后运行sudo ./Nvidia.run,根据提示一步步安装好显卡驱动,最后sudo start lightdm启动X就能够了。 有个问题百思不得其解,就是当进行比较大的更新以后,重启机器发现分辨率又降下来了,并且Nvidia的管理工具也不能使用了。没办法,重装显卡驱动。提示说上次装完驱动有文件被动过,无论他,继续安装,漂亮的界面又回来了。
网卡
最难解决的就是这个网卡了。最初的表现是能识别出WIFI网络,可是输入密码后提示验证错误。开始从为不支持WPA2加密方式,设置路由器为WPA或不加密确实解决了,但还没来得及记录就发现又没法链接了。反复折腾未果,想到是驱动的问题。 因为整个过程拖了近一个月时间,期间反反复复作着这样那样的尝试,不少细节已经记不清了。总之,我找到了两份Linux上可用的驱动,一份来自无线网卡厂商EDUP,另外一份来自芯片厂商Realtek,芯片型号为rtl8188cus。两份驱动基本相同,只是Realtek那份发布日期更新一些。最简单的安装方法是运行install.sh,可是安装玩驱动以后,查看专有驱动的话会发现驱动已经激活但没有在使用,很奇怪,不是吗?而后尝试禁止后再强行激活,重启电脑,杯具发生了……系统死在了一片紫色的背景中。从新进入系统的方法是去启动参数中设nomodeset。 事情到了这里几乎进了死胡同,再没有别的办法了。从安装网卡驱动的错误提示入手,查找大量资料和反复尝试后成功安装了一次,顺利连上WIFI,可是一重启又回去了。感受ubuntu已经提供了驱动,可是这个驱动很差用,可是这个驱动正在占用硬件,因此新的驱动装不上。又查了查如何卸载驱动,获得一个命令:rmmod [模块名]。其实要用到的是一组命令,首先用lsmod查看系统当前加载的模块,有一个很可疑,名为“rtl8192cu”,使用上述命令将模块卸载,再次安装驱动——成功。这里只尝试了来自EDUP的驱动,驱动模块名字是“8192cu”,没有rtl前缀。 只是这样安装的驱动重启系统后又恢复原状了,lsmod命令查看,加载的仍是rtl8192cu。重复rmmod,安装驱动……又能够用了。不过这样每次重启就得重装驱动也太麻烦了,rtl8192cu能够放在黑名单里。方法是编辑/etc/modprode.d/blacklist.confg文件,在里面添加blacklist rtl8192cu。重启电脑后发现无线网络链接已经消失了。至于加载驱动,也不用每次运行install.sh从新编译安装,只要找到编译后的8192cu.ko文件,使用sudo insmod 8192cu.ko安装便可,或者sudo modprobe 8192cu命令。后者听说功能更强大一些,不要求在模块所在目录下运行。想开机自动加载模块的话,感受有个比较笨的办法,把这个命令放在启动脚本里。
更进一步
由于装网卡驱动,原本安装完显卡驱动就能够弃用的nomodeset参数每次启动都须要输入。能够打开/etc/default/grub,里面有这么一行:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"。看到了熟悉的quiet和splash……在这里写nomodeset就能够了。 另外说一下这几个启动参数: quiet 不显示启动时的调试信息 splash 显示图形化的启动界面 至于nomodeset是针对Nvidia显卡来讲的,其余显卡还有其余对应的参数。由于最新的内核已经将图形模式挪进了内核里面,在X服务加载X驱动以前就能够指定硬件时钟频率并注册显卡,本意是想在一开始就提供一个高画质的启动界面,而后平滑过渡到登界面,不过杯具的是这在一些显卡上并不能正确执行,因而就以黑屏了结。加上nomodeset参数后就会告知内核在X启动前不要加载图形模式而是以BIOS模式启动。 如此说来其实加nomodeset参数并不须要删除quiet和splash的。