本人因为最近研究深度学习,需要安装一个较高性能的计算平台,但是身为学生的身份囊中羞涩,并不能支持我购置顶级的硬件,我便把目光投向了性价比极高的老x79平台,其中遇上了不少坑,也前前后后折腾了一个星期,现在把我遇上的坑总结一下,希望能帮到和我遇上类似问题的人
众所周知,intel x79芯片组并不原生支持从nvme启动(华擎等品牌的翻新x79主板可以支持),但是对于服务器平台来说,安装nvme硬盘则需要另寻蹊径
注意,并非x79不支持nvme硬盘,只是不支持从nvme硬盘boot,nvme硬盘作为数据盘的话则可以直接支持
ps:x79平台一般没有nvme m.2接口(华擎除外)安装nvme硬盘从硬件上来说可以走pcie通道,淘宝上花十几块钱买个下图所示转接卡即可(nvme协议本身就走的pcie通道,所以转接卡甚至不需要主控,价格非常低廉)
方法1需要改动bios固件,存在风险,而且我的服务器平台官方已经停止维护,故选择方法2
由于我的服务器具体型号为hp proliant dl360p gen8,不仅不支持nvme硬盘启动而且还不支持uefi,而nvme安装系统必须从uefi环境启动,所以我选择clover作为启动环境
clover是一个广泛用于安装黑苹果的工具,它支持legacy boot并且能虚拟出个uefi环境,并且支持nvme模块
安装clover的方法网上教程很多,这里不再赘述,强调几个点
2.安装clover到U盘以后,U盘的EFICLOVERdriversoff目录下有一个名为NvmExpressDxe.efi的文件,该文件为clover支持nvme硬盘的模块,需要手动复制该文件,如果你是legacy boot,则复制到EFICLOVERdriversBIOS目录下,如果是uefi boot,则复制到EFICLOVERdriversUEFI目录下,如果你不知道你是何种启动方式,你可以在两个目录下都放一份
如果你是家用平台或者安装了常规独显的服务器平台,那本教程就到此为止,你只需要进入pe将nvme硬盘设置为guid格式然后安装Windows(这里建议安装Windows10,因为win10自带nvme驱动),随后从安装了clover的U盘启动,clover就自动能认出来Windows系统,只需按下回车便可启动
如果你从安装了clover的U盘启动遇上了下图这种情况,那么恭喜你遇上了一个巨坑
先在这里说下本人选择的硬件
平台为惠普dl360p gen8 1u服务器
cpu为两颗志强e5-2689,8c16t ,单核3.6多核3.3,价格只需要70块钱,非常合适
显卡为nvidia tesla p10
重点来了,这颗GPU是nvidia出的专业计算卡,本身并不支持图像输出,没有任何图像输出接口,系统也不会把它认为是一块可以输出图像的显卡,所以,我的显示器是接在主板集成显卡上的
相信不少人使用服务器并不会给服务器配置独立显卡,显示器接在集成显卡上的并不是少数,所以,如果你们使用惠普gen8平台,大概率会和我遇上一样的问题
总之,我一开始以为是引导出了问题,因为本平台是不支持uefi启动的,而我怀疑我的clover版本不支持legacy启动,所以我尝试了数十个版本,但是无一例外都失败了(这里吐槽一下服务器平台,开机自检要整整4分钟,折腾启动问题频繁重启真的是精神污染,而且自检过程中风扇转速极快,声音和机场似的
)
最后,我几乎翻遍了全网也没找到和我相似的问题,直到我在github上翻找clover的源码时(对,我到这个时候依然坚信我没有成功以legacy模式启动clover)在issues里发现了这样一篇求助
虽然型号不一样但是同属一代服务器,我如同抓住救命稻草一般点了进去
看来,问题就出在这个集成显卡上,于是,我去借了个亮机卡,接上
出现了clover的启动菜单
老泪纵横啊,折腾了一个星期,走了太多的弯路
但是,问题并没有圆满解决
先给大家看一下此服务器的布局
此服务器riser卡提供两个pcie插槽,一个16x一个8x
其中,红圈为Tesla p4显卡,绿圈为nvme硬盘
我成功在亮机卡的帮助下安装了Windows10以后,我便换上了Tesla显卡,然后开机
此时由于集显无法使用,此电脑没有任何视频输出接口,只能通过Windows远程桌面链接,于是出现的一个新的问题:
系统能成功启动,但是Windows远程桌面无法链接
问题所在比较明显,Tesla显卡并非常规显卡,不支持显示输出功能,也不会被系统认为是一个视频输出设备
所以,这台机器上,没有任何的显卡
换句话说,如果要显示画面,必须再接一个亮机卡,但是仅有的两条pcie插槽都占用了,貌似无路可走了
俗话说天无绝人之路,在研究的过程中,我又发现了一个帖子
使用Tesla P4显卡炼丹与游戏的环境配置(CUDA9.0 PyTorch1.1.0 DirectX 12.0) - 哔哩哔哩 (bilibili.com)
此贴看上去似乎与我目前的困境毫无关联,但是嗅觉敏锐的同学已经注意到了游戏二字
不是说特斯拉显卡不支持显示输出吗?如何支持游戏?
研究了一下,原来,Tesla阉割的OpenGL和directx是软件阉割,只需要更改注册表,就可以让Windows把Tesla显卡作为显示输出途径
具体做法:注册表中的:
计算机HKEY_LOCAL_MACHINESYSTEMControlSet001ControlClass{4d36e968-e325-11ce-bfc1-08002be10318 中
AdapterType 的值修改为0
EnableMsHybrid 的值修改为1
那么问题来了,此操作需要同时安装硬盘,特斯拉显卡,亮机卡,然后给特斯拉打驱动再更改注册表。。。貌似又是死路一条?
不不不,都到这一步了岂有放弃的道理
最后的解决方案非常暴力:
注意:两次安装系统应该使用完全相同的镜像
等复制完成,拔下sata固态,然后从cloverU盘启动(希望你没有忘记打卡远程桌面链接23333)
随后通过远程桌面连接服务器:
可见,非常完美的运行在了nvme硬盘上,速度也跑满了该硬盘的极限
至于现在此显卡有了一定的游戏性能,也可以跑一下相关的测试
科创上那篇文章也是本人账号发布,非转载
到此这篇nvme接口兼容ngff吗(nvme接口可以插ngff吗)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/39301.html