02--微星主板UEFI BIOS诊断代码 <2013-5-5>

  • 主题发起人 gogochen
  • 开始时间
G

gogochen

Guest
微星主板UEFI BIOS诊断代码

dongfang-M 发表于 2013-5-5

微星主板现已全面采用UEFIBIOS。UEFI既与传统BIOS不一样,又和传统BIOS相似,BIOS的启动过程还类似传统BIOS。可以分成四个阶段:
◆ SEC阶段(安全阶段)- 开始低级初始化。
◆ PEI 阶段(EFI前期初始化) -内存初始化(类似传统BIOS的启动块功能)。
◆ DXE阶段(驱动执行环境)-主要硬件初始化(类似传统BIOS的POST功能)。
◆ BDS阶段(选择启动设备)-系统设置,OS前期用户接口以及选择一个可启动额的设备(CD/DVD,HDD,USB,Network,Shell等)。

这四个阶段可以参考下面的流程图。
01.jpg


UEFI的每一个过程阶段都会有一组状态代码,这些代码表示这个阶段的进程。这些状态代码一般是输出到80h IO端口,也可以说每一个状态代码表示了一个检验点,当该检验点无误通过,就会进入下一个,如果有故障就会停在这个检验点。
本文描述的代码引自AMI公司的AMI_Aptio_4.x_Status_Codes_PUB 113。
下面的状态代码有助于分析系统的故障原因。

检验点范围
状态代码范围        说明
0x01 – 0x0B        执行SEC(低级初始化)
0x0C – 0x0F        SEC(低级初始化)错误
0x10 – 0x2F        执行PEI(EFI前期初始化)直到内存检测
0x30 – 0x4F        内存检测后的执行PEI(EFI前期初始化)
0x50 – 0x5F        PEI(EFI前期初始化)错误
0x60 – 0x8F        执行DXE(驱动执行环境)到BDS(选择启动设备)
0x90 – 0xCF        执行BDS(选择启动设备)
0xD0 – 0xDF        DXE(驱动执行环境)错误
0xE0 – 0xE8        S3重返(PEI)
0xE9 – 0xEF        S3重返错误(PEI)
0xF0 – 0xF8        恢复(PEI)
0xF9 – 0xFF        恢复错误(PEI)
这是各阶段状态代码简表
02.png


标准检验点
SEC 阶段
状态代码        说明
0x00        未使用
进程代码       
0x01        加电复位型检测(软件/硬件)
0x02        微代码加载前AP初始化
0x03        微代码加载前北桥初始化
0x04        微代码加载前南桥初始化
0x05        微代码加载前OEM初始化
0x06        微代码加载
0x07        微代码加载后AP初始化
0x08        微代码加载后北桥初始化
0x09        微代码加载后南桥初始化
0x0A        微代码加载后OEM初始化
0x0B        Cache初始化
SEC错误代码       
0x0C – 0x0D        保留给以后的AMI错误代码
0x0E        没有找到微代码
0x0F        没有加载微代码

SEC 报警音代码


PEI 阶段
状态代码        说明
进程代码       
0x10        PEI代码开始
0x11        前期内存 CPU初始化开始
0x12        前期内存 CPU初始化(CPU规格)
0x13        前期内存 CPU初始化(CPU规格)
0x14        前期内存 CPU初始化(CPU规格)
0x15        前期内存 北桥初始化开始
0x16        前期内存 北桥初始化(北桥规格)
0x17        前期内存 北桥初始化(北桥规格)
0x18        前期内存 北桥初始化(北桥规格)
0x19        前期内存 南桥初始化开始
0x1A        前期内存 南桥初始化(南桥规格)
0x1B        前期内存 南桥初始化(南桥规格)
0x1C        前期内存 南桥初始化(南桥规格)
0x1D – 0x2A        内存初始化代码
0x2B        内存初始化 读SPD
0x2C        内存初始化 检测安插的内存条
0x2D        内存初始化 内存时序信息编程
0x2E        内存初始化 配置内存
0x2F        内存初始化(其他)
0x30        为ASL保留(见下面ASL状态代码一节)
0x31        安装内存
0x32        CPU Post内存初始化开始
0x33        CPU Post内存初始化,Cache初始化
0x34        CPU Post内存初始化,应用处理器(AP)初始化
0x35        CPU Post内存初始化,启动带处理器(BSP)选择
0x36        CPU Post内存初始化,系统管理模式(SMM)初始化
0x37        Post内存 北桥初始化开始
0x38        Post内存 北桥初始化(北桥模块规格)
0x39        Post内存 北桥初始化(北桥模块规格)
0x3A        Post内存 北桥初始化(北桥模块规格)
0x3B        Post内存 南桥初始化(南桥模块规格)
0x3C        Post内存 南桥初始化(南桥模块规格)
0x3D        Post内存 南桥初始化(南桥模块规格)
0x3E        Post内存 南桥初始化(南桥模块规格)
0x3F-0x4E        OEM Post内存初始化代码
0x4F        DXE IPL开始
PEI 错误代码       
0x50        内存初始化错误,无效内存类型或矛盾的内存速度
0x51        内存初始化错误,读SPD失败
0x52        内存初始化错误,无效内存容量或模块不匹配
0x53        内存初始化错误,不能检测内存
0x54        非规格内存初始化错误
0x55        内存不能安装
0x56        无效CPU类型或速度
0x57        CPU不匹配
0x58        CPU自检失败或Cache错误
0x59        CPU微代码没有找到或微代码更新失败
0x5A        CPU内部错误
0x5B        不能PPI复位
0x5C-0x5F        保留给未来的AMI错误代码
S3 复原进程代码       
0xE0        S3复原开始(由DXE IPL调用S3复原PPI)
0xE1        执行S3启动脚本
0xE2        视频重新POST
0xE3        调用OS S3复原向量
0xE4-0xE7        保留给未来的AMI进程代码
S3 恢复错误代码       
0xE8        S3复原失败
0xE9        S3复原PPI没找到
0xEA        S3启动脚本错误
0xEB        S3 OS唤醒错误
0xEC-0xEF        保留给未来的AMI错误代码
复原进程代码       
0xF0        由固件触发复原条件(自动唤醒)
0xF1        由用户触发复原条件(强制唤醒)
0xF2        开始复原
0xF3        找到复原固件映像
0xF4        加载复原固件映像
0xF5-0xF7        保留给未来的AMI进程代码
复原错误代码       
0xF8        不能获得复原PPI
0xF9        复原包没有找到
0xFA        无效复原包
0xFB-0xFF        保留给未来的AMI错误代码

PEI 报警音代码
提示音       
1        没有安装内存
1        内存安装两次(PEI代码中InstallPeiMemory规则叫两次)
2        开始复原
3        DXEIPL没找到
3        DXE代码固件值没找到
4        复原失败
4        S3复原失败
7        不能重置PPI

DXE 阶段
状态代码        说明
0x60        DXE代码开始
0x61        NVRAM初始化
0x62        安装南桥Runtime服务
0x63        CPU DXE初始化开始
0x64        CPU DXE初始化(CPU模块规格)
0x65        CPU DXE初始化(CPU模块规格)
0x66        CPU DXE初始化(CPU模块规格)
0x67        CPU DXE初始化(CPU模块规格)
0x68        PCI主桥初始化
0x69        北桥DXE初始化开始
0x6A        北桥DXE SMM初始化开始
0x6B        北桥DXE初始化开始(北桥模块规格)
0x6C        北桥DXE初始化开始(北桥模块规格)
0x6D        北桥DXE初始化开始(北桥模块规格)
0x6E        北桥DXE初始化开始(北桥模块规格)
0x6F        北桥DXE初始化开始(北桥模块规格)
0x70        南桥DXE初始化开始
0x71        南桥DXE SMM初始化开始
0x72        南桥设备初始化
0x73        南桥DXE初始化(南桥模块规格)
0x74        南桥DXE初始化(南桥模块规格)
0x75        南桥DXE初始化(南桥模块规格)
0x76        南桥DXE初始化(南桥模块规格)
0x77        南桥DXE初始化(南桥模块规格)
0x78        ACPI模块初始化
0x79        CSM初始化
0x7A-0x7F        保留给未来的AMI DXE代码
0x80-0x8F        OEM DXE初始化代码
0x90        启动设备选择(BDS)阶段开始
0x91        驱动器连接开始
0x92        PCI总线初始化开始
0x93        PCI总线热插拔控制器初始化
0x94        PCI总线列举
0x95        PCI总线需求资源
0x96        PCI总线分配资源
0x97        控制台输出设备连接
0x98        控制台输入设备连接
0x99        超级IO初始化
0x9A        USB初始化开始
0x9B        USB复位
0x9C        USB检测
0x9D        USB允许
0x9E-0x9F        保留给未来的AMI代码
0xA0        IDE初始化开始
0xA1        IDE复位
0xA2        IDE探测
0xA3        IDE允许
0xA4        SCSI初始化开始
0xA5        SCSI复位
0xA6        SCSI探测
0xA7        SCSI允许
0xA8        进入BIOS设置验证密码
0xA9        开始BIOS设置
0xAA        为ASL保留(见下面ASL代码段)
0xAB        等待设置输入
0xAC        为ASL保留(见下面ASL代码段)
0xAD        准备启动事件
0xAE        传统启动事件
0xAF        退出启动服务事件
0xB0        Runtime Set虚拟地址MAP开始
0xB1        Runtime Set虚拟地址MAP结束
0xB2        传统可选ROM初始化
0xB3        系统复位
0xB4        USB热插拔
0xB5        PCI总线热插拔
0xB6        NVRAM清零
0xB7        配置重置(重置NVRAM设置)
0xB8-0xBF        保留给未来的AMI代码
0xC0-0xCF        OEM BDS初始化代码
DXE错误代码       
0xD0        CPU初始化错误
0xD1        北桥初始化错误
0xD2        南桥初始化错误
0xD3        某些架构协议不能获得
0xD4        PCI资源分配错误。超出资源范围
0xD5        没有传统可选ROM空间
0xD6        没有控制台输出设备
0xD7        没有控制台输入设备
0xD8        无效密码
0xD9        加载启动选项错误(加载映像返回错误)
0xDA        启动选项失败(启动映像返回错误)
0xDB        Flash更新失败
0xDC        复位协议不能获得

DXE报警音代码
提示音        说明
1        无效密码
4        某些架构协议不能获得
5        没有控制台输出设备
5        没有控制台输入设备
6        Flash更新失败
7        复位协议不能获得
8        平台PCI资源需求没有遇到

ACPI/ASL 检验点
状态代码        说明
0x01        系统进入S1睡眠状态
0x02        系统进入S2睡眠状态
0x03        系统进入S3睡眠状态
0x04        系统进入S4睡眠状态
0x05        系统进入S5睡眠状态
0x010        系统从S1睡眠状态唤醒
0x020        系统从S2睡眠状态唤醒
0x030        系统从S3睡眠状态唤醒
0x040        系统从S4睡眠状态唤醒
0xAC        系统进入ACPI模式。中断控制器在PIC模式
0xAA        系统进入ACPI模式。中断控制器在APIC模式

OEM保留检验点范围
状态代码        说明
0x05        微代码加载前,OEM SEC初始化
0x0A        微代码加载后,OEM SEC初始化
0x1D-0x2A        OEM pre内存初始化代码
0x3F-0x4E        OEM PEI post内存初始化代码
0x80-0x8F        OEM DXE初始化代码
0xC0-0xCF        OEM EDS初始化代码
 
顶部