LinuxSir.cn,穿越时空的Linuxsir!

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

poweroff不能关闭电源的解决过程

[复制链接]
发表于 2004-4-6 20:47:24 | 显示全部楼层 |阅读模式
我是asrock的k7vt2主板, 装好fedora后发现不能用poweroff (halt -p)关闭电源,时分郁闷!

然后就是搜索问题原因,很多地方都说是apmd服务没有启动导致的,也有说和acpid有关.

我试着用 service apmd start | service acpid start 来启动服务.未果

然后我使用 /usr/bin/apmd ,提示说 apm不被内核支持,在看了很多电源讨论贴后,我觉得有比要重新编译内核,前前后后编译了5次,都是针对apm来编译的,模块化和内置我都试了,但还是提示apm不被内核支持.

接着我就开始看主板的说明书,我注意到说明书上标明该主板采用的试acpi的电源技术,我想这下可以解决问题了把,然后再一次编译了内核,这次针对acpi编译的,还是没有结果...........太胸闷了,要知道我在XP下关机是很顺利的

然后我就到google上搜 acpid+linux+poweroff 这些关键字,果然有线索了,原来是要在内核启动上加参数,我马上修改/boot/grub/grub.conf

kernel /vmlinuz-2.4.22-jhsea3do ro root=LABEL=/ hdd=ide-scsi vga=0x31A apm=off acpi=on
我仔细观察了init的全过程,很好这次acpid服务启动了,然后我试着halt -p,终于连电源一起关闭了,真的很高兴阿.

我琢磨了一下那两句代码的意思,这是内核的启动参数,也就是告诉内核该不要启用apm,而应该启用acpi, 我又注意到主板在开机启动是自检的结果是 power management = disable(我的主板不能在bios里面修改这个属性),也就是说主板默认是不启动电源管理功能的,所以acpi=on参数等于强至性的启用了acpi.

至此,这个困扰我的问题解决了,通过这件事,我学习了内核修改(迫不得已阿),我也找到了问题解决原理和过程,我把这个帖子发上来,希望大家又类似问题的可以参考我的解决办法,这样可以少走弯路....时间是宝贵的!

当不能关闭电源时:

1.请先看主板说明书,看看电源采用的技术
2.看看能不能在bios里设置好电源方安
3.启动相应的服务 service apmd start | service acpid start
4.加入内核启动参数

P.S. 如果大家对我的帖子满意,就sp一下把;)
发表于 2004-4-7 10:20:37 | 显示全部楼层
靠,这种好贴没人顶阿
还有没有人性阿
发表于 2004-4-7 10:30:46 | 显示全部楼层
//也就是说主板默认是不启动电源管理功能的,所以acpi=on参数等于强至性的启用了acpi.

这句话的意思值得商榷。
发表于 2004-4-7 10:39:04 | 显示全部楼层
难道说通过内核改变硬件设置??
偶的VIA PIII主板两个都支持,APM设的是User Define。
所以偶只要加上内核APM支持且启动APMD就可以使用Poweroff关机了。
 楼主| 发表于 2004-4-7 15:39:23 | 显示全部楼层
@cozo:

嗯,我的主板在自检时的确显示电源管理是禁用的,只有升级bios才能修改该选项,我没有升级bios

至于那句话是否正确,我也不敢保证,我不是硬件专家,我只是按照我对这件事理解来诠释它,呵呵
发表于 2004-4-13 12:35:50 | 显示全部楼层
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 00000000077f0000 (usable)
BIOS-e820: 00000000077f0000 - 00000000077f8000 (ACPI data)
BIOS-e820: 00000000077f8000 - 0000000007800000 (ACPI NVS) BIOS-e820: 00000000ffef0000 - 00000000fff00000 (reserved) BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)


Initializing RT netlink socket
apm: BIOS not found.
Starting kswapd
VFS: Disk quotas vdquot_6.5.1

上面是开机的内容
请问我是按上面说的改了,可是仍然不行


#halt -p
or
#init 0    dosen't work


3x(不知为何在浏览器里打不开输入法,只好先在gedit里写好了,再复制过来)
发表于 2005-1-11 00:48:46 | 显示全部楼层
半夜里看到,拿去试试
发表于 2005-1-11 08:59:19 | 显示全部楼层
没用,我的主板支持ACPI,对AMP和ACPI,我都试了N次了,最好的结果是在GRUB.CONF加ACPI=OFF,然后现在可以在POWER DOWN后按电源按钮快速关机,以前如果启用ACPI的话,按住按钮得5到6秒钟吧。
发表于 2005-1-15 13:50:15 | 显示全部楼层
我的在里面加了ACPI=OFF就可以关机了。(815EP主板)
在BIOS里设置 power management = Enable,如果在BIOS里设置成 power management = disable我的win2000就不能起动。

itle Fedora Core (2.6.9-1.11_FC2)
        root (hd0,0)
        kernel /vmlinuz-2.6.9-1.11_FC2 ro root=/dev/hdb2 acpi=off rhgb quiet
        initrd /initrd-2.6.9-1.11_FC2.img
回复 支持 反对

使用道具 举报

发表于 2005-1-18 11:09:35 | 显示全部楼层
我在vmware esx server 2.5里安装RHEL3AS UPDATE4 使用apm=on acpi=off后可以关电源了
回复 支持 反对

使用道具 举报

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

本版积分规则

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