AMI Boot code

From HPCWIKI
Revision as of 14:01, 16 July 2026 by Clara (talk | contribs) (Phase 6.1: LLM-Optimized Wiki Template 적용)
Jump to navigation Jump to search

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

---