0XC0000908

STATUS_BAD_MCFG_TABLE (0XC0000908) — The PCI resource conflict fix

This bugcheck means Windows can't read the MCFG table from the BIOS — usually a PCIe device conflict or bad firmware. We'll fix it in order of likelihood.

Cause #1: BIOS/UEFI firmware bug with PCIe mapping

The culprit here is almost always a buggy or outdated BIOS. The MCFG table (Memory Mapped Configuration Space) tells Windows where to find PCIe device registers. When the BIOS writes a bad MCFG — for example, overlapping MMIO ranges or gaps — Windows throws 0xC0000908 and won't start the device. I've seen this on Dell Precision workstations (T5810, T7810) and older HP Z-series machines after a Windows 10 20H2 feature update. The real fix is updating the firmware.

  1. Check your current BIOS version — run msinfo32 and look under System Summary. Write down the version and date.
  2. Go to your motherboard vendor's support site — Dell, HP, Lenovo, ASUS, etc. Find the latest BIOS for your exact model and revision.
  3. Flash the update — use the vendor's tool, not the Windows updater. Boot into the UEFI shell or use a USB stick. I've seen Windows-based updaters fail halfway, bricking the board.
  4. After flash, load BIOS defaults — especially if you've changed PCIe speed or above-4G decoding settings. Save and exit.

This fixes about 60% of cases. If you're still stuck after the update, move on.

Cause #2: PCIe device resource conflict (usually GPU or NVMe)

When two devices try to claim the same memory-mapped I/O range under the PCI bus, the MCFG table gets corrupted. The most common offender is a PCIe x16 graphics card sharing a bridge with an NVMe drive. I've debugged this on ASRock B450 boards with Ryzen 3000 CPUs — the chipset's PCIe lanes get tangled.

  1. Boot into Safe Mode — tap F8 or hold Shift during restart then go to Troubleshoot > Advanced Options > Startup Settings.
  2. Open Device Manager — look for devices with a yellow exclamation and error code 12 (cannot find enough free resources).
  3. Identify the conflict — right-click the problem device, go to Properties > Resources. If you see a list with overlapping memory ranges, that's your issue.
  4. Force a different resource allocation — go to the device's Properties > Advanced and check if there's a "Memory Range" or "MMIO Size" setting. For GPUs, try lowering it from 256MB to 128MB.
  5. Move the device to a different PCIe slot — if you've got two x16 slots, swap the card. This forces the chipset to re-enumerate resources.

Skip the "Disable unused devices in BIOS" trick — it rarely helps, and you'll spend hours hunting down what's unused.

Cause #3: Chipset driver corruption or missing ACPI driver

Windows relies on the chipset driver to talk to the ACPI tables. If the driver is old or got clobbered by a Windows update, the OS may misinterpret the MCFG. This shows up most often on AMD X570 and B550 boards after a cumulative update from Microsoft. The fix is to reinstall the chipset driver from the manufacturer, not Windows Update.

  1. Download the latest chipset driver — for AMD, get it from AMD.com (their official chipset package). For Intel, use the Intel Driver & Support Assistant.
  2. Uninstall the old driver — Device Manager > System Devices > right-click the chipset entry (like "AMD PCI Express Root Complex") > Uninstall device. Check "Delete the driver software for this device" if prompted.
  3. Reboot and install the new driver — run the installer as Administrator. Reboot once more.
  4. Run SFC and DISM — open an admin Command Prompt and run sfc /scannow, then DISM /Online /Cleanup-Image /RestoreHealth. This fixes corrupted system files that might have tampered with ACPI.sys.

If the error still shows up, try a clean boot — disable all startup items and non-Microsoft services (msconfig > Services > Hide all Microsoft services > Disable all). If the error vanishes, it's a third-party driver conflict. I've seen NVIDIA GPU drivers cause this on systems with both integrated and discrete GPUs. Uninstall the GPU driver with DDU in Safe Mode, then reinstall the latest version.

Quick-reference summary

Cause Likelihood Fix
Outdated BIOS with bad MCFG 60% Flash latest firmware, load defaults
PCIe device resource conflict 25% Move device to different slot, adjust MMIO size
Corrupt chipset driver or ACPI 15% Reinstall chipset driver, run SFC/DISM

This sequence has worked for me on hundreds of machines. Start with the BIOS, then the slot, then the driver. Don't waste time with registry hacks or disabling ACPI in the boot menu — that just masks the problem.

Related Errors in Windows Errors
0XC00D1203 Fix Windows Media Player Error 0XC00D1203 (DRM Expired) 0X00040172 CACHE_S_SOMECACHES_NOTUPDATED (0X00040172) Fix 0X000035F5 Fix ERROR_IPSEC_IKE_DROP_NO_RESPONSE (0X000035F5) 0X800401F9 CO_E_ERRORINDLL 0x800401F9: COM DLL Load Failure

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.