ソフトウェアRaidを組んでいるために、多分grubが正しくドライブに順番をつけられないために起こりました.
解決方法はドライブの順番の入れ替えです。Raidも解除しました.いまも使ってません.確かにアクセス自体は速くなるのですけど、WindowsでもLinuxでも安定性は犠牲になります.
私の場合は、IDE接続のハードディスクにWindowsが、マザーボードのSATA0にRAIDのハードディスクが2つ。SATA1にハードディスクが1個。外部のSATAカードにRAIDのハードディスクが2つ接続されておりました。
このRAIDが曲者で組んでいる時と組んでいない時ではHDDの認識の順番が違うよう!?
確認できたわけではありませんが。
とりあえず、マザーボードのBIOSのメニューから起動するHDDを選択してあげることでgrubを経由させずに起動させる事ができました。
そして、grubからwindowsを立ち上げれるようにする方法は、、、
''回避の仕方は、マザーボードのSATA0のRAIDをSATA1に移動してあげることでした.''(確か)
でも、grubから立ち上げることはできるようになっても、RAIDのHDDをUbuntu上で読み込むことは結局できませんでした。
あ、SATAのRAIDを抜き差しする時には接続されているコネクタの順番を覚えておいてくださいね.
あと、grubのmenu.lstの記述ですが、
例えば
title Microsoft Windows XP Professional
root (hd1,0)
savedefault
''map (hd0) (hd1)''
''map (hd1) (hd0)''
chainloader (hd1)+1
この太字の部分を忘れると私の環境では立ち上がりませんでした.
root以下は、2つ目のハードディスクの1つ目のパーティションから起動しますという意味。
map以下は、ハードディスクの順番の変更です.