01

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

TypeSearchable identifierWhen it applies
Blue-screen bug check0x00000074BAD_SYSTEM_CONFIG_INFOPrimary code. Windows detected a registry/configuration error.
Short stop display0x74Equivalent shortened bug-check value.
Registry status0xc000014cSTATUS_REGISTRY_CORRUPTThe screen specifically names a corrupt or missing registry file. Use FIX-017 when it names \Windows\System32\Config\SYSTEM.
Registry status0xc000014dSTATUS_REGISTRY_IO_FAILEDA registry read/write/flush operation failed. Treat repeated I/O errors as a storage warning.
BCD elementnumprocAn explicitly restricted processor count appears in the active loader.
BCD elementtruncatememoryWindows memory is artificially truncated by a boot setting.
BCD elementremovememoryA 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.

02

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.

03

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.

04

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.

05

Requirements

  • Windows Recovery Environment or installation media
  • Command Prompt
  • Readable Windows and system partitions
  • A restore point for the registry-state branch, when available
06

Starting position

Open Repair your computer > Troubleshoot > Advanced options > Command Prompt. Detect the Windows volume as W: and the system partition as S:.

07

Confirm the diagnosis

  1. Record the complete stop code and the last change made through msconfig, BCDEdit, registry editing, update, driver installation, or memory configuration.

  2. 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
    
  3. Verify the Windows installation:

    dir W:\Windows\System32\Config\SYSTEM
    
  4. Enumerate the offline BCD store. On UEFI/GPT:

    bcdedit /store S:\EFI\Microsoft\Boot\BCD /enum osloader /v
    
  5. On BIOS/MBR:

    bcdedit /store S:\Boot\BCD /enum osloader /v
    
  6. Record the GUID of the intended Windows loader and inspect it for:

    • numproc
    • truncatememory
    • removememory
    • safeboot or safebootalternateshell
  7. If one of the first three values exists and was recently set or is inconsistent with the installed hardware, use Branch A. If only safeboot is present, use FIX-002.

  8. If no suspect BCD values exist, test whether the SYSTEM hive is structurally loadable:

    reg load HKLM\OfflineSystem W:\Windows\System32\Config\SYSTEM
    
  9. If the load succeeds, immediately inspect the selected control-set pointers and unload the hive:

    reg query HKLM\OfflineSystem\Select
    reg unload HKLM\OfflineSystem
    
  10. 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.

  11. If the load fails or the SYSTEM file is missing, use FIX-017.

08

Resolution steps

Branch A — Remove an invalid BCD processor or memory limit

  1. Create the backup directory:

    md W:\BootRepairBackup
    
  2. Back up the detected BCD store. For UEFI:

    copy S:\EFI\Microsoft\Boot\BCD W:\BootRepairBackup\BCD-before-bad-system-config-repair
    

    For BIOS/MBR:

    copy S:\Boot\BCD W:\BootRepairBackup\BCD-before-bad-system-config-repair
    
  3. Replace <loader-GUID> below with the exact intended loader identifier, including its surrounding braces. Remove only values that were actually present in the enumeration.

  4. 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
    
  5. 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
    
  6. BCDEdit may report that an element was not found when it was never present. Do not add values in response.

  7. Re-enumerate the loader and confirm the targeted values are gone.

  8. Restart twice.

Branch B — Roll back an unknown registry/configuration change

  1. Return to Advanced options > System Restore.
  2. Select a restore point from before the first BAD_SYSTEM_CONFIG_INFO crash.
  3. Review the affected programs and drivers.
  4. 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.

  1. Run a read-only file-system check first:

    chkdsk W:
    
  2. If CHKDSK reports logical errors and the storage device remains consistently detected, back up needed data, then run:

    chkdsk W: /f
    
  3. Restart and test. If the SYSTEM hive remains missing or corrupt, continue with FIX-017.

09

Expected results and branches

  • Removing a recently added BCD limit restores startup: Recheck processor and memory totals from Windows before using msconfig again.
  • 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_INFO persists with no suspect BCD values and a loadable hive: Dump analysis or a known configuration change is needed; do not guess at registry keys.
10

Do not do this

  • Do not use bcdedit /deletevalue against 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 load as proof that every registry value is correct.
  • Do not run CHKDSK repair repeatedly on a drive showing hardware failure.
11

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.

12

Verification

  • Windows completes three normal starts without BAD_SYSTEM_CONFIG_INFO.
  • bcdedit /enum {current} /v no 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 chkdsk reports a clean file system when file-system repair was used.
13

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.