玄箱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種類がある。

これについては、Wikipediaが詳しかったので丸投げ

玄箱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日)戦いも終わり。

現在はサーバの設定と格闘中。

おわり。