[ カテゴリー » PC関連 ]

Linux /sbin/initが失敗する

ありがたいことに3/11の地震では自宅・会社共に目立った損傷はなかったのですが、災難はその後の計画停電と共に。シャットダウンを忘れたり、頻繁な電源On/Offのためか、2台のLinuxサーバーが立て続けに壊れましたorz

一台は完全にHDDがお亡くなり。幸いにも重要なデータ部分がRAID1運用されていた(というか/bootだけRAIDに入ってなかった)ので、OS入れなおして生き残ったパーティションをコピーして復帰。

もう一台が厄介。まずLinuxのソフトウェアRAID1(md)がホットスペアまで用意してあったにもかかわらず、一方及びスペアがRAID構成から抜け落ち片肺運転に。ドライブを追加しなおして起動しようとするとブートの初期で
Decompressing Linux...done
Booting the kernel
Red Hat nash version 4.2.1.13 starting
exec of init (/sbin/init) failed!!! : 2
Kernel panic-not syncing: Attempted to kill init ! 
なんてメッセージを出して起動しない。

ドライブ構成はこんな感じに全てソフトウェアRAID1で、LVMはなし。HDDはSCSI。

  • md0 100MB /boot
  • md1 1GB /
  • md2 4GB /var
  • md3 1GB /tmp
  • md4 20GB /usr

exec of init failedのエラーコード2は、/sbin/initが見つからないということらしいLink

さらにネットで調べたところ、(エラー番号2以外の場合も含め)/sbin/initが失敗するのは以下の理由がありそう。

  • /sbin/initそのもの、もしくはそれを格納するファイルシステムが破損している
    • fsckしてみる
    • 他の動くシステムから/sbin/initをコピーする
  • /sbin/initを格納するファイルシステムがマウントできない
    • /bootにあるinitrdファイル(一般的に拡張子img)が破損している
    • 同ファイルがソフトウェアRAID(md)・LVM・SCSI(aic7xxx)などのカーネルモジュールを含まない形で構成されている
    • タイミングの問題でデバイスの認識が失敗した

CentOSなどRHEL系ではカーネルオプション'quiet'を外して起動するとより詳細な情報が。

掲示板でよく見かけた回答は「mkinitrdを使ってinitrdを作り直せ」。やり方は

  1. LinuxのインストールCDをrescueで立ち上げるなど、ソフトウェアRAIDがマウントできる状態まで持っていく
  2. ドライブをマウント
  3. mount /dev/md1 /mnt
    mount /dev/md0 /mnt/boot
    mount /dev /mnt/dev
    chroot /mnt
    mount /proc
    mount /sys
    
  4. タイミング問題の場合はmkinitrd (実態はスクリプトファイル)にsleepコマンドを入れるなどする
  5. initrdを再構築
  6. mkinitrd /boot/(imgファイル名) カーネルバージョン
    

が、chrootを打ち込んだときに/bin/shが無いだとかPermission deniedだとかで失敗するorz さてどうしたものか・・・

[参考]

[2011/3/30 追記] SATA I/Fカード故障&ファイルシステム破損の複合だった模様。

  • SATA I/Fを交換しない限りOS再インストールでも/のマウント失敗
  • 交換してOS再インストールすると起動するが、/を以前(故障時に取ったバックアップ・fsck済み)のものに書き戻すとやはり起動せず
  • /bootと/以外を以前のものに書き戻すと起動するが、/usr/lib64以下に壊れたライブラリがいくつかある模様

OS新規インストールして、必要なファイルを個別にバックアップから書き戻すことになりそうです。/etcのバックアップファイルがダメージなしなら楽なのだけど。ちなみにOSを入れてあったのは今回故障したSATA I/Fとは別のSCSI I/F(Adaptec 29160)に繋いであったものです。

[2011/3/31 追記] 中盤加筆・修正、参考リンク追加

[2011/6/7 追記] なんてことはない、SCSIケーブルの接続不良だった模様。抜いて挿したら直ったという、教科書どおりの修復なり。でもSATA I/F挿さなかったらそれはそれで動いたんだよなぁ。どちらにしろ/以下OS関連のファイルはダメージを負っていたので、再インストールでした。

— posted by mu at 07:35 pm   commentComment [0]  pingTrackBack [0]

ThinkPad T400でBluetoothを有効にする

備忘録。

ThinkPad T400(多分他のThinkPadでも)に通常(プリインストールやリカバリーディスクではない)のWindows XPをインストールし直した後にBluetoothを有効にする方法。

  1. LenovoLink からホットキー機能統合Link をダウンロード、インストール(後述のFn+F5はこのアプリケーションが必要)
  2. 同じくLenovoからBluetooth with Enhanced Data Rate ソフトウェア II WindowsXP - ThinkPad一般Link をダウンロード、インストール
  3. Windows再起動
  4. Fn+F5を押すとウィンドウが現れるので、BluetoothをOnにする
  5. 新しいデバイスとして認識されるので、ドライバーがインストールされるのを待つ
  6. スタート→全てのプログラム→マイ Bluetoothと進み、デバイスを追加していく

その他

  • Windows XP: 標準ドライバもあるらしいですが、こちらはヘッドセットがサポートされていません(Vista/7はされているらしい)。実際Buffalo BSHSBE10Link はだめでした。上のLenovoドライバを使った方がいいです。
  • それでもだめな場合は、BroadcomLink からBluetooth SoftwareLink をダウンロード、インストールする。Lenovoのドライバも基本的にはBroadcomの物。

参考

— posted by mu at 06:39 pm   commentComment [0]  pingTrackBack [0]

またケミコン破裂

また別のサーバPCのケミコンが破裂。今度は10本&ノースブリッジヒートシンクも外れていたという派手な内容。基本24時間で8年間使ってきたからまぁ劣化してもしょうがないかとも思うけど、ほんとPentium4/AthlonXP世代のケミコンはよく壊れるな。

壊れたCPU/ノースブリッジ横10本の他、壊れてないけど大型1800uF/16Vの4本も一緒に交換。新しいのは三洋製。壊れたのはKZG…って、日ケミ?

— posted by mu at 10:21 pm   commentComment [0]  pingTrackBack [0]

たぶん明日OS再インストール

blog20110122-CPULoadedByInterruption
特にプログラム走ってなくてもこの状態

いつからこうなったのか不明ですが、サブPCでffmpegがCPUを使いきってくれなくなりました。

と書くと、以前書いた論理コアの一つが100%になってボトルネックLink の他、検索しても似たような話が見つかるのですが、どうも今回は様子が違う。

タスクマネージャーを見るとCPU負荷が数秒毎に40%と97%あたりを往復。負荷が下がっているときはどのコアも余裕があり、ボトルネックが発生しているようには見えず。またffmpegの減速が半端ではなく、調子のいい時の12fpsから1/5以下に落ち込むと目も当てられない。

そして最も奇妙なのが、タスクマネージャーを見てもffmpeg以上にCPU負荷をかけているプロセスが見つからない。50%以上がアイドルだとおっしゃる…

タスクマネージャーからリソースモニターに進んでCPU負荷を調べると、どうやら「システムの割り込み」が常に25~35%負荷をかけている。う~ん、なんかバスを頻繁に使用しているデバイスでもあるのかな…。

ネットで調べると同じような現象に陥っている人はいるようで、

  • デバイスマネージャーから問題の有りそうなデバイスを停止する(High Definition Audioとか)
  • 拡張ボード類を片っ端から抜いて犯人探しする
  • Windowsの再インストール

という対処。上二つは犯人が見つからなかったので、Windows7の再インストールとなりそう。

[参考]

[2011/1/23 追記] 犯人はPATAポートの模様。OSインストール時には光学ドライブを繋いでいたのですが、その後外すと上記のように謎のCPU負荷が発生しました。マザーボード(GIGABYTE GA-5YASV-RH)のBIOSではPATAを切る方法が見つからなかったので、WindowsのデバイスマネージャでPATAを無効にすることで解決。

blog20110208-DisablePATAOnWindows7

[2011/2/8 追記] コメントへの返答として、Windows7 HomePremiumでのPATAを無効にする方法。デバイスマネージャでPATAの項目を右クリック→無効を選択するだけ。基本的にWindows XP/Vista/7で同じのはず。ただしPATAがどういう表現でデバイスマネージャ上に現れるかはマザーボードおよびデバイスドライバに依存しますので、こちらでは分かりかねます。


— posted by mu at 11:08 pm   commentComment [5]  pingTrackBack [1]

変に賢いぞ、Excel

Excelのセルに数式

=-3^2

と打ち込んだ場合の答えは-9ではなく9。-(32)じゃなく(-3)2と解釈される。符号を反転させる単項演算子として-を使用したときはべき乗よりも優先度が高く(上から2番目。参照演算子を除けば最強)なる仕様らしい。よって

=1+(-3^2) → 1+((-3)^2) → 10
=A1+(-A2^2) → A1+((-A2)^2) → A1+A2*A2

二項演算子として-を使用した場合はべき乗や乗除よりも優先度が低くなるので、

=1-3^2 → -8
=A1-A2^2 → A1-A2*A2

以下の二式が異なる結果となるのに気づかず10分悩みました…

=A1^2-A2^2 → A1*A1-A2*A2
=-A2^2+A1^2 → A1*A1+A2*A2

これに限らず、Microsoft Officeはおせっかいな機能に時々悩まされる orz

[ 参考 ]

— posted by mu at 04:19 pm   commentComment [0]  pingTrackBack [0]

T: Y: ALL: Online:
ThemeSwitch
  • Basic
Created in 0.0265 sec.
prev
2025.10
next
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31