AMI Boot code: Difference between revisions
Jump to navigation
Jump to search
(Add categories: Linux, Reference) |
(Phase 6.1: LLM-Optimized Wiki Template 적용) |
||
| Line 1: | Line 1: | ||
== | {{Status | ||
|status=Draft | |||
|owner=Knowledge Agent | |||
|last_update=2026-07-16 | |||
|review=Pending | |||
}} | |||
{{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 == | |||
{| 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]] | |||
|} | |||
--- | |||
== Architecture == | |||
UEFI 부팅 프로세스와 AMI POST 코드 흐름: | |||
0F - | <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> | |||
--- | |||
== Workflow == | |||
POST 코드 디버깅 워크플로우: | |||
# 서버 전원 On — POST 코드 표시 장치(LED/스피커/PCI 카드) 확인 | |||
# 코드 매핑 — 아래 테이블에서 코드 찾기 | |||
# フェ이즈 식별 — SEC/PEI/DXE/BDS 중 어느 단계에서 멈췄는지 확인 | |||
# 원인 분석 — 해당フェ이즈의 초기화 대상 확인 (CPU, 메모리, PCH 등) | |||
# 조치 — 메모리 재장착, BIOS 리셋, CPU 재장착 등 | |||
# 재부팅 — 수정 후 재부팅하여 코드 진행 확인 | |||
{| 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 실행 | |||
|} | |||
--- | |||
== Detailed Explanation == | |||
=== SEC Phase (Start-End-Initial-CPU) === | |||
SEC Phase는 CPU가 최초로 실행하는 단계입니다. 마이크로코드 로딩과 초기 AP(Application Processor) 설정을 수행합니다. | |||
{| 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 | |||
|} | |||
=== PEI Phase (Pre-EFI Initialization) === | |||
PEI Phase는 메모리 이전 초기화 단계입니다. CPU, System Agent, PCH, 메모리 등을 초기화합니다. | |||
{| 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 | |||
|} | |||
=== BDS Phase (Boot Device Selection) === | |||
BDS Phase는 부팅 장치를 선택하고 OS 로더를 실행합니다. | |||
=== ACPI Phase === | |||
ACPI (Advanced Configuration and Power Interface) 관련 코드: | |||
{| class="wikitable" | |||
! Code | |||
! Description | |||
|- | |||
| 50 | ACPI tables building | |||
|- | |||
| 51 | ACPI NVDIMM init | |||
|- | |||
| 52 | ACPI S3 enable | |||
|} | |||
=== SMM Phase (System Management Mode) === | |||
SMM은 전원 관리, 열 관리, 하드웨어 모니터링을 담당합니다. | |||
=== RT Phase (Runtime) === | |||
OS가 로드된 후 런타임 단계. | |||
--- | |||
== Configuration == | |||
=== BIOS POST Code 표시 설정 === | |||
<syntaxhighlight lang="text"> | |||
POST Code Display: | |||
- LED Display: 메인보드 8-segment LED | |||
- PCI POST Card: PCI/PCIe 슬롯에 삽입 | |||
- Serial Port: COM 포트로 코드 출력 | |||
- UEFI Variable: PostCode 변수 저장 | |||
</syntaxhighlight> | |||
=== AMI Aptio 설정 === | |||
<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> | |||
--- | |||
== Examples == | |||
=== Example 1: 서버 부팅 실패 — 코드 0E === | |||
Input | |||
<syntaxhighlight lang="text"> | |||
POST Code: 0E | |||
Description: Microcode not found | |||
Phase: SEC | |||
</syntaxhighlight> | |||
Output | |||
<syntaxhighlight lang="text"> | |||
원인: CPU 마이크로코드 파일 불일치 | |||
해결: | |||
1. BIOS 펌웨어 최신 버전으로 업데이트 | |||
2. CPU와 호환되는 마이크로코드 확인 | |||
3. BIOS 리셋 (Clear CMOS) | |||
</syntaxhighlight> | |||
=== Example 2: 메모리 초기화 실패 — 코드 2C === | |||
Input | |||
<syntaxhighlight lang="text"> | |||
POST Code: 2C | |||
Description: Memory presence detection | |||
Phase: PEI | |||
</syntaxhighlight> | |||
Output | |||
<syntaxhighlight lang="text"> | |||
원인: 메모리 감지 실패 — 슬롯 문제 또는 메모리 불량 | |||
해결: | |||
1. 메모리 재장착 | |||
2. 슬롯 변경 | |||
3. 메모리 불량 테스트 (memtest86) | |||
</syntaxhighlight> | |||
=== Example 3: 정상 부팅 코드 흐름 === | |||
<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> | |||
--- | |||
== 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 == | |||
=== | |||
* 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 | |||
--- | |||
== Related Pages == | |||
* [[BIOS]] | |||
* [[UEFI]] | |||
* [[AMI Aptio]] | |||
* [[Server Boot Process]] | |||
* [[CPU]] | |||
* [[Memory]] | |||
* [[PCIe]] | |||
--- | |||
[[Category:Hardware]] | |||
[[Category:Reference]] | [[Category:Reference]] | ||
Revision as of 14:01, 16 July 2026
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 코드 디버깅 워크플로우:
- 서버 전원 On — POST 코드 표시 장치(LED/스피커/PCI 카드) 확인
- 코드 매핑 — 아래 테이블에서 코드 찾기
- フェ이즈 식별 — SEC/PEI/DXE/BDS 중 어느 단계에서 멈췄는지 확인
- 원인 분석 — 해당フェ이즈의 초기화 대상 확인 (CPU, 메모리, PCH 등)
- 조치 — 메모리 재장착, BIOS 리셋, CPU 재장착 등
- 재부팅 — 수정 후 재부팅하여 코드 진행 확인
| 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
- 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
---
Related Pages
---