とある理由で「要らない機能盛りだくさんのビスタ様」と「軽いけど見捨てられつつある2k様」で
デュアルブート環境を構築してみました。結構色々面白い事が解ったので、書留します。
事の発端は「しぃ堂」のお絵かきチャットが動かないという事でした。
私的な憶測としてはLAN内動作は問題が無いように思えたので、
恐らくルーター側の問題だとは思うのですが、昨今の「セキュリティ」大流行に伴い、
OSは新しければ新しいほど通信を取るアプリケーションに対して「セキュリティ」の
壁を突きつけます。
という事でヤツ当たり的に「Vistaのせいだ!2kなら動く!」
とか言って、暇なのを良い事に2kをインストールしてみました。
VistaベースPCへ2kをインストール
1、元々CとDで区切ってあったので、Dから要らないデータを削除。
2、DのファイルをCへ移動、Dを削除。
3、2kインストールディスクからブート。
4、何故かCパーティションが未フォーマット認識される。
5、インストールにCが未フォーマットではムリだぜ、という2k様の為に試行錯誤。
6、Vistaから未割り当て領域より2k用に20Gフォーマットする。(あえてFAT32にした。)
7、C、D(6で20G切ったトコ)共に、ちゃんと認識できたので、DをNTFSフォーマットし直す。
8、2kインストール完了
だがしかしここで問題が発生。
以前XPを常用していた頃にデュアルブート環境を構築した際は、
そのまま自動的に表示されたOSローダー画面を吹っ飛ばして2kだけが起動してしまう。
つまり、Vistaが動かない。
あれ?と思い色々調べる。
MS公式から以下のような情報を得る。
http://support.microsoft.com/kb/919529/ja
要約すると、過去のNT系OSローダーと、VistaのOSローダーに互換性が無く、
MBRに上書きされた2kのローダーでVistaが動かないという事である。
(2kの後にVistaをインストールした場合は、下位互換が保障される。)
加えて調査の結果、以下のようなサイトが発見できた、下記ページアドレスは該当記事。
http://itaya.corso-b.net/TIPS/Vista/Vista002.html
要約すると、Vistaが持つbcdeditというプログラムで各種対応が可能だが、
操作がCUIだから面倒なので、VistaBootPROというソフトを使え。という事である。
VistaBootPROが一体どこからダウンロードできるんだ?
もしかして製品ソフトになってるんじゃないのか?
ってか何か、あまりにも自動化されて面白みも無いし、理解が持てないな。
という理由から、あえてbcdeditを用いた方法を取ってみた。
すると下記アドレスを参考にする事で問題なく、デュアルブート環境が構築できた。
http://www.microsoft.com/japan/technet/windowsvista/library/85cd5efe-c349-427c-b035-c2719d4af778.mspx
このページに記載されている、
「Windows Vista を実行しているコンピュータに前のバージョンの Windows をインストールするには」
が、最も参考になると思う。
まとめ
理解を取るための私的なまとめ。
NT/2000/XPまではNTLDと呼ばれるOSローダーが採用されていた。
これらはBOOT.INIというテキストファイルを参考に、MBRより起動OSの
選択を実現していたモノである。
ソレに対して、VistaではNTLDとは互換性の無い、新しいブートローダーを
採用している事が原因で発生する問題である。
VistaのブートローダーはBCDと呼ばれる形式を採用(?)していて、
これらのBOOT.INIに当たるデータはバイナリ形式で保存されていて、
編集が困難である。
それを代行するのがbcdeditである。
このプログラムを利用する事でBCDを編集し、他OSの
エントリを追加する事でVista以外の窓家族の起動を実現している。
プロセス的に最上位であるBCDローダー(?)がBIOSから処理を移され、
Vistaを起動する際にはBCDから、他OSを起動する際にはBCDから
過去のローダーであるNTLDに処理を移し、各種OSを起動する仕組みに
なっていると思われる。
※私的な「たぶんこんな感じなんだろうなぁ~。」というメモ程度の認識で捉えて欲しい。
(?)は私自身自己解釈が曖昧な部分である。鵜呑みにして知ったかすると恥じをかくので
自重しましょう。(私自身への戒めを込めて。)
参考:Vistaインストールドライブ:\windows\system32\bcdedit.exe実行画面