扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
ZDNet至顶网服务器频道 10月15日 :每次计算机启动时,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代码。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者