玄箱Pro + Debian lenny + 2TB HDD 起動まで
現状
現在は、640GBのHDDにDebian etchが入っている。2TBのHDDを新調したのでコレにlennyを入れることに。
容量が2TBなのが悪夢の始まりだった・・・。
エラーまで
参考にしたのは、このページ。HDD容量が2TB未満の場合はそのままでインストールできる。
ただし、このページは現在フラッシュからブート出来ているという前提で書いてあるので、etchが入っている環境ではフラッシュブートに戻さなくてはならない。
方法は簡単で、このページにある。
このページでは、シリアルコンソールを使って行っている。
シリアルコンソールが無くても可能かもしれないが調べていない。
フラッシュブート時は(変更していなければ)
user | root |
pass | kuroadmin |
でログインできる。
先ほどのページの手順ほぼそのままでOKだが、
時刻同期だけはそのままでは出来なかった。記事には、rdateを使うように書いてあるが、なぜかエラーで調整できなかったので、手動で同期。
date "120128452010" #date "MMDDhhmmYYYY" hwclock -w
多少ずれてるくらいは問題ない(はず)。
。。。
さて、上記サイトに従って2TBのHDDにlennyをインストールした。
普通ならそのままブートできて終わりのはずだ。(実際試しに160GBのHDDに入れてみたら正常に起動した)
・・・が、起動しない。
シリアルで見てみると[Bad MagicNumber]とか出てくる。
どうやらHDDを正常に認識できていないようだ。
ここからが長かった。
いろいろ試したが、最終的に全部無駄だったと分かったので割愛。結論だけ。
エラーの原因
現在、HDDのフォーマット方法には、「MBR(従来方式)」と「GPT(最近出てきた)」の2種類がある。玄箱proのlennyはHDDをGPTでフォーマットする。
一方、玄箱proは基本的にGPTに対応しているので問題なく読み込める。
が、HDDが2TB以上の場合は何故か正常に処理できないようだ。
コレが全ての原因。
解決まで
GPT->MBR変換
GPTが読めないならMBRに変更すればいいじゃない!ということでGPTをMBRに変更することに。
方法はいくつかあり、データをそのまま残して行う方法もあるようなので使うことにする。
無料ならコレとか有料でいいならコレとかがある。
他にもググればいくつか出てくる。残念ながらLinuxで動きそうなのはなかったが。
方法はソフトによって違うので割愛。
パーティションテーブルの順序の入れ替え
さて、MBRになったし、これで起動するはず!と重い、玄箱Proにセットし起動。ブートした!→Kernel Panic・・・orz
というわけで、前進はしたがカーネルパニックで起動せず。
メッセージを見ると、/dev/sda1 (/boot) が /dev/sda2を起動しようとしてKernelPanicが起こってるようだ。
インストール時に
/dev/sda1 230M ext2 /boot /dev/sda2 6.5G ext3 / /dev/sda3 384M tmpfs tmp /dev/sda4 1.8T ext3 /home
と指定したので、何が悪いのか分からなかったが、dfしてみると、
/dev/sda1 230M ext2 /boot /dev/sda2 1.8T ext3 /home /dev/sda3 384M tmpfs tmp /dev/sda4 6.5G ext3 /
となっていた。
/home(にマウントされるはずの領域)からブートしようとしてカーネルパニックが起こっていたようだ。
おそらく、MBRに変換したときにずれたのだろうと思い、変更することに。
これを修正するには、fdiskコマンドを使えばいい。(参考)
fdisk /dev/sda (略) Command (m for help): x #特殊機能モードへ。 Expert command (m for help): f #領域の順序を適正化する Expert command (m for help): w #適用して終了
これで、dfしてみると、正しい順番に直っていた。
起動!
再び、玄箱Proに接続し起動。ブートした!→initキタ!→ログインキタ!!!
というわけで、長かった(丸2日)戦いも終わり。
現在はサーバの設定と格闘中。
おわり。