我们有一些不能运行 Windows Server 2008 的PowerEdge CS24服务器。安装程序和克隆的映像都会在启动时迅速出现 BSOD 并出现错误The BIOS in this system is not fully ACPI compliant
。我注意到那些确实有效的有更新的 bios 版本。所以我开始为这些服务器寻找 bios 固件更新。
首先查看主板的特定型号,但我没有找到。在 Google 上进行搜索,结果是PowerEdge C1100的 Dell 手册,上面写着Regulatory Model: CS24-TY
. 为该系统(Red Hat 版本)提供的 bios 更新失败,但至少返回了一条可能有用的错误消息:
Your system: CS24-VSS
在戴尔网站或谷歌上进一步搜索“Poweredge CS24-VSS”没有得到有用的结果。我什至无法找到我们已有的两个固件版本:S29S3A03
或S29S3A10
.
AMIBIOS 显示版本信息,但不显示有关主板的任何其他信息:
我使用戴尔支持上的服务标签找到一篇文章,内容如下:
Currently, there is no online documentation for your selected product.
我应该去哪里找到 PowerEdge CS24-VSS 的 bios 固件更新?
我在其中一台机器上安装了 CentOS 5 以运行 Dell Server Update Utility 5.5 版,但它未能检测到任何已知设备,并且服务器日志包含诸如this is not a Dell Machine之类的消息。
[root@centos ~]# getSystemId
Libsmbios version: 2.2.27
Product Name: CS24-VSS
Vendor: Dell
BIOS Version: S29S3A03
System ID: Traceback (most recent call last):
File "/usr/sbin/getSystemId", line 124, in ?
sys.exit( main() )
File "/usr/sbin/getSystemId", line 106, in main
sys.stdout.write( "%s\n" % info[1]() )
File "/usr/sbin/getSystemId", line 52, in get_system_id
return "0x%04X" % sysinfo.get_dell_system_id()
File "<libsmbios_c._peak_util_decorators.rewrap wrapping libsmbios_c._common._errorOnZeroFN at 0x09680614>", line 3, in _errorOnZeroFN
File "/usr/lib/python2.4/site-packages/libsmbios_c/trace_decorator.py", line 108, in trace
result = func(*args, **kw)
File "/usr/lib/python2.4/site-packages/libsmbios_c/_common.py", line 57, in _errorOnZeroFN
_doExc(exception_fn, result, func, args, _("function returned error value of zero") )
File "/usr/lib/python2.4/site-packages/libsmbios_c/_common.py", line 26, in _doExc
raise exception_fn(r, f, a)
Exception: Could not determine System ID.
在这一点上似乎是死胡同。
我没有直接给你好的答案,但是这些人http://www.theserverstore.com/content/dell-poweredge-c1100-1u-server-2x-xeon-l5520-226ghz-cpus-36gb-memory -4x-hdd-trays正在销售 c1100s 并声称已将机器更新到最新版本,因此它们可能是获取更新的地方。
显然这些机器是一种奇怪的定制东西,这就是为什么很难找到关于它们的信息的原因(参见http://en.community.dell.com/support-forums/servers/f/956/p/19492940/20305446 .aspx#20305446)。
这看起来像一个很旧的服务器。我会尝试使用 Dell-Update-DVD 版本 5.5.0
解决方法
所以在这种情况下,我们有一组相同的机器运行两个不同版本的 bios 固件中的任何一个。旧版本有缺陷,因此一种解决方法是简单地使用较新的 bios 版本作为替代。这意味着我们需要一个实用程序来将固件内容转储到一台机器上,然后将其刷写到其他机器上。我确信有几种适用的工具,但我最终偶然发现了英特尔提供的一种工具。
Intel 包含一个基于 DOS 的固件刷新工具
AFUDOS.EXE
,与他们的一些固件包一起调用。我没有找到获得此工具的确切位置,所以我只使用了此驱动程序中包含的那个。AFUDOS
不需要任何依赖项,所以我只是将它放在我用Rufus制作的可启动 FreeDOS USB 驱动器上。然后只需启动机器并运行该工具即可。该工具具有内置检查功能,如果二进制文件大小错误,该功能将取消任何固件闪烁。不过,请注意,如果您不正确地使用此工具,您可能会面临损坏设备的风险。引导到 FreeDOS 后,我从 CS24-VSS 机器上转储了一份较新的固件:
然后我用我的 USB 闪存另一台 CS24-VSS 机器:
这当然是一个极端的解决方案,可能不适用于许多其他情况。不幸的是,在这种情况下,David Houde 的直觉似乎是正确的。戴尔不为这些特定机器提供任何固件更新。我很高兴我找到了任何解决方案。我刚刚构建了一个新的 Microsoft Deployment Toolkit 服务器,但这些机器出于同样的原因无法运行 WinPE。但是有了这个解决方法,现在一切正常了!