帮群友远程unraid虚拟黑群晖,后来群友要求把nvme固态直通到黑裙里当缓存使用,需要修改libsynonvme.so.1这个文件,网上搜索了一下相关教程,在 https://blog.dateno1.com/?p=3890 找到了解决办法,但是要用二进制编辑器修改libsynonvme.so.1,所以此教程诞生了 :-P
本文中使用的引导是 RedPill-TTG 代码构建,git地址:https://github.com/RedPill-TTG/redpill-load,https://github.com/RedPill-TTG/redpill-lkm。感谢 RedPill-TTG 团队所做出的贡献。
首先 使用 ls /dev/nvm* 命令查看是否认到nvme固态硬盘
然后使用 udevadm info /dev/nvme0n1 查询 并得到 nvme固态硬盘在群晖中的硬件地址。地址为:0000:00:1c.0
SSH登录群晖 并 输入命令 sudo -i 进入root 模式
备份libsynonvme.so.1文件
cp -f /usr/lib64/libsynonvme.so.1 /volume1/homes/libsynonvme.so.1 (/volume1/homes/路径根据自己的实际情况修改)
登录群晖网页端,打开 文件管理,找到 homes 目录。把刚才复制过来的libsynonvme.so.1文件下载到本机
本人使用的是 C32Asm 编辑文件。其实二进制编辑软件很多,例如 winhex,uedit,Beyond Compare等等。。。软件可自行百度查找下载
打开 C32Asm ,将libsynonvme.so.1 导入,选择 十六进制模式 并确定。
搜索 918 字符串,点击下一个
0000:00:02.3 0000:00:02.4就是我们 要修改的位置。
直接在右侧修改为 刚才查到的地址:0000:00:1c.0
将 0000:00:02.3 0000:00:02.4修改为 0000:00:1c.0 0000:00:1c.1
然后保存,把修改好的文件上传到群晖 homes目录,在ssh终端执行以下命令拷贝过去。
cp -f /volume1/homes/libsynonvme.so.1 /usr/lib64/libsynonvme.so.1
然后执行 reboot 重启群晖。
本人只是把过程 描述一下,方法是网络搜索到的,修改方法写的更直白一些,仅此而已,给小白使用。
评论(7)
正好解决需求
蓝冰大佬我是比小白好一点的中白,能否仔细说明下
1.“把nvme固态直通到黑裙”在unraid下如何实现呢?我只知道sata硬盘是在虚拟机中设置/mnt/dev/by-id/******,但貌似对nvme无效。
2. “首先 使用 ls /dev/nvm* 命令查看是否认到nvme固态硬盘”,这是在unraid下查看还是SSH连到群晖下查看?
unraid下nvme硬盘。要直通到群辉虚拟机里才可以
我用unraid 下 VFIO-PCI CFG插件屏蔽了两个NVME固态,然后虚拟群晖配置里面勾选了这两个固态;
逻辑上已经直通给虚拟群晖了。
然后用SSH登录root账号,按您的ls /dev/nvm*命令查看,还是没有识别到这两个固态
换引导。估计没驱动
同样的问题,请问您解决了吗
请问大佬现在有解决方案了吗