http://itpro.nikkeibp.co.jp/article/COLUMN/20090113/322746/?ST=win&P=1
仕組み
XP
Vista
BOOTMGR
d:\boot\bootsect.exe -nt60 all
ここで指定している「BOOTSECT.EXE」というファイルが,Vista用のMBR修復プログラムである。このプログラムを,例で示したように「-nt60」というオプションを指定しながら実行すると,BOOTMGRをマスター・ブートのIPLとする形にMBRが動作するよう変更される。ちなみに,このオプションを「-nt52」にすると,逆にWindows XPのNTLDRをマスター・ブートとする形に変更される。もしWindows Vistaを完全に削除したいような場合は,このコマンドでMBRの呼び出し先をNTLDRに戻して,VistaのパーティションとCドライブのboot フォルダを削除すればよい。
BCDEDITでBCDにWindows XP用のエントリを作成するコマンドは以下のようになる。
c:\windows\system32\bcdedit -create {ntldr} -d "Windows XP Professional"
これは,CドライブがWindows Vistaのパーティションで,システム・フォルダが\windows\system32という場合のコマンドである。もし異なっている環境の場合は,自分の環境に合わせて変えてほしい。この中にある「{ntldr}」がエントリの識別子で,通常は{ntldr}を指定する。すでにそのエントリがあると,
指定された作成操作を実行中にエラーが発生しました。 指定されたエントリは既に存在します。
という表示が出るが問題はない。
なお,「-d」オプションの後ろにある「"Windows XP Professional"」というダブル・クォーテーション(")で囲まれた文字列は,起動時の選択メニューに表示される選択文字列である。実行時にエラーとなった場合は適用されない。XPにVistaを追加インストールした場合には起動時の選択メニューに「以前のバージョンのWindows」と表示される。この表示がイヤなら,以下のようにオプションを変えてコマンドを実行すれば,エラーとならずにメニューに表示される選択文字列を変更できる。
c:\windows\system32\bcdedit -set {ntldr} description "Windows XP Professional"
続いてNTLDRのエントリに,Windows XPを起動のための情報をセットしていく。まず,以下のコマンドを入力する。
c:\windows\system32\bcdedit -set {ntldr} device partition=c:
{ntldr}は情報を追加するエントリで,先ほど指定したエントリ識別子を指定している。末尾の「device partition=c:」の「c:」でIPLのNTLDRが存在するドライブを指定しており,通常はCドライブになる。
続いて,NTLDRが存在するパスの指定についての情報を追加する。NTLDRは通常ルート・フォルダにあるので「\ntldr」とする。
c:\windows\system32\bcdedit -set {ntldr} path \ntldr
最後に,以下のようにNTLDRのエントリを起動メニューに追加するコマンドを実行する。
c:\windows\system32\bcdedit -displayorder {ntldr} -addlast
[カテゴリ: OS > Windows]
[通知用URL]
Tweet
最終更新時間:2009年01月19日 21時28分28秒