这篇内容应该于去年搬家后发出,但是不曾想一直忙碌,所以文档一直安静的躺在草稿箱。

这款产品有一个比较有意思的地方,使用规格不高的硬件提供了不错的应用服务,但是使用了一些特殊的方法,限制了用户自行改造硬盘容量,网上也有不少网友针对这款产品进行了研究和实践。

恰逢最近在折腾硬件,整理发出,方便后续计划折腾的同学,也算是对之前的折腾有个交代。

写在前面

我在 2013 / 2014 年分别入手了两台 WD MyCloud ,恰好是第一代(Gen1)和第二代(Gen2),这两代硬件规格如下:

  • WD MyCloud Gen1
    • CPU: Mindspeed Comcerto C2200 (2x800MHz)
    • RAM: 256 MB DDR3
    • Nand: 1MB (Barebox)
  • WD MyCloud Gen2
    • CPU: Marvell Armada 375 (2x1.0 GHz)
    • RAM: 512 MB DDR3
    • Nand: 1MB (U-Boot)

从规格可以看出第二代属于“加量不加价”,规格明显高了一档,可玩性也自然高出一头。

WD MyCloud 两代外观基本一致

这款产品虽然看起来简简单单,就是一个网络硬盘盒,但是实际上它并不能做到换盘如换衣服一样简单。

原因在于它将实际运行系统安装到了用户使用的“数据硬盘”中,并设计了一套看似安全的分区模式,如果更换磁盘未和原磁盘分区和引导文件保持一致,则会“红灯常亮”提示用户“产品已变砖头”。

本文主要介绍 Gen2 的折腾记录,Gen1 限于篇幅和折腾意义,略,至于它的刷机也很简单,网上找到对应容量版本的固件,直接使用 dd 命令写盘即可。

就决定拆你了,WD MyCloud

如何刷机:修复“砖头”

相信许多用户和我一样,在购买 WD 产品后不久便会使用“杀机取盘”的方法,将磁盘移动至更合适的设备中使用。这台机器也是如此,所以在换用其他磁盘后,自然机器变成了砖头,无法继续使用,所以第一步便是将设备救活。(unbirck/debrick)

WD MyCloud Gen1/2 拆解

救砖第一步:准备替换磁盘

首先访问官方产品支持中心下载一会儿要刷入的官方固件:这里固件版本无所谓,我选择 2019 年末更新的 2.x 版本。

https://downloads.wdc.com/nas/My_Cloud_GLCR_2.31.204.bin

接着准备一张计划替换的磁盘,我这里计划将该设备变为一个简单的网络质量监控设备,所以找了一张替换下来的小容量 SSD ,一个硬盘盒,组装为一张 2.5 寸 SATA 硬盘。

磁盘就绪,可以开始折腾啦

将新磁盘插到设备上,继续下一步。

救砖第二步:制作引导盘

国外的网友收集了海外 WD 社区的相关软件,我们需要先下载网友整理的 USB 恢复引导工具。

https://anionix.ddns.net/WDMyCloud/WDMyCloud-Gen2/usbrecovery.tar.gz

然后将一张U盘格式化为 FAT 32 格式,将下载好的 usbrecovery.tar.gz 解压缩到U盘根目录,确认盘根存在解压缩后的 boot 目录,目录内包含四个文件。

接着将磁盘插到设备唯一的USB接口上,给系统上电,启动设备即可。

不出意外,设备LED会显示红灯/黄灯闪烁,耐心等待片刻,使用路由器管理界面或者 ARP 大法看看设备是否进入了恢复模式,是否有一个崭新的设备加入了网络,比如这样:

救砖第三步:登陆机器,终端分区,安装恢复镜像

当网络中出现了这台处于恢复模式的设备后,我们需要登陆终端,不过此刻终端未启动 SSH 服务,我们只能通过 Telnet 模式进行登陆。

安装 Telnet 工具

如果你本机有支持 Telnet 的终端可以忽略,因为 Mac OSX 在新版本系统中不再提供 telnet 命令,所以如果是 Mac 用户,需要使用 brew 进行安装。

国内用户如果下载安装软件比较慢,可以访问并使用 清华源 进行软件安装下载:

依次执行 brew updatebrew install telnet 即可。

登陆设备

登陆设备同样很简单,执行 telnet 刚刚获取的IP 即可。

初始化磁盘分区

关于对磁盘进行分区,国内一些社区介绍了一些图形化的方法和方案,繁琐且容易出错,还依赖一堆可能捆绑恶意软件的“特别版”软件,所以这里我们完全使用命令行就足够了。

新插入的磁盘可能之前存在数据和分区,比如这样:

所以我们在使用前要让他恢复成一张“白板”,减少接下来的麻烦事:

执行完毕后,结果会类似下面这样:

接着使用  parted 在交互式终端中依次执行下面的命令,如果遇到确认和询问内容,一律回复 “Yes/Ignore”即可。

分区完毕后,我们还需要对磁盘进行格式化。

命令执行完毕后,会得到类似下面的日志反馈:

安装恢复镜像

安装镜像也很简单,本质就是将U盘中我们准备好的内容放置到上一步格式化好的磁盘中,依次执行下面的命令。

执行过程中会得到类似下面的日志:

当一切就绪后,再次查看磁盘分区结构,结果类似下面:

一切就绪后,将 U盘拔下来,终端执行最后一个命令:reboot -f,接着耐心等待设备重启完毕。

救砖第四步:使用 Web 界面刷入固件

设备重启之后,会进入恢复模式,这里设备的IP可能和刚刚使用终端登陆的IP不同,所以可以再次使用路由器管理界面或者 ARP 方式进行查看。

使用浏览器打开这个“新来的IP”,可以看到官方恢复工具界面。

官方恢复工具界面

选择第一步下载的官方固件,点击“Apply”,等待固件刷写。过程中设备蓝灯会连续闪烁。

固件刷写中

继续耐心等待

虽然上传和刷写都很快,会在两分钟内完成,但是不要着急手动重启,因为设备还需要做一些额外的“内部工作”。

固件刷机完毕,等待重启

直到看到这个界面,救砖操作就基本完成了。

救砖第四步:登陆管理后台进行设置

设备重启后,再次使用路由器或者 ARP 大法获取可能变化的设备IP,并使用浏览器打开这个IP,会看到一个崭新的界面:设备管理界面。

设备管理界面

设备第一次启动会稍微慢一些,需要耐心等待初始化完毕。

配置储存位置

当设备启动完毕,登陆后台,会看到这个界面,如果不进行配置,设备将会没有可用的储存空间,像是下面这样:

系统提示没有磁盘

再次刷新界面,系统会返回设置储存位置的界面,因为是单盘,所以一路下一步即可。

选择配置 JBOD 模式

等待磁盘快速自检

切换RAID模式

切换到 JBOD 模式完毕

磁盘最后一次格式化

一切就绪之后,设备管理界面就可以正常的看到设备的储存容量空间了。

一切就绪

如何判断你的设备的版本

除了从前文中比对主板上芯片型号外,在设备外壳底部会包含一串 P/N 代码,单盘的 Gen1 / Gen2 结尾会有两种情况:“-00” 和 “-10”。

前者是第一代产品,后者是第二代产品。

如何定制固件

如果你想定制自己的固件,可以使用下面的代码仓库,跟着说明文档,可以轻松搞定第二步使用的固件。

https://github.com/Johns-Q/wdmc-gen2

如何安装三方应用

打开管理界面,在浏览器地址栏手动输入下面的 JS 代码:

或者在开发者工具中输入:

接着打开“应用”界面,就可以安装应用了,如果要连续安装应用,需要刷新页面后,重新执行上述步骤。

应用下载,可以使用下面的地址:

https://anionix.ddns.net/WDMyCloud/WDMyCloud-Gen2/Apps/

如何更进一步的玩耍

进入设置页面关闭一切你不需要的服务,降低系统负载和资源消耗,比如 FTP、iTunes、Time Machine等,打开 SSH 服务,开始自由发挥。

最后

WD MyCloud 算是除了 Windows Server 外我入坑NAS的开始,虽然现在已经全面使用群晖替换了它。但是WDMC产品稳定可靠,功耗低、声音小,简直是居家旅行良品。如果你只需要简单的网络储存,不妨以买盘送硬件的价格,入手一台试试。

–EOF