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 を削除しています ...

#