如何判断 Windows Installer 是在 EFI 还是 BIOS 中启动?

Duo*_*ang 21 bios windows boot uefi

我有一个 Windows 7 x64 安装 USB,想知道安装程序是否已启动到 EFI 或 BIOS 模式。

Sam*_*mir 20

现在,我将切入正题,向您展示如何找到这个日志文件。

我使用零售的 Windows Vista DVD 光盘完成了此操作,只是为了演示这一点。但是,即使您从 USB 闪存驱动器启动,或者如果您使用 Windows 7,这也应该是相同的。

当您从 Windows DVD 或 USB 启动时,您首先会看到一个对话框,您可以在其中选择语言和键盘布局。执行此步骤并单击下一步

然后单击立即安装按钮。

当您进入要求您输入产品密钥的屏幕时,请按Shift+F10以进入命令提示符。

你的标记应该在X:\Sources>现在。

如何在所有 Windows 目录中搜索日志文件

要查看文件夹中的日志文件,您可以键入 dir ..\*.log /s

如何从命令提示符在记事本中打开日志文件

您要查找的文件名为setupact.log. 你能在结果中看到吗?它应该位于X:\Windows\panther

要在记事本中打开此文件而不更改目录,您可以键入 notepad ..\windows\panther\setupact.log

如果文件在那里,它应该在那里,那么这将在记事本中打开它。现在在记事本中,按Ctrl+F并输入回调并按Enter

您应该会看到几个带有这个词的条目,但您感兴趣的条目的标题是Callback_BootEnvironmentDetectEnter反复按直到你发现它。

如何在记事本的登录中找到“回调”一词

就我而言,它说Callback_BootEnvironmentDetect:FirmwareType 1

我认为这是因为这是在 Windows Vista 上,而且由于这是一个 BIOS 系统,我猜测 Type 1 代表 BIOS。因此,如果您在 UEFI 系统上对 Vista 执行相同操作,则很可能会说类型 2。对于 Windows 7,相同的行可能只会说 UEFI 或 BIOS。

简而言之...

视窗:

Callback_BootEnvironmentDetect:FirmwareType 1 表示 BIOS

Callback_BootEnvironmentDetect:FirmwareType 2 指的是 UEFI

Windows 7的:

Code:Callback_BootEnvironmentDetect: Detected boot environment: BIOS

Code:Callback_BootEnvironmentDetect: Detected boot environment: UEFI

您可能还想查看 TechNet 文章,了解如何将 Windows 7 部署到基于 UEFI 的计算机。

您可能已经注意到,大多数人交替使用 EFI 和 UEFI,但 UEFI 是较晚的开发,而 EFI 是旧的。如果我没记错的话,它代表通用可扩展固件接口。只是不要对此感到困惑,它通常意味着相同的事情。您的主板手册中可能会显示 EFI 或 UEFI,您需要启用它。

  • 谢谢。`\Windows\Panther`,没想到我的电脑里藏着这么一只野兽。作为使用记事本的替代方法,可以在命令提示符下使用可靠的旧式“FINDSTR”:“findstr Callback_BootEnvironmentDetect \Windows\Panther\setupact.log” (2认同)

Eli*_*lka 18

打开命令提示符(以管理员身份),然后运行:

bcdedit /enum
Run Code Online (Sandbox Code Playgroud)

这将枚举 BCD 设置,您将获得与此类似的输出:

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume1
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {current}
resumeobject            {3c6390c7-c6ce-11e1-8e2f-c6d882f2969a}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Windows 7
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {3c6390cb-c6ce-11e1-8e2f-c6d882f2969a}
recoveryenabled         Yes
osdevice                partition=C:
systemroot              \Windows
resumeobject            {3c6390c7-c6ce-11e1-8e2f-c6d882f2969a}
nx                      OptIn
Run Code Online (Sandbox Code Playgroud)

浏览列表并查找Windows Boot Loader. 如果您的系统在 EFI 模式下启动,则该path值将为\Windows\system32\winload.efi(注意.efi扩展名 -.exe否则将恢复为其他)。

来源

http://www.uefi.org/events/UEFI-Plugfest-WindowsBootEnvironment.pdf