猛暑になるといろいろ壊れます。
自分自身も壊れつつある中、ノートPCが動作不良に陥りました。現在、ようやく復旧に至りましたがその過程を備忘録として記します。
復旧に際し、先行事例を検索しましたが見つけられませんでした。同様の例も検索した処、
該ノートPCはThinkPad Edge 14でOSとしDebianを使用しています。購入後、真っ先にインストール済みのWin7を削除、Debianをインストールして使ってきました。このPCではDebian 6.0 (Squeeze)から、Debian 7 (Wheezy)→Debian 8 (Jessie)へとアップグレードしていますから、それなりに酷使してきたことになります。
全ての作業はDebian上のGUI(KDEデスクトップ)で行っています。以前、ラズパイを弄った際もKDE上で起動したターミナルエミュレータから接続していました。
このPCの動作不良の状況はフリーズでした。電源投入で Linuxに続いてX Windowが起動、GUI環境へのログイン画面が現れます。ここからKDEデスクトップ環境にログインするわけです。KDEデスクトップ環境へのログインまではできるのですが、そこから何か操作するとカーソルがフリーズします。そうなるとPCのタッチパッド操作もキーボードからの入力も不可能となります。
フリーズする操作は特定できませんでした。個人のプロファイルを読み込むウォレットへのパスワード入力、WiFiルータとの接続、Chromeの起動といった、GUI環境へのログイン後の様々な操作でフリーズが発生しました。
一旦フリーズが起きるとにっちもさっちも行かなくなります。Xの再起動([Ctrl]+[Alt]+[Bs])、OSの再起動([Ctrl]+[Alt]+[Del])も実行不可能でした。[Ctrl]+[Alt]+[F1/F2/F3...]でもCUIによる仮想端末にも切り替えられず...結局、マジックSysRqキー([Ctrl]+[Alt]+[PrtSc]+[B])で強制再起動する以外に手段を見い出せませんでした。この操作は、リセットボタンによる強制的な再起動をソフトウェアスイッチで行うに等しく、できれば避けたい対処です。
実際、該操作で再起動を行うと起動時にファイルシステムのチェックfsckが行われます。このノートPCを使う以前、ファイルシステムはext2でした。当時、こういった強制再起動でfsckがかかるとファイルが破損していることが時折ありました。その後、ext3、ext4と開発が進むに従い修復不可能な破損に遭遇することはなくなりました。が、そうは言っても稼働中のPCのコンセントを引っこ抜くようなものですからファイル破損の恐れを考えれば躊躇する操作であるのは間違いありません。
で、ここからの復旧を試みたわけです。
まず、最初に排熱ファンの異常を疑いました。というか決めつけてしまいました。これは、”Linuxではフリーズは殆ど起こらないはず”、”GUI環境へのログインでフリーズする”から原因はハードウェアにある、と判断したことによります。(結果としてこの推察は誤りで復旧まで遠回りすることになりました。今振り返れば、LinuxがフリーズしないというのはCUI環境での話であり、排熱ファンの異常であればフリーズではなく、CPUの熱暴走で電源が落ちるか強制再起動がかかったと思われます。)
勿論、”ThinkPad”、”フリーズ”、”Linux”、”KDE”辺りの語で検索しましたが、有用な事例は見つからず、そのまま排熱ファンの交換へと進みました。
検索してみるとThinkPadの排熱ファン交換は、全く同じ機種ではないもののいくつかの先行事例がありました。下写真はそれらを参考にPCの裏蓋、続いてファンユニットを取り外した状態です。
ファン・アセンブリーの取り外しと取り付け - ThinkPad Edge 14 および 15
下写真は取り外したファンユニットです。
引っくり返すとファンだけ取り外すことができました。このファンだけ手配できれば入手、交換してできあがり、という目論見でした。ファンには”Panasonic UDQF2ZH82FQU DC5V 0.21A 1201M2"と記してありました。この品番や、ThinkPad edge 14 CPUファンで調べてみた処、Panasonic製は入手不可能のようですが、互換品としてDelta KSB06105HA-AG35が入手できるようです。
うーん、これは純正部品としてLenovoに採用されている部品なんでしょうか。そのまま交換して問題ないのか否か...検索してみるとデルタ電子という台湾の電子部品メーカ製のようです。自分が知らないだけで、真っ当なメーカのようです。純正部品かは不明ですが、まぁ、大丈夫だろうと判断して購入、交換しました。
互換品ですから何ら支障なくファンの交換は完了し、下写真のようにファンユニットをPCに組戻しできました。
ただ、取り外したPanasonic製ファンの埃を取り除いて見た処、ファンが全くスムーズに回転するのが少し気掛かりではありました。無駄な作業だったか?
ともあれ、PCを元の状態に戻し、電源投入、OS起動、ログイン画面からデスクトップ環境にログイン...
フリーズ
...ファン交換は徒労でした。
その後、無線LAN部分のハードウェア的な異常を疑い、有線LANで接続するもデスクトップ環境にログインでフリーズ...
残るはHDDの物理的な破損かと、データのバックアップ、HDD交換、システムの再インストールを考え始めた際です。もう少し不具合についての情報が何か得られないかと少し弄ってみました。
その結果、どうやらCUI (キャラクター・ユーザー・インターフェース)なら使える、電源投入時に古いバージョンのkernelを選択すれば(フリーズしないわけではないが)多少はマシ、ということが判りました。
で、まぁ、新しいHDDを手配しても届くまで少し時間がかかるだろうし、Debianのアップグレードを試してみるのも全くの無駄骨ではないだろうと。
ここから涙目の作業に入っていきます。
流れとしては、これまで使用してきたDebian 8 (Jessie)をまず最新の状態にして次バージョンのStretch、更にはBusterにバージョンアップしていくわけですが、現在のバージョンからは不可能です。フリーズするわけですから。
それならばと、古いバージョンのkernelで起動してデスクトップ環境にログイン、X window上の端末から
#apt-get update
#apt-get upgrade
#apt-get dist-upgrade
#apt-get autoclean
#apt-get autoremove
を行った後、
#vi /etc/apt/sources.list
で編集へと進みました。sources.list内でjessieと記されている部分を全てstretchに置換。再度、
#apt-get update
#apt-get upgrade
を行うと。順当に進めばこの操作だけでDebian Stretchへのバージョンアップが完了するはずなんですが...そうは簡単にバージョンアップさせてもらえないわけです。
パッケージの依存関係を保持する範囲内でのアップグレードである、#apt-get upgradeまでは問題ありませんでした。
#exit
に続けてOSの再起動後もデスクトップ環境へのログインが可能でした。
その後パッケージ構成の変更、つまり、新規にDebian Stretchに採用された、或いは外れたパッケージ追随した依存関係の変更を伴うアップグレードである、#apt-get dist-upgradeを行った処...
様々なエラーメッセージが表示されました。最初は、
”システムにサンドボックスユーザー「_apt」はありません。権限を削除できません”
が...全く心当たりがありません。検索して、
#adduser _apt --force-badname
で解決できました。どうやらStretchへのアップグレードに伴う変更のようです。
#apt-get update
して次は、
公開鍵を利用できないため、以下の署名は検証できませんでした
と表示されアップデート失敗。で、
#apt-key adv --keyserver keyring.debian.org --recv-keys PUBKEY_ID
とか、
#gpg -keyserver keyring.debian.org -recv-keys PUBKEY_ID
とかやって、
#apt-get update
の後
#reboot
#cat /etc/apt/source.list|less
でsource.listの内容を調べましたが、dl.google.comの記述はありませんでした。と、思ったら与り知らぬ内に/etc/apt/sources.list.dディレクトリが作成されていてそこにgoogle-chrome.listのファイルが自動で作成されていました。このファイル内に記述されていたhttp://dl.google.com/linux/chrome/debがエラーの原因のようです。検索して、