Issue
Windows stops during startup with BAD_SYSTEM_CONFIG_INFO. The bug check means Windows detected invalid system configuration, most commonly involving the SYSTEM registry hive or an unsafe boot option set through System Configuration or BCDEdit.
Searchable Windows error codes and exact messages
| Type | Searchable identifier | When it applies |
|---|---|---|
| Blue-screen bug check | 0x00000074 — BAD_SYSTEM_CONFIG_INFO | Primary code. Windows detected a registry/configuration error. |
| Short stop display | 0x74 | Equivalent shortened bug-check value. |
| Registry status | 0xc000014c — STATUS_REGISTRY_CORRUPT | The screen specifically names a corrupt or missing registry file. Use FIX-017 when it names \Windows\System32\Config\SYSTEM. |
| Registry status | 0xc000014d — STATUS_REGISTRY_IO_FAILED | A registry read/write/flush operation failed. Treat repeated I/O errors as a storage warning. |
| BCD element | numproc | An explicitly restricted processor count appears in the active loader. |
| BCD element | truncatememory | Windows memory is artificially truncated by a boot setting. |
| BCD element | removememory | A configured amount of physical memory is removed from Windows at boot. |
Useful exact searches include BAD_SYSTEM_CONFIG_INFO after msconfig maximum memory, BAD_SYSTEM_CONFIG_INFO numproc, BAD_SYSTEM_CONFIG_INFO registry, and the exact code plus the last configuration change. 0x74 does not prove that BCD is wrong; confirm the active loader before deleting values.
Applies when
Use this procedure when Windows displays BAD_SYSTEM_CONFIG_INFO and the Windows volume is readable. It provides separate branches for explicit BCD limits and broader registry damage.
Does not apply when
Do not use it when the screen names BCD with 0xc0000098, when the SYSTEM hive is explicitly missing/corrupt with 0xc000014c, or when changing stop codes and memory-test failures point to unstable RAM.
Information that may remain unknown
The exact Windows build and why the setting was changed may remain unknown. The active loader, BCD store, Windows volume, and presence or absence of suspect boot values must be identified.
Requirements
- Windows Recovery Environment or installation media
- Command Prompt
- Readable Windows and system partitions
- A restore point for the registry-state branch, when available
Starting position
Open Repair your computer > Troubleshoot > Advanced options > Command Prompt. Detect the Windows volume as W: and the system partition as S:.
Confirm the diagnosis
-
Record the complete stop code and the last change made through
msconfig, BCDEdit, registry editing, update, driver installation, or memory configuration. -
Detect and map the partitions:
diskpart list disk list volume select volume <Windows-volume-number> detail volume assign letter=W select disk <Windows-disk-number> list partition select partition <system-partition-number> detail partition assign letter=S exit -
Verify the Windows installation:
dir W:\Windows\System32\Config\SYSTEM -
Enumerate the offline BCD store. On UEFI/GPT:
bcdedit /store S:\EFI\Microsoft\Boot\BCD /enum osloader /v -
On BIOS/MBR:
bcdedit /store S:\Boot\BCD /enum osloader /v -
Record the GUID of the intended Windows loader and inspect it for:
numproctruncatememoryremovememorysafebootorsafebootalternateshell
-
If one of the first three values exists and was recently set or is inconsistent with the installed hardware, use Branch A. If only
safebootis present, use FIX-002. -
If no suspect BCD values exist, test whether the SYSTEM hive is structurally loadable:
reg load HKLM\OfflineSystem W:\Windows\System32\Config\SYSTEM -
If the load succeeds, immediately inspect the selected control-set pointers and unload the hive:
reg query HKLM\OfflineSystem\Select reg unload HKLM\OfflineSystem -
A successful load does not prove every registry value is correct. It only proves the hive can be parsed. Do not start deleting registry keys without a demonstrated bad value.
-
If the load fails or the SYSTEM file is missing, use FIX-017.
Resolution steps
Branch A — Remove an invalid BCD processor or memory limit
-
Create the backup directory:
md W:\BootRepairBackup -
Back up the detected BCD store. For UEFI:
copy S:\EFI\Microsoft\Boot\BCD W:\BootRepairBackup\BCD-before-bad-system-config-repairFor BIOS/MBR:
copy S:\Boot\BCD W:\BootRepairBackup\BCD-before-bad-system-config-repair -
Replace
<loader-GUID>below with the exact intended loader identifier, including its surrounding braces. Remove only values that were actually present in the enumeration. -
On UEFI, use the UEFI store path:
bcdedit /store S:\EFI\Microsoft\Boot\BCD /deletevalue <loader-GUID> numproc bcdedit /store S:\EFI\Microsoft\Boot\BCD /deletevalue <loader-GUID> truncatememory bcdedit /store S:\EFI\Microsoft\Boot\BCD /deletevalue <loader-GUID> removememory -
On BIOS/MBR, use the BIOS store path:
bcdedit /store S:\Boot\BCD /deletevalue <loader-GUID> numproc bcdedit /store S:\Boot\BCD /deletevalue <loader-GUID> truncatememory bcdedit /store S:\Boot\BCD /deletevalue <loader-GUID> removememory -
BCDEdit may report that an element was not found when it was never present. Do not add values in response.
-
Re-enumerate the loader and confirm the targeted values are gone.
-
Restart twice.
Branch B — Roll back an unknown registry/configuration change
- Return to Advanced options > System Restore.
- Select a restore point from before the first
BAD_SYSTEM_CONFIG_INFOcrash. - Review the affected programs and drivers.
- Complete the restore and restart.
Branch C — Check the volume before deeper registry repair
Use this branch when the hive loads intermittently, 0xc000014d appears, or the failure followed an improper shutdown.
-
Run a read-only file-system check first:
chkdsk W: -
If CHKDSK reports logical errors and the storage device remains consistently detected, back up needed data, then run:
chkdsk W: /f -
Restart and test. If the SYSTEM hive remains missing or corrupt, continue with FIX-017.
Expected results and branches
- Removing a recently added BCD limit restores startup: Recheck processor and memory totals from Windows before using
msconfigagain. - System Restore restores startup: Record the reverted application, driver, update, and registry changes.
- The SYSTEM hive cannot load: Use FIX-017; do not copy arbitrary registry files.
- CHKDSK reports recurring I/O or bad-sector errors: Stop and image/test the storage device before additional writes.
BAD_SYSTEM_CONFIG_INFOpersists with no suspect BCD values and a loadable hive: Dump analysis or a known configuration change is needed; do not guess at registry keys.
Do not do this
- Do not use
bcdedit /deletevalueagainst an unverified loader GUID. - Do not delete the entire BCD store to remove three optional values.
- Do not copy zero-byte RegBack files over the active hives.
- Do not replace all registry hives as a generic first step.
- Do not interpret a successful
reg loadas proof that every registry value is correct. - Do not run CHKDSK repair repeatedly on a drive showing hardware failure.
Rollback
If removing a BCD value makes startup worse, restore the saved BCD file to its original system-partition path from WinRE. System Restore can usually be undone after Windows becomes accessible. CHKDSK file-system repairs do not have a simple undo, which is why data and disk health must be considered first.
Verification
- Windows completes three normal starts without
BAD_SYSTEM_CONFIG_INFO. bcdedit /enum {current} /vno longer shows unintended processor or memory restrictions.- Task Manager or System Information reports the expected processors and installed memory.
- The SYSTEM hive loads normally and Event Viewer shows no new registry I/O failures.
- A follow-up
chkdskreports a clean file system when file-system repair was used.
Confidence and stop conditions
Confidence is approximately 90% when an unintended numproc, truncatememory, or removememory value is proven and its removal restores startup. Confidence is approximately 75–80% for an otherwise unexplained registry-state failure. Stop when the hive is missing/corrupt, RAM diagnostics fail, storage is unstable, or no specific configuration change can be identified.