update: Ubuntu 11.10 下官方驱动不正常,还是用echo OFF > /sys/kernel/debug/vgaswitcheroo/switch了。

原先一直是在 VMWare 里面运行 Ubuntu 10.10,后来 11.04 出了以后就直接重新安装了(反正没有什么重要数据),但是虚拟机下没有 3D 加速能力,Compiz 没有体验过,Unity 界面就更别说了,最近又有点蛋疼,干脆直接装个非虚拟机的 Ubuntu 吧。

我的破本儿是 ACER 4745G,i5 460M + ATI HD5650 + 4GB。

安装前分区情况(500GB):

  1. 14GB NTFS Win7 恢复隐藏分区
  2. 105MB NTFS Win7 的系统隐藏分区
  3. C:\ 64GB NTFS Win7 系统分区
  4. 逻辑分区:
    1. D:\ 58GB NTFS 软件
    2. E:\ 260GB NTFS 个人文件
    3. F:\ 50GB NTFS 备份
  5. G:\ 14GB NTFS 下载与缓存

准备把 D 盘分出 8GB 供 Ubuntu 使用,因为不是常用系统,也没资料和大型软件要用,所以划分 8GB 应该是够用了,也是为了给 D 盘凑个 50GB 的整数。用 Win7 的系统管理把 D 盘压缩卷后腾出了 8GB 的空白分区,以做备用。

ubuntu-11.04-desktop-amd64.iso打开,提取出casper\vmlinuzcasper\initrd.lz放到 C 盘,使用 easyBCD 添加 NeoGrub,再在 configure 中添加

title Install Ubuntu 11.04
root (hd0,2)
kernel (hd0,7)/vmlinuz boot=casper iso-scan/filename=/ubuntu-11.04-desktop-amd64.iso ro quiet splash locale=zh_CN.UTF-8
initrd (hd0,7)/initrd.lz

用来引导 Ubuntu 的 Live CD,免去了刻盘或者用导入到 U 盘的麻烦。顺便添加一个 Grub2 启动项,为安装好 Ubuntu 做准备(我是打算用 BCD 引导 Grub2 再引导 Ubuntu,毕竟 Win 是主力系统)

重启后进入 Live CD,运行终端把挂在的 ISO 设备卸载了:sudo umount -l /isodevice,准备安装。

开始进行安装后问题出现了,挂在了安装过程中。问题是选择玩安装选项之后进入分区选项,Ubuntu 找不到存在的 Win7 系统,并且无法识别硬盘和所有分区,再网上搜索了一下,大概了解了是分区出现错误,用fdisk -l提示“分区不能重叠”,没办法,重新进入 Win 看看分区状况,才发现目前硬盘上已经存在了 4 个主分区,达到了硬盘的主分区数目上限,而最后一个“下载和缓存”盘竟然也是主分区,当然无用了,直接在计算机管理里面关掉,重新格式化,使其变成了逻辑分区的一部分,虽然不知道原理对不对,但是起码把分区不能重叠的问题解决了。

调整后的分区:

  1. sda(0,0)14GB NTFS Win7 恢复隐藏分区
  2. sda(0,2)105MB NTFS Win7 的系统隐藏分区
  3. sda(0,3) C:\ 64GB NTFS Win7 系统分区
  4. sda(0,4) 逻辑分区:
    1. sda(0,5) D:\ 58GB NTFS 软件
    2. sda(0,6) 1GB Linux-Swap
    3. sda(0,7) 7GB EXT4 挂载"\"
    4. sda(0,8) E:\ 260GB NTFS 个人文件
    5. sda(0,9) F:\ 50GB NTFS 备份
    6. sda(0,10) G:\ 14GB NTFS 下载与缓存

然后就是比较漫长的安装等待过程,顺便一提,选择时间的界面会把硬件时钟搞乱,如果选择的是0时区,安装好后的软件源也会从相应的时区下载...爆慢...

安装成功之后,大致感受了一下 Unity,感觉还是不错,界面还是比较漂亮的,左侧的 Dock 也很不错,要说最大的缺点,就是这个“开始”菜单效率实在太低下了,相比 Gnome 选择程序的速度要慢上许多,还是全屏的,只能按Esc或者点击图标才能退出。

然后发现一个问题,风扇相比 Win 下简直可以用疯狂来形容,出风口烫得不行,查看一下 CPU 温度实际也就 50 度,相对夏天来说不算很高,但是为什么风扇转速这么高?接着 Google,发现问题是两块显示卡同时在工作,虽然主显卡是集成显卡,但是独立显卡并不会断电,这就造成了内部温度很高。Win 下我都是使用节能模式+禁用独显,就是为了避免风扇声影响心情,于是再再 Google,找到了 N 多解决方法,但是遗憾的是大部分都不管用,包括:安装 acpi_call 模块等。
唯一一个有效的是

# 关闭未使用显卡
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
# 查看当前工作显卡
cat /sys/kernel/debug/vgaswitcheroo/switch
# 运行完后出现的提示应该为:
0:IGD:+:Pwr:0000:00:02.0
1:DIS: :Off:0000:01:00.0
 
# 如果提示 /sys/kernel/debug/vgaswitcheroo/switch 不存在
# 说明目前没有使用开源驱动,或者加入了启动参数如"nomodeset"等
# 安装官方驱动后此方法失效。

运行完之后风扇立刻就清静了不少,不过问题仍然有:我把这条命令写入到自动运行,开机黑屏,反复尝试,即使删除或者重装系统也会黑屏,这确定了并非关闭独立显卡导致的问题,而是 Ubuntu 与双显卡系统之间存在兼容性问题。如果发生了黑屏而不能启动的问题,尝试在开机进入 Grub2 时按E然后再quiet splash后面加上radeon.modeset=0(与添加nomodeset相比,不仅分辨率是正确的,而且也能进入 Unity 界面),可以进入系统,但是此时风扇仍然是高负荷运转,一切又回到了原点。

继续 Google,发现有人通过安装官方闭源驱动能够解决这一问题,但是之前由于安装 Ubuntu 推荐的驱动之后,导致进入不了 Unity,而且 ATI 催化剂也识别不出独立显卡而放弃。这次再试,终于解决了禁止独立显卡的问题,驱动可以到 ATI 官网下载,x86 和 x64 是同一文件,然后在终端运行

sudo bash ~./download/ati-driver-installer-11-6-x86.x86_64.run

按1次1,两次Y进行安装。
安装完成后,重启电脑,到 BIOS 中禁用集成显卡,开机进入 Ubuntu,运行终端。

sudo aticonfig --adapter=all --initial

执行完毕后重启,到 BIOS 中再开启可切换显卡。进入到系统中运行 ATI 催化剂管理器,就能看到显卡切换功能了,选择节电 GPU,确定,重启。

其实到这应该都结束了,可是没想到问题又来了,后来重启后进入不到图形界面,卡在了“Check Battery State [ok]"界面,此时没有死机,仍然可以切换到 TTL 1~6 进行操作,运行

# 严重注意大小写,大写 X,和数字 11
sudo rm /etc/X11/xorg.conf

然后到 BIOS 中切换显卡,执行上述aticonfig命令,重启,切换为可切换显卡,就没问题了。
(网上出现此问题的人很多,原因因人而异,这只是一种显卡配置导致的问题)


7-7 日安装了 pae,4GB 内存终于由 2.8GB 认成 3.6GB,和 Win7 X64 一样了,并且并没有传说中的休眠挂起的问题,只是休眠之后唤醒会导致独显开启,必须重启才能禁用独显,不过 Ubuntu 的休眠用到得不多。

总之历经磨难,我的 Ubuntu Natty 终于可以正常的使用了,出问题问谷歌!

  1. 越来越感到 Ubuntu 是高手折腾的东西

  2. 下载的 iso 文件可以放在 ntfs 格式的分区下不?

  3. 想学他就不要装 windows 强制自己用它, 时间一长就会了

  4. 当初安装这个。按了 64 的改成 32 的,又换回 64.。。然后又纠结启动项。。。费劲