Tips記事
» 2002年04月03日 00時00分 UPDATE

電源ボタンを押してもシャットダウンしないようにしたい

[木田佳克,ITmedia]

 Red Hat Linux 7.2やTurbolinux7では,ATX電源を搭載するマシンで標準インストールを行った場合,APM対応のカーネルとapmdと呼ばれるデーモンが自動起動するよう設定される。apmdはAPMの状況を監視して,変化した際に特定の動作を行わせるデーモンだ(起動スクリプト内で,modprobe apmを実行して組み込むモジュール)。しかし,BIOS設定でAPMがサポートされているか,またはオンになっていなければ,システムインストール時にAPM対応カーネルは組み込まれない。

 また,マシンによってはAPMの初期化時にフリーズしてしまうなどの不具合が起こる場合もあるため,カーネルでAPMをサポートするかどうかはブート時でも設定できるようになっている。

 APM対応のカーネルが組み込まれているにも関わらず,電源ボタンでのシャットダウンを制限したい場合には,次のようにLILOの設定を変更し,apmdを停止させればよい。

# vi /etc/lilo.conf
...
image=/boot/vmlinuz-2.2.16-0.4
    label=ClusterServer
    root=/dev/hda2
    initrd=/boot/initrd
    append="apm=off"
    read-only

# /sbin/lilo  ←編集後に実行することを忘れずに

 一方,ブートローダーにGRUBを利用している場合には次のように追加しよう。

# vi /boot/grub/grub.conf
...
append="apm=off"

 続いてデーモン「apmd」を停止させる。

# /etc/rc.d/init.d/apmd stop

 また,ここではAPMについてだけ触れたが,カーネルがAPMモード以外にもACPIモードで起動している場合もある。確認するには,次のように起動時のメッセージを確認してみればよい。ここではAPMであることが分かる。

# dmesg | grep "^apm"
apm: BIOS version 1.2 Flags 0x07 (Driver version 1.14)

# dmesg | grep "^acpi"
#

 ACPIモードは,一部のチップセットで完全に対応できていないため制御できないことがある。そのような場合には,前述したconfファイル内で,次のように指定すればよいだろう。

append="acpi=off"

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ