本文目录导读:

获取硬件固件版本的具体方法取决于你的硬件类型(如主板、硬盘、网卡、BIOS等)和操作系统,以下是几种常见场景的脚本示例:
Linux 系统
获取多个硬件固件版本的综合脚本
#!/bin/bash
echo "=== 系统固件信息 ==="
echo "BIOS版本:"
sudo dmidecode -s bios-version 2>/dev/null || echo "需要root权限"
echo -e "\n主板固件:"
sudo dmidecode -t baseboard 2>/dev/null | grep -i "Version"
echo -e "\n硬盘固件版本:"
for disk in /dev/sd[a-z]; do
if [ -b "$disk" ]; then
echo -n "$disk: "
sudo smartctl -i $disk 2>/dev/null | grep "Firmware Version" | awk '{print $NF}'
fi
done
echo -e "\n网卡固件:"
for iface in /sys/class/net/*; do
iface_name=$(basename $iface)
if [ "$iface_name" != "lo" ]; then
echo -n "$iface_name: "
sudo ethtool -i $iface_name 2>/dev/null | grep firmware-version | awk '{print $2}'
fi
done
echo -e "\nGPU固件:"
if command -v nvidia-smi &> /dev/null; then
nvidia-smi --query-gpu=name,driver_version --format=csv,noheader
elif command -v amdgpu&> /dev/null; then
cat /sys/class/drm/card*/device/uevent | grep firmware
fi
仅获取BIOS/UEFI版本
#!/bin/bash
# 方法1: 使用dmidecode
if [ "$EUID" -eq 0 ]; then
dmidecode -s bios-version
dmidecode -s bios-release-date
else
echo "请使用 sudo 运行此脚本"
fi
Windows 系统 (PowerShell)
获取主要硬件固件版本
# 获取BIOS版本
Write-Host "BIOS Version:"
Get-WmiObject Win32_BIOS | Select-Object SMBIOSBIOSVersion, Manufacturer, Name
Write-Host "`n硬盘固件版本:"
Get-WmiObject Win32_DiskDrive | Select-Object Model, FirmwareRevision
Write-Host "`n网卡固件版本:"
Get-NetAdapter | ForEach-Object {
$adapter = Get-NetAdapterHardwareInfo -Name $_.Name
[PSCustomObject]@{
Name = $_.Name
FirmwareVersion = $adapter.FirmwareVersion
}
}
# 获取显卡驱动版本(部分显卡包含固件信息)
Write-Host "`n显卡信息:"
Get-WmiObject Win32_VideoController | Select-Object Name, DriverVersion
更详细的固件信息脚本
function Get-FirmwareVersions {
Write-Host "=== 硬件固件版本信息 ===" -ForegroundColor Green
# BIOS/UEFI
$bios = Get-CimInstance -ClassName Win32_BIOS
Write-Host "`nBIOS/UEFI:" -ForegroundColor Cyan
Write-Host " 版本: $($bios.SMBIOSBIOSVersion)"
Write-Host " 日期: $($bios.ReleaseDate)"
# 硬盘/SSD
Write-Host "`n存储设备:" -ForegroundColor Cyan
Get-CimInstance -ClassName Win32_DiskDrive | ForEach-Object {
Write-Host " $($_.Model): 固件版本 $($_.FirmwareRevision)"
}
# 网卡
Write-Host "`n网络适配器:" -ForegroundColor Cyan
Get-NetAdapterHardwareInfo | Where-Object {$_.FirmwareVersion} | ForEach-Object {
Write-Host " $($_.Name): 固件版本 $($_.FirmwareVersion)"
}
# 主板
$board = Get-CimInstance -ClassName Win32_BaseBoard
Write-Host "`n主板信息:" -ForegroundColor Cyan
Write-Host " 制造商: $($board.Manufacturer)"
Write-Host " 产品: $($board.Product)"
Write-Host " 版本: $($board.Version)"
}
Get-FirmwareVersions
通用脚本 (跨平台)
Python 脚本(跨平台)
#!/usr/bin/env python3
import platform
import subprocess
import sys
def get_linux_firmware():
"""获取Linux系统固件信息"""
try:
# BIOS版本
result = subprocess.run(['sudo', 'dmidecode', '-s', 'bios-version'],
capture_output=True, text=True)
if result.returncode == 0:
print(f"BIOS版本: {result.stdout.strip()}")
# 硬盘固件
result = subprocess.run(['lsblk', '-o', 'NAME,MODEL,FIRMWARE-REV'],
capture_output=True, text=True)
print("\n存储设备固件:")
print(result.stdout)
except Exception as e:
print(f"错误: {e}")
def get_windows_firmware():
"""获取Windows系统固件信息"""
try:
import wmi
c = wmi.WMI()
# BIOS
for bios in c.Win32_BIOS():
print(f"BIOS版本: {bios.SMBIOSBIOSVersion}")
print(f"制造商: {bios.Manufacturer}")
# 硬盘
print("\n硬盘固件:")
for disk in c.Win32_DiskDrive():
print(f" {disk.Model}: {disk.FirmwareRevision}")
except ImportError:
print("需要安装wmi库: pip install wmi")
except Exception as e:
print(f"错误: {e}")
def main():
system = platform.system()
print(f"操作系统: {system}\n")
if system == "Linux":
get_linux_firmware()
elif system == "Windows":
get_windows_firmware()
else:
print(f"不支持的操作系统: {system}")
if __name__ == "__main__":
main()
使用方法
Linux:
# 给予执行权限 chmod +x firmware_check.sh # 使用root权限运行 sudo ./firmware_check.sh
Windows:
# 以管理员身份运行PowerShell Set-ExecutionPolicy RemoteSigned -Scope CurrentUser .\firmware_check.ps1
Python:
pip install wmi # Windows需要 python firmware_check.py
注意事项
- 权限要求:大多数硬件信息需要管理员/root权限
- 依赖工具:
- Linux:
dmidecode,smartctl,ethtool - Windows: PowerShell, WMI
- Linux:
- 安全警告:确保脚本来源可信,特别是需要root权限时
- 硬件差异:不同硬件制造商可能使用不同的固件版本格式
如果你有特定的硬件类型(如特定型号的服务器、嵌入式设备等),请提供更多信息,我可以给出更精确的解决方案。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播