群晖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. EQun说道:
    Google Chrome Android 10
    博主,请问我主板不显示sata1和sata2口,是不是就没法设置参数安装DSM7了。 手动命令给的结果这样的,之前试过提示硬盘1,2有错误不让安装。 0.332830] ahci 0000:00:17.0:AHCI 0001 03301 32 slots 4 ports 6 Gbps 0x3c impl SATA mode 0.367109] ata3: SATA Max UDMA/133 abar m2204800x9f922000 Fert 0x9f922200 irq 124 0.367110] ata4: SATA max UDMA/133 abar m2204800x9f922000 rt 0x9f922280 irg 124 0.367111] ata5: SATA max UDMA/133 abar m2204880x9f922000 port 0x9f922300 irg 124 0.367112] ata6:SATA max UDMA/133 abar m2204800x9f922000 port 0x9f922380 irq 124 0682431] ata3: SATA link up 6.0 Gbps(SS Status 133 SControl 300) 0682449] ata6: SATA link down(SStatus 0 SControl 300) 0.682466] ata4: SATA link up 6.0 Gbps(SS Status 133 SControl 300) 0.685760] ata5: SATA link down(SStatus SControl 300)
    1. EQun说道:
      Google Chrome Android 10
      。。。复制过来时明明加了换行,这代码全集中一段了呢。。。
    2. 博主说道:
      Google Chrome Windows 10
      没有就不能用物理机安装了,你上ESXI虚拟机吧。
    3. EQun说道:
      Google Chrome Android 10
      这样应该能看清了。~~~~~~~~~~~~ 0.332830] ahci 0000:00:17.0:AHCI 0001 03301 32 slots 4 ports 6 Gbps 0x3c impl SATA mode ~~~~~~~~~~~~ 0.367109] ata3: SATA Max UDMA/133 abar m2204800x9f922000 Fert 0x9f922200 irq 124 ~~~~~~~~~~~~ 0.367110] ata4: SATA max UDMA/133 abar m2204800x9f922000 rt 0x9f922280 irg 124 ~~~~~~~~~~~~ 0.367111] ata5: SATA max UDMA/133 abar m2204880x9f922000 port 0x9f922300 irg 124 ~~~~~~~~~~~~ 0.367112] ata6:SATA max UDMA/133 abar m2204800x9f922000 port 0x9f922380 irq 124 ~~~~~~~~~~~~ 0682431] ata3: SATA link up 6.0 Gbps(SS Status 133 SControl 300) ~~~~~~~~~~~~ 0682449] ata6: SATA link down(SStatus 0 SControl 300) ~~~~~~~~~~~~ 0.682466] ata4: SATA link up 6.0 Gbps(SS Status 133 SControl 300) ~~~~~~~~~~~~ 0.685760] ata5: SATA link down(SStatus SControl 300)
      1. 博主说道:
        Google Chrome Windows 10
        你是用B360或者B365的主板吧?B360和B365他们主板上面2个nvme口是SATA1和SATA2,所以物理机不能直接安装DSM7.X的系统。
        1. EQun说道:
          Google Chrome Android 10
          谢谢博主。是映泰的Z490 itx主板,发在这里大家看到了可以避坑这款主板了。
  2. daxiong说道:
    Safari Mac OS X 10.15.7
    如果使用的是阵列卡直通模式 是否还需要计算这两项参数呢?
    1. 博主说道:
      Google Chrome Windows 10
      都需要
      1. 瞎折腾说道:
        Google Chrome Windows 10
        就在这回复吧,我跟这个兄弟的问题一样! 首先感谢群主的分享,我已经弄好了一台DS3622的黑群晖12个HDD+2个SSD盘的超级群晖,非常完美! 我现在有个问题就是怎么按照之前的方法设置,在群晖里面就是看不到阵列卡直通进群晖的硬盘,我用的PVE虚拟机,在虚拟机内都能看到,阵列卡是9311 8ii,磁盘控制器只有2个,1个是装群晖的系统的100G盘,第二个就是PCIE通道的阵列直通卡(装了4块SAS硬盘),DiskIdxMap=0001、SataPortMap=2、SasIdxMap=4,这个参数应该是没问题,我阵列卡也换了好多种,换个LSI 3108的阵列卡,9302 8i,9340 8i,都是同样的问题,进群晖一个硬盘都看不到!快崩溃了!
        1. 博主说道:
          Google Chrome Windows 10
          你先搞清楚你的阵列卡驱动是多少版本的
          1. 瞎折腾说道:
            Google Chrome Windows 10
            谢谢博主的回复!以下是网卡信息,看下能否支持? Product Name: LSI 3108 MegaRAID Serial: Package: 24.7.0-0026 FW Version: 4.270.00-3972 BIOS Version: 6.22.03.0_4.16.08.00_0x060B0200 Boot Block Version: 3.06.00.00-0001 Battery Status: Missing BIOS Boot Mode: Stop on Error JBOD Mode: Enable Location: Onboard
          2. 博主说道:
            Google Chrome Windows 10
            LSI 3108 MegaRAID?很明显不是网卡。
        2. katty说道:
          Google Chrome Windows 10
          我用918 3615 3617 3622 dsm7.0.1-42661自带的驱动也认不到9340 8i的硬盘,用其它nas linux都可以认到,在3622上通过编译megaraid MR_LINUX_DRIVER_7.20-07.720.04.00-1 MR_LINUX_DRIVER_6.12-06.812.07.00-1 MR_LINUX_DRIVER_7.10-07.710.06.00-1 等版本都认不到
          1. katty说道:
            Google Chrome Windows 10
            切IT https://www.servethehome.com/flash-lsi-sas-3008-hba-e-g-ibm-m1215-mode/
        3. katty说道:
          Google Chrome Windows 10
          你阵列卡有试成功了不?
  3. niudanB说道:
    Google Chrome Windows 10
    大佬,你好,这是我的板子的数据, HBA: 00:12.0 Disks : 2 HBA: 00:13.0 Disks : 12 其中 HBA 12在机器上是 3和4号SATA口。 HBA 13在机器上是 1和2号SATA口。 我自己编译920引导的时候,可以手动设置ds920p.dts文件,修改里面的接口排序internal_slot的pcie_root和ata_port 但是,在我编译918引导的时候,就没办法编辑了dts了,他没有这玩意。。 现在的情况是920修改dts后,引导磁盘顺序正常。918 引导后,磁盘顺序错误,实体机是1234,群晖里面看就变成了 3412的排序。 请问大佬有办法解决吗?? 目前使用的 SataPortMap=22 DiskIdxMap=0002 具体请看这里 https://github.com/pocopico/tinycore-redpill/issues/72
    1. niudanB说道:
      Google Chrome Windows 10
      解决了,把SataPortMap=22 DiskIdxMap=0002 改成SataPortMap=22 DiskIdxMap=0200 就可以了
      1. 博主说道:
        Google Chrome Windows 10
        好的
  4. hsingchien说道:
    Google Chrome Windows 10
    博主好,我用DiskIdxMap=00 SataPortMap=1 SasIdxMap=0升级以后发现第二块硬盘不能识别,修改引导成DiskIdxMap=00 SataPortMap=2 SasIdxMap=后系统识别第二块硬盘为新硬盘,没有和第一块一起识别为同一个储存池。请问还有办法恢复原本的储存池吗?
  5. YANG说道:
    Google Chrome Windows 10
    博主好,我主板是华擎Z490MITX 主板4sata 两条m2 wifi扩展2sata 脚本自动计算运行./rploader.sh satamap now HBA: 00:17.0 Disks : 6 HBA: 00:1c.0 Disks : 5计算结果:DiskIdxMap=0005 SataPortMap=65,开机显示1.2.8.9.10存在错误。目前在用6.2.3,硬盘跳空1/2 从3开始到8 .问题1:对于华擎的Z490mitx如何设置正确的引导sata值。
    1. 博主说道:
      Google Chrome Windows 10
      不好意思,我没用过这个主板,所以我也不知道真正的值是什么。不过你可以这样来测试一下,扩展卡先不接,只接一个硬盘到主板的第1个SATA口上面,引导文件使用DiskIdxMap=00 SataPortMap=1 SasIdxMap=0这三个参数,看看是否顺利安装。
  6. Cloud说道:
    Google Chrome Mac OS X 10.15.7
    博主好,星级蜗牛希望不用U盘引导,直接MSATA引导7.1.0,修改多次也未果,如何修改呢?
    1. 博主说道:
      Google Chrome Windows 10
      用U盘多舒服啊,不用折腾!
  7. 没事别烦我说道:
    Safari Mac OS X 10.15.7
    脚本自动计算出来的DiskIdxMap=0005 SataPortMap=25,只能识别出来四盘位,实际上是主板自带1个SATA,以及一个NVME,我用NVME转SATA扩展出来5盘位,一共是6个SATA接口,运行./rploader.sh satamap now HBA: 00:17.0 Disks : 2 HBA: 00:1c.4 Disks : 5
  8. Cloud说道:
    Google Chrome Mac OS X 10.15.7
    博主好,我的星际蜗牛 黑裙 自动获取 DiskIdxMap=0004 SataPortMap=24 MSATA接在第一个控制器(没法改),主板SATA口空,其它硬盘都在控制器2下面。 问题1: U盘引导7.1.0 改成 DiskIdxMap=0C00 SataPortMap=24,MSATA依然显示,出来为硬盘14,那么如何屏蔽MSATA盘呢? 问题2:我希望不用U盘引导,直接MSATA引导7.1.0,修改多次也未果,如何修改?
    1. 博主说道:
      Google Chrome Windows 10
      蜗牛安装DSM7.X的教程:https://wp.gxnas.com/10940.html
      1. Cloud说道:
        Google Chrome Mac OS X 10.15.7
        问题1:U盘引导已解决。 问题2:MSATA引导未解决
  9. Cloud说道:
    Google Chrome Mac OS X 10.15.7
    星际蜗牛 黑裙 自动获取 DiskIdxMap=0004 SataPortMap=24 MSATA接在上面,另外硬盘都在控制器2下面 问题1: U盘引导7.1.0 改成 DiskIdxMap=0C00 SataPortMap=24,MSATA依然显示出来为硬盘14,为何?如何屏蔽MSATA盘? 问题2:
  10. Cloud说道:
    Google Chrome Mac OS X 10.15.7
    提问:星级蜗牛 黑裙

发表回复