LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1495|回复: 3

笔记本电脑无法正常关机的解决办法

[复制链接]
发表于 2010-5-21 16:18:04 | 显示全部楼层 |阅读模式
[问题描述] 笔记本安装完Mandriva2010.0后,每次关机均会停在power down.的提示处,此后电脑一直无响应,需要手动关闭电源。
[电脑配置] CPU: Intel T2050
内存:2G DDRII 金士顿
硬盘:500G WD SATA
显卡:ATI Moblity X1600
声卡:ALC883
主板:Intel 945芯片组
无线网卡:Atheros AR5001 wireless
系统信息:Mandriva 2010(内核版本号:2.6.31.13)
[解决办法]曾经搜索过很多关于Linux电源管理问题方面的资料,但都没有真正解决我本机上出现的问题。最初怀疑是没有启动ACPI,后通过在menu.lst中加入acpi=force也没有解决。后查阅资料,确信应该可以通过编译内核的方法解决该问题(有可能是内核不稳定,也有可能是系统中引入了不稳定的因素?)。下载最新的内核文件linux-2.6.33,参照《鸟哥的Linux私房菜》中的编译内核那一章来重新编译内核。简要步骤如下:
(1)将下载的linux内核原始码解压并放入到/usr/src/kernels/目录下
#tar -zxvf linux-2.6.33.tar.gz -C /usr/src/kernels/
(2)删除中间文件,保持干净原始码(在原始码目录下)
#make clean
(3)配置核心功能(在原始码目录下)
#make menuconfig
在这一步里,我着重配置了“General setup”、“Processor type and features”和“Power management and ACPI options”这三块的功能,对于不明白的选项可以查看帮助,里面会有详细的解释。特别重要的是,有很多的选项是有依赖性的(?),如
Symbol:ACPI[=y]
Depends on: !IA64_HP_SIM[=IA64_HP_SIM] && (IA64[=IA64] || X86[=y])(注:第1项不能选,后两项必须任选一项)
Selects: PNP[=y] && CPU_IDLE[=y]
像选项里的很多功能,如CPU family,AC Adapter,Battery,Thermal Zone,Enable MPS table,Symmetric multi-processing support等等是要特别注意的。
(4)保存配置文件(Save an Alternate Configuration File)
(5)编译核心(在原始码目录下)(第5,6步的时间较长)
#make bzImage
(6)编译模块(在原始码目录下)
#make modules
(7)安装模块(在原始码目录下)
#make modules_install
(8)安装新核心
#cp /usr/src/kernels/linux-2.6.33/arch/x86/boot/bzImage /boot/vmlinuz-2.6.33(...)
(注括号里的省略号表示配置核心功能时区别版本的自定义文字,在General setup里的第2,3项里设置,两者保持一致)
复制配置文件
#cp /usr/src/kernels/linux-2.6.33/.config /boot/config-2.6.33(...)
(9)建立对应的Initial Ram Disk(initrd)
#mkinitrd -v /boot/initrd-2.6.33(...).img 2.6.33(...)
(10)编辑grub(/boot/grub/menu.lst)
这一步里参照已有的配置文件,添加新的启动项。各项配置都要准确,有些不准确的地方也可以正常启动系统,但没有正确加载相应的配置(?)。我在BOOT_IMAGE这一项没有设置正确也可以启动系统,但问题依旧,更改设置后,问题解决。
说明一下,编译内核并不会对系统造成大的影响(除非很多关键设置没有选择正确),编译新内核后可以添加新的启动项来测试新内核的稳定性,旧内核的启动项依然保留。在新内核无法正常启动的情况下,可以通过选择老的内核来启动系统后做相应的修改再测试。可以说编译内核是很安全的。
       以上有不正确的地方,请指教。
发表于 2010-5-22 18:47:31 | 显示全部楼层
实践证明,像LZ这样方式编译的内核和官方内核相比是没有任何优势的!(无论是速度,内存占用,兼容性,硬盘空间占用等),还不如直接升级官方内核,简单,高效!
现在编译内核,以下三步可以合并为  make && make modules_install   就行了
(5)编译核心(在原始码目录下)(第5,6步的时间较长)
#make bzImage
(6)编译模块(在原始码目录下)
#make modules
(7)安装模块(在原始码目录下)
#make modules_install
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-5-22 19:57:35 | 显示全部楼层
以上的方法主要是为了解决不能正常关机的问题。确实官方内核在很多方面要好于自己编译的内核(对新手来说)。奇怪的是好几个发行版本都有无法正常关机的怪现象,原因至今不明。
回复 支持 反对

使用道具 举报

发表于 2010-5-31 20:13:42 | 显示全部楼层
Post by wanghao19840921;2091712
以上的方法主要是为了解决不能正常关机的问题。确实官方内核在很多方面要好于自己编译的内核(对新手来说)。奇怪的是好几个发行版本都有无法正常关机的怪现象,原因至今不明。


,原倒是明的,跟硬件配置有关系,可以说是兼容问题。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表