我正在运行意大利版的 Windows 7,其中包含一个本地化的启动管理器。
但是,我最近更换了主板,换成了基于 UEFI 固件而不是 BIOS 的新主板(Asus Z87 Deluxe),在安装了之前运行的 Windows 7 x64 的完全相同的副本后,启动管理器不再本地化。启动屏幕显示“正在启动 Windows”,而不是意大利语翻译,按 F8 键会弹出英文启动菜单,而不是本地化菜单。
这仅在启动时发生;启动后,系统正常运行并完全本地化。
我使用 BCDEDIT 检查了启动设置,所有语言环境均正确设置为 it-IT:
Windows Boot Manager
--------------------
identificatore {bootmgr}
device partition=\Device\HarddiskVolume1
path \EFI\Microsoft\Boot\bootmgfw.efi
description Windows Boot Manager
locale it-IT
inherit {globalsettings}
default {current}
resumeobject {9ef36aa6-4188-11e3-909d-d32f0c3871c8}
displayorder {current}
toolsdisplayorder {memdiag}
timeout 30
Caricatore di avvio di Windows
-------------------
identificatore {current}
device partition=C:
path \Windows\system32\winload.efi
description Windows 7
locale it-IT
inherit {bootloadersettings}
recoverysequence {9ef36aa8-4188-11e3-909d-d32f0c3871c8}
recoveryenabled Yes
osdevice partition=C:
systemroot \Windows
resumeobject {9ef36aa6-4188-11e3-909d-d32f0c3871c8}
nx OptIn
为什么会出现这种情况?我该如何解决它?
更新 1
我注意到这里有一些奇怪的事情;主板设置显示“Windows 启动管理器”作为主启动选项,而实际的启动盘被列为第二个。看起来 Windows 启动管理器实际上是从第一个磁盘的第一个分区以外的其他地方加载的……这是怎么回事?
更新 2
我还使用 检查了 EFI 启动管理器bcdedit /enum FIRMWARE
。这个看起来也正确本地化了:
Boot Manager per firmware
---------------------
identificatore {fwbootmgr}
displayorder {bootmgr}
{9ef36aa4-4188-11e3-909d-d32f0c3871c8}
{a30e8550-47e4-11e3-9ad1-806e6f6e6963}
timeout 1
Windows Boot Manager
--------------------
identificatore {bootmgr}
device partition=\Device\HarddiskVolume1
path \EFI\Microsoft\Boot\bootmgfw.efi
description Windows Boot Manager
locale it-IT
inherit {globalsettings}
default {current}
resumeobject {9ef36aa6-4188-11e3-909d-d32f0c3871c8}
displayorder {current}
toolsdisplayorder {memdiag}
timeout 30
Applicazione firmware (101fffff)
-------------------------------
identificatore {9ef36aa4-4188-11e3-909d-d32f0c3871c8}
description CD/DVD Drive
Applicazione firmware (101fffff)
-------------------------------
identificatore {a30e8550-47e4-11e3-9ad1-806e6f6e6963}
description Hard Drive
更新 3
我可以在 VMware(Workstation 10)虚拟机上确认相同的行为;使用相同的 ISO 进行安装,当 VM 固件配置为 BIOS 时,启动管理器完全本地化,而当它配置为 EFI 时,它配置为本地化(所有语言环境设置为it-IT
),但它实际上以英语运行。
答案1
我在两个不同的希腊语 Windows 安装中遇到了同样的问题。看来,出于某种原因,微软未能为其 UEFI 引导加载程序包含正确的本地化文件。
我发现的一个解决方法是将这些文件替换为它们的 BIOS 启动对应文件。由于默认情况下不公开,因此您必须使用 临时为您的 EFI 系统分区 (ESP) 分配一个驱动器号diskpart
。下面的“WP”指的是您的 Windows 分区(在您的情况下为 C:)。
复制文件如下:
- WP\Windows\System32\<区域设置>\winload.exe.mui --> WP\Windows\System32\<区域设置>\winload.efi.mui
- WP\Windows\System32\<区域设置>\winresume.exe.mui --> WP\Windows\System32\<区域设置>\winresume.efi.mui
- WP\Windows\Boot\PCAT\<区域设置>\memtest.exe.mui --> ESP\EFI\Microsoft\Boot\<区域设置>\memtest.efi.mui
替换这些文件后,您的启动屏幕、“高级启动选项”菜单(F8)、休眠恢复屏幕和内存诊断工具应该被本地化。
答案2
如果我是对的,那么这只是错误的引导加载程序设置。
您可以使用bcdedit
运行系统内的实用程序来设置正确的locale
。
cmd
以管理员身份运行(cmd
在win搜索对话框中输入并使用ctrl+ shift+运行enter)- 运行
bcdedit
,找到Windows boot loader
具有标识符的部分{current}
- 如果设置
locale
为en-US
,则运行命令:
(将 cs-CZ 替换为您的语言环境)
bcdedit /set {current} locale cs-CZ
如果你不知道你的语言环境这里
或者,您也可以使用以下方式抑制加载屏幕:)
bcdedit /set {current} quietboot yes