PCに関するトラブル解決メモ

注)これまでに生じたトラブルへの対処事例等を忘れないようにメモしてあります。大部分はLinuxに関するものですが、一部Windowsやそれ以外の トラブルも含まれます。皆さんのトラブル解決のためのヒントになれば幸いです。ただし、不必要な操作が含まれているかも知れませんし、そもそも間違ってい るかも知れません!   参考にされる場合は自己責任でお願いします。本メモを利用することよっていかなる損害が生じても私は責任を負いません。

1: / 領域のファイルシステムが一部壊れた
2: bootしたら/homeが丸ごと消滅!
3: 停電の後、電源が復活しても電源が入らない
4:
パッチを当てて カーネルrpmを再構築
5:カーネル更新をしたら、
LILOからカーネルの読み込 み ができなくなった。
6: bootしたらHDDデバイスごと消滅!
7: suspendの後、resumeが始まらない
8: tkPPxPが突然立ち上がらなくなった
9: ノー トPCのキーボードが不調
10: MBR領域が壊れてしまい、OSが起動できなくなった
11: ext2のファイルのVFAT32コピーについて
12: MBR/OS本体を含むマスターHDDが突然機能不全に陥った
13: ssh -X でリモートPCの画面を飛ばそうとすると Bad Atom .. なるエラーが出て接続できない
14: ATOK for linux (vine Linux 3.2) インストール方法
15: WindowsUpdate中にdisk full!
16: Anthyが突如起動しなくなった(Vine4.2)
17: eclipseが突然キー入力を受け付けなくなる
18: VineLinux5.1 suspend/resumeに失敗する。
19: 日付と時刻がずれる
20: Dual boot環境でWindowsのUpgradeをする(復習)

事 例1:/ 領域のファイルシステムが一部壊れた(Linux)
   普通、不良となった領域のパーティッションをunmountしてからe2fsckをかければ解決する(場合が多い)が、/ 領域は常にマウントされるべき領域のため、umountできずe2fsckをかけることが出来ない。そこで、

   1. 念のため single user モードで立ち上げ直す。(bootオプションに "1"を付けて立ち上げる)
   2. / 領域をread-onlyでremountする。
       例: mount -o remount -rn /
   3. ファイルシステムチェックと修復
       /sbin/e2fsck -c /dev/hda2   /dev/hda2 はルート領域のパーティッション
   4. rebootする。

先頭に戻る

事 例2:bootしたら/homeが丸ごと消滅!
  原因究明の結果、
   1. 省電力設定でHDDへのアクセス頻度が低い場合、HDDの電源が切れる

   2. HDDへのアクセス要求の際にHDDの電源が入るが、このときになんらかの原因でファイルシステムを破壊。
   3. boot時にシステムがHDD不良領域を読み込めず、home領域のマウントに失敗する。
   らしい。
   対処:
    ○biosで省電力設定を変え、HDDを止めないようにした。
    ○不良ブロックを e2fsckでチェックするも、これだけでは復活できず、止むを得ずmkfsで再フォーマット。
   教訓:
     本事例の場合、そもそもmountできない状態に陥ったためデータは全て失われた。日頃からbackupはまめに行おう。

先 頭に戻る

事 例3:停電の後、電源が復活しても電源が入らない
   週末に定期点検のため停電があると聞いていたため、shutdownの後電源を切って帰宅。が、週明けに電源をいれても始動しない。
   対処:メーカー修理担当者を呼んだ。
その結果、電源ユニットが破壊されていることが判明。上記定期点検の際に、瞬間的に500Vがかかったらしく、これが原因で電源ユニットが破壊された可能 性がある。
   教訓:停電の際には念のため、プラグを抜こう。

先 頭に戻る


事例4: パッチを当てて カーネルrpmを再構築
   参考URL
   kernel等が自分のハードウエアに合わない場合、ソースをダウンロードして修正し、コンパイルすれば良いのだが、patchや膨大なオプション設定を し直すのは正直大変だ。デフォルトの設定で満足しているのであれば、SRPMの必要な部分だけを更新してrebuildした方が楽。
   1. rpm -ivh kernel-2.4.*.src.rpm を実行しsrpmを展開
   2. patchを作る(上記ソースファイルとは別に同じversionのソースファイルを用意して作る)
        diff -u path/問題のある古いソースファイル path/修正後の新しいソースファイル > XXXXX.patch
        XXXXX.patchは yourhome/rpm/SOURCES に置く。
   3. SPECファイルの編集 (例:yourhome/rpm/SPECS/kernel-2.4-v1.spec)
        specファイルは元のソースファイルに対してコンパイル時に適用するべきオプションやパッチの当て方を書いてあるファイルである。パッチに関しては、 この最初の部分にpatch実行時オプションが列挙され、後方に使用するパッチファイルが列挙されている。オプションは

        %patch943 -p0  この%が付いている部分がオプション定義部分。 ここでは patchコマンドのオプション-p0を指定。これは上記patchファイルを生成する際に/usr/src/linux以下どの深さで作るかによって決 まる。/usr/src/linux上で作った場合は0である。943は自分で決めることができる通し番号。ただし、他と重ならないことが重要と思われ る。オプションは、

        Patch943  XXXXX.patch パッチファイルの指定。先頭文字が大文字であることに注意。番号は上と同じ番号にする。
   4. 次を実行(yourhome/rpm/SPECSの中に入って実行)
       rpmbuild -ba kernel-2.4-v1.spec --target i686   (i686はCPUの型)
       あとは処理が終わるまで暫く待つ(1時間は覚悟)
      この結果yourhome/rpm/RPMS/の中に新しく再構築されたrpmファイルが生成される。

先 頭に戻る

事例5:カー ネルを更新したら、 LILOからカーネルを読み込めなくなった。
 
kernelを更新したら、 /sbin/liloを再実行する必要があるのだが、これを忘れると生ずる。
  対処:
  1. liloの古いカーネルからの起動オプションを選択して、とりあへず強引に起動する。(設定によっては、立ち上げ時にモジュールの 読み込みやデーモンの起動に失敗する場合があるが、気にしない。)
  2. /etc/lilo.confが正しく書かれてあるかを確認。必要なら修正。
  3. 次を実行
     /sbin/lilo
  4. rebootする。
  教訓:lilo.conf更新の際に、オリジナルのカーネルからの起動オプションは消さずに残しておこう。トラブル時には何かと役に立つ。(もち ろんオ リジナルカーネル/モジュールも消さずに残す) これを用意していない場合、起動用フロッピーディスク を用意して立ち上げる等の方法がある。しかしノートPCの場合は、外付けFDD等のリソースが無い出 張時にトラブルが発生すると手の施しようがなくなるので注意。
先 頭に戻る

事例6:bootしたらHDDデバイスごと消滅! (Linux)
  1.気温が低すぎるとHDDが回転しない場合がある(特にスレーブHDD)。部屋を温めてから再度rebootしてみると良い。
  2.さもなくば、HDDへの電源ケーブルが外れかけていないかどうか。 HDDのデータケーブル(IDEケーブル等)がぬけかけていないかどうかをチェック。
  3.上記が良く分からない場合は再度差し直す。(一から組み直す)
  予防策: ケーブル類は長さの余裕を持って繋げるようにする。(ケーブルの長さが若干足りず、ピンと引っ張った状態で繋げると、気温が下がった際にケーブルが少し縮 んで、外れることがある)
先 頭に戻る

事例 7:suspendの後resumeが始まらず固 まってしまう
  swap領域に不良セクターが存在する、swapに保存されたイメージが壊れている。もしくはUSBデバイス等、相性の悪いデバイスが接続されている。 (別の原因も考えられる。18を参照のこと)
 発生状況:
  ○suspend処理中に電源が切れるアクシデントが発生。結果、swap領域のセクターを破壊したらしく、resumeに失敗する。
  ○USBマウスを差し込んだままresumeしたところ、起動はするものの、キーボードとマウスが効かなくなる。リモートからloginし、 reboot。  
  ○resume処理中に、たまたまコーヒーメーカのサーモスタットが切れた。その直後、カーネルパニックが発生。電源を強引に切って再度resumeを試 すも、同様にパニックが発生して立ち上 がらない。コーヒーメーカからの電気的ノイズが原因か?。
  ○電子レンジ動作中にsuspendしたところ、次のresumeに失敗し、再起動する。電子レンジからの電気的ノイズが原因か?

  修復方法:
  liloでカーネルの起動オプションに"noresume2"を加えて強引に立ち上げ、root領域の修復と共に、swap領域を修復/作り直して rebootする。
   root領域の修復:   mount -o remount -rn / (read-onlyで remount)
                      e2fsck -c /dev/hda2    (/dev/hda2はrootパーティッション)

   swap領域の修復:   mkswap -c /dev/hdaX    (/dev/hdaXはswap領域, -cオプションは不良ブロックのチェック)
 
  教訓1:万が一に備えてlilo.conf に no-resumeでの起動エントリー(以下)を加えておこう。

  image=/boot/vmlinuz
        label=linux-no-resume
        read-only
        root=/dev/hda2
        append="acpi=on apm=off noresume2"  <-この行が必要

  教訓2:電子レンジ、サーモスタット付きの機器(例:コーヒーメーカー)、動作中は極力suspend、resumeを避けるか、ノイズフィルターを電源 に付ける。

先 頭に戻る

事 例8:tkPPxPが突然立ち上がらなくなる。
  ノートPCにおいて、PHSのPCMCIAカードモデムを使って通信を行う時に、何度かtkPPxPを動かした後、再度立ち上げようとするとエラーを吐い て立ち上が らずに終わってしまうことがある。また、運良く立ち上がっても、DNSに継らず事実上使用できない場合もある。これらはrebootすると改善するもの の、飛行機待ち合わせ 時等、時間がタイトな状況でのrebootは困る。 (kernelのethertapとPCMCIAオプションは設定済みであることが前提)
   原因:調査の結果、以前立ち上げたPPxPデーモンが何故か終了せずに走ったままになっていることがあり、この状態で新たに立ち上げようとした場合に生ず るようだ。
   対処:PPxPデーモンをKillしてから再度tkPPxPを立ち上げる。それでも同様に失敗する場合は、デーモンKILLの後、PHSカードを一旦外 し、再度装着し直してから実行すると良い。

先 頭に戻る

事例 9:ノートPCのキーボードが不調
ノートPCのキーボードは、デスクトップのそれよりもデリケートに思える。古くなって来るとキーが効かなくなって来るのだ。当然良く使うキーからおかしく なり、例 えばviエディタで使うj,k,b,n等はよくダメになってしまう。特に出張中に発生すると困る。
応急措置:効かなくなったキーを少しだけ上に引っ張り上げる。(←自己責任で行って下さい!) そして元に戻す。すると復活する場合がある。

先 頭に戻る

事例 10: MBR領域が壊れてしまい、OSが起動できなくなった
LILOが立ち上がるべき所で数字"9 9 9 9...."が表示されて止まる。もしくは"LI"と左上に表示されて止まる場合はMBRが壊れている。こうなるとLinuxもwindowsも起動でき ず、一見、手の施しようが無いように見える。ここで焦って再インストールをしてはいけない。まずは、あらゆ る手段を講じて MBR領域復旧に注力すべきだ。(再インストールは避けた方が無難)

方法1. Linux復旧 ディスクでFDD起動を試みる。 何とかLinuxがブートできれば、後は/etc/lilo.conf が正しいかどうか確認し、/sbin/lilo を実行し、rebootする。

注1)上記方法で復旧ディスクのカーネルのversionやdistributionが一致しない場合は、パニックを起こしてブートに失敗する場合があ る。復旧 ディ スクのカーネルとして、出来る限りversionの近いものを選択すると成功率が高い。あるいは、DOS起動ディスクを用意してDOSを立ち上げ、そ こからloadlinを 使ってブートすると成功する場合もある。

注2)復旧ディスクによる立ち上げに際して、オプションにrootパーティッションの指定が必要。rootパーティッションのデバイス名は手帳に控えてお こう。
    例:linux root=/dev/hda2  or loadlin vmlinuz root=/dev/hda2 (後者はDOSから立ち上げる場合)

方法2. Linuxインストール用のFDDやCD等でレス キューモードでブートする。
このとき、
boot: linux rescue
と打ち込む。ここではまりやすい間違いは、 "[F5-rescue]"と表示があるため、F5を押して、そのままリターンを押してしまうことだ。こうするとレスキューモードでは立ち上がらず、代わ りにインストーラが立ち上がってしまう。F5を押すと、" boot: "が表示されて入力待ち状態になるので、"linux rescue "と打ち込んでからリターンを押す。
なお、この時rootパーティッションは、/ になるのではなく、別のディレクトリにマウントされる。(boot時にマウントポイントが表示される)
この場合はMBRに書き込む際に -r オプションで / のマウントポイント指定して、
lilo -r マウント先
とする必要があるだろう。こうすることで、liloはマウント先を / とみなしてMBRへの書き込みを行う。

方法3. 上記復旧ディスクやLinuxインストーラを用意する手だてが無く、とりあへずwindowsだけでも復旧させたい場合は、windows-xp のCDからブートして、復旧コンソールを立ち上げてMBRをwindows用に修復する方法もある。(この際、Administratorのパスワードが 必 要!) 修復コンソールが立ち上がったら、fixmbr を実行。するととりあへずMBRは復旧するがwindowsのみブートが可能となる。あとはマルチブートツールをセットアップし、linuxのroot パーティッションからの起動オプションを加えれば、Linuxも復旧す るはず。

教訓1: Linuxの復旧ディス クは 万が一に備えて用意しておこう。いざと言うとき、これが無いと困る。
教訓2 : FDD起動時に必要なrootパーティッションのデバイス名を忘れないように手帳にメモしておくか、あるいは/etc/fstabのバック アップを別の場所 に置いておこう。
教訓3 : 方法3に関して、windows-xp の administoratorのパスワードはくれぐれも忘れないようにしよう。特に自分のアカウントに管理権限を与えている場合はadminになる 必要もないため、1年も経てば忘却の彼方である。
教訓4:万策尽きてwindowsの再インストールを余 儀なくされた場合、windows-xpで暗号化したファイルは復旧できない場 合がある事を覚悟しよう。これを防ぐには、事前に暗号鍵のバックアップを取っておく必要がある。これを行っていなかった場合は"運が悪かった"と諦め るしかない。
参考:本事例の発生状況: ○/etc/lilo.confの書き方を間違えた。 ○SH3のボードに組込みLinuxのLILOを設定するため、親機(PC)でボードに装着するCFカードMBR領域への書き込み作業を行ったところ、親 機のMBRが壊れた。liloの実行時になんらかの原因で親機のMBRに影響を与えた可能性がある。

先 頭に戻る

11. EXT2のファイルのVFAT32へのコピーについて

最近ポータブルHDDが市販されるようになったが、その多くがVFAT32でフォーマットされている。このようなディスクにLinuxのファイルの BackUpを取ろうとコピーしたら、日本語のファイル名、ディレクトリ名がVFAT32上で正確に反映されない。

対処:HDDの中にext2のパーティッションを設けてコピー。

先 頭に戻る

12. MBA/OSを含むマスターHDDが突然機能不全に陥った

1. boot時、biosからHDD不調のwarningメッセージが出るようになる。
2. 業務上、止めるわけに行かず、強行すれば動くので、使い続けた。
3. ある日、HDD上の一部のファイルが読めなくなる。
4. 不良ブロックが発生したと見て、e2fsck -c /dev/xxx で不良ブロックチェックしたが、6時間経っても終了しない。
5. e2fsckが全く前進しないため、止むなくboot。しかし...windows/Linux共に起動できなくなっていた。

 OSが立ち上がらないため、このままではBackUpが取れない。が、失ってはならないファイルがスレーブHDDにあるため、なんとかサル ベージすることを迫られた。

対処:
◯Knopix(CDのみで立ち上がるLinux)を立ち上げ、スレーブHDDをマウント。外部記憶装置にファイルをBackUp。
○HDDを交換。


教訓:
◯Knopixを常備薬として用意しておこう。
◯ダウンロード販売で購入したアプリケーションソフトをサルベージしようと、Windowsの復旧コンソールの起動を試した。奇跡的にc:\の読み込みは できたが、保存先の「デスクトップ」に入れず、肝心のサルベージが出来なかった。原因は復旧コンソールでは日本語が入力で きず「cd デスクトップ」と打ち込めなかったためである。ダウンロード購入したアプリは英語名のdirectry等、日本語の入力無しでアクセスできる領域に保存す べきだろう。

先 頭に戻る

13. ssh -X でリモートPCの画面を飛ばそうとすると Bad Atom ..なるエラーが出て接続できない
ssh -Y で接続すると良い。

先 頭に戻る

14. ATOK for linux (vine Linux 3.2) インストール方法
1.マニュアルにしたがってインストール
2. cd /usr/share/vine/
3. patch -p0 < /opt/atokx2/sample/client_patch/client_patch.vine30
4. /etc/init.d/atokx2 start
5. /etc/init.d/IIim start
6. setime atokx

先 頭に戻る

15. Windows Update 中にdisk full !
自 動Update機能が働き、windows XP sp3 のインストールが始まるも、インストール半ばでdiskfullとなる。その後、これまでのインストールプロセスをキャンセルして元に戻す処理が始まる が、これも途中で失敗。結局、windows, Linux双方を再インストールせざるを得なくなった。
本来ならばインストール開始前にdisk 容量チェックが働き、足りない場合には警告が出るはずだが、警告が出なかった。おそらく、system領域の大部分を圧縮して容量を稼いでいたため、容量 チェックの際に誤認を起こし、そのままスルーした可能性が考えられる。また、過去のイメージを保持してリカバーする機能についてもdisk容量の確保のた めストップしていたことも原因の一つと思われる。
教訓:system領域は圧縮しない方が良いようだ。また、disk容量は余裕を持って確保しよう。古いPCを持っている人は御注意。

先 頭に戻る

16. Anthyが突如起動しなくなった(VineLinux 4.2)
/home/yourname/.anthy の中のprivate_dict_default.ttが壊れると生ずるようである。
一旦、この中のファイルを全部消去して、rebootすると復旧する。

先 頭に戻る

17. eclipseが突然キー入力を受け付けなくなる。
  editorの中にポインターを持って行き右クリックする。メニューの一番下の「input method」を選択し、SCIM bridge input methodを選択すると入力出来るようになる。

18.VineLinux5.1 でsuspend/resumeに失敗する。
  VineLinux5.1では、gnomeが多くの管理業務を実行している。acpiに関する業務もその一つで、gnomeからsuspend処理が実行 できる。ところが、この機能とacpiデーモンとが喧嘩して失敗するようなのだ。なぜならacpiデーモンを止めたとしてもsuspend処理は実行でき る。そこでacpiデーモンを立ち上げないようにしたところ、失敗することがなくなった。

19. 日付時刻がずれた
 再設定の方法:よく忘れる
  2010年10月8日1時10分にセット
# date -s "10/08 1:10 2010"
# hwclock --systohc ←ハードウエア時計のセット
20. Dual boot環境でwindowsのupgradeを行う(grubの場合)
このケースで問題になるのは、windowsをアップグレードすると、OSのセレクターがなくなり、windowsしか起動しなくなるという点。しかしこ れはLinux領域が消えているわけではなく、MBR領域がwindowsに占領されたため。これを復旧するには、
「事例10: MBR領域が壊れてしまい、OSが起動できなくなった」
を参照のうえLinuxインストールCDからレスキューモードでlinuxを立 ち上げる。
レスキューモードでは本来の/ではなく、別の部分が/になっているので、chroot で本来の/に戻した上でlinux loaderもしくはgrubを復旧する。ここではgrubの場合の方法。

grub-install /dev/xxx

で復旧できる。xxxはdfしたときに/が/dev/sda?ならば sda。
つまり

grub-install /dev/sda

で良い。

grub-install /dev/sda1
のように数字を付加しちゃうとMBRが「壊れる」ようなので注意(多分)。こわれたら、こんどはwindowsが立ち上がらなくなる。この場合には windowsインストールCD/DVDで立ち上げ、インストールではなくて復旧メニューを選択する。ところが、そもそもファイルシステム自身がこわれて いるので、どのパーティッションを復旧させるべきかを指定するべきところが指定出来ず、厄介な状況に陥ったと後悔することになる。でも慌ててはいけない。 自動的に問題を解決するメニューを選択するとあっさり解決できる(多分)。
(本当の原因を確かめるには、もう一度同じ状況を作って確かめる必要があるが、仕事マシンを再度壊して〆切が守れなくなるのはとても困るため、やりたくな い)

愚痴:WindowsVistaのサポート期限は2012.4月とのこと。windows xpよりも短命で
ある。このことを知らずにVistaがインストールされたノートPCを買ったことを後悔している。そもそもOSの購入費も込みで一月あたりの減価償却費を 計算して購入したはずであった。が、2万円の追加出費であと3年半しか使用できないため、減価償却費が500円もUPすることになった。購入前にOSのサ ポート期限をちゃんと確かめるべきだった。

先頭に戻る