Issue
Windows repeatedly starts in Safe Mode, attempts Safe Mode and fails, or cannot return to normal startup after Safe boot was enabled through System Configuration or BCDEdit.
Searchable Windows error codes and exact messages
There is no Windows error code assigned to a persistent safeboot BCD setting. Search using the behavior and the setting that Windows exposes:
| Type | Searchable identifier | When it applies |
|---|---|---|
| Screen text | Safe Mode or Safe Mode with Networking | Windows reaches a Safe Mode desktop on every restart. |
| System Configuration | msconfig Safe boot Minimal | Minimal is selected under Boot options. |
| System Configuration | msconfig Safe boot Network | Network is selected under Boot options. |
| System Configuration | msconfig Safe boot Alternate shell | The system is forced to Safe Mode with Command Prompt. |
| BCD element | safeboot minimal | bcdedit /enum shows the safeboot element set to Minimal. |
| BCD element | safeboot network | bcdedit /enum shows the safeboot element set to Network. |
| BCD element | safebootalternateshell Yes | The alternate-shell element is also forcing Command Prompt behavior. |
If a blue-screen or Recovery code appears while forced Safe Mode is trying to start, that code identifies a second boot failure, not the persistent Safe Mode setting. Do not add an unrelated stop code to this diagnosis merely because the machine happens to be in a Safe Mode loop.
Applies when
Use this procedure when the active Windows loader contains the BCD element safeboot. It covers minimal, network, and alternate-shell Safe Mode configurations.
Does not apply when
Do not use it merely because Windows automatically entered recovery after failed boots. Automatic Recovery and a persistent safeboot BCD value are different conditions.
Information that may remain unknown
The reason Safe Mode was enabled, the exact Windows build, and the hardware model may remain unknown. The procedure must still confirm that safeboot is actually present.
Requirements
Use either:
- An administrator Command Prompt from the Safe Mode desktop, or
- Windows Recovery Environment Command Prompt if Safe Mode itself will not load
Starting position
If the Safe Mode desktop works, use the Working Safe Mode branch. If it does not, select Troubleshoot > Advanced options > Command Prompt and use the WinRE branch.
Confirm the diagnosis
Working Safe Mode branch
-
Open an administrator Command Prompt.
-
Run:
bcdedit /enum {current} /v -
Confirm that the output includes a line beginning with
safeboot.
WinRE branch
-
Detect the partition layout:
diskpart list disk list volume exit -
On a GPT/UEFI system, assign a temporary letter such as
Sto the small FAT32 EFI System Partition if it does not already have one:diskpart select volume <EFI-volume-number> assign letter=S exit -
Enumerate the offline store:
bcdedit /store S:\EFI\Microsoft\Boot\BCD /enum all /v -
Read the
defaultvalue under Windows Boot Manager, then find the matching Windows Boot Loader identifier. Confirm that loader containssafeboot. -
For a BIOS/MBR installation, assign
Sto the detected System Reserved or active system partition and use this store instead:bcdedit /store S:\Boot\BCD /enum all /v
Resolution steps
If the Safe Mode desktop works
-
Back up the BCD:
md C:\BootRepairBackup bcdedit /export C:\BootRepairBackup\BCD-before-safeboot-removal -
Remove the Safe Mode requirement:
bcdedit /deletevalue {current} safeboot -
If
/enum {current}also displayedsafebootalternateshell, remove it:bcdedit /deletevalue {current} safebootalternateshell -
Run
bcdedit /enum {current}again and confirm both elements are absent. -
Restart normally.
If only WinRE works
-
Back up the detected BCD file to the Windows volume. In this example, the correct Windows installation is
W::md W:\BootRepairBackup copy S:\EFI\Microsoft\Boot\BCD W:\BootRepairBackup\BCD-before-safeboot-removalFor BIOS/MBR, copy
S:\Boot\BCDinstead. -
Replace
<loader-GUID>with the identifier established in section 7:bcdedit /store S:\EFI\Microsoft\Boot\BCD /deletevalue {<loader-GUID>} safeboot -
If present, remove the alternate-shell value:
bcdedit /store S:\EFI\Microsoft\Boot\BCD /deletevalue {<loader-GUID>} safebootalternateshell -
For BIOS/MBR, substitute
S:\Boot\BCDas the store path. -
Enumerate the loader again and confirm the values are absent.
-
Close Command Prompt and select Continue to Windows.
Expected results and branches
- The command completed successfully: Restart and verify normal mode.
- Element not found: The specified loader did not contain that value. Confirm the correct store and GUID; do not start deleting other BCD settings.
- The store could not be opened: The assigned partition or BCD path is wrong. Re-run DiskPart detection.
- Windows still enters Safe Mode but
safebootis absent: Check System Configuration after boot and confirm that another loader is not the default.
Do not do this
- Do not delete the entire loader entry.
- Do not set
bootstatuspolicy ignoreallfailuresor disable recovery. - Do not rebuild the complete BCD when removing one value is sufficient.
Rollback
Safe Mode can be re-enabled later through System Configuration > Boot > Safe boot if it is intentionally needed. Do not import the old BCD merely to re-enable Safe Mode because that could also restore unrelated obsolete settings.
Verification
- Windows reaches the normal desktop.
winveropens normally.bcdedit /enum {current}no longer listssafeboot.- A second restart also reaches normal mode.
Confidence and stop conditions
Confidence is approximately 95% when the active loader explicitly contains safeboot. Stop if the value is absent, the offline BCD store cannot be positively identified, or multiple intentional Windows loaders cannot be distinguished.