16 July 2011

(Ubuntu) カーネルのバージョンアップをしたら、USBディスク取り出し時にフリーズする

Linux Kernelのバージョンアップ(これは、アップデート・マネージャで自動的に行われた)を行ったら、USBリムーバブル・ディスクを「取り出す」処理をしたときに、システムがフリーズするようになった。

/var/log/messages には、フリーズ時に怪しいログは記録されていない…。 再起動しようにも、Alt + SysRq + B などのマジックキー(Wikipedia記事)も全く効かない。

カーネルに組み込まれているUSBドライバのバグ???

と思って、Googleで調べてみた。

[ubuntu] System freeze after failed USB flash drive eject (Ubuntu forums)

同じようなトラブルに見舞われた人も居るらしい…

次のような事を試行錯誤したが、全く解決せず。一つ前のカーネル(2.6.32-32)で起動したら、問題が起こらないので、それを使いつづけるか…

■ kernel bug のレポートが上がっているようです
Bug #811745 Whole system freeze after safely remove external usb drive

■ カーネルアップデートが失敗して、再試行する場合の方法
今回は、(カーネル自体のバグらしいので)この方法は全く役に立ちませんでしたが…。 載せておきます

・Synapticパッケージ・マネージャで次のパッケージを再インストール
 linux-headers-generic-pae
 linux-headers-2.6.32-33-generic-pae
 linux-headers-2.6.32-33
 linux-image-generic-pae
 linux-image-2.6.32-33-generic-pae

 これらは、今回アップグレードして、不具合が発生したカーネル

・apt-get で不必要なパッケージの追放

# apt-get -f install パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下のパッケージが自動でインストールされましたが、もう必要とされていません: libusbmuxd-dev libplist-dev これらを削除するには 'apt-get autoremove' を利用してください。 アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。 # apt-get autoremove パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下のパッケージは「削除」されます: libplist-dev libusbmuxd-dev アップグレード: 0 個、新規インストール: 0 個、削除: 2 個、保留: 0 個。 この操作後に 139kB のディスク容量が解放されます。 続行しますか [Y/n]? y (データベースを読み込んでいます ... 現在 276679 個のファイルとディレクトリがインストールされています。) libplist-dev を削除しています ... libusbmuxd-dev を削除しています ... #