AMI Boot code: Difference between revisions

From HPCWIKI
Jump to navigation Jump to search
(Add categories: Linux, Reference)
(Phase 6.1: LLM-Optimized Wiki Template 적용)
Line 1: Line 1:
== Typical AMI bios code<ref>https://www.congatec.com/fileadmin/user_upload/Documents/Others/AMI_Aptio_5.x_Status_Codes_PUB_Rev.2.0_20140410.pdf</ref> ==
{{Status
|status=Draft
|owner=Knowledge Agent
|last_update=2026-07-16
|review=Pending
}}


=== Progress Codes ===
{{TOC}}
00 - Not used


01 - Power on. Reset type detection (soft/hard)
== Overview ==


02 - AP initialization before microcode loading
AMI(American Megatrends) BIOS 부트 코드와 POST(Power-On Self-[[Test]]) Progress/Error 코드 테이블입니다.


03 - System Agent initialization before microcode loading
=== Summary ===


04 - PCH initialization before microcode loading
* 무엇인가? AMI BIOS 부팅 과정의 코드 상태표
* 왜 필요한가? 서버 부팅 문제 진단, POST 코드 해석
* 언제 사용하는가? 서버 부팅 실패 시 에러 코드 매핑, BIOS 업데이트 전후 테스트


05 - OEM initialization before microcode loading
---


06 - Microcode loading
== Purpose ==


07 - AP initialization after microcode loading
이 문서가 존재하는 이유


08 - System Agent initialization after microcode loading
* Goal: AMI BIOS POST 코드 해석을 통한 서버 부팅 문제 진단 지원
* Scope: SEC, PEI, BDS, DXE, ACPI, RT, SMM 등 각เฟ이즈별 코드 정의
* Non-goals: BIOS 펌웨어 수정, OEM 커스텀 코드 해석


09 - PCH initialization after microcode loading
---


0A - OEM initialization after microcode loading
== Key Concepts ==


0B - Cache initialization
{| class="wikitable"
! Concept
! Description
! Related
|-
| POST
| Power-On Self-Test — 전원 공급 후 하드웨어自检
| [[BIOS]]
|-
| AMI BIOS
| American Megatrends BIOS — 가장 널리 쓰이는 서버 BIOS
| [[BIOS]]
|-
| SEC Phase
| Start-End-Initial-CPU — CPU 초기화 첫 단계
| [[UEFI]]
|-
| PEI Phase
| Pre-EFI Initialization — 메모리 이전 하드웨어 초기화
| [[UEFI]]
|-
| BDS Phase
| Boot Device Selection — 부팅 장치 선택
| [[UEFI]]
|-
| DXE Phase
| Driver Execution Environment — 드라이버 실행 환경
| [[UEFI]]
|-
| Progress Code
| 0x00-0xFF — 부팅 진행 상황 표시 코드
| [[AMI Boot code]]
|-
| Error Code
| 0xC0-0xFF — 부팅 실패 시 에러 코드
| [[AMI Boot code]]
|}


=== SEC Error Codes ===
---
0C - Reserved for future AMI SEC error codes


0D - Reserved for future AMI SEC error codes
== Architecture ==


0E - Microcode not found
UEFI 부팅 프로세스와 AMI POST 코드 흐름:


0F - Microcode not loaded
<syntaxhighlight lang="mermaid">
graph TD
    A[전원 On] --> B[SEC Phase]
    B --> C[PEI Phase]
    C --> D[DXE Phase]
    D --> E[BDS Phase]
    E --> F[Boot Manager]
    F --> G[OS Loader]
    G --> H[OS Boot]
    B -.-> B1[SEC Error: 0C-0F]
    C -.-> C1[PEI Error: 10-FF]
    D -.-> D1[DXE Error]
    E -.-> E1[BDS Error]
</syntaxhighlight>


=== PEI Phase ===
---
10 - PEI Core is started


11 - Pre-memory CPU initialization is started
== Workflow ==


12 - Pre-memory CPU initialization (CPU module specific)
POST 코드 디버깅 워크플로우:


13 - Pre-memory CPU initialization (CPU module specific)
# 서버 전원 On — POST 코드 표시 장치(LED/스피커/PCI 카드) 확인
# 코드 매핑 — 아래 테이블에서 코드 찾기
# フェ이즈 식별 — SEC/PEI/DXE/BDS 중 어느 단계에서 멈췄는지 확인
# 원인 분석 — 해당フェ이즈의 초기화 대상 확인 (CPU, 메모리, PCH 등)
# 조치 — 메모리 재장착, BIOS 리셋, CPU 재장착 등
# 재부팅 — 수정 후 재부팅하여 코드 진행 확인


14 - Pre-memory CPU initialization (CPU module specific)
{| class="wikitable"
! Stage
! Input
! Output
|-
| Power On
| 전원 공급
| SEC Phase 시작
|-
| CPU Init
| SEC 코드
| PEI Phase 진입
|-
| Memory Init
| PEI 코드
| DXE Phase 진입
|-
| Device Init
| DXE 코드
| BDS Phase 진입
|-
| Boot Select
| BDS 코드
| OS Loader 실행
|}


15 - Pre-memory System Agent initialization is started
---


16 - Pre-Memory System Agent initialization (System Agent module specific)
== Detailed Explanation ==


17 - Pre-Memory System Agent initialization (System Agent module specific)
=== SEC Phase (Start-End-Initial-CPU) ===


18 - Pre-Memory System Agent initialization (System Agent module specific)
SEC Phase는 CPU가 최초로 실행하는 단계입니다. 마이크로코드 로딩과 초기 AP(Application Processor) 설정을 수행합니다.


19 - Pre-memory PCH initialization is started
{| class="wikitable"
! 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
|}


1A - Pre-memory PCH initialization (PCH module specific)
=== PEI Phase (Pre-EFI Initialization) ===


1B - Pre-memory PCH initialization (PCH module specific)
PEI Phase는 메모리 이전 초기화 단계입니다. CPU, System Agent, PCH, 메모리 등을 초기화합니다.


1C - Pre-memory PCH initialization (PCH module specific)
{| class="wikitable"
! 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
|-
| 10 | PEI Core is started
|-
| 11 | Pre-memory CPU initialization is started
|-
| 12 | Pre-memory CPU initialization (CPU module specific)
|-
| 15 | Pre-memory System Agent initialization is started
|-
| 19 | Pre-memory PCH initialization is started
|-
| 2B | Memory initialization. SPD data reading
|-
| 2C | Memory initialization. Memory presence detection
|-
| 2D | Memory initialization. Programming memory timing
|-
| 2E | Memory initialization. Configuring memory
|-
| 30 | Reserved for ASL
|-
| 31 | Memory Installed
|-
| 32 | CPU post-memory initialization is started
|-
| 33 | CPU post-memory initialization. Cache initialization
|-
| 34 | CPU post-memory initialization. AP initialization
|-
| 35 | CPU post-memory initialization. BSP selection
|-
| 36 | CPU post-memory initialization. SMM initialization
|}


1D - OEM pre-memory initialization codes
=== BDS Phase (Boot Device Selection) ===


1E - OEM pre-memory initialization codes
BDS Phase는 부팅 장치를 선택하고 OS 로더를 실행합니다.


1F - OEM pre-memory initialization codes
=== ACPI Phase ===


20 - OEM pre-memory initialization codes
ACPI (Advanced Configuration and Power Interface) 관련 코드:


21 - OEM pre-memory initialization codes
{| class="wikitable"
! Code
! Description
|-
| 50 | ACPI tables building
|-
| 51 | ACPI NVDIMM init
|-
| 52 | ACPI S3 enable
|}


22 - OEM pre-memory initialization codes
=== SMM Phase (System Management Mode) ===


23 - OEM pre-memory initialization codes
SMM은 전원 관리, 열 관리, 하드웨어 모니터링을 담당합니다.


24 - OEM pre-memory initialization codes
=== RT Phase (Runtime) ===


25 - OEM pre-memory initialization codes
OS가 로드된 후 런타임 단계.


26 - OEM pre-memory initialization codes
---


27 - OEM pre-memory initialization codes
== Configuration ==


28 - OEM pre-memory initialization codes
=== BIOS POST Code 표시 설정 ===


29 - OEM pre-memory initialization codes
<syntaxhighlight lang="text">
POST Code Display:
- LED Display: 메인보드 8-segment LED
- PCI POST Card: PCI/PCIe 슬롯에 삽입
- Serial Port: COM 포트로 코드 출력
- UEFI Variable: PostCode 변수 저장
</syntaxhighlight>


2A - OEM pre-memory initialization codes
=== AMI Aptio 설정 ===


2B - Memory initialization. Serial Presence Detect (SPD) data reading
<syntaxhighlight lang="text">
BIOS Setup → Boot → POST Delay: 3-5초 권장
BIOS Setup → Advanced → CPU Configuration: Microcode Loading Enabled
BIOS Setup → Advanced → Memory Configuration: XMP/EXPO Profile
</syntaxhighlight>


2C - Memory initialization. Memory presence detection
---


2D - Memory initialization. Programming memory timing information
== Examples ==


2E - Memory initialization. Confi guring memory
=== Example 1: 서버 부팅 실패 — 코드 0E ===


2F - Memory initialization (other)
Input


30 - Reserved for ASL (see ASL Status Codes section below)
<syntaxhighlight lang="text">
POST Code: 0E
Description: Microcode not found
Phase: SEC
</syntaxhighlight>


31 - Memory Installed
Output


32 - CPU post-memory initialization is started
<syntaxhighlight lang="text">
원인: CPU 마이크로코드 파일 불일치
해결:
1. BIOS 펌웨어 최신 버전으로 업데이트
2. CPU와 호환되는 마이크로코드 확인
3. BIOS 리셋 (Clear CMOS)
</syntaxhighlight>


33 - CPU post-memory initialization. Cache initialization
=== Example 2: 메모리 초기화 실패 — 코드 2C ===


34 - CPU post-memory initialization. Application Processor(s) (AP) initialization
Input


35 - CPU post-memory initialization. Boot Strap Processor (BSP) selection
<syntaxhighlight lang="text">
POST Code: 2C
Description: Memory presence detection
Phase: PEI
</syntaxhighlight>


36 - CPU post-memory initialization. System Management Mode (SMM) initialization
Output


37 - Post-Memory System Agent initialization is started
<syntaxhighlight lang="text">
원인: 메모리 감지 실패 — 슬롯 문제 또는 메모리 불량
해결:
1. 메모리 재장착
2. 슬롯 변경
3. 메모리 불량 테스트 (memtest86)
</syntaxhighlight>


38 - Post-Memory System Agent initialization (System Agent module specific)
=== Example 3: 정상 부팅 코드 흐름 ===


39 - Post-Memory System Agent initialization (System Agent module specific)
<syntaxhighlight lang="text">
01 → 02 → 06 → 07 → 10 → 11 → 2B → 2C → 2D → 2E → 31 → 32 → 33 → 34 → BDS
전원 On → AP init → Microcode load → PEI Core → CPU init → Memory → Boot
</syntaxhighlight>


3A - Post-Memory System Agent initialization (System Agent module specific)
---


3B - Post-Memory PCH initialization is started
== Best Practices ==


3C - Post-Memory PCH initialization (PCH module specific)
* POST 코드 카드 사용 — 실시간 부팅 진행 상황 모니터링
* BIOS 최신 버전 유지 — 새로운 코드 정의 및 버그 수정
* OEM 코드 문서화 — 1D-2A, 1E-20 등은 OEM별 커스텀 코드
* Clear CMOS — 부팅 실패 시 BIOS 설정 초기화
* 메모리 재장착 — 코드 2C/2D/2E에서 메모리 문제 의심 시


3D - Post-Memory PCH initialization (PCH module specific)
---


3E - Post-Memory PCH initialization (PCH module specific)
== Limitations ==


3F - OEM post memory initialization codes
* OEM 커스텀 코드 (1D-2A, 1E-20 등)는 제조사별로 상이
* 일부 코드는 Reserved로 정의되어 있어 상세 정보 부재
* 메인보드 제조사에 따라 코드 해석이 다를 수 있음
* AMI BIOS 버전(Aptio IV, V, V2 등)에 따라 코드 범위 상이


40 - OEM post memory initialization codes
---


41 - OEM post memory initialization codes
== References ==
 
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
 
=== PEI Error Codes ===
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 - Unspecifi ed 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
* https://www.congatec.com/fileadmin/user_upload/Documents/Others/AMI_Aptio_5.x_Status_Codes_PUB_Rev.2.0_20140410.pdf
* https://www.ami.com


5E - Reserved for future AMI error codes
---


5F - Reserved for future AMI error codes
== Related Pages ==


=== DXE Phase ===
* [[BIOS]]
60 - DXE Core is started
* [[UEFI]]
* [[AMI Aptio]]
* [[Server Boot Process]]
* [[CPU]]
* [[Memory]]
* [[PCIe]]


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)
 
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
 
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
 
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
 
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
 
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 - Confi guration 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
 
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
 
=== DXE Error Codes ===
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
 
=== S3 Resume Progress Codes ===
E0 - S3 Resume is stared (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
 
S3 Resume Error Codes
 
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
 
=== Recovery Progress Codes ===
F0 - Recovery condition triggered by firmware (Auto recovery)
 
F1 - Recovery condition triggered by user (Forced recovery)
 
F2 - Recovery process started
 
F3 - Recovery fi rmware image is found
 
F4 - Recovery fi rmware image is loaded
 
F5 - Reserved for future AMI progress codes
 
F6 - Reserved for future AMI progress codes
 
F7 - Reserved for future AMI progress codes
 
=== Recovery Error Codes ===
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
 
=== ACPI/ASL Checkpoints ===
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. Interrupt controller is in APIC mode
 
AA - System has transitioned into ACPI mode. Interrupt controller is in APIC mode
 
== References ==
<references />
[[Category:Linux]]


[[Category:Hardware]]
[[Category:Reference]]
[[Category:Reference]]

Revision as of 14:01, 16 July 2026

Template:Status

Template:TOC

Overview

AMI(American Megatrends) BIOS 부트 코드와 POST(Power-On Self-Test) Progress/Error 코드 테이블입니다.

Summary

  • 무엇인가? AMI BIOS 부팅 과정의 코드 상태표
  • 왜 필요한가? 서버 부팅 문제 진단, POST 코드 해석
  • 언제 사용하는가? 서버 부팅 실패 시 에러 코드 매핑, BIOS 업데이트 전후 테스트

---

Purpose

이 문서가 존재하는 이유

  • Goal: AMI BIOS POST 코드 해석을 통한 서버 부팅 문제 진단 지원
  • Scope: SEC, PEI, BDS, DXE, ACPI, RT, SMM 등 각เฟ이즈별 코드 정의
  • Non-goals: BIOS 펌웨어 수정, OEM 커스텀 코드 해석

---

Key Concepts

Concept Description Related
POST Power-On Self-Test — 전원 공급 후 하드웨어自检 BIOS
AMI BIOS American Megatrends BIOS — 가장 널리 쓰이는 서버 BIOS BIOS
SEC Phase Start-End-Initial-CPU — CPU 초기화 첫 단계 UEFI
PEI Phase Pre-EFI Initialization — 메모리 이전 하드웨어 초기화 UEFI
BDS Phase Boot Device Selection — 부팅 장치 선택 UEFI
DXE Phase Driver Execution Environment — 드라이버 실행 환경 UEFI
Progress Code 0x00-0xFF — 부팅 진행 상황 표시 코드 AMI Boot code
Error Code 0xC0-0xFF — 부팅 실패 시 에러 코드 AMI Boot code

---

Architecture

UEFI 부팅 프로세스와 AMI POST 코드 흐름:

graph TD
    A[전원 On] --> B[SEC Phase]
    B --> C[PEI Phase]
    C --> D[DXE Phase]
    D --> E[BDS Phase]
    E --> F[Boot Manager]
    F --> G[OS Loader]
    G --> H[OS Boot]
    B -.-> B1[SEC Error: 0C-0F]
    C -.-> C1[PEI Error: 10-FF]
    D -.-> D1[DXE Error]
    E -.-> E1[BDS Error]

---

Workflow

POST 코드 디버깅 워크플로우:

  1. 서버 전원 On — POST 코드 표시 장치(LED/스피커/PCI 카드) 확인
  2. 코드 매핑 — 아래 테이블에서 코드 찾기
  3. フェ이즈 식별 — SEC/PEI/DXE/BDS 중 어느 단계에서 멈췄는지 확인
  4. 원인 분석 — 해당フェ이즈의 초기화 대상 확인 (CPU, 메모리, PCH 등)
  5. 조치 — 메모리 재장착, BIOS 리셋, CPU 재장착 등
  6. 재부팅 — 수정 후 재부팅하여 코드 진행 확인
Stage Input Output
Power On 전원 공급 SEC Phase 시작
CPU Init SEC 코드 PEI Phase 진입
Memory Init PEI 코드 DXE Phase 진입
Device Init DXE 코드 BDS Phase 진입
Boot Select BDS 코드 OS Loader 실행

---

Detailed Explanation

SEC Phase (Start-End-Initial-CPU)

SEC Phase는 CPU가 최초로 실행하는 단계입니다. 마이크로코드 로딩과 초기 AP(Application Processor) 설정을 수행합니다.

Code Description
Reserved for future AMI SEC error codes
Reserved for future AMI SEC error codes
Microcode not found
Microcode not loaded

PEI Phase (Pre-EFI Initialization)

PEI Phase는 메모리 이전 초기화 단계입니다. CPU, System Agent, PCH, 메모리 등을 초기화합니다.

Code Description
Not used
Power on. Reset type detection (soft/hard)
AP initialization before microcode loading
System Agent initialization before microcode loading
PCH initialization before microcode loading
OEM initialization before microcode loading
Microcode loading
AP initialization after microcode loading
System Agent initialization after microcode loading
PCH initialization after microcode loading
OEM initialization after microcode loading
Cache initialization
PEI Core is started
Pre-memory CPU initialization is started
Pre-memory CPU initialization (CPU module specific)
Pre-memory System Agent initialization is started
Pre-memory PCH initialization is started
Memory initialization. SPD data reading
Memory initialization. Memory presence detection
Memory initialization. Programming memory timing
Memory initialization. Configuring memory
Reserved for ASL
Memory Installed
CPU post-memory initialization is started
CPU post-memory initialization. Cache initialization
CPU post-memory initialization. AP initialization
CPU post-memory initialization. BSP selection
CPU post-memory initialization. SMM initialization

BDS Phase (Boot Device Selection)

BDS Phase는 부팅 장치를 선택하고 OS 로더를 실행합니다.

ACPI Phase

ACPI (Advanced Configuration and Power Interface) 관련 코드:

Code Description
ACPI tables building
ACPI NVDIMM init
ACPI S3 enable

SMM Phase (System Management Mode)

SMM은 전원 관리, 열 관리, 하드웨어 모니터링을 담당합니다.

RT Phase (Runtime)

OS가 로드된 후 런타임 단계.

---

Configuration

BIOS POST Code 표시 설정

POST Code Display:
- LED Display: 메인보드 8-segment LED
- PCI POST Card: PCI/PCIe 슬롯에 삽입
- Serial Port: COM 포트로 코드 출력
- UEFI Variable: PostCode 변수 저장

AMI Aptio 설정

BIOS Setup → Boot → POST Delay: 3-5초 권장
BIOS Setup → Advanced → CPU Configuration: Microcode Loading Enabled
BIOS Setup → Advanced → Memory Configuration: XMP/EXPO Profile

---

Examples

Example 1: 서버 부팅 실패 — 코드 0E

Input

POST Code: 0E
Description: Microcode not found
Phase: SEC

Output

원인: CPU 마이크로코드 파일 불일치
해결:
1. BIOS 펌웨어 최신 버전으로 업데이트
2. CPU와 호환되는 마이크로코드 확인
3. BIOS 리셋 (Clear CMOS)

Example 2: 메모리 초기화 실패 — 코드 2C

Input

POST Code: 2C
Description: Memory presence detection
Phase: PEI

Output

원인: 메모리 감지 실패 — 슬롯 문제 또는 메모리 불량
해결:
1. 메모리 재장착
2. 슬롯 변경
3. 메모리 불량 테스트 (memtest86)

Example 3: 정상 부팅 코드 흐름

01 → 02 → 06 → 07 → 10 → 11 → 2B → 2C → 2D → 2E → 31 → 32 → 33 → 34 → BDS
전원 On → AP init → Microcode load → PEI Core → CPU init → Memory → Boot

---

Best Practices

  • POST 코드 카드 사용 — 실시간 부팅 진행 상황 모니터링
  • BIOS 최신 버전 유지 — 새로운 코드 정의 및 버그 수정
  • OEM 코드 문서화 — 1D-2A, 1E-20 등은 OEM별 커스텀 코드
  • Clear CMOS — 부팅 실패 시 BIOS 설정 초기화
  • 메모리 재장착 — 코드 2C/2D/2E에서 메모리 문제 의심 시

---

Limitations

  • OEM 커스텀 코드 (1D-2A, 1E-20 등)는 제조사별로 상이
  • 일부 코드는 Reserved로 정의되어 있어 상세 정보 부재
  • 메인보드 제조사에 따라 코드 해석이 다를 수 있음
  • AMI BIOS 버전(Aptio IV, V, V2 등)에 따라 코드 범위 상이

---

References

---

Related Pages

---