2013/04/13

Ubuntu  Lubuntu 12.10 でアップデートしたらシャットダウン出来なくなった。

Lubuntu12.10 をインストールしてある古いマシンがある。このところあまり使用していなかったが、イースター休暇後に久しぶりにアップデートした。そうしたらシャットダウン出来なくなっていることに気がついた。そういえば前回アップデートしたあともそうだった。


システム要件


 CPU      1GHz
 Motherboard  K7S5A  
 チップセット   SiS735 
 メモリー      512MB


症状

起動時にカーネル
 ”kernel 3.5.0-26-generic
を(またはこれより新しいカーネル)選択すると、シャットダウン時に
 ”mount: / is busy.
  * will now halt.”
と出てきて、そのまま進まなくなってしまう。シャットダウンするには強制終了する以外方法はなかった。
これより古いカーネルでは問題なくシャットダウンできる


原因

シャットダウン出来ずに強制終了したあとに再度PCを立ち上げて、コマンド

 dmesg

でログをみてみると、最後の方に

 apm: BIOS not found

とかかれた行があった。BIOS ではacpi を有効にしてあるのだが、 何らかの理由で ACPI を認識せず、APM で電源管理をしようとしてしまっているようだ。


解決策


GRUB2 を使用している場合

- 以下のコマンドで端末から /etc/default/grub を開く。

  sudo gedit /etc/default/grub

- ファイルの中の

  GRUB_CMDLINE_LINUX_DEFAULT

  で始まる行の最後に acpi=force を書き加える
  例えばこの行が
  GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

  と書かれていたら

  GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi=force"

  と書き換える。

- その後は以下のコマンドで grub を更新する。

  sudo update-grub

- 更新したら再起動する。


GRUB を使用している場合

- 以下のコマンドで端末から /boot/grub/menu.lst を開く。

  sudo gedit /boot/grub/menu.lst

- ファイルの中の

  kernel

  で始まる行の最後に acpi=force を書き加える。


備考

acpi=force はカーネルのオプションの一つで、強制的にACPIを有効にすることが出来る。

quiet はカーネルのオプションの一つで、PCを起動するときにカーネルログを表示させないようにする。このオプションは現在では splash と共に使用される。

splash はカーネルのオプションの一つで、PCを起動するときにカーネルログを表示させる代りにアニメーションを表示させる。このオプションは現在では quiet と共に使用される。

ACPI (Advanced Configuration and Power Interface) とは1996年に公開されたPCの電源管理に関するオープン統一規格のことだ。(参考:5) APM (Advanced Power Management) は1992年に公開されたPCの電源管理に関する統一規格のことだ。ACPI と APM の違いは、ACPIは OS 側で電源管理を行うのに対して、APM では BIOS 側でそれを行う。(参考:6)


参考

1. Rechner schaltet sich nicht ab
2. UbuntuTips/Others/BootOptions
3. Shutdown does not power off computer
4. Optionen für Bootmeldungen
5. Advanced Configuration and Power Interface 
6. Advanced Power Management