群晖DSM7.X版本自动获取SataPortMap和DiskIdxMap的教程(2022年6月4日更新)

       群晖DSM7.X的引导出来有大半年了,老司机早就已经上车了,很多萌新小白估计被SataPortMap和DiskIdxMap这两个参数折磨得不成人形了吧?给博主留言问得最多的就是关于这两个参数的设置。好在pocopico大神给大家留了一个好东西,可以自动获取SataPortMap和DiskIdxMap这两个参数的,再次感谢pocopico大神!

      具体操作步骤:

      一、如果是使用物理机安装群晖的,先把群晖要用的硬盘全部接上去,接好数据线和电源线。

      二、如果是使用ESXI、PVE、UNRAID、VMware等虚拟机安装群晖的,有硬盘直通的设置好直通,使用虚拟硬盘的添加好虚拟硬盘。

      三、打开pocopico大神的github开源地址(https://github.com/pocopico/tinycore-redpill),找到如下图所示的文件,根据需要下载对应的文件:

      1、tinycore-redpill-uefi.v0.4.6.img.gz文件:适用于物理机安装群晖、主板仅支持uefi启动的(比如J4105、J5005等),以及PVE和UNRAID安装群晖(虚拟机用uefi方式启动的);

      2、tinycore-redpill.v0.4.6.img.gz文件:适用于物理机安装群晖、主板支持legacy启动的,以及PVE和UNRAID安装群晖(虚拟机用bios方式启动的);

      3、tinycore-redpill.v0.4.6.vmdk.gz文件:适用于ESXI或者VMware安装群晖;

      4、上述gz文件均为压缩文件,下载到电脑后使用解压软件解压出来,对应会得到tinycore-redpill-uefi.v0.4.5.img、tinycore-redpill.v0.4.5.img和tinycore-redpill.v0.4.5.vmdk;

      5、如果你的电脑访问github有困难的,可以直接从【GXNAS网盘】下载对应的文件。

 

(2022年3月10日更新内容:我写教程的时候还是0.4.5版本,pocopico大神的文件已经更新到0.4.6版本了,所以就懒得换图片了,一样操作方法。)

(2022年6月4日更新)pocopico的github开源地址中tinycore-redpill已更新到tinycore-redpill.v0.8.0.0了,请自行下载新版本。

 

      四、如果是物理机安装群晖的,先准备一个U盘插到Windows系统的电脑(不是NAS主机哦)的USB口,然后在电脑上打开rufus写盘工具(电脑没有这个软件的,可在rufus官网下载或者GXNAS网盘下载),先确认一下设备那里显示的U盘是否正确。

 

 

      五、点“选择”。

 

 

      六、找到第三步骤下载的文件(如果下载的是.gz文件,需要先解压出来,才有.img文件),根据NAS主机是使用uefi还是legacy启动方式,选择对应的文件,打开。

 

 

      七、确认无误了就点“开始”。

 

 

      八、点“确定”以后,U盘的数据就会被擦除,如果U盘有数据就先备份。

 

 

      九、如果你的U盘刷过NAS的引导或者刷过PE系统,存在多个分区的,就会有这个提示,点“确定”。

 

 

      十、看到状态正在写入镜像,耐心等待。

 

 

      十一、U盘写入完成后状态会显示“准备就绪”,点“关闭”关掉软件。

 

 

      十一、使用物理机安装群晖的,把刚才刷好的U盘放到NAS主机上,进入BIOS设置设置从U盘启动;虚拟机安装群晖的,把第三个步骤下载的文件自行转换成虚拟机格式的文件并上传到虚拟机中,设置好启动顺序。开机以后正常会显示如下图的菜单,此时会有一个5秒的倒计时,如果不动键盘的话5秒以后会自动进入。

 

 

      十二、启动中,耐心等待。

 

 

      十一、显示到这个界面就算启动好了,点下方工具栏最右边图标。

 

 

      十三、左上角会弹出一个命令行的窗口。

 

 

      十四、在绿色光标处输入以下命令,并回车:

./rploader.sh satamap now

 

 

 

      十五、屏幕上就会显示出本机的SataPortMap参数和DiskIdxMap参数,自己记下来吧,修改引导文件就会用到。不同的机器显示的数值不一样的哦,别抄我的!

 

 

      十六、关机需要点下方工具栏左边第一个图标。

 

 

      十七、选“Shutdown”,再点“OK”。

 


【2022年3月11日更新】

补充说明

一、有关DiskIdxMap、SataPortMap、SasIdxMap三个参数的说明

1、在群辉系统中,一个控制器默认只能控制9个硬盘,所以SataPortMap=的数值范围只能是0-9,0则表示屏蔽该控制器,不可以设为SataPortMap=0来隐藏引导盘!

2、如果有多个控制器的(每个主板具体有几个控制器,请查阅主板说明书),则SataPortMap=后面的数值有几位就表示有几个控制器。比如SataPortMap=148,表明第一个控制器有1个硬盘,第二个控制器有4个硬盘,第三个控制器有8个硬盘。

3、DiskIdxMap=这个参数值,按顺序从左到右每两位数为一个控制器的盘序数值,这两位数为16进制数,如果数值小于等于9或者大于10的,需要在数值前面加个0。比如DiskIdxMap=000105的意思是,第一个控制器的磁盘(引导盘)从序号1(00为序列1)开始往后排,第二个控制器的4个硬盘从序号2(01为序号2)开始往后排,第三个驱动器的8个硬盘从序号5(05为序号6)开始往后排。此时在群晖DSM7.X的系统里面看到磁盘序号就会从磁盘1(引导盘)到磁盘13。

4、这里有个小技巧,可以将控制器的盘序设置超过当前最大磁盘数量。例如我想把第1个控制器的引导盘隐藏,可以改成DiskIdxMap=0C0004,引导盘在群晖系统里面就看不到了,此时在群晖DSM7.X的系统里面看到磁盘序号就会从磁盘1到磁盘12(引导盘被隐藏了),同时还治愈了很多患有强迫症的童鞋!

5、SasIdxMap为SAS硬盘的个数,使用SATA硬盘的时候默认设置为0。

 

二、如果你实在不会找出这三个参数,或者使用tinycore-redpill工具获取到的参数与实际不符,那么可以试一下以下方法:

1、使用物理机安装群晖的,在引导文件中使用这三个参数DiskIdxMap=00 SataPortMap=1 SasIdxMap=0,同时在主板的SATA1口插上一个硬盘(这个位置的硬盘不可以拆走),然后把引导文件刷到U盘去启动,绝大多数情况应该可以正常安装。等安装好群晖系统以后群晖关机,把所有的硬盘都插上,同时把U盘引导里面这三个参数去掉再次启动,如果硬盘数量不超过8个并且无扩展卡无阵列卡无直通卡的情况下,应该会正常认出硬盘。硬盘数量超过8个或者使用扩展卡/阵列卡/直通卡的,在系统安装完成后再根据上面“补充说明”的第一条,自行在U盘的引导文件中添加对应的参数。

2、使用虚拟机安装的,如果硬盘数量不超过8个并且无扩展卡无阵列卡的情况下,在引导文件中去除“DiskIdxMap、SataPortMap、SasIdxMap”这三个参数,应该是可以正常安装系统的。如果硬盘数量超过8个或者使用扩展卡/阵列卡/直通卡的,在系统安装完成后把群晖虚拟机关机,再根据上面“补充说明”的第一条,自行在虚拟机引导文件中添加对应的参数。

3、有时候,发现不加这三个参数,硬盘也可以全部识别出来。

 

 


【2022年5月12日更新】

一个命令查看你的主板有几个SATA控制器和几个SATA接口

 

1、在前面具体操作步骤做到第十三步的时候,输入以下命令(注意大小写和空格):

dmesg | grep SATA

 

2、此时屏幕上把当前主板的SATA控制器和SATA接口信息全部显示出来;

比如上图显示的内容中包含了以下信息:

(1)一共有2个ahci就表示有2个SATA控制器;

(2)第1个ahci控制器和第2个ahci控制器的带宽都是6Gbps;

(3)每个控制器显示的2 ports,表示该控制器有2个SATA接口;

(4)第1个ahci控制器控制的是ata1(SATA1口)和ata2(SATA2口),第2个ahci控制器控制的是ata3(SATA3口)和ata4(SATA4口);

(5)2个硬盘分别接在SATA2口和SATA3口上面;

 

3、如果用前面的./rploader.sh satamap now获取不了参数或者参数不正确的话,建议使用dmesg | grep SATA来获取,然后通过人为去判断吧。

点赞
  1. xcyhxx说道:
    Google Chrome Windows 10
    博主,我用一块2308,接了个SAS6口扩展卡,6根sas线接24块sata硬盘柜,单控制器,主板sata被我关了,sataportmap=1,diskidxmap=00,现在只能识别到16块,是什么原因,3622的7.0.1,ssh上系统,看了maxdisk=25。还有啥地方要注意的吗?少识别了8块硬盘。
    1. 博主说道:
      Google Chrome Windows 10
      重新编译引导吧
  2. 老友9090说道:
    Google Chrome Windows 10
    博主您好。有些问题想向您请教: 我打算装一台i3-10105 的黑群晖。主板是 Gigabyte H410M H V2型号。 要接4个硬盘。 请问主板的nvme 我可以用来做成 nvme cache 吗?
  3. xcyhxx说道:
    Google Chrome Windows 10
    博主,我用的是SSU的24口扩展卡,I5 10400 华硕B460M PRO,这个扩展卡有6个控制器,用命令敲出来sataportmap=6HHHHHH,diskidxmap=00064E96DE12616E,我主板没装硬盘,就满配扩展卡24口,实际就是每个控制器接4块硬盘,用dmesg grep sata 看到能数出来24块盘,但还有很多sata llink down的,这是为啥?引导进去网页后,一直是提示我sata端口错误。tiny告警我bad ports are mapped ,DSM install will fail !
    1. 博主说道:
      Google Chrome Windows 10
      我建议用arpl编译
  4. 爱吃大锅饭说道:
    Google Chrome Windows 10
    我用esxi安装黑群晖,直通sata和m.2,安装群晖的时候必须要加一个新硬盘,新标准硬盘,才能安装,不然不能引导安装。 arpl下端口参数为下: 02:01.0 VMware SATA AHCI controller Ports: 1 2(1、2绿色) 3 4 5 6 7 8 9 18 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 38 0b:00.0 Intel Corporation Device 7a62 (rev 11)Ports: 31 32 33 34(32、33、34红色) 35 36 37 38(35、36、37、388绿色) 端口总数: 38 红色 为模拟端口,绿色 为已连接的驱动器。 然后我安装好后,群晖出现的硬盘为2、35、36、37、38. 【我如何才能隐藏前面两个1、2 然后 35、36、37、38显示为1、2、3、4呢?】 DiskIdxMap=?、SataPortMap=?、SasIdxMap=?
    1. 博主说道:
      Google Chrome Windows 10
      装DS920
  5. 风吹裤裆说道:
    Google Chrome Windows 10
    博主你好,我的dell R420,上了一个710P的阵列卡(2308芯片组),4个硬盘在阵列卡里做了RAID0,然后在ESXI里直通了阵列卡给DSM7,并且额外用ESXI的STAT控制器分配了两个虚拟盘,那就相当于DSM有2个控制器,总共3个数据盘,但是用./rploader.sh satamap now命令获取到的是DiskIdxMap=00,SataPortMap=8,用dmesg | grep SATA命令查看,发现只有一个AHCI控制器下面的30个接口,没有发现第二个控制器,然后我修改DiskIdxMap=0005,SataPortMap=48,进DSM里也是只显示SATA控制器下的2个虚拟盘,没有发现阵列卡下的RAID0组数据盘,是7.0版本没有710P的阵列卡驱动还是什么情况呢
    1. 博主说道:
      Google Chrome Windows 10
      阵列卡/直通卡/HBA卡,不需要DiskIdxMap和SataPortMap这两个参数,你添加了2个虚拟盘+群晖的引导,就算三个SATA硬盘,DiskIdxMap=00 SataPortMap=3。用带阵列卡驱动的引导就可以,比如DS3622xs-7.X。
      1. 风吹裤裆说道:
        Google Chrome Windows 10
        就是用的DS3622xs-7.X,照着你的参数,还是不行,DSM还是只发现2个虚拟盘,没有阵列卡的RAID0盘
        1. 博主说道:
          Google Chrome Windows 10
          那我就不知道了
1 4 5 6

发表回复