简而言之,出于几个不同的原因,是和否。如果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将该扇区加载到内存中并开始执行-一旦涉及MBR,BIOS就会放弃其自己的程序代码控制。
http://mbr.adamsatoms.com/
http://www.ata-atapi.com/hiwmbr.html
MBR中的x86程序集(大多数MBR中为Intel 8088)解析分区表,搜索活动分区,然后跳转到该分区中的第一个扇区-称为卷启动记录。卷启动记录包含一个x86程序集jmp,一个BIOS参数块(根本没有被系统BIOS使用,因此名称令人困惑),以及更多的x86程序集,这些程序集最终加载了操作系统的启动加载程序(在Windows环境中为NTLDR或BOOTMGR) )从启动卷/分区本身。
NTLDR或BOOTMGR将CPU切换到保护模式,查阅它们的启动时配置(分别在启动卷/分区上,分别参考boot.ini或BCD),然后加载NTOSKRNL,其余部分为历史记录。
http://technet.microsoft.com/zh-cn/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可执行程序–应该作为操作系统引导加载程序,可以直接引导操作系统,但是,正如我们在最新的MS和Apple EFI可执行文件中所看到的那样,它们实际上是引导管理器,为流程和复杂性增加了另一层。
http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/efi-boot-process.html
http://msdn.microsoft.com/zh-CN/windows/hardware/gg463525#X-201104111922443
结论/ TL; DR
可以避免这一点的地方是,可以在预期的环境中运行操作系统的引导管理器和引导加载程序。从可用的固件级别服务(BIOS / UEFI中断),数据结构(变量,堆栈约定等),甚至磁盘格式化约定。在运行时无法更改-至少不是我理解的方式。
您有选择吗?
预安装您可以通过在使用MBR的旧BIOS引导中使用BIOS / MBR或UEFI或通过GPT的UEFI来控制安装。
安装后-离线更改磁盘格式(从MBR转换为GPT和从GPT转换为MBR),然后启动到故障恢复控制台(在适当的UEFI或BIOS模式下)并使用bcdboot和bcdedit来获取Windows,可能会有一些有趣的可能性引导管理器设置正确。
更新2011.09.09
@MikeyB
据我所知,列出选项不是实际提出任何正式建议。
不过,在对UEFI进行了更多研究之后(回想起我没有太多的积极经验),我发现了一些有关UEFI引导管理器和对CD / DVD引导的支持的有趣花絮。
始于95年的El Torito引导规范仍然存在,并且与可引导CD / DVD一起使用。一张CD / DVD可能必须在多种体系结构上引导-尽管ISO 9660完全独立于平台,但可执行代码却并非如此。因此,El Torito引导规范允许多个引导项/映像。
这些条目/映像包含一个Platform ID,旨在指示该条目是否适用于PC,PowerPC和其他体系结构,以便体系结构的BIOS(或固件)可以选择正确的引导条目。
带有BIOS的标准x86 PC的El Torito 平台ID为0x00。支持UEFI的平台ID为0xEF-非常有创意。
标准x86 PC BIOS会忽略除0x00之外的所有其他条目。具有旧版BIOS支持的UEFI固件(称为兼容性支持模块(CSM))-能够启动0x00,但会首选目录中的0xEF本机启动条目。
Windows 2008、2008 R2和7 DVD介质包含具有0x00和0xEF的多映像El Torito目录。默认值是0x00,但是如果存在0xEF并选择0xEF条目(因为它是本机的),则UEFI会对其进行屏蔽。
可能的是,制作仅在El Torito引导目录中包含首选Platform ID的介质。代替多条目目录,创建具有0x00平台ID的单条目目录。这应该强制UEFI固件(如果实际上它支持旧版BIOS引导)选择0x00平台ID并在Windows介质上引导旧版BIOS引导条目。
怎么做?
使用Oscdimg是可能的。以下是人们创建仅UEFI媒体以规避Apple UEFI实施限制的几个示例。请注意,这与我们试图做的相反—我们只想创建一个BIOS,而从目录中删除UEFI引导项。
仅限UEFI(对面)1
仅限UEFI(对面)2
创建仅BIOS介质的过程与以下命令的-b
和-p
参数的更改类似。
-bC:\path\to\Etfsboot.com -p0x00
UEFI支持和Windows操作系统要求文档是一个很好的资源,可以很好地说明Microsoft对Windows安装介质的选择。