ARPL 全称 Automated Redpill Loader, 从名字可以看出其基于 Redpill 项目; 使用 ARPL 的优势在于:
由于 ARPL 直接提供 ESXi 的磁盘镜像, 所以我们直接从 Release 页面下载最新的磁盘镜像即可。
因为黑群晖需要安装在虚拟机中, 所以我们就需要先创建一下用于运行黑群晖的虚拟机, 不过在创建时有些选项需要调整:
如果有购买的洗白码的话, 最好再添加一个网卡(新增网络适配器)
创建好虚拟机后, 需要使用下载的 ARPL 磁盘替换默认的启动磁盘, 在替换之前需要将我们下载的磁盘上传到 ESXi 虚拟机目录(先自行解压 ARPL zip 文件):
我们需要使用 ARPL 的磁盘作为引导盘, 所以需要将默认的 “硬盘1” 替换为上传的 ARPL 磁盘; 这个替换操作一般两种方式:
说下两者优缺点, 无疑第一种方式是最简单且好用的, 但是测试在 ESXi7+ 版本似乎没法识别 ARPL 的硬盘, 保存时会报错(测试是 UI BUG, 自己创建的硬盘重新导入也不行)。
而第二种方式经过测试直接修改是完全没问题, 且在 ESXi8 上也没问题(第一种 ESXi8 一样不能用)。
所以这里采用更通用的第二种方式, 直接修改 vmx 文件:
经过上面的调整以后, 就可以直接启动黑群晖虚拟机并进行调整了; 虚拟机启动后会直接进入控制台, 并打印 VNC 访问地址, 我们需要使用 VNC 调整参数来安装黑群晖:
访问该地之后会看到一个菜单列表, 根据需要一步一步填写信息即可:
在调整参数时首次使用的用户可能比较懵逼, 下面详细说一下一些要点:
netif_num 这个参数用于告诉群晖系统现在系统有几个网卡, 一般自己生成或者购买的洗白码都会给你两个 mac 地址; 所以通常 netif_num 会设置成 2, 当然如果你直接使用 arpl 随机生成的大概率不能登录群晖账号, 所以默认一个能联网就行。
mac[N] 这个参数用于定义具体网卡的 mac 地址, 众所周知群晖账户登录校验是要判断网卡 mac 的; 所以一般买来的洗白码出了序列号意外也会给两个 mac 地址, 依次填写 mac1、mac2 就行; 同时推荐也在 ESXi 里把这两个 “网络适配器” 手动设置成跟群晖里一样的 mac 地址, 避免 ESXi 某些安全机制导致你没法联网。
SataPortMap 用于定义我们有几个 Sata 驱动器, 如果按照我的教程来走基本上是两个驱动器:
如果不使用 RDM 而是直通 Sata Controller, 那么理论上这个 Sata 控制器等同于 Sata1(都是第二个)。
明白了这一点就好理解为什么 SataPortMap 教程里被设置为 14 了: 因为第一个 Sata0 肯定只有 arpl 启动盘, 所以是 1, 第二个需要根据用户实际情况自己写自己有几个盘。我这里是 4 个 RDM, 所以自然写 4。
DiskIdxMap 用于定义群晖里硬盘识别的计数,有个小技巧就是如果你把某个 SATA 控制器上的磁盘计数设置成 0F 就会隐藏这个驱动器上的所有磁盘; 文章里 0F00 的意思就是告诉群晖: 挂 arpl 启动盘的这个 “Stata0” 控制器上所有磁盘给我隐藏掉,所有硬盘序号从第二个控制器开始数”。
SasIdxMap 是否使用SAS硬盘,一般默认为0。
简单的说 ESXi 把物理硬盘直通到虚拟机里就两种方式, 一种是编辑 /etc/vmware/passthru.map 直接把 SATA 控制器直通进去。另一种就是采用 RDM 方式创建 RDM 磁盘链接来直通。要说明的是如果采用 RDM 记得把 RDM 盘挂载到 Sata1 上, 因为上面的 SataPortMap 和 DiskIdxMap 都是按照两个 SATA 控制器设计的。
下面是我添加 RDM 的一些步骤和截图, 仅供参考:首先命令行创建 RDM 磁盘,核心命令就是 vmkfstools -z "物理磁盘路径" "RDM 磁盘路径":
vmkfstools -r /vmfs/devices/disks/t10.ATA_____WDC_WD10EZEX2D00BN5A0_________________________WD2DWCC3F7DPP2Z5 download-rdm-1t.vmdk |
总结一下上面 ARPL 虚拟机初始化的核心步骤:
在完整这些步骤后只需要简单的重启虚拟机, 等待启动完成就可以着手安装群晖系统了; 安装群晖系统不需要借助群晖的 Find 查找工具, 虚拟机启动后会在控制台打印 IP, 直接访问 http://IP:5000 端口即可。
ESXi 默认情况下想要安全关闭一个虚拟机, 需要虚拟机内安装 VMWare 的 open-vm-tools 工具; 该工具作为一个 Agent 运行, 并上报系统的 IP、网速、磁盘、内存使用情况等信息给 ESXi; 当 ESXi 发出关机等指令时该工具根据系统类型自动调用系统命令来完成该操作。当我们在 ESXi 上安装黑群晖后, ESXi 无法识别系统类型, 所以在管理界面只会显示一个 “关闭电源” 的按钮, 这个关机等同于物理机直接拔电源, 非常容易造成数据损坏。
解决办法只有一个就是安装 open-vm-tools,问题在于黑群晖系统不在 VMWare 官方的支持列表中, 所以并未提供安装包。不过目前也有两种解决方案, 一种是采用 docker 运行 open-vm-tool, 另一种是自己编译 open-vm-tools; 两种方案各有优缺点:
这个是最简单的, 需要先在系统内安装 Docker 套件, 然后 SSH 到群晖系统, 执行以下命令运行容器(需要使用 root 用户)
ssh-keygen # 直接运行这个容器即可 docker run -dt --name open-vm-tools -v /root/.ssh:/root/.ssh --privileged --pid host \ --ipc host --uts host --network host --restart always mritd/open-vm-tools |
关于 mritd/open-vm-tools 这个镜像是我自己编译的,担心安全问题的可以自行查看源码 AutoBuild。 原理其实就是点关机时帮你自动从 Docker 容器 ssh 到群晖系统然后执行关机命令。
期望自行编译 open-vm-tools 可以参考 synology-dsm-open-vm-tools 仓库文档, 编译时请保证网络环境畅通, 有条件的最好用国外 VPS 8C 16G 配置进行编译. 编译完成后会生成 SPK 安装包, 直接在套件中心选择手动安装即可。
优盘插电脑,打开 ChipGenius,记录下VID和PID(比如图示:0781和5406),完成后关闭软件
运行Rufus工具 -> SELECT选择.img格式的黑群晖引导文件,其它不用设置,点START开始写镜像,写入完成后,关闭软件即可
运行DiskGenius,展开优盘/Primary/boot/grub,找到grub.cfg配置文件,右键Copy To Desktop复制到桌面
引导grub.cfg文件的几个参数说明
修改好grub.cfg文件的参数并保存,然后再次打开DiskGenius,将grub.cfg重新拖回原文件所在位置,按照提示,选择replace覆盖即可,引导优盘至此制作完毕。