Yes, you can change the default EFI boot entry after rebooting a Windows PC by using the bcdedit command-line tool. This utility allows you to modify the Boot Configuration Data store, enabling you to set any installed operating system as the primary choice for future startups without needing third-party bootloader managers.
Accessing the Command Prompt with Administrative Privileges
The foundation of this task is gaining access to the correct system tools. Thebcdedit command requires elevated permissions because it modifies critical boot files located on the EFI System Partition. If you attempt to run these commands from a standard user account, the system will reject the request due to insufficient privileges.
To begin, press the Windows Key and type cmd. In the search results, right-click on Command Prompt and select Run as administrator. A User Account Control (UAC) prompt will appear; click Yes to proceed. Alternatively, you can open the Start menu, scroll down to PowerShell, right-click it, and choose Run as administrator. Both interfaces provide the necessary environment to execute boot management commands.
Once the black window or terminal appears, verify that you have administrative rights by typing whoami /groups and checking for the S-1-5-32-544 identifier, which represents the Administrators group. This step ensures that subsequent commands will not fail silently or return access denied errors.
Identifying the Target Operating System Entry
Before changing the default, you must identify the specific unique identifier (UUID) associated with the operating system you wish to prioritize. The Boot Configuration Data (BCD) stores multiple entries, each distinguished by a long hexadecimal string. Listing these entries allows you to see the current default and locate your target OS. Type the following command into your elevated terminal:bcdedit /enum
This command outputs a comprehensive list of all boot loaders currently recognized by the firmware. Look for the section labeled Windows Boot Loader or similar entries corresponding to Linux distributions if you are in a dual-boot scenario. Each entry has a identifier field at the top, typically formatted like {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}. Note the identifier of the OS you want to make default. Do not confuse this with the device or osdevice paths, which point to partitions rather than the entry itself.
If you have multiple versions of Windows installed, such as separate installations on different drives, they will appear as distinct entries. Ensure you select the correct one by cross-referencing the description field, which usually contains the name of the operating system (e.g., "Windows 10" or "Ubuntu").
Setting the New Default Boot Entry
With the correct identifier in hand, you can now instruct the BCD store to use that entry as the default. This overrides the previous default, which might have been Windows again after a failed boot or manual selection. Use the following syntax, replacing the placeholder with the actual UUID you noted earlier:bcdedit /default {your-identifier-here}
For example, if your identifier is {a1b2c3d4-e5f6-7890-abcd-ef1234567890}, the command would be:
bcdedit /default {a1b2c3d4-e5f6-7890-abcd-ef1234567890}
Upon successful execution, the command line will return The operation completed successfully. It is crucial to include the curly braces around the identifier. Omitting them is a common syntax error that leads to failure. Also, ensure there is no trailing whitespace inside the braces.
After running this command, you can verify the change by running bcdedit /enum again. Look for the Default field near the top of the output. It should now display the identifier you just set. This confirms that the next time the computer restarts, the firmware will automatically load the specified operating system.
Managing Timeout and Display Settings
Changing the default does not always mean the other OS boots instantly. By default, Windows may still display a boot menu for a few seconds if it detects ambiguity or if the timeout is configured to allow user intervention. You can adjust how long this menu is displayed. To set the boot manager to show the menu for only three seconds, use:bcdedit /timeout 3
If you prefer the system to boot immediately without showing the menu at all, you can set the timeout to zero:
bcdedit /timeout 0
However, setting it to zero carries a risk. If the default entry fails to load, you may lose visual feedback on why the boot process halted. A short timeout of one or two seconds is often a safer balance between speed and diagnostic visibility. For more detailed configuration, you can review how other systems handle partition transfers in our guide on How to Transfer Boot Partitions After Installing Windows 10 and 11 to Different Drives.
Reverting Changes if Necessary
If you made an error or wish to restore the original behavior, you can revert the default back to the first available Windows installation. Often, the original Windows bootloader is assigned the identifier{bootmgr} or a specific default GUID provided by the installer.
To reset the default to the generic Windows Boot Manager, you can try:
bcdedit /default {bootmgr}
If this does not work, you may need to identify the original Windows entry again using bcdedit /enum and apply its identifier. In cases where the BCD store is corrupted or entries are missing, regenerating the boot files might be necessary. For complex scenarios involving broken links after hardware changes, refer to Recovering Windows 10 EFI Bootloader after Installing Linux for advanced recovery techniques.
Frequently Asked Questions
What happens if I delete the wrong identifier?
You can accidentally remove a valid boot entry by using the bcdedit /delete command with the wrong ID. To prevent this, never delete an entry unless you are certain it is redundant. Always keep a backup of your BCD store before making destructive changes.
Can I change the default OS from within the Windows GUI?
No, Windows does not provide a native graphical interface to change the EFI default boot order directly. You must use the Command Prompt or PowerShell with administrative privileges. Third-party tools exist, but they essentially run the same bcdedit commands under the hood.
Why does my computer still show the boot menu after changing the default?
This occurs if the /timeout value is greater than zero. Even with a new default, the boot manager waits for the specified duration to allow manual selection. Adjust the timeout to zero if you want an immediate boot, but be aware of the potential loss of diagnostic information during startup failures.
Is it safe to edit BCD entries on a UEFI system?
Yes, editing BCD entries is safe and supported on UEFI systems. The BCD store is the modern replacement for the older boot.ini file used in BIOS/MBR systems. However, incorrect edits can render an OS unbootable, so always verify identifiers carefully before applying changes.
How do I fix a boot loop after changing the default?
If your system enters a boot loop, it likely means the default entry points to a corrupted or missing partition. Boot into a Windows Recovery Environment using installation media, open Command Prompt, and run bootrec /rebuildbcd to scan for existing installations and rebuild the store correctly.