在EFI Shell下刷新DELL PERC H200 Firmware

从Dell官方固件更新到了LSI的最新版,虽然理论上兼容性和稳定性都更好一些,但是毕竟不是DELL的官方版本,Ctrl+C的配置界面被屏蔽了,毫无办法。于是尝试刷回dell的bios,efi,和firmware.

尝试在windows版本的sas2flash执行-o -e 6参数,失败,提示该平台不支持此操作。估计这种清掉整个flash的操作权限级别太高了,windows这种高运行级别的搞不定。

用PE引导至dos工具箱,执行dos版的sas2flash,直接失败,提示初始化failure,LSI的FAQ还真有解释:这块板子不支持,请换别的板子尝试。

无奈只能尝试用EFI Shell来刷固件了。以前完全没有接触过,找能启动到EFI Shell的文件包就花了不少时间。Intel官网没有能方便地直接下载的连接,非常不人性化。

UEFI会读取启动介质的/EFI/BOOT/BOOTx64.efi文件,如果这个文件是shell,那么就进入命令行,如果是告诉系统加载Windows Boot Manager,那就进入系统启动流程了。

总之,找个支持UEFI的PE,写到U盘,替换EFI目录为自己的shell包。一般包含一个Apps目录来执行一些常用命令。

启动EFI Shell后,发现这货不会自己刷屏。敲一条命令刷到下面就看不见了,真是郁闷。cls命令只会把光标移到屏幕最上面,完全不管清屏的事,真不知道这code是谁维护的。

不过sas2flash.efi是可以执行的

#清空flash仅保留厂商信息
sas2flash.efi -o -e 6

#刷入原厂firmware和bios
sas2flash.efi -o -f dell.fw -b dellbios.rom

由于是盲操,等了大约5分钟,肯定刷完的时间,然后cls,执行sas2flash.efi -list看一下版本变没变过来,没问题重启。

Dell的BIOS设置界面回来了!

参考:

IBM ServeRAID M1015 Part 4: Cross flashing to a LSI9211-8i in IT or IR mode

———————————

后来发现EFI Shell不会刷屏是我机器UEFI的问题,而且华擎的板子自带了一个EFI Shell在启动选项里,都一个德行,不会刷屏。

所以我找到的EFI Shell应该是没有问题的,有需要的可以拿走。

EFI_SHELL64

Windows对528B sector硬盘兼容性测试

由于对NAS的需求越来越多,QNAP-212P已经不能满足扩展的功能需求,开始考虑自己定制NAS软硬件系统。 出于扩展性考虑,首先入了一块磁盘扩展卡。DELL PERC H200,芯片是LSI SAS2008,刷成了LSI 9211-8i的firmware,由于前期测试暂时不用RAID,因此刷了IT模式的固件,当做HBA来使用。 测试了多块服务器换下来的硬盘,7.2K SATA,10K SAS,15K SAS,兼容性普遍很好,识别与操作都没有问题。 不过当我测试一块服务器的SAS SSD的时候,发现了问题。

系统可以识别到磁盘,并且提示进行初始化。但是不管选择GPT还是MBR,确认后都会受到I/O请求失败的报错。经过测试,各种软件均不能正常对该磁盘进行操作。换成Linux,fdisk也仅仅是能识别到名字(Ubuntu),但是不能完整识别所有信息,也不能格式化。

检查了一下,发现这块盘是528B sector,属于一种专有格式。但是普通磁盘都是512B的sector,怀疑是操作系统对该格式磁盘不兼容造成的。插回服务器重新格式化成512B sector,windows识别正常,使用也很顺利。

性能: 读取稳定在450M/s,写稳定在400M/s