2> 后来查看了var\log\中的日志,发现我的系统的ACPI 是打开的,而且是编译到内核里面的,但是:
代码: 全选
ACPI: Looking for DSDT in initramfs... error, file /DSDT.aml not found.
3> 我猜测是不是我的主板太老了[确实也太老了,BIOS里面根本没有电源管理的设置,连USB启动都不支持]
所以,我就在配置文件中查找APM,发现CONFIG_APM=M
4> 我安装这个模块,modprobe apm
提示内核不支持,那么估计就是内核没有编译,那我就自己编译内核
5> 把apm模块的选项都选上,重新编译内核
代码: 全选
CONFIG_APM=m
CONFIG_APM_IGNORE_USER_SUSPEND is not set
CONFIG_APM_DO_ENABLE=y
CONFIG_APM_CPU_IDLE=y
CONFIG_APM_DISPLAY_BLANK=y
CONFIG_APM_ALLOW_INTS=y
7> 重启系统,并且在grub编辑,启动参数 去掉acpi=force, 替换为apm=on
8> 启动后依然不能关机,我再次重启,依然如 7>那样编辑启动参数,并且手动加载模块modprobe apm
系统提示: FATAL:Error inserting apm xxxxxx, No such device.
9> 我又检查系统的模块配置文件内容如下
代码: 全选
CONFIG_APM=m
CONFIG_APM_IGNORE_USER_SUSPEND is not set
CONFIG_APM_DO_ENABLE=y
CONFIG_APM_CPU_IDLE=y
CONFIG_APM_DISPLAY_BLANK=y
CONFIG_APM_ALLOW_INTS=y