了解服务器上电自检代码

日期: 2013-10-14 作者:Stephen J. Bigelow 来源:TechTarget中国 英文

现代服务器提供了丰富的上电自检代码,以帮助管理员们识别在操作系统启动前发生的问题。 每次计算机启动时,BIOS会执行上电自检(POST),诊断一系列初始化的系统组件,并确保它们按预期反馈,最后才把启动过程交给操作系统。 随着IBM PC进入市场后,普通PC的“POST”基本方法没有发生明显变化,但现代服务器远比早期那些系统更为复杂。因此,复杂的系统需要更全面与积极的测试,确保服务器正常工作。

POST基础 计算机总会以一种无法操作,混乱的状态启动,数以百万的晶体管在模拟随机的二进制状态。POST可以保证其在能够与用户进行交互或者启动某个工作负载之前,完成程序初始化与计算机测试。 每个微处理器都……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

现代服务器提供了丰富的上电自检代码,以帮助管理员们识别在操作系统启动前发生的问题。

每次计算机启动时,BIOS会执行上电自检(POST),诊断一系列初始化的系统组件,并确保它们按预期反馈,最后才把启动过程交给操作系统。

随着IBM PC进入市场后,普通PC的“POST”基本方法没有发生明显变化,但现代服务器远比早期那些系统更为复杂。因此,复杂的系统需要更全面与积极的测试,确保服务器正常工作。

POST基础

计算机总会以一种无法操作,混乱的状态启动,数以百万的晶体管在模拟随机的二进制状态。POST可以保证其在能够与用户进行交互或者启动某个工作负载之前,完成程序初始化与计算机测试。

每个微处理器都获取到来自POST唯一通用位置的第一条指令。BIOS则始于这第一个内存地址。CPU根据POST流程,处理BIOS POST指令与数据。

POST的前几步骤至关重要。POST会完成首个CPU和处理器缓存初始化,然后执行核心芯片组的基本初始化。此过程包括处理CPU和内存的北桥芯片,处理SATA存储和PCIe接口等外部设备接口的南桥芯片。

接下来会进行全面的内存检测与测试,POST会检查安装的内存模块(串行存在检测),确定内存是否与主板时序模块匹配一致,然后配置系统并进行彻底的内存测试。

POST接着会执行更详细的CPU和芯片组测试,配置PCI主桥和总线PCIe卡,启动板载视频功能,设置系统管理模式以及高级配置和电源接口芯片组组件。POST同样会启动其他南桥接口,包括SATA驱动器的IDE接口、SCSI接口和USB端口。POST固件也用于处理BIOS恢复。

当系统通过初始化与测试,POST将启动引导装载程序(Bootstrap Loader),该程序负责处理操作系统启动。

上电自检代码

早期系统POST的问题几乎无法诊断。在系统加载前的故障可能阻止操作系统启动,所以要如何才能发现问题点?

大多数POST例程使用5个或更少的蜂鸣声来代表最灾难性的问题。蜂鸣器触发一系列独特的长/短蜂鸣声来代表某个错误码,但根据音频判断比较繁琐,也容易被误解。

BIOS POST代码是个更全面的答案。POST中的每个步骤都被分配了唯一的十六进制代码。在每个阶段,相关代码会被发送到一个已知的端口位置。这些代码通常被称做进程码,因为他们不代表特定的问题,而代表POST进程的航点。POST读取器监控该位置并随着过程显示POST代码。某些主板,如 Intel's S2600GZ/GL,在主板背面带有一个LED屏的POST代码显示器。

当POST正常执行时,进程码会快速闪过。当出现问题时,最后的代码就是POST例程所显示的系统故障点,表示系统暂停和问题发生在哪里。计算机技术人员可以很容易确定POST进场停止于何处,并做出准确的维修判断。

虽然进程码是POST分析的主要依据,但新固件版本可能会在另一方面导致POST报告致命错误。致命错误不会在传统的POST查看器上显示,因为十六进制代码是两字节,而不是单字节。致命错误将被写入服务器时间日志,作为后期评估与分析。

致命的POST错误表示了特定组件可能出现问题,如PCI总线问题,处理器不匹配或者内部错误情况,内部管理控制器问题,各式各样的内存问题(和具体模块有关),端口问题,甚至受信任的平台模块问题等。

服务器管理员应该了解BIOS POST代码的基础知识,但要记住,POST会引导服务器正确并有序的启动,直到系统准备载入操作系统。POST过程不会影响服务器运行的可靠性和可用性。

具体的POST代码与其含义,取决于硬件和固件厂商,所以需要根据和系统配套的文档来对照POST代码。

作者

Stephen J. Bigelow
Stephen J. Bigelow

数据中心和虚拟化网站的高级技术编辑,拥有20年的PC和技术写作经验。

相关推荐