リンク: [ホーム] [自己紹介] [リンク集] [アルバム] [ソフトウェア] [発表文献] [その他]

まさおのChangeLogメモ / 2011-01-03

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2011-01-03 Mon

* URL memo

- Playing the Open Source Game 日本語訳: delicious6 users
オープンソース・ゲームをプレイする
著者: Shawn Hargreaves
日本語訳: yomoyomo

* Ubuntu upgrade にはまった…

手元の DELL Precision T3500 に Ubuntu Server を入れてテスト開発用
に使っているのだが、すこし調子がわるかったので、OSの入れ替えを検討
していたのだけど、そのまえに一回 Release Upgrade (10.04 -> 10.10)
をやっててみようと思い立って、

https://wiki.ubuntulinux.jp/UbuntuTips/Install/UpgradeMaverick
のページを参考に、

% sudo vi /etc/update-manager/release-upgrades
% sudo do-release-upgrade

としてみて、再起動したら、HDD を認識しなくなってしまい、はまった。
エラー内容は、起動直後に

ALERT! /dev/mapper/karin-root does not exist. Dropping to a shell!

というエラーを出して、initramfs のシェルに落ちてしまうというもの。
どうもHDDが認識できなくなっている模様だが、旧バージョン(アップグ
レード前)のカーネルでブートは問題無くできるので、HDDの問題ではな
く、カーネルの方の問題だろう、というところまでは推測が付いたのだけ
ど、ここからが長かった。

まず、上記メッセージなどを手掛かりに Ubuntu Forum などのサイトを見
てみたが、結構な数のエラー報告があるのだけど、解決しているものが少
なかったり、RAID でのエラーだったりして、あまり参考にならない。

ブート時のオプション quiet をはずしてみると、上記のシェルに落ちる
直前に、以下のようなエラーが大量に出ていることが分かった:

ahci .....: failed to stop engine (-5)

これをキーワードにして探してみると Fedora サイトの FAQ がヒットし、

http://fedoraproject.org/wiki/KernelCommonProblems#PCI_Devices_Not_Recognized_.2F_AHCI:_.22failed_to_stop_engine.22
On kernel version 2.6.34 and later, ACPI is used to determine
PCI resources. Some machines have bugs in their ACPI BIOS code
and fail set configure resources properly. Try using pci=nocrs
to disable use of ACPI for resource enumeration.

とのこと。要は、カーネルバージョンを上げた際に、カーネルのモジュー
ルロードに失敗するケースのようだ。。。試してみたら見事に起動できる
ようになった。

よって /etc/default/grub に以下の設定を追加し:

GRUB_CMDLINE_LINUX="pci=nocrs"

% sudo update-grub2

としておく。