気まぐれSE日記

地方でエンジニアしてます

/dev/hdaと/dev/sdaの認識で困った

NEC Express5800 Gd-S にTruboLinuxをインストールする機会がまたあったんですが
今回は大失敗やっちまいました。


というのは、SATAディスクを1台のみつけた場合でインストールすると HDDは /dev/hdaとして認識されてインストールが完了します。

しかし、後から増設用のHDDを1台つなげてLinuxを起動させるとですね...
起動画面でkernel panicとかいって止まっちゃうんです。


調べていてわかったのですが、どうやらをHDDを2台つなげると
BIOSが勝手にSATAモードを変更するようで、Linux上では /dev/sda と /dev/sdbとして
見えることがわかりました。


当初のインストールはHDD1台で行っていたために/dev/hdaの設定がfstabやgrub、ドライバ? に書き込まれたままなので、起動途中に「/」をマウントしようとしてもシステムにはそんなデバイスねえよコラ!となってパニックになるようです。webを探しても明快な解決方法はなく、レスキューモードでinitrdを作り直したり、grubを再インストールしたり、fstabをhda→sdaに変更したり、modprobe.confを書き直したりしても結局パニックで解決しませんでした。

おそらく、libata と sata_piix のあたりなんでしょうが、どこをどうやると
hdaからsdaに変更することができるのかさっぱりわかりませんでした。

ラチがあかなくなったためHDDを2台つないだ状態で再インストールすると、HDDはあっさりsda,sdbとSCSIの認識されて解決できましたが、どうにも腑に落ちません。


これで、再インストールとなったので半日以上ハマリました。
HDD2台接続するときは注意した方がいいですね。