DSM7.X引导修改SN、MAC、PID、VID以及添加自定义ESATA参数的教程(2024年4月23日更新)

       早在DSM6.X的年代,有些群晖NAS玩家为了让NTFS格式的硬盘能直接在群晖DSM系统里面可读写,于是手动修改synoinfo.conf里面的esataportcfg、internalportcfg、usbportcfg这三个参数,但是到了DSM7.X的年代,这个方法已经不行了,因为修改过的synoinfo.conf文件,在系统重启后会自动恢复成默认值,造成修改无效。目前DSM7.X主流的引导生成方式有两种:一种是使用Redpill源代码编译,另外一种是使用ARPL/RR进行编译。本教程以ARPL/RR编译的引导为例,讲解修改ESATA参数以及添加其他自定义参数的方法,自行使用ARPL/RR项目进行编译的引导以及使用博主编译的DSM7.21引导文件的,均可按照以下方法操作。

1、在电脑上使用Diskgenius,打开虚拟磁盘文件;

 

 

2、找到你的引导文件(本教程以修改DS918_7.21-69057引导为例,其他型号的引导操作方法一样);

 

3、点加载虚拟磁盘的第一个分区,浏览文件,找到user-config.yml,复制到电脑桌面;

 

4、使用Notepad2/Notepad3/Notepad++之类的编辑器打开user-config.yml(不要用记事本!不要用记事本!不要用记事本!),第19行、20行、21行引号的内容分别为sn、mac1、mac2;

 

5、假如群晖单网卡的,则删除mac2这行,只保留sn和mac1这两行并根据实际情况进行修改引号里面的内容;

 

6、假如群晖双网卡的,根据实际情况进行修改引号里面的内容;

 

7、半洗白只需要修改sn就可以了,全洗白的则需要修改sn和mac(单网卡的只需要修改mac1并删除mac2,双网卡则修改mac1和mac2);

 

 

8、如果需要修改硬盘排列顺序(仅非DT机型的才支持修改),引导文件默认不带参数,需要自行添加和修改,找到第26行的cmdline这行;

 

9、可参考下图修改(需要注意字母大小写、空格等书写格式),参数不要照搬,要写你自己实际使用的参数;

 

10、如果要设置ESATA硬盘,在第38行buzzeroffen: "0xffff"最末尾处,按下回车键;

 

11、把你自己实际使用的参数,参考下图修改(需要注意字母大小写、空格等书写格式);

 

12、如果要修改PID和VID,可参考下图位置把引号里面的数值修改为U盘实际的数值,需要注意的是“0x”必须保留不可以删除;

 

13、注意:user-config.yml里面的格式必须严格按照规定的书写格式进行修改,格式不对有可能造成引导盘启动不了,建议下载【模版文件】到你的电脑,复制需要的参数到配置文件粘贴,然后再修改成你自己实际使用的参数;

 

14、修改完成后,把修改好的user-config.yml文件替换到Diskgenius中,重启NAS就生效了;

 

15、重启后引导界面上会显示修改后的cmdline参数,上面显示的sn和mac就是修改后的参数,但是在群晖“控制面板-信息中心-网络”看到的mac地址、或者在路由器看到的mac地址、以及在电脑上使用Synology Assistant搜索看到的mac地址,均显示NAS主机物理网卡的mac地址,这个是正常现象,并不影响使用

点赞
  1. MW说道:
    Google Chrome Windows 10
    你好,DS220+(系统6.2.3)修改synoinfo.conf,里面没有esataportcfg和internalportcfg这2个参数,手动加进去也没用,在/etc.defaults和/etc这2个路径里面的synoinfo.conf都添加进去也没用,请问这个还有方法修改吗。
    1. 博主说道:
      Google Chrome Windows 10
      微信已回复。
      1. 离谱普说道:
        Google Chrome Windows 10
        楼主你好,我和层主问题一样,请问怎么可以解决。感谢回复(刚才回错楼层了)
        1. 博主说道:
          Google Chrome Windows 10
          DS220+这个机器就2个硬盘位,如果能改的话也就只能改其中一个盘位而已,折腾这个没啥意义,你还不如直接插个USB硬盘盒子就能直接用NTFS,还不需要折腾呢。
          1. 离谱普说道:
            Google Chrome Windows 10
            刚刚没注意型号,我的是ds918+的型号,但是文件里面没有这两个参数
          2. 博主说道:
            Google Chrome Windows 10
            你的DS918+是黑群晖还是白群?黑群晖可以改引导,白群不能用这个方法。
          3. 离谱普说道:
            Google Chrome Windows 10
            黑群,user-config.yml里面没有对应的esataportcfg和internalportcfg和usbportcfg,自己 添加了不生效
          4. 博主说道:
            Google Chrome Windows 10
            需要重新做引导,首次启动前把参数写进去。已经在正常使用的引导,添加参数无效。
  2. whb1234说道:
    Safari iPhone iOS 16.5
    博主你好,我的设备是蜗牛B单,7.1之前sata改esata都没问题,升级到7.2后esata失效,引导用的是你做的7.2引导。群晖存储管理器中NTFS硬盘识别为4号,已经在引导文件user-config.yml中添加了参数DiskIdxMap:"0002",SataPortMap:"24",SasIdxMap:"0",esataportcfg: "0x8",internalportcfg: "0xFFFFFFFFFFFFFF7",usbportcfg: "0x8700"。重启后NTFS硬盘显示“未使用“,不能识别为esata硬盘。尝试把esataportcfg和internalportcfg参数更换为:esataportcfg: "0x8",internalportcfg: "0xFF7"依旧如此。 问题到底出在哪里?
    1. 博主说道:
      Google Chrome Windows 10
      你的参数绝对是错的,没有那么多的F,请自行去重新计算。
      1. whb1234说道:
        Safari iPhone iOS 16.5
        esataportcfg参数的二进制位数是由哪个参数决定的?我是按60个盘位算的,也就是二进制有60位,但是按默认的12位也不对,之前怎么算的都忘记了。
        1. 博主说道:
          Google Chrome Windows 10
          假设你的机箱是4个盘位,你要改第4个盘位为ESATA,那么只需要把前面4个盘位用来计算,而不是算满60个盘位!
          1. whb1234说道:
            Google Chrome Windows 10
            我的是蜗牛B单,4盘位,用4位和6位二进制计算都失效,internalportcfg参数设为0,esataportcfg参数都是1,依然不起作用。另外我是用U盘做的引导盘。
          2. 博主说道:
            Google Chrome Windows 10
            你可以先计算参数,然后用arpl做引导,在NAS上编译引导,编译的时候,把计算好的参数写入引导。
          3. whb1234说道:
            Google Chrome Windows 10
            感谢博主,在NAS上自编引导后可以识别esata硬盘了。
  3. 心诺说道:
    Google Chrome Windows 10
    对了,SataPortMap: "3" DiskIdxMap: "00"这个参数是通过您之前的教程获取到的
  4. 心诺说道:
    Google Chrome Windows 10
    大佬,我戴尔D630安装的群晖,用的是7.2的那个引导,外接了一块硬盘,在user-config.yml更改了如下参数SataPortMap: "3" DiskIdxMap: "00" SasIdxMap: "0" buzzeroffen: "0xffff" esataportcfg: "000" internalportcfg: "0xFFFFFFFF" maxdisks: "24" usbportcfg: "0x0" 在镜像里修改的,写入硬盘以后并没有将usb硬盘识别为内置硬盘,求大佬帮助
    1. 心诺说道:
      Safari iPhone iOS 16.3.1
      引导镜像是3617-7.2-64570
    2. 博主说道:
      Google Chrome Windows 10
      修改参数并不能改变“不能用USB硬盘来直接安装系统”的局面哦!如果你想把USB硬盘也当做群晖的存储,在安装系统的前把SATA接口的硬盘和USB硬盘都装好(引导文件不需要改上述参数),等安装好系统进入系统后,在存储管理器里面就可以把USB硬盘拿来建立存储了。
  5. OGKvH5WskPtOLAfVfXutVbyM1S8U说道:
    补充下,修改的是镜像里的文件,修改好后再刻录到U盘里。
    1. 博主说道:
      Google Chrome Windows 10
      好的
  6. OGKvH5WskPtOLAfVfXutVbyM1S8U说道:
    关于7.2esata我又重新尝试了一下,先说结果搞定了,总结下上次失败有可能是我修改的是u盘中user文件,这次直接修改的是镜像里的,修改后重启会提示回复系统,然后一路下一步就OK了,目前看来文件没有丢失,但是想搞的建议先备份文件。
    1. 乖宝宝说道:
      Google Chrome Windows 7
      用ARPL制作的引导U盘,它直接在线编译和刻录,并没有引导文件哦!请问引导文件哪里下载的呢?或者怎么制作的?
  7. OGKvH5WskPtOLAfVfXutVbyM1S8U说道:
    关于esata,修改后没有变化,我修改了引导优盘里的文件,重启后没有变化。
    1. 博主说道:
      Google Chrome Windows 10
      关于这个ESATA的参数我这边亲测过好几次了,是生效的,我写的这个教程里面ESATA那个参数,就是我上次给别人修改设置的参数。至于你这边信息量太少,我没法回答。
      1. OGKvH5WskPtOLAfVfXutVbyM1S8U说道:
        首先谢谢博主的回复,1.我装的是物理群,用的是博主ds3622_7.2_63570 1g大小的引导文件,引导文件烧录到u盘后安装启动都正常,2.关于esata修改,我降1g的镜像文件打开使用diskgenius修改user-config.yml,打开后只有,
      2. OGKvH5WskPtOLAfVfXutVbyM1S8U说道:
        接上文∶只有esataportcfg 的字段,我手动把internalportcfg,maxdisks,usbportcfg,字段数字打上去保存,并用dg重新把镜像写入u盘,插U盘重启nas,系统可进,新插入硬盘在nas移动设备中识别不出来,只能被当做新硬盘识别,和未修改前一样。
      3. OGKvH5WskPtOLAfVfXutVbyM1S8U说道:
        接上文∶只有esataportcfg 的字段,我手动把internalportcfg,maxdisks,usbportcfg,字段数字打上去保存,并用dg重新把镜像写入u盘,插U盘重启nas,系统可进,新插入硬盘在nas移动设备中识别不出来,只能被当做新硬盘识别,和未修改前一样。
  8. OGKvH5WskPtOLAfVfXutVbyM1S8U说道:
    关于esata,修改后没有变化,我修改了引导优盘里的文件,重启后没有变化。
  9. xunhai说道:
    Google Chrome Windows 10
    失误刚才看了下,只要不带dt的都无法进入安装界面
  10. xunhai说道:
    Google Chrome Windows 10
    直通卡在高级设置里能看到硬盘,但是进了系统却识别不到。用红丸的引导就可以识别。插件里的Lsi工具怎么用,和它有关?
    1. 博主说道:
      Google Chrome Windows 10
      arpl编译引导的时候是自动加载硬件驱动的。但是有些型号不支持阵列卡,比如920、923之类的DT型号。
      1. xunhai说道:
        Google Chrome Windows 10
        是的,规避了dt型号。还有个神奇的情况,3622红丸的引导完美适配,但是arpl却死活进不去安装界面,网卡灯只亮一个。
    2. xunhai说道:
      Google Chrome Windows 10
      不知道红丸的引导过程是怎样的,tank那边说是kernel崩溃,arpl可以通过设置,复制红丸吗
      1. 博主说道:
        Google Chrome Windows 10
        红丸和arpl是不同的项目组,源代码都不一样,复制了你也用不了。

发表回复