MSI Motherboard Error Codes: A Guide to Troubleshooting MSI Motherboard Errors
If you are here in this article, it means you already have noticed two-digit codes suddenly appear on your MSI motherboard. It can be disconcerting but these codes pinpoint exactly which component failed initialization or at what point in the Power-On Self-Test boot got halted.
For example, code 00 means no error was detected during POST while code 02 signals a CPU configuration issue before the microcode is loaded. Other common MSI error codes involve memory errors like 22 or 29, CPU defects (5A), CMOS checksum failure (C5), or keyboard detection problems (d6).
In this guide I have provided common MSI error codes, what components they indicate failure in, likely causes to check, and methods to try fixing the underlying issues. Matching the cryptic 2-digit number to MSI’s POST error list reveals the failed steps and hardware. So read on for a full breakdown of MSI diagnostic error codes to help get your system back up and running when problems strike during boot.
What is an MSI Motherboard Error Code?
MSI motherboards have built-in diagnostic LEDs designed to display 2-digit hex POST codes that signal errors encountered when first powering on the system. These error codes pinpoint exactly what hardware component or initialization step is failing, enabling narrow troubleshooting.
For example, if MSI motherboard code 00 appears, this signals a normal POST with no errors detected. However, if code 51 appears, this flags an issue with the memory initialization step for further diagnosis. So learning what MSI error codes mean helps rapidly identify and address boot failures.
What Do the Codes on My MSI Motherboard Mean?
While MSI error code implementations can vary across motherboard models, many share common codes for similar types of boot errors:
Table 1: Power-on Self-Test (POST) Codes
Code | Description |
00 | Not used |
01 | Power on. Reset type detection (soft/hard) |
02 | AP initialization before microcode loading |
03 | System Agent initialization before microcode loading |
04 | PCH initialization before microcode loading |
05 | OEM initialization before microcode loading |
06 | Microcode loading |
07 | AP initialization after microcode loading |
08 | System Agent initialization after microcode loading |
09 | PCH initialization after microcode loading |
0A | OEM initialization after microcode loading |
0B | Cache initialization |
Table 2: SEC Error Codes
Code | Description |
0C | Reserved for future AMI SEC error codes |
0D | Reserved for future AMI SEC error codes |
0E | Microcode not found |
0F | Microcode not loaded |
Table 3: PEI Phase Codes
Code | Description |
10 | PEI Core is started |
11 | Pre-memory CPU initialization is started |
12 | Pre-memory CPU initialization (CPU module specific) |
13 | Pre-memory CPU initialization (CPU module specific) |
14 | Pre-memory CPU initialization (CPU module specific) |
15 | Pre-memory System Agent initialization is started |
16 | Pre-Memory System Agent initialization (System Agent module specific) |
17 | Pre-Memory System Agent initialization (System Agent module specific) |
18 | Pre-Memory System Agent initialization (System Agent module specific) |
19 | Pre-memory PCH initialization is started |
1A | Pre-memory PCH initialization (PCH module specific) |
1B | Pre-memory PCH initialization (PCH module specific) |
1C | Pre-memory PCH initialization (PCH module specific) |
1D | OEM pre-memory initialization codes |
1E | OEM pre-memory initialization codes |
1F | OEM pre-memory initialization codes |
20 | OEM pre-memory initialization codes |
21 | OEM pre-memory initialization codes |
22 | OEM pre-memory initialization codes |
23 | OEM pre-memory initialization codes |
24 | OEM pre-memory initialization codes |
25 | OEM pre-memory initialization codes |
26 | OEM pre-memory initialization codes |
27 | OEM pre-memory initialization codes |
28 | OEM pre-memory initialization codes |
29 | OEM pre-memory initialization codes |
2A | OEM pre-memory initialization codes |
2B | Memory initialization. Serial Presence Detect (SPD) data reading |
2C | Memory initialization. Memory presence detection |
2D | Memory initialization. Programming memory timing information |
2E | Memory initialization. Configuring memory |
2F | Memory initialization (other) |
Table 4: Reserved for ASL (see ASL Status Codes section below)
Code | Description |
30 | Reserved for ASL (see ASL Status Codes section below) |
31 | Memory Installed |
32 | CPU post-memory initialization is started |
33 | CPU post-memory initialization. Cache initialization |
34 | CPU post-memory initialization. Application Processor(s) (AP) initialization |
35 | CPU post-memory initialization. Boot Strap Processor (BSP) selection |
36 | CPU post-memory initialization. System Management Mode (SMM) initialization |
37 | Post-Memory System Agent initialization is started |
38 | Post-Memory System Agent initialization (System Agent module specific) |
39 | Post-Memory System Agent initialization (System Agent module specific) |
3A | Post-Memory System Agent initialization (System Agent module specific) |
3B | Post-Memory PCH initialization is started |
3C | Post-Memory PCH initialization (PCH module specific) |
3D | Post-Memory PCH initialization (PCH module specific) |
3E | Post-Memory PCH initialization (PCH module specific) |
3F | OEM post-memory initialization codes |
Table 5: OEM post-memory initialization codes
Code | Description |
40 | OEM post memory initialization codes |
41 | OEM post memory initialization codes |
42 | OEM post memory initialization codes |
43 | OEM post memory initialization codes |
44 | OEM post memory initialization codes |
45 | OEM post memory initialization codes |
46 | OEM post memory initialization codes |
47 | OEM post memory initialization codes |
48 | OEM post memory initialization codes |
49 | OEM post memory initialization codes |
4A | OEM post memory initialization codes |
4B | OEM post memory initialization codes |
4C | OEM post memory initialization codes |
4D | OEM post memory initialization codes |
4E | OEM post memory initialization codes |
4F | DXE IPL is started |
Table 6: PEI Error Codes
Code | Description |
50 | Memory initialization error. Invalid memory type or incompatible memory speed |
51 | Memory initialization error. SPD reading has failed |
52 | Memory initialization error. Invalid memory size or memory modules do not match |
53 | Memory initialization error. No usable memory detected |
54 | Unspecified memory initialization error |
55 | Memory not installed |
56 | Invalid CPU type or Speed |
57 | CPU mismatch |
58 | CPU self-test failed or possible CPU cache error |
59 | CPU micro-code is not found or micro-code update is failed |
5A | Internal CPU error |
5B | Reset PPI is not available |
5C | Reserved for future AMI error codes |
5D | Reserved for future AMI error codes |
5E | Reserved for future AMI error codes |
5F | Reserved for future AMI error codes |
Table 7: DXE Phase Codes
Code | Description |
60 | DXE Core is started |
61 | NVRAM initialization |
62 | Installation of the PCH Runtime Services |
63 | CPU DXE initialization is started |
64 | CPU DXE initialization (CPU module specific) |
65 | CPU DXE initialization (CPU module specific) |
66 | CPU DXE initialization (CPU module specific) |
67 | CPU DXE initialization (CPU module specific) |
68 | PCI host bridge initialization |
69 | System Agent DXE initialization is started |
6A | System Agent DXE SMM initialization is started |
6B | System Agent DXE initialization (System Agent module specific) |
6C | System Agent DXE initialization (System Agent module specific) |
6D | System Agent DXE initialization (System Agent module specific) |
6E | System Agent DXE initialization (System Agent module specific) |
6F | System Agent DXE initialization (System Agent module specific) |
Table 8: System Agent DXE initialization (System Agent module specific)
Code | Description |
70 | PCH DXE initialization is started |
71 | PCH DXE SMM initialization is started |
72 | PCH devices initialization |
73 | PCH DXE Initialization (PCH module specific) |
74 | PCH DXE Initialization (PCH module specific) |
75 | PCH DXE Initialization (PCH module specific) |
76 | PCH DXE Initialization (PCH module specific) |
77 | PCH DXE Initialization (PCH module specific) |
78 | ACPI module initialization |
79 | CSM initialization |
7A | Reserved for future AMI DXE codes |
7B | Reserved for future AMI DXE codes |
7C | Reserved for future AMI DXE codes |
7D | Reserved for future AMI DXE codes |
7E | Reserved for future AMI DXE codes |
7F | Reserved for future AMI DXE codes |
Table 9: OEM DXE initialization codes
Code | Description |
80 | OEM DXE initialization codes |
81 | OEM DXE initialization codes |
82 | OEM DXE initialization codes |
83 | OEM DXE initialization codes |
84 | OEM DXE initialization codes |
85 | OEM DXE initialization codes |
86 | OEM DXE initialization codes |
87 | OEM DXE initialization codes |
88 | OEM DXE initialization codes |
89 | OEM DXE initialization codes |
8A | OEM DXE initialization codes |
8B | OEM DXE initialization codes |
8C | OEM DXE initialization codes |
8D | OEM DXE initialization codes |
8E | OEM DXE initialization codes |
8F | OEM DXE initialization codes |
Table 10: Boot Device Selection (BDS) phase is started
Code | Description |
90 | Boot Device Selection (BDS) phase is started |
91 | Driver connecting is started |
92 | PCI Bus initialization is started |
93 | PCI Bus Hot Plug Controller Initialization |
94 | PCI Bus Enumeration 32 |
95 | PCI Bus Request Resources |
96 | PCI Bus Assign Resources |
97 | Console Output devices connect |
98 | Console input devices connect |
99 | Super IO Initialization |
9A | USB initialization is started |
9B | USB Reset |
9C | USB Detect |
9D | USB Enable |
9E | Reserved for future AMI codes |
9F | Reserved for future AMI codes |
Table 11: IDE initialization is started
Code | Description |
A0 | IDE initialization is started |
A1 | IDE Reset |
A2 | IDE Detect |
A3 | IDE Enable |
A4 | SCSI initialization is started |
A5 | SCSI Reset |
A6 | SCSI Detect |
A7 | SCSI Enable |
A8 | Setup Verifying Password |
A9 | Start of Setup |
AA | Reserved for ASL (see ASL Status Codes section below) |
AB | Setup Input Wait |
AC | Reserved for ASL (see ASL Status Codes section below) |
AD | Ready To Boot event |
AE | Legacy Boot event |
AF | Exit Boot Services event |
Table 12: Runtime Set Virtual Address MAP Begin
Code | Description |
B0 | Runtime Set Virtual Address MAP Begin |
B1 | Runtime Set Virtual Address MAP End |
B2 | Legacy Option ROM Initialization |
B3 | System Reset |
B4 | USB hot plug |
B5 | PCI bus hot plug |
B6 | Clean-up of NVRAM |
B7 | Configuration Reset (reset of NVRAM settings) |
B8 | Reserved for future AMI codes |
B9 | Reserved for future AMI codes |
BA | Reserved for future AMI codes |
BB | Reserved for future AMI codes |
BC | Reserved for future AMI codes |
BD | Reserved for future AMI codes |
BE | Reserved for future AMI codes |
BF | Reserved for future AMI codes |
Table 13: OEM BDS initialization codes
Code | Description |
C0 | OEM BDS initialization codes |
C1 | OEM BDS initialization codes |
C2 | OEM BDS initialization codes |
C3 | OEM BDS initialization codes |
C4 | OEM BDS initialization codes |
C5 | OEM BDS initialization codes |
C6 | OEM BDS initialization codes |
C7 | OEM BDS initialization codes |
C8 | OEM BDS initialization codes |
C9 | OEM BDS initialization codes |
CA | OEM BDS initialization codes |
CB | OEM BDS initialization codes |
CC | OEM BDS initialization codes |
CD | OEM BDS initialization codes |
CE | OEM BDS initialization codes |
CF | OEM BDS initialization codes |
Table 14: DXE Error Codes
Code | Description |
D0 | CPU initialization error |
D1 | System Agent initialization error |
D2 | PCH initialization error |
D3 | Some of the Architectural Protocols are not available |
D4 | PCI resource allocation error. Out of Resources |
D5 | No Space for Legacy Option ROM |
D6 | No Console Output Devices are found |
D7 | No Console Input Devices are found |
D8 | Invalid password |
D9 | Error loading Boot Option (LoadImage returned error) |
DA | Boot Option is failed (StartImage returned error) |
DB | Flash update is failed |
DC | Reset protocol is not available |
Table 15: S3 Resume Progress Codes
Code | Description |
E0 | S3 Resume is started (S3 Resume PPI is called by the DXE IPL) |
E1 | S3 Boot Script execution |
E2 | Video repost |
E3 | OS S3 wake vector call |
E4 | Reserved for future AMI progress codes |
E5 | Reserved for future AMI progress codes |
E6 | Reserved for future AMI progress codes |
E7 | Reserved for future AMI progress codes |
Table 16: S3 Resume Error Codes
Code | Description |
E8 | S3 Resume Failed |
E9 | S3 Resume PPI not Found |
EA | S3 Resume Boot Script Error |
EB | S3 OS Wake Error |
EC | Reserved for future AMI error codes 31 |
ED | Reserved for future AMI error codes 31 |
EE | Reserved for future AMI error codes 31 |
EF | Reserved for future AMI error codes 31 |
Table 17: Recovery Progress Codes
Code | Description |
F0 | Recovery condition triggered by firmware (Auto recovery) |
F1 | Recovery condition triggered by user (Forced recovery) |
F2 | Recovery process started |
F3 | Recovery firmware image is found |
F4 | Recovery firmware image is loaded |
F5 | Reserved for future AMI progress codes |
F6 | Reserved for future AMI progress codes |
F7 | Reserved for future AMI progress codes |
Table 18: Recovery Error Codes
Code | Description |
F8 | Recovery PPI is not available |
F9 | Recovery capsule is not found |
FA | Invalid recovery capsule |
FB | Reserved for future AMI error codes |
FC | Reserved for future AMI error codes |
FD | Reserved for future AMI error codes |
FE | Reserved for future AMI error codes |
FF | Reserved for future AMI error codes |
Table 19: ACPI/ASL Checkpoints
Code | Description |
01 | System is entering S1 sleep state |
02 | System is entering S2 sleep state |
03 | System is entering S3 sleep state |
04 | System is entering S4 sleep state |
05 | System is entering S5 sleep state |
10 | System is waking up from the S1 sleep state |
20 | System is waking up from the S2 sleep state |
30 | System is waking up from the S3 sleep state |
40 | System is waking up from the S4 sleep state |
AC | System has transitioned into ACPI mode. The interrupt controller is in APIC mode |
AA | System has transitioned into ACPI mode. Interrupt controller is in APIC mode |
Some Major and Common MSI Error Codes and Their Solutions
Below is a more in-depth explanation of key MSI error codes you may encounter and systematic fixes to try for each:
00 – Not Used
The 00 code simply indicates that the Power-On Self-Test (POST) completed successfully without any errors detected. During POST, the motherboard runs through a diagnostic testing sequence, checking for issues with critical components like the CPU, RAM, and boot devices. A 00 code signals that all core components initialized properly and no hardware issues were found that could prevent booting.
If code 00 appears, no troubleshooting steps are necessary. Allow the system to continue the normal boot process uninterrupted. 00 confirms everything is functioning as expected.
01 – Power On and Reset Type Detection
Code 01 appears early in the boot sequence after the system power button is pressed. It indicates the motherboard has powered on and is now verifying what type of boot event woke the system from an unpowered state.
Specifically, the BIOS firmware checks signals like initial CPU register values to deduce whether a cold boot from full power off has occurred, or if this boot instance is a restart/reboot. Making this determination allows other sequences down the line to vary initialization steps depending on boot type.
As code 01 refers to standard PC boot mechanics, it does not indicate any functional errors. Typically no troubleshooting is needed – allow POST to proceed normally. If the system fails to POST further or hangs on code 01, more intricate issues like CPU, board, or BIOS defects could be present.
02 – AP Initialization Before Microcode Loading
The 02 code signals an error occurred setting up the Application Processor (AP) – the main CPU with the OS-facing execution unit – before loading the critical microcode onto the processor.
Microcode consists of proprietary firmware required to enable all features and extensions of a modern 64-bit CPU. The BIOS loads this microcode into special CPU registers early in initialization. If the Application Processor fails configuration prior to this occurring, code 02 results.
Potential reasons for code 02 errors include severe instability at stock settings requiring BIOS defaults restored. Updating to a newer BIOS version can also resolve microcode compatibility issues. Reseating the CPU to remake all pin contacts often fixes elusive initialization failures too. If code 02 persists, test alternate known-good CPUs to confirm a defective processor.
0A – OEM Initialization After Microcode Loading
The 0A POST code indicates custom OEM programming failed to execute after the completion of microcode loading onto the CPU. Motherboard manufacturers can inject custom initialization services that enable board-specific features during this phase.
A bug or glitch in this proprietary OEM boot sequence likely produced the 0A failure code. Contact the board maker providing exact system specs and error details. They may have an updated BIOS available to fix compatibility issues with the custom logic hooks failing.
As this phase runs manufacturer-unique code, end-user troubleshooting options are limited. Try resetting BIOS to conservative defaults in case instability or corruption occurs. Or failing OEM initialization could coincide with underlying hardware defects – check other POST codes that appear for additional failure clues, and start isolating components.
2B – Memory Initialization
Code 2B signals an error occurred while POST attempted to initialize and verify the detection of installed memory modules.
Specifically, 2B indicates that reading the Serial Presence Detect (SPD) information from the DIMM’s onboard EEPROM chip failed. This process validates memory timing parameters essential for interfacing the modules with the Integrated Memory Controller.
Common causes for 2B errors include faulty DIMM slot pin contact where electrical signals cannot pass, or a failed memory module itself. Troubleshooting involves systematically reseating and then testing each stick individually in different slots to isolate the failure to specific hardware.
In rare cases, severe motherboard damage preventing slot communication can also cause code 2B. But start by testing sticks and slots before deeming them damaged. Reflowing chipset socket contacts or pin straightening can recover lost signal paths causing this SPD memory initialization issue as well.
62 – Installation of the PCH Runtime Services
Error 62 indicates that initializing the Platform Controller Hub (PCH) firmware runtime services failed during the boot sequence. The PCH (or chipset) controls communication between critical system components like CPU, RAM, PCIe, and device controllers that the operating system will interface with.
When code 62 appears, there was an issue properly configuring the PCH firmware that runs these integral chipset services and interfaces. From sudden power loss, while flushing BIOS to firmware corruption, many factors can disrupt proper PCH logic setup.
Troubleshooting attempts resetting BIOS settings to default and letting the boot proceed. Also update to the latest stable BIOS then clear CMOS afterwards. If system boots normally at optimized defaults but not at higher settings or legacy modes, try operating at strict specifications til resolving sources of instability.
However, a truly unrecoverable PCH chipset defect requires motherboard replacement in rare worst-case scenarios. Isolate failure symptom triggers before assuming permanent silicon failure when battling code 62.
AA – System Transitioned to ACPI Mode
The AA POST code indicates that system successfully transitioned from the legacy PC boot process into the modern Advanced Configuration and Power Interface (ACPI) mode. This transition ensures vital features like advanced power management, plug-and-play device configuration, sleep states, and CPU performance controls are enabled.
If code AA appears, all components are initialized properly in the legacy boot phase to allow handing control over to the ACPI firmware. AA confirms the system is on the correct track toward loading the OS without any errors flagged.
As it signals normal progress rather than any failure, code AA requires no troubleshooting steps. Allow POST to finish booting unless other codes appear indicating issues in subsequent ACPI sequences or timeouts stall progress.
Additional Tips for MSI Error Code Troubleshooting
Outside specific error code fixes, here are some additional things to try resolving MSI motherboard POST issues:
- Power Cycle System – After clearing CMOS, allow the board to completely discharge by removing PSU cables for 5 mins before reconnecting and testing. Allowing full power drain often resolves intermittent POST glitches.
- Check Cable Connections – Reseating the 24-pin motherboard power cable and PCIE connectors often fixes elusive power issues causing boot failure and error codes.
- Reduce to Minimum Configuration – Remove all non-essential PCI cards, hard drives, and RAM sticks to the minimum required, then add back until the error reappears to isolate faulty components.
- BIOS Update – While not a fix-all, updating to the latest stable BIOS can resolve boot issues stemming from outdated code. But only flash BIOS if the system is otherwise stable.
So some other standard troubleshooting practices beyond code-specific fixes are worth attempting as well.
Conclusion
While confusing at first glance, error codes displayed on MSI motherboards actually provide insightful clues to isolate failures during system boot. Once matched to MSI’s specific code designations, solutions can be attempted in a targeted rather focused manner, saving hours of headaches. Hopefully, this breakdown gives you a helpful head start on resolving annoying MSI motherboard error issues hindering system operation. Let us know in the comments if you have encountered additional common codes during your troubleshooting!
Subscribe to our newsletter
& plug into
the world of PC Hardwares