Problem of Installing Ubuntu 7.04

今日、研究用に作ったデスクトップPCにUbuntu 7.04をインストールしたんだけど、ブートできるようにするまでに手間取ったのでそのときのメモ。
今回作ったPCの構成は以下のようになっている。

CPU Intel Core2Duo E6300
マザーボード Intel DG965SSCK
HDD Hitachi SATA 250G (HDT725025VLA380/72R/8M)

Ubuntuのインストールメディアを入れたところ、きちんとCDからブートし、UbuntuでHDDが認識されていることは確認でした。実際にインストールしたところ、特にエラーもなく無事に完了した。しかし、インストールしたシステムを起動しても、「システムが見つかりません」と言われてしまった。何度再起動しなおしてもダメ。起動しない。
そこでちょっと考えて、Ubuntuのインストールメディアを再度挿入し、CDブートメニューの一番下の項目の「一番目のディスクから起動」を選択してみた。すると、HDDからブートすることが確認できた。システムはきちんとインストールされているようだった。となると、ブートローダがまずそうなんだけど、grubの設定ファイルを見ても特に問題はなかった。
結局よく分からなくて、いろいろ検索してみたんだけど、もっともらしい解答は見つからなかった。だけど、検索途中にfdiskでパーティションを確認しろ、って記述を見つけて、それをヒントにブートできるように修正できた。
まず、「fdisk -l」でパーティション状況を見たところ、次のようになっていることを確認した。

デバイス Boot  Start     End     Blocks   Id  System
/dev/sda1           1    5836   46877638+  83  Linux
/dev/sda2        5837    6085    2000092+  82  Linux swap / Solaris
/dev/sda3        6086   30401  195318270   83  Linux

今回はスワップを除き、2つのパーティションに分けてある。1つは/dev/sda1のシステム用のパーティションでマウントポイントは「/」。もう1つは/dev/sda3のホームディレクトリ用のパーティションで、マウントポイントは「/home」。この結果を見てみると、システムが入っている/dev/sda1にブート可能フラグが付いていない。そこで、fdiskを使い/dev/sda1にブート可能フラグを付けて再起動したところ、無事HDDからブートできるようになった。
ちなみに、ブート可能フラグをつけるには、fdiskをrootで実行し、「a」コマンドを呼び、フラグをセットしたいパーティション番号(僕の場合は1)を選択すればよい。最後に結果を書き込むために「w」コマンドを実行する。ブート可能フラグをセットした場合のパーティションリストは以下のように出力される。

デバイス Boot  Start     End     Blocks   Id  System
/dev/sda1   *       1    5836   46877638+  83  Linux
/dev/sda2        5837    6085    2000092+  82  Linux swap / Solaris
/dev/sda3        6086   30401  195318270   83  Linux