Windows 7 boot manager not localized on UEFI system

9,675

Solution 1

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

Solution 2

I encountered the same issue on two separate Greek Windows installations. It appears that, for some reason, Microsoft failed to include the correct localisation files for its UEFI boot loader.

A workaround I found is to replace these files with their BIOS boot counterparts. Since it is not exposed by default, you will have to temporarily assign your EFI System Partition (ESP) a drive letter using diskpart. Below, "WP" refers to your Windows partition (C: in your case).

Copy files as follows:

  • WP\Windows\System32\<locale>\winload.exe.mui --> WP\Windows\System32\<locale>\winload.efi.mui
  • WP\Windows\System32\<locale>\winresume.exe.mui --> WP\Windows\System32\<locale>\winresume.efi.mui
  • WP\Windows\Boot\PCAT\<locale>\memtest.exe.mui --> ESP\EFI\Microsoft\Boot\<locale>\memtest.efi.mui

After replacing these files, your boot screen, "Advanced boot options" menu (F8), hibernation resume screen and memory diagnostics tool should be localised.

Share:
9,675
karan punjabi
Author by

karan punjabi

"Against stupidity, the Gods themselves fight in vain." https://www.linkedin.com/in/massimo-pascucci

Updated on September 18, 2022

Comments

  • karan punjabi
    karan punjabi over 1 year

    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.

    • Ramhound
      Ramhound over 10 years
      Was the same media used to install it on the new hardware ( or you simply talking about just the motherboard changed )?
    • karan punjabi
      karan punjabi over 10 years
      It's the exact same media. When running on a BIOS system the startup screen is localized, when running on a UEFI one it isn't.
    • week
      week over 10 years
      Run bcdedit in Administrators cmd and post what is in locale fields.
    • karan punjabi
      karan punjabi over 10 years
      The locale is set to it-IT.
    • karan punjabi
      karan punjabi over 10 years
      I've revised the question, the whole boot manager is not localized, not only the loading screen.
  • karan punjabi
    karan punjabi over 10 years
    The locale is already set to it-IT.
  • week
    week over 10 years
    Then you may try suppressing load screen, to confirm that bcd is editing right registry file.
  • SadBunny
    SadBunny about 9 years
    It's quietboot, not quetboot. But I can't edit this answer because the edit is less than 6 characters.
  • karan punjabi
    karan punjabi over 8 years
    I can't test this anymore because I upgraded to Windows 8.1 (which doesn't have the same problem, and in which anyway the boot menu works completely differently); I'm inclined to believe your solution should work... but I wouldn't use it on a non-test system: boot files are a bit too critical to manually mess with them in unsupported ways.