要するに、いくつかの異なる理由で「はい」と「いいえ」です。WindowsがGPTディスクから起動する場合、UEFIから起動する必要があります。Windowsブートマネージャーおよびローダーは、ネイティブ UEFI からMBRディスクを起動できません。ただし、UEFIがレガシーBIOSブートモード用に構成されている場合、MBRディスクを使用してブートできます。これは、Windowsブートモード(MBRを使用するBIOSまたはGPTを使用するUEFI)が起動される環境に依存することに起因します。
少し技術を読んでください-
物理ハードウェア(または仮想ハードウェアですが、ハードウェアにもかかわらず)ファームウェア(BIOS / UEFI)は、オペレーティングシステムのブートプロセスの後続の段階で利用可能な初期動作環境(ブート関連のデータ構造と規則)とファームウェアサービスを提供します。
BIOS / MBR
BIOS / MBRブートの場合、最初のブート可能ディスクの最初のセクター-マスターブートレコード(LBA 0)には、少数のx86(16ビット8088)アセンブリ、パーティションテーブル、署名が含まれます)。BIOSはこのセクターをメモリにロードし、実行を開始します。BIOSは、MBRが関与するとすぐに独自のプログラムコード制御を放棄します。
http://mbr.adamsatoms.com/
http://www.ata-atapi.com/hiwmbr.html
MBRのx86アセンブリ(ほとんどのMBRではIntel 8088)は、パーティションテーブルを解析し、アクティブなパーティションを検索し、そのパーティションの最初のセクター(ボリュームブートレコードと呼ばれる)にジャンプします。ボリュームブートレコードには、x86アセンブリjmp、BIOSパラメーターブロック(システムBIOSによってまったく使用されないため、わかりにくい名前)、および最終的にオペレーティングシステムのブートローダー(Windows環境ではNTLDRまたはBOOTMGRをロードする) )ブートボリューム/パーティション自体から。
NTLDRまたはBOOTMGRはCPUを保護モードに切り替え、ブート時の構成(それぞれブートボリューム/パーティションのboot.iniまたはBCD)を調べ、残りが履歴であるNTOSKRNLをロードします。
http://technet.microsoft.com/en-us/library/cc781134%28WS.10%29.aspx
http://en.wikipedia.org/wiki/Windows_NT_startup_process
http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/bios-parameter-block.html
UEFI / GPT
最初に、UEFI / GPTに関してあまり積極的な経験がないことを述べさせてください。ただし、これを使用して操作することを理解しているため、(会話に関連する)大きな違いは、実行可能な制御がMBRに転送されないことです。
代わりに、UEFIファームウェアには独自のブートマネージャーが含まれています。このブートマネージャーは、ディスクとメディアをスキャンします-GPT形式のディスクの保護MBRを調べ、GPTヘッダーに到達し、EFIシステムパーティション(ESP)に飛び込んでEFI実行可能プログラムを探します- OSを直接ブートするオペレーティングシステムブートローダーですが、最新のMSおよびApple EFI実行可能ファイルで見たように、実際にはプロセスと複雑さに別のレイヤーを追加するブートマネージャーです。
http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/efi-boot-process.html
http://msdn.microsoft.com/en-us/windows/hardware/gg463525#X-201104111922443
結論/ TL; DR
これを避ける点は、オペレーティングシステムのブートマネージャーとブートローダーが実行されると予想される環境があることです。利用可能なファームウェアレベルのサービス(BIOS / UEFI割り込み)、データ構造(変数、スタック規則など)、さらにはディスクフォーマット規則から。実行時に変更することはできません-少なくとも私が理解している方法は変更できません。
あなたのオプションは?
プリインストールでは、MBRを使用したレガシーBIOSブートまたはGPTを使用したUEFIでBIOS / MBRまたはUEFIを使用してインストールを制御できます。
インストール後-ディスク形式を変更して(MBRをGPTに、GPTをMBRに)オフラインにしてから、(適切なUEFIまたはBIOSモードで)回復コンソールを起動し、bcdbootおよびbcdeditを使用してWindowsを取得すると、興味深い可能性がありますブートマネージャはまっすぐに設定されています。
更新2011.09.09
@MikeyB
私が理解しているようにオプションをリストしますが、実際には正式な提案を行いません。
それでも、UEFIについてもう少し研究を行った後(私はあまり積極的な経験がないことを思い出してください)、UEFIブートマネージャーとCD / DVDブートのサポートに関するいくつかの興味深い情報を発見しました。
'95からのEl Toritoブート仕様は現在も存在しており、ブート可能なCD / DVDで使用されています。1つのCD / DVDは複数のアーキテクチャで起動する必要がある場合があります。ISO9660はプラットフォームに依存しませんが、実行可能コードはそうではありません。そのため、El Toritoブート仕様では、複数のブートエントリ/イメージが許可されています。
これらのエントリ/イメージには、アーキテクチャのBIOS(またはファームウェア)が正しいブートエントリを選択できるように、エントリがPC、PowerPC、およびその他のアーキテクチャ用かどうかを示すプラットフォームIDが含まれています。
BIOSを搭載した標準のx86 PCのEl Torito プラットフォームIDは0x00です。UEFI対応のプラットフォームIDは0xEFです。むしろ創造的です。
標準のx86 PC BIOSは、0x00を除く他のすべてのエントリを無視します。レガシーBIOSサポート(互換性サポートモジュール(CSM)として知られる)を備えたUEFIファームウェア-0x00を起動することはできますが、カタログから0xEFネイティブブートエントリを優先します。
Windows 2008、2008 R2、および7 DVDメディアには、0x00と0xEFの両方を含む複数イメージのEl Toritoカタログが含まれています。0x00がデフォルトですが、0xEFが存在する場合、UEFIはそれを無視し、ネイティブである0xEFエントリを選択します。
可能なこと-El Toritoブートカタログに優先プラットフォームID のみを含むメディアを作成することです。複数エントリカタログの代わりに、0x00プラットフォームIDで単一のエントリカタログを作成します。これにより、UEFIファームウェアが実際にレガシーBIOSブートをサポートしている場合、0x00プラットフォームIDを選択し、Windowsメディア上のレガシーBIOSブートエントリをブートする必要があります。
どうやってするの?
Oscdimgを使用することは可能です。以下は、AppleのUEFI実装の制限を回避するためにUEFIのみのメディアを作成する人々のいくつかの例です。これは私たちがやろうとしていることの反対であることに注意してください-BIOSのみを作成し、カタログからUEFIブートエントリを除外します。
UEFIのみ(反対)1
UEFIのみ(反対)2
BIOSのみのメディアを作成するプロセスは、次のものへの変更-b
と-p
引数で類似しています
-bC:\path\to\Etfsboot.com -p0x00
WindowsインストールメディアでMicrosoftが選んだ狂気に優れた光を当てる素晴らしいリソースは、WindowsオペレーティングシステムのUEFIサポートと要件に関するドキュメントです。