我看到 Dell 和 HP 有一些程序可以远程或通过脚本/文件更改 BIOS 设置。
有人知道如何在 Supermicro 系统上实现这一点吗?或者有没有不依赖于供应商的系统?我浏览了 Supermicro 网站,没有找到任何东西。谢谢。
答案1
有两种选择。您可以在 BIOS 中设置远程访问,然后通过 IPMI 使用 SOL 控制台。您可以使用预期脚本以这种方式修改设置。另一种是,某些选项可直接通过 IPMI 获得,因此您可以使用机器本身的 IPMI 接口来更改某些设置(查找 ipmitool/OpenIPMI)。
有关 SOL/IPMI 的一些信息:
http://www.supermicro.com/products/accessories/addon/SIM.cfm
http://wiki.adamsweet.org/doku.php?id=ipmi_on_linux
SOL Expect 脚本示例:
http://buttersideup.com/docs/howto/IPMI_on_Debian_files/solsession
答案2
Supermicro 使用 AMI Aptio BIOS。
AMI 提供 SCE 实用程序(Linux 版 scelnx)来通过脚本更改 BIOS 设置。首先,您需要转储当前 BIOS 设置以了解设置 UUID:
scelnx /b /o /s /root/settings.lst
您可以直接在文件中更改所需的值(通过将 *
符号移动到所需的值),然后通过下一个命令加载文件:
scelnx /b /i /s /root/settings.lst
或者您可以创建自己的文件,仅包含必要的行(需要前三行,包括空白行):
cat > /root/settings.lst << 'EOF'
// Script File
HIICrc32=
// Enable the Rank Margining Tool
Setup Question = Rank Margin Tool
Token =B4A // Do NOT change this line
Offset =1127
Width =01
BIOS Default =[02]Auto
Options =[02]Auto // Move "*" to the desired Option
[00]Disabled
*[01]Enabled
// Adjust the MRC Serial Debug Message level
Setup Question = Serial Debug Message Level
Token =1C // Do NOT change this line
Offset =2D4
Width =01
BIOS Default =[00]Disable
Options =[00]Disable // Move "*" to the desired Option
[01]Minimum
[02]Normal
*[03]Maximum
// Confirm the Pattern Length value
Setup Question = RMT Pattern Length
Token =B4B // Do NOT change this line
Offset =10ED
Width =04
BIOS Default =7FFF
Value =7FFF
// Turn on/off Per Bit Margin option
Setup Question = Per Bit Margin
Token =B4D // Do NOT change this line
Offset =113A
Width =01
BIOS Default =[02]Auto
Options =[02]Auto // Move "*" to the desired Option
[00]Disable
*[01]Enable
EOF
对于其他平台,您可以在英特尔文档#333845-003 中找到配置实用程序列表:https://www.intel.ru/content/dam/www/public/us/en/videos/guides/platform-trust-enabler-product-guide.pdf(第 12 页,4.0 OEM 支持矩阵)
现代平台也可以使用 x-UEFI 脚本配置: https://firmware.intel.com/sites/default/files/STTS001%20-%20SZ16_STTS001_102m_ENGf.pdf http://www.uefi.org/confignamespace