最近,淘了几块SAS硬盘和几张阵列卡,记录一下固件刷新的过程。

一、基础知识

关于阵列卡的基本知识,需要了解以下几点:

阵列卡的作用:连接多个硬盘,组建磁盘阵列。

IT模式:HBA,作为主机总线适配器(Host Bus Adapter)。

IR模式:RAID,组成独立磁盘冗余阵列(Redundant Array of Independent Disks)。

阵列卡的性能:可连接的磁盘数量,速度3G/6G/12G,缓存大小。

其他:阵列卡的接口和连接线。


二、固件刷新方式

2.1 MegaRAID Storage Manager

安装MegaRAID Storage Manager,右键单击阵列卡,进行固件更新。




lsi9260 阵列卡如何进入bios lsi2308阵列卡_西数硬盘固件刷新工具


lsi9260 阵列卡如何进入bios lsi2308阵列卡_hitool备份3798固件方法_02


MSM的下载地址:https://www.ibm.com/support/pages/node/838302?lnk=hm

优点:直观、无危险,高度推荐,建议首先采用。

缺点:无法cross-flash。例如:AOC-USAS2-L8i,虽然可以升级,但无法从IR模式刷为IT模式。

2.2 纯DOS命令行方式(U盘启动):

使用rufus制做可启动USB盘(引导类型选择:Freedos),将sas2flsh.exe和其他固件升级文件拷贝到USB中,启动,然后固件刷新。

dos下用到的命令:cd dir


lsi9260 阵列卡如何进入bios lsi2308阵列卡_IT_03


rufus的下载地址: https://rufus.ie/

优点:仅适用老机器和低版本固件。不推荐。

缺点:新卡、新固件几乎无法成功刷新。

2.3 Windows控制台方式

以管理员模式进入MsDos控制台或PowerShell,进行固件更新。

根据自己的系统选择使用32位/64位的sas2flash.exe,进行固件刷新。

windows控制台/PowerShell下用到的命令:cd dir


lsi9260 阵列卡如何进入bios lsi2308阵列卡_IT_04


优点:方便,高度推荐,建议首先采用。

缺点:部分厂家未提供适用于MsDos控制台或PowerShell的刷新程序。

2.4 EFI命令行方式(U盘启动):

制作EFI启动盘,将sas2flash.efi和其他固件升级文件拷贝到USB中,启动,然后固件刷新。

EFI shell环境下用到的命令:map dir/ls reset

附EFI Shell 命令参考: ,进一步内容 。

这种方式的关键在于制做EFI启动盘。具体制做方法如下:

①准备一个USB设备。

②用diskgenius删除USB设备上的所有分区,然后新建立一个Fat32的分区。

③建立如下的目录结构: efiboot

④下载UEFI shell。注:不是所有的下载文件都能用。我用的是从下面地址下载的:

https://github.com/tianocore/edk/blob/master/Other/Maintained/Application/UefiShell/bin/x64/Shell_Full.efi

⑤将Shell_Full.efi放在boot目录中,然后改名为Bootx64.efi。


lsi9260 阵列卡如何进入bios lsi2308阵列卡_lsi9260 阵列卡如何进入bios_05


将sas2flash.efi和其他固件升级文件拷贝到USB中,启动,然后固件刷新。

注:map列出系统中的文件系统,然后用 fsn: 跳到刷新工具所在的usb系统中(n随系统不同而不同);又 .nsh 相当于dos下的 .bat文件。


lsi9260 阵列卡如何进入bios lsi2308阵列卡_lsi9260 阵列卡如何进入bios_06


lsi9260 阵列卡如何进入bios lsi2308阵列卡_hitool备份3798固件方法_07


优点:适应性广,是最通用的方法,高度推荐。

缺点:需要制做启动U盘,了解一些 UEFI Shell 命令,可能遇到 github 上的文件无法下载的问题。

三、固件刷新操作常用参数

3.1 官方固件刷新工具

dos环境下使用: sas2flsh.exe

windows控制台/powershell: sas2flash.exe (有32位/64位两个版本)

EFI Shell: sas2flash.efi

3.2 常用参数

-listall 显示所有阵列卡的信息

-list 显示选定阵列卡的信息

-ufirmware 当前固件备份

-ubios 当前BIOS备份

-o 启用高级命令模式

-e 删除固件的指定区域

-c 对序号所指定的阵列卡进行操作操作(参考-listall)

-f 固件更新

-b BIOS更新

-sasadd 写入阵列卡的序列号

详见:SAS2Flash_ReferenceGuide.pdf (该文件在下载的刷卡软件包中)

四、实例

4.1 浪潮 NF5270M3/5212H2 YZCA-00227-101阵列卡

2308 主控芯片,支持4kn扇区,相当于 LSI 9207-8i 。其缺点是:散热片太小,工作温度偏高。


lsi9260 阵列卡如何进入bios lsi2308阵列卡_hitool备份3798固件方法_08


下载地址:https://www.broadcom.com/ 搜索:Firmware 9027 下载以下几个文件:

9207_8i_Package_P20_IR_IT_FW_BIOS_for_MSDOS_Windows.zip

sas2flash_win_x64_relsas2flash.exe ——64位windows控制台刷新工具

sas2flash_win_x86_relsas2flash.exe ——32位windows控制台刷新工具

FirmwareHBA_9207_8i_IT9207-8.bin ——固件P20版

sasbios_relmptsas2.rom ——BIOS版本07.39

Installer_P20_for_UEFI.zip

sas2flash_efi_ebc_relsas2flash.efi ——EFI Shell刷新工具

UEFI_BSD_P20.zip

uefi_bsd_relSignedx64sas2.rom ——EFI引导BIOS

在windows命令行/Powershell控制台的管理员模式下,将其固件刷新为通道卡:

sas2flash.exe -listall ——列出所有的阵列卡

sas2flash.exe -list ——列出指定阵列卡的详细信息

sas2flash.exe -o -e 6 ——高级模式,删除卡上的信息。-e 7同时删除序列号

sas2flash.exe -o -f 9207-8.bin ——更新固件

sas2flash.exe -o -b mptsas2.rom ——更新BIOS

sas2flash.exe -o -b x64sas2.rom ——更新UEFI BIOS

注:我的机器上只有一块阵列卡,省略了 -c 0 参数;若有多块,可用 -c n 指定需更新的阵列卡。n 的值,可用 sas2flash.exe -listall 查看。

刷新前:


lsi9260 阵列卡如何进入bios lsi2308阵列卡_IT_04


刷新过程:


lsi9260 阵列卡如何进入bios lsi2308阵列卡_lsi9260 阵列卡如何进入bios_10


lsi9260 阵列卡如何进入bios lsi2308阵列卡_IT_11


lsi9260 阵列卡如何进入bios lsi2308阵列卡_IT_12


lsi9260 阵列卡如何进入bios lsi2308阵列卡_西数硬盘固件刷新工具_13


刷新后:


lsi9260 阵列卡如何进入bios lsi2308阵列卡_固件_14


刷入产品型号信息(非必须):


lsi9260 阵列卡如何进入bios lsi2308阵列卡_hitool备份3798固件方法_15


最终结果:


lsi9260 阵列卡如何进入bios lsi2308阵列卡_西数硬盘固件刷新工具_16


更换散热片:

https://item.taobao.com/item.htm?spm=a1z09.2.0.0.210c2e8dWjDrsE&id=42909158510&_u=a201jau4u044e9


lsi9260 阵列卡如何进入bios lsi2308阵列卡_IT_17


lsi9260 阵列卡如何进入bios lsi2308阵列卡_西数硬盘固件刷新工具_18


4.2 超微AOC-USAS2-L8i

2008主控芯片,支持 8T / 10T 硬盘,工作温度低,价格便宜。缺点:与正常卡不同,元件在在卡的背面,商家一般只卖卡,需要为它配个全高档板。具体参数:https://www.supermicro.org.cn/zh_tw/products/accessories/addon/AOC-USAS2-L8i.php?TYP=E


lsi9260 阵列卡如何进入bios lsi2308阵列卡_西数硬盘固件刷新工具_19


lsi9260 阵列卡如何进入bios lsi2308阵列卡_hitool备份3798固件方法_20


lsi9260 阵列卡如何进入bios lsi2308阵列卡_西数硬盘固件刷新工具_21


软件下载:https://www.supermicro.org.cn/wftp/driver/SAS/LSI/2008/IR_IT/Firmware/

PH20.0.4-IR.zip (阵列卡模式)/ PH20.0.4-IT.zip(通道卡模式)

UEFIsas2flash.efi ——EFI Shell下刷新工具

UEFI2008T204.ROM ——官方固件

UEFImptsas2.rom ——官方BIOS

UEFIx64sas2.rom ——官方UEFI BIOS

进入 EFI Shell 环境,刷新命令:

sas2flash.efi -o -e 7 ——删除卡上的信息,包括卡的序列号。

sas2flash.efi -f 2008T204.ROM ——固件更新

sas2flash.efi -b mptsas2.rom ——BIOS更新

sas2flash.efi -b x64sas2.rom ——UEFI BIOS更新

sas2flash.efi -o -sasaddhi 5003048 ——刷入卡的序列号 (在卡上有)

配置挡板:

https://item.taobao.com/item.htm?spm=a1z09.2.0.0.55b82e8dzN9KEE&id=527731545923&_u=a201jau4u0e012


lsi9260 阵列卡如何进入bios lsi2308阵列卡_固件_22


4.3 LSI 3041-ER

老古董,便宜,配套的线材便宜,适合入手几块旧SAS硬盘尝鲜。

软件下载: https://www.broadcom.com 搜索 Firmware SAS3041ER

以下几个均可:

SAS3041ER_-Package_P21_IR_IT_Firmware_BIOS_for_MSDOS_Windows.zip

SAS3041ER_P20_Supports_SAS_1-5G_3G_6G_and_SATA_1-5G_3G_HDD.zip

SAS3041ER_P20_Supports_SAS_1-5G_3G_6G_and_SATA_3G_6G_HDD.zip

需要的文件:

sasflash_win_x64_relsasflash.exe 或 ——64位控制台刷新工具

sasflash_win_x86_relsasflash.exe ——32位控制台刷新工具

3041ETB3.fw ——B3版硬件的固件

mptsas.rom ——BIOS

刷新命令:

sasflash -listall ——显示所有阵列卡的信息

sasflash -list ——显示选定阵列卡的信息

sasflash -ufirmware firmware.fw ——备份固件

sasflash -ubois bios.rom ——备份BIOS

sasflash -f 3041ETB3.fw -b MPTSAS.ROM 3041ERB3 ——更新固件和BIOS

注:卡的硬件版本可用 sasflash -listall 查看。


lsi9260 阵列卡如何进入bios lsi2308阵列卡_西数硬盘固件刷新工具_23


改进散热:https://item.taobao.com/item.htm?spm=a1z09.2.0.0.55b82e8dzN9KEE&id=43004076740&_u=a201jau4u0a15d


lsi9260 阵列卡如何进入bios lsi2308阵列卡_lsi9260 阵列卡如何进入bios_24


lsi9260 阵列卡如何进入bios lsi2308阵列卡_固件_25


lsi9260 阵列卡如何进入bios lsi2308阵列卡_IT_26


五、其他

MegaCli 和 StorCLI 是官方阵列卡管理工具

注:StorCLI.exe 和 StorCLI64.exe 是 ibm_utl_msm 的一部分。