由于在咸鱼上买了一块H700,收到后兴冲冲的插入服务器的PCIe插槽准备替换旧的6/i阵列卡,结果启动服务器时却报错
Invalid PCIe card found in Internal Storage slot.
System halted
将RAID卡插入到其他PCIe插槽就没事,但是如果插入RAID卡专用插槽就会报错不给开机。本来换个插槽就能解决的事情但是无奈于SAS线和电池线不够长,没办法接入到插在普通PCIe插槽上的RAID卡中以及自己轻微的强迫症,想着RAID卡就要插在RAID插槽中,于是打算看看能不能把买的PERC H700 Adapter刷成PERC H700 Integrated,毕竟版型和电路基本相同,固件的最新版本也是一样的,所以应该可以通刷
查询了一堆资料和踩了一堆坑以后,终于成功把PERC H700 Adapter刷成ERC H700 Integrated
warning 免责声明
本人不对本文对您造成的任何损失负责,如果您的RAID卡因为您的误操作、本文时效过期、本文表述错误等原因变砖无法正常使用,请自行承担责任。使用本文教程进行操作代表您同意本免责声明。如果不同意请不要使用本文教程对您的RAID卡进行任何操作并立即关闭本文页面
下载资源
RAID卡固件:https://share.unknown-o.com/raid-controller/firmware/dell-h700i(下载此链接中所有文件)
LSI DOS:https://share.unknown-o.com/software/dos/lsi/lsi_dos.zip
RUFUS:https://share.unknown-o.com/software/windows/rufus(用于制作FREEDOS启动盘)
创建FREEDOS启动盘
使用下载的RUFUS,在U盘中创建FREEDOS启动盘
将LSI DOS放入FREEDOS启动盘中,并将下载的H700固件放入LSI DOS文件夹中
备份并擦除旧固件数据
在非DELL服务器的普通PC上启动刚才制作的FREEDOS启动盘,使用cd命令进入LSIDOS目录,输入以下命令查看RAID控制器是否正确的连接到当前PC中和获取RAID卡在当前设备的ID
1 | Megarec -adplist |
出现下列返回表示连接正常,MR Card后面的值为RAID在当前设备的ID,每条命令需指定此ID,本文下文全部使用0来表示设备ID。建议您只在此设备中连接一块RAID卡,否则可能导致误操作。
输入以下命令备份旧固件的SBR和SPD以防不时之需
1 | Megarec -readsbr 0 backup.sbr |
备份完成后,输入一下命令清空FLASH并三键(CTRL+ALT+DELETE)重启。(注:清空此卡FLASH后,重启不会导致此卡不被megarec工具识别,可以放心重启
1 | Megarec -cleanflash 0 |
刷入新的固件
重启后,重新进入FREEDOS,然后进入LSIDOS目录
输入以下命令刷入新的固件、SBR、SPD
1 | Megarec -m0flash 0 fw4651i.rom |
SBR、SPD文件的压缩包BASE64,将下面内容复制到浏览器,可直接下载此压缩包
1 | data:application/zip;base64,UEsDBBQAAAAIABKKi0RvW1ogPQAAAAABAAAJAAAAaDcwMGkuc2JyrYyhDQAgDASfhAHqkFgEgrAIM3QMxmAWdmACVmmCBIUkiJ46cTmWzJJKXxgNVAFYE8j5I3/Ea1Pz9ahU2VBLAwQKAAAAAAD4iYtEXODWg0AAAABAAAAACQAAAGg3MDBpLnNwZIAICA0KoEgABSVAAoIQEAAMCHACEAQDMEU9UDwoPC2AFyUFEjweHgAGPH+AFB4PAAAAAAAAAAAAAAAAAAAAEuhQSwECPwAUAAAACAASiotEb1taID0AAAAAAQAACQAkAAAAAAAAACAAAAAAAAAAaDcwMGkuc2JyCgAgAAAAAAABABgAAPLSvGZVzwFGTD/7BIDYAXclP/sEgNgBUEsBAj8ACgAAAAAA+ImLRFzg1oNAAAAAQAAAAAkAJAAAAAAAAAAgAAAAZAAAAGg3MDBpLnNwZAoAIAAAAAAAAQAYAAC6NqBmVc8BjTs++wSA2AGYFD77BIDYAVBLBQYAAAAAAgACALYAAADLAAAAAAA= |
刷入固件
刷入SBR和SPD
修改PCI信息
由于新版固件好像会检测PCI DEVICEID,重启后会直接覆盖刚才刷入的SBR文件。所以我们需要修改PCI DEVICEID防止固件又把自己刷成了PERC H700 Adapter
上一步操作完成后,再次重启一遍,修改PCI DEVICEID(为什么需要再次重启而不是直接刷入,因为在此时刷入好像会直接卡死,重启后刷入就不会卡死了。当然这可能是程序的bug,也许不重启刷入也是可以的,但是我不重启会卡死,反正重启也浪费不了多少时间,干脆把教程写成需要重启吧~)
修改PCI信息时直接卡死
输入以下命令修改PCI信息
1 | MegaSCU -AdpFactorySettings -SetPCIData -f pci.ini -a0 |
PCI.INI内容:
1 | [GEN2_INI_FILE] |
完成后就刷入成功了
完成!
刷入完成后,将此卡插入服务器的存储专用PCIE插槽,再次启动查看是否出现**Invalid PCIe card found in Internal Storage slot.**错误。
如果多次重启都没有出现错误,那么恭喜你,成功啦!
参考资料
本人遇到的问题:如何使用LSI工具刷入H700i的固件
参考的网页:Re-flash PERC H700 Firmware from Adapter to Integrated Adapter?
本人遇到的问题:刷入H700i的SBR后重启又被覆盖为H700a的原因
参考的网页:Changing the PCI IDs on LSI 2008/2108-based MegaRAID controllers