Windows 7 boot manager not localized on UEFI system

bootbootloaderlocalizationuefiwindows 7

I'm running an Italian version of Windows 7, which includes a localized boot manager.

However, I recently replaced my motherboard with a new one based on UEFI firmware instead of BIOS (Asus Z87 Deluxe), and after installing the exact same copy of Windows 7 x64 I was running before, the boot manager is not localized anymore. The startup screen displays "Starting Windows" instead of its Italian translation, and pressing F8 brings up an English boot menu instead of a localized one.

This only happens at boot time; after booting, the system behaves normally and is fully localized.

I checked the boot settings using BCDEDIT, and all locales are correctly set to 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

Why this behaviour, and how can I fix it?


Update 1

I noticed something strange here; the motherboard setup shows "Windows Boot Manager" as the main boot option, while the actual boot disk is listed as the second one. Looks like the Windows Boot Manager is actually being loaded from somewhere else than the first partition of the first disk… what's going on here?


Update 2

I've also checked the EFI boot manager using bcdedit /enum FIRMWARE. That one looks correctly localized, too:

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

Update 3

I can confirm the same behaviour on a VMware (Workstation 10) virtual machine; using the same ISO for installation, when the VM firmware is configured for BIOS the boot manager is fully localized, while when it's configured for EFI it's configured for localization (all locales set to it-IT) but it actually runs in English.

Best Answer

If I'm right then it's just wrong bootloader setting.

You can use bcdedit utility within running system, to set correct locale.

  1. Run cmd as Administrator (type cmd in win search dialog and run with ctrl + shift + enter)
  2. Run bcdedit, find Windows boot loader section with identifier {current}
  3. If there is locale set as en-US, then run command :

(replace cs-CZ with your locale)

bcdedit /set {current} locale cs-CZ

If you don't know your locale look here

Alternatively you may suppress loading screen, with:)

bcdedit /set {current} quietboot yes

Related Question