...ing logging 4.0

はてなブログに移行しました。D言語の話とかいろいろ。

壊しちゃった

相変わらずLinuxの世界にどっぷりなんだが,HDDを追加しようとして起動しなくなってしまった.

最初の問題は,プライマリスレーブにHDDを接続してインストールしてしまっていたこと.
プライマリマスタにHDDを追加しても,うまく起動しなかった.
セカンダリスレーブに接続すればなんとかなったかもしれないが,これからずっとそうなのも美しくないので,修正しようとブートローダliloの設定をいじる.
危険なことはわかっていたのだが,それらしいサイトの説明を見てやってみた.
しかし,fstabの設定も同時に変えなければならなかったようで(他にもあるのかもしれないがまだ調べていない),いろいろやっているうちにFDにliloを入れて起動しようとして,不整合が出て起動しなくなってしまったorz

途中まで起動するのだが,/bootと/(かな?)がマウントされたパーティションを認識した段階でrootパスワードを要求されて止まる.
rootで入って/etc/lilo.confの修正を試みてみたけど,どうも同ファイルでread-onlyを指定しているせいなのか,ファイルを上書きすることができない.
しかも/usr以下は認識していないパーティションなので,エディタもまったく起動しない.
かろうじて元のlilo.confをFDに保存していたので,cpで上書きしようとしたが,これもだめだった.
FDの方のlilo.confは変更可能なので(丁度Berry LinuxとCDROMドライブがあった),そちらでliloのインストールを試してみた.
しかし正常時はそれで正しかった/dev/hdb6や/dev/hdb7なんてデバイスは存在しないわけで,怒られてダメ.
これがあれば・・・怒られなければいけるだろうか.
だとしたら,FDの方のlilo.confでブートイメージのある場所を/dev/hda1から/dev/fd0に変更して,イメージもFDにコピーすればいいか.
liloコマンド自体が実行できる環境はBerry Linuxでいけるだろうか.

あと,/homeなどを残したままでのOSの再インストール以外にできる対処はなんだろう?
とりあえず現状で拾える設定ファイルなど(lilo fstab apache sambaとか)はバックアップしておいた.
最初はネットワークインストールだったが,今度はCDROMドライブがあるためそっちからいけるとはいえ,できたら再インストールは避けたいなぁ.
文字化け対策済みのlibdav.soとmod_encoding.soの作成にかなり手間が掛かったので,できたらもうしたくないぞ(^^;
まあ,今ならすぐにできるだろうけど.
apacheのapxsがなかったからって,apacheそのものまで含めてソースからビルドせずに,rpm -ivh apache-develでインストールできたらしいし.
ちなみにapt-get.confだっけ? それの[vine]という文字は消さないとapt-get updateで失敗するので注意っと.

・・・人はこうして失敗を積み重ねて成長していくのですね(しくしく
なんか案があったら知恵かしてください.

こいつは役に立ちそうだ.


回避例 #2 - maintenaceモードで起動してしまう場合

正常に起動する環境が無い場合で、maintenanceモードでシステムの起動が停止してしまう場合等が、この例にあたります。/を rwモードで remountし設定ファイルの修正を行います。/bootを単独パーティションとして確保している場合、/etc/lilo.confの修正も行う場合に mountしておく必要があります。


boot: linux-2.4.9-34
     ・
     ・

An error occured during the file system check.
Dropping you to a shell; the system will reboot
when you leave the shell.

Give root password for maintenance
(or type Control-D for normal startup): ⇒rootのパスワード入力
(Repair filesystem)1 #mount -o remount ,rw /
(Repair filesystem)2 #vi /etc/fstab ⇒ 'c0'と 'c1'の入れ替え
(Repair filesystem)3 #vi /etc/lilo.conf ⇒ boot=と root=の 'c0'と 'c1'の入れ替え
(Repair filesystem)4 #mount /dev/ida/c1d0p1 /boot
(Repair filesystem)5 #lilo -v ⇒ ワーニングメッセージは無視
(Repair filesystem)6 #reboot

from http://www1.jpn.hp.com/products/software/oe/linux/mainstream/support/doc/option/array/pci_scan_order.html