手动执行选项 rom(PCIe SATA 存储卡)

手动执行选项 rom(PCIe SATA 存储卡)

我有一台较旧的戴尔服务器,Poweredge 2900 II,我想将它与大容量硬盘(> 8 TB)一起使用。为此,需要一张扩展卡,因为主板和 PERC RAID 控制器都无法处理大于 2 TB 的驱动器。

但是,BIOS(即使是最新版本)没有启用选项 ROM 的功能,因此 SATA 扩展卡无法工作。我可以在 Linux(Knoppix)中看到该卡,并且 ACHI 驱动程序声明了该卡,但没有显示任何驱动器。

我在想,因为 BIOS 从不执行 SATA 卡上的选项 ROM,所以控制器从不完全初始化自身并且不允许 Linux 看到驱动器。

我设法从 SATA 卡(Marvell 9215)中提取了选项 rom 映像,但我无法欺骗机器加载映像以初始化卡(将其作为软盘映像启动,将其用作引导加载程序)。

我不在乎无法从此 PCIe SATA 卡的驱动器启动,我只需要在 Linux 中访问驱动器。

有没有办法让显卡正常工作,而无需严重破解 BIOS?我知道这是可选 ROM 的问题,因为其他人也尝试安装视频卡和 PCIe 存储卡,但没有成功。BIOS 似乎根本不关心这些可选 ROM。

非常感谢您的见解!

干杯


回复 Michael:

是的,它确实会加载 PERC 控制器的选项 ROM,但这只是因为它有一个专用的 PCIe x4 插槽。如果您在那里放置不同的控制器(例如,不同的 PCIe x1 或 x2 卡),BIOS 会完全停止启动过程,因为它检测到该插槽当前使用的通道数量不是 4。

我曾考虑破解 BIOS 固件映像以禁用检查,但目前我还不确定 BIOS 映像是否已签名。即使在破解 BIOS 后,也无法保证 BIOS 不会尝试读取或写入(不存在的)PERC 卡上的某些寄存器,因此在此过程中会失败。

我只需将 JMP 插入到新控制卡的选项 ROM 的地址,但 BIOS 似乎甚至没有将该 ROM 映射到 0xC0000 - 0xF00000 的内存空间,因为我无法使用 ree 实用程序找到选项 ROM 代码(https://github.com/alexmyczko/ree)。即使手动查看 /dev/mem 的前几兆字节,也没有显示任何来自相关控制器 ROM 的 ASCII 字符串。

你说的没错,服务器太老了。它们大多只能用作船锚,但我想看看它是否可以作为个人使用的简单 RSYNC 备份解决方案,而不是摆弄愚蠢的外部硬盘盒。我免费得到了它,但想从回收站拯救它。

我听说有些人通过安装 PCIe x8 或 x4 显卡在类似的 DELL 服务器上取得了一些成功,因为无论出于什么原因,BIOS 都会决定探测其余的 PCIe 插槽以查找可选 ROM。不过,我手头没有这样的卡(只有 x16 总线宽度,我不想把它锯成 x8!)。即便如此,许多人还是说 PCIe 显卡在这样的设备中不起作用,因为“它是一台服务器,只需要 KVM over IP/VGA”。

有人甚至说将 PCIe SATA 卡放入最后的 PCIe 插槽就可以工作,但我没有成功。

相关内容