我将手里的XP330刷成了最新的Intel官方固件,会出现一个口无法使用的问题。然后我又刷回了华为的SP330固件(当时我以为我手里的卡是SP330),问题依旧。然后我仔细看了一下我的卡不是SP330,而是XP330,遂刷入XP330的固件,问题解决,两个口都可使用。固件可以在超聚变官网下载。
出现问题的原因想必是华为在固件上做了一些判断。
另外,SP330和XP330有什么区别我并不知道。
我将手里的XP330刷成了最新的Intel官方固件,会出现一个口无法使用的问题。然后我又刷回了华为的SP330固件(当时我以为我手里的卡是SP330),问题依旧。然后我仔细看了一下我的卡不是SP330,而是XP330,遂刷入XP330的固件,问题解决,两个口都可使用。固件可以在超聚变官网下载。
出现问题的原因想必是华为在固件上做了一些判断。
另外,SP330和XP330有什么区别我并不知道。
首先通过界面创建一个存储池,我这里名字是MainPool。然后把HDD和SSD都放进这个池。
查看存储池信息
Get-StoragePool MainPool | Get-PhysicalDisk | Sort Size | FT -AutoSize
创建SSD快速层,使用的是Mirror
New-StorageTier -StoragePoolFriendlyName MainPool -FriendlyName SSDTier -MediaType SSD -ResiliencySettingName Mirror -PhysicalDiskRedundancy 1 -FaultDomainAwareness PhysicalDisk
创建HDD大容量层,使用的是允许2块盘故障的Parity
New-StorageTier -StoragePoolFriendlyName MainPool -FriendlyName HDDTier -MediaType HDD -ResiliencySettingName Parity -PhysicalDiskRedundancy 2 -FaultDomainAwareness PhysicalDisk
查看Tier信息
Get-StorageTier
创建分层结构的虚拟磁盘,同时在SSD上设置256GB的写缓存区
$SSD = Get-StorageTier -FriendlyName SSDTier $HDD = Get-StorageTier -FriendlyName HDDTier $SSDSIZE = (Get-StorageTierSupportedSize -InputObject $SSD).TierSizeMax*0.95 -256GB $HDDSIZE = (Get-StorageTierSupportedSize -InputObject $HDD).TierSizeMax*0.95 New-VirtualDisk -StoragePoolFriendlyName MainPool -FriendlyName "MainVHD" -StorageTiers @($SSD,$HDD) -StorageTierSizes @($SSDSIZE,$HDDSIZE) -WriteCacheSize 256GB
主板是超微的H13SAE-MF(B650芯片组)。
需要的软件和固件:
| 文件名 | 包含内容 | 来源 |
| UEFI_BSD_P20.zip | 签名版的UEFI BIOS | 博通官网直接下载,无需登录 |
| 9207_8i_Package_P20_IR_IT_FW_BIOS_for_MSDOS_Windows.zip | 固件和传统BIOS | 同上 |
| Installer_P20_for_UEFI.zip | EFI环境下的刷新工具:sas2flash.efi | 同上 |
| Shell_Full.efi | 完整的X64 EFI Shell | https://github.com/tianocore/edk2-archive/blob/master/EdkShellBinPkg/FullShell/X64/Shell_Full.efi |
开机按F11,从引导菜单进入EFI Shell。
这个EFI Shell执行sas3flash.efi是没问题的,但是无法执行sas2flash.efi,所以需要Shell_Full.efi。进入方法很简单,在主板的EFI Shell中执行Shell_Full.efi就可以进入完整的EFI Shell,在这里就可以执行sas2flash.efi了。
-c 0参数为指定HBA卡中的第一张卡,如果只插了一张HBA卡则不需要指定这个参数。
查看信息
sas2flash.efi -list
有必要的话可以把信息截图备份一下。
备份固件
sas2flash.efi -ufirmware firmware.old
备份bios
sas2flash.efi -ubios bios.old
清除固件
sas2flash.efi -o -e 6
刷入固件
sas2flash -f 9207-8.bin
刷入传统BIOS
sas2flash -b mptsas2.rom
刷入带签名的UEFI BIOS(支持安全启动)
sas2flash -b x64sas2.rom
样本是一台新购买的Thinkpad笔记本电脑,CPU为Ultra一代,预装有Windows 11操作系统。
以U盘引导盘中Windows PE或Win To Go,在其中查看计算机内置硬盘的系统盘的BitLocker加密状态,结果如下表。
| 工具\状态 | 未初始化系统设置 | 完成系统初始化设置但未登录微软账号 | 完成系统初始化设置且登录微软账号 |
| Windows PE | 加密盘未锁定 | 加密盘未锁定 | 加密盘已锁定 |
| Win To Go | 加密盘未锁定 | 加密盘未锁定 | 加密盘已锁定 |
事实证明,WTG和PE是一样的。并不存在“如果使用基于TPM的BitLocker系统盘,Win To Go能查看解密后的盘”。
先去OpenWRT官网下载X86-64平台的img镜像,但这个镜像QNAP虚拟机软件没法直接用,需要用qemu-img转换一下。
qemu-img convert -p -f raw -O qcow2 openwrt-23.05.5-x86-64-generic-ext4-combined-efi.img openwrt.img
而后创建新的虚拟机并使用该镜像作为虚拟机硬盘就可以了。
将网卡驱动ipk包放入U盘
mount -t vfat /dev/sda1 /mnt/upan opkg install XXX.ipk
这是曙光OEM版本的L3216卡,和LSI 9305-16i的公版固件不通用。感觉其实可以强刷公版方案,因为只是NVDATA字段和校验和不匹配,不过没精力测试了。
我这个卡默认固件版本是15,我从曙光客服那里搞来了1611版本,客服说这是他们的最新版。该固件应该是解决了一些希捷硬盘的兼容性问题,但仍然不支持安全启动,因为mpt3x64.rom并没有签名。
在BIOS中进入EFI Shell模式,执行固件包中的flashIT.nsh批处理即可完成固件更新,flashIT.nsh内容如下:
sas3flash.efi -o -e 6 sas3flash.efi -f p1611_nv27_3216.fw -b mptsas3.rom sas3flash.efi -b mpt3x64.rom(更多…)
我只需要加密功能,不需要openssl的网络功能。
perl Configure VC-WIN64A no-asm no-shared no-sse2 no-capieng no-ssl no-tls no-dtls no-sock --prefix=D:\openssl-3.3.1\MT --openssldir=D:\openssl-3.3.1\openssldir
• no-capieng: 禁用对 Windows 加密 API 的依赖。
• no-ssl: 禁用所有版本的 SSL 协议。
• no-tls: 禁用所有版本的 TLS 协议。
• no-dtls: 禁用所有版本的 DTLS 协议。
• no-sock: 禁用套接字支持。
因为openssl默认就使用了/Zl参数,所以只编译一个/MT版本就可以了,引入到使用/MDd等其它C库链接方式的项目中也不会有警告。
经测试,SetProcessValidCallTargets函数无法设置非16字节对齐的函数地址,并不会让设置地址开始的16字节区域全部有效,而是只能让设置的地址有效(1字节),所以网上很多文章认为调用SetProcessValidCallTargets可以让CFG形同虚设的观点是怎么回事呢。我不知道。