ジャンクのTeraStationの復旧（HDD総入れ替え）


# はじめに

HDDが全て抜かれている[TeraStation TS-XHL(TS-XH8.0TL/R6）](https://www.buffalo.jp/product/detail/ts-xh8.0tl_r6.html)をジャンクで購入しました。
このNASはHDD上にOSが書き込まれているため、HDDがないと正常に起動しません。
**新しいHDDを４本挿して新規に使えるようにできた**ので備忘録として残しておきます。

（追記）記事を書いた後、**同じTerastation Xシリーズの[TS-XL(TS-X4.0TL/R5)](https://www.buffalo.jp/product/detail/ts-x4.0tl_r5.html)や[TS-XHL(TS-XH8.0TL/R6)](https://www.buffalo.jp/product/detail/ts-xh8.0tl_r6.html)、[TS-XEL(TS-XE2.0TL/R5)](https://www.buffalo.jp/product/detail/ts-xe2.0tl_r5.html)でも同じ手順で試したところ復旧できました**。

### 買った時の状態

HDDを4本入れて電源を付けると最終的に「Welcome to TeraStation」と表示され、起動はするのですが、画面が赤くなりエラーランプも点いています。

画像だと見づらいのですが、この状態で何度か「DISPLAY」ボタンを押すと「**EMERGENCY MODE NO ARRAY INFO**」と出ており、[EMモード](https://www.buffalo.jp/support/faq/detail/15477.html)になっていることが分かります。

<img width="600" src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/fc2beb37-caae-7eb7-82e6-1081e26409a7.jpeg>

同じような症状かつ同じ型番のTeraStationなら本手順で復旧できるかと思います。

ちなみに買った時の値札はこんな感じでした。

<img width="300" src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/049345d7-d6fe-5112-4448-5ab32eb00e09.jpeg>



:::note warn
警告

Googleで復旧手順を検索すると[TS-HTGLシリーズ](https://potechi01.hatenablog.jp/entry/2020/11/11/203653)や[LinkStation](https://storit.blog.fc2.com/blog-entry-118.html)の復旧手順などは引っかかるのですが、この機種では**どの手順もダメ**でした。（そもそもXシリーズはTFTP Bootしない？ようです）
「HDDのパーティションをちゃんと6つ切って、なおかつRAID構成を組んだ状態で更新をかける」などもダメでした。
私のやり方が悪かった可能性もありますが、アップデータさえ手に入れば本手順は割と簡単にできますのでオススメです。
:::


### 本手順で使用するソフト＆ハード

- Windows11 PC
- [TFTPD64](https://pjo2.github.io/tftpd64/)
- 公式のアップデータ2つ（[LinkStationシリーズ アップデータ Ver1.75](https://www.buffalo.jp/support/download/detail/?dl_contents_id=60849)と[TeraStation Xシリーズ アップデータ Ver1.76](https://www.buffalo.jp/support/download/detail/?dl_contents_id=60771)）
- LANケーブル 1本
- HDD 4本(今回の記事では中古の500GBのHDDを4つ使用)[^1]

[^1]:HDDが3本以下だったり、容量が異なるHDDを使用するとどうなるかは未検証です。

詳細は後述しますが**LinkStationのアップデータ**も必要です。古めのアップデータを使うのが本手順のキモになります。TeraStationのアップデータはXシリーズの最新版のもので良いと思います。（2024年10月現在だとVer1.76）

### 手順概要

手順1　HDDの初期化＆TeraStationへ挿入
手順2　必要なソフトをWindowsでダウンロード
手順3　TeraStationとWindowsをLANケーブルで接続＆DHCPサーバの起動
手順4　TeraStaionの起動
手順5　公式ソフトで状況確認
手順6　インストールの実行

それでは各手順を詳細に書いていきます。

# 手順1　HDDの初期化＆TeraStationへ挿入

まずは使用したいHDD4本をWindowsで初期化してください[^2]。
詳細な手順は[公式](https://learn.microsoft.com/ja-jp/windows-server/storage/disk-management/initialize-new-disks)を参照してください。

[^2]:こう書いておいて何ですが、多分初期化しなくても大丈夫です。というのもこのあとのファームウェア書き込み時にパーティション作成も含めて全て自動でやってくれているっぽいからです。

なお、この記事を作る時にはUbuntuで`gdisk`よりパーティションを1つ切り、ext3でフォーマットしました。別にWindowsの「ディスクの初期化」でも良いと思います。
![スクリーンショット 2024-10-26 14.27.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/98523eda-b679-c799-9210-2b7207069c5f.png)

```
# Linuxで頑張りたい人の参考コマンド
# /dev/sdaのパーティションを変更
gdisk /dev/sda
# 作ったパーティションのフォーマット
mkfs.ext3 /dev/sda1
```

初期化が終わったHDD4本をTeraStationに挿入します。

# 手順2　必要なソフトをWindowsでダウンロード

以下の3つのファイルをダウンロードします。
・[TFTPD64](https://pjo2.github.io/tftpd64/)
・[LinkStationシリーズ ファームウェア アップデータ (Windows) Ver1.75](https://www.buffalo.jp/support/download/detail/?dl_contents_id=60849)
・[TeraStation Xシリーズ ファームウェア アップデータ (Windows) Ver1.76](https://www.buffalo.jp/support/download/detail/?dl_contents_id=60771)

TFTPD64はインストーラに従ってインストールも完了させておいてください。（詳細な手順はここでは割愛します）

2つのアップデータもインストーラに従うと、デフォルトで`C:\Buffalo`にデータが入るかと思います。
それらのファイルは**少しいじることになる**ので、デスクトップ等に適当なフォルダを作ってコピーしておいてください。

今回の記事ではデスクトップ配下に「作業」という名前のディレクトリを作り、そこに2つのアップデータを置いておきます。
![sagyou.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/60e23880-4419-45c2-6dbd-df7d899ccd30.png)


# 手順3　TeraStationとWindowsをLANケーブルで接続＆DHCPサーバの起動

Windowsの設定より、IPアドレスを192.168.11.1/24にします。

![winip設定.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/df9b6db4-1c46-bebe-c549-267d2d24ae3a.png)

そしてWindowsとTeraStationをLANケーブルで直接接続します。
理論上は間にルータを挟んでも問題ないはずですが、なぜかアップデートに失敗することがあったので直接接続にしています。

次にTFTPD64でDHCPサーバを起動します。

IPアドレスのリース範囲は「192.168.11.10〜」にしました。
その他のDHCPの設定は画像を参考にしてください。

<img width="400" src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/dd0275ed-5411-1d03-1c29-b90cd7a457f7.png>


:::note info
（追記）この記事を書いたあとHDDの復旧をTS-XH8.0L/R6やTS-X4.0L/R5で試しましたが、手順3を特に実行せずに手順4に移る形（**PCとTeraStationを直接接続せず、TFTPD64も起動しない形**）で問題なく復旧できました。
PCとTeraStationを同じLANに置いた状態で、PCがTeraStationにIPアドレスでアクセスできれば手順3は不要なようです。
公開当時の情報を残すため、記事は手順3を残した形にしておきます。
:::


# 手順4　TeraStaionの起動

電源をONにします（TeraStationは起動に結構時間がかかるので大人しく待ちます）。

起動後は画像のようにTFTPD64でIP払い出しのログが出ているはずです。
もし出ていない場合はWindowsと**正常に通信ができずにアップデートが進まない**ので、やり直してください。セキュリティソフトの停止も必要かもしれません。

<img width="400" src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/6b80c41a-77a2-36d2-bb61-a30cad100825.png>

[買った時の状態](https://qiita.com/minnsou/items/2f3bd921d4839cfaa8f3#%E8%B2%B7%E3%81%A3%E3%81%9F%E6%99%82%E3%81%AE%E7%8A%B6%E6%85%8B)ですでに見た通り、この時点ではエラーとなり「EMERGENCY MODE NO ARRAY INFO」が表示され、EMモードで起動してきます。

# 手順5　公式ソフトの準備

他の復旧手順でもあるように`TSupdaer.ini`を編集します。

<img width="600" src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/f2b62942-b676-858a-d1d9-09e841bc7b90.png>

Flagsの値を全て0にし、SpecialFlagsも追加してください。
```
# 変更箇所抜粋
[Flags]
VersionCheck = 0
NoFormatting = 0

[SpecialFlags]
Debug = 1
```

なお、これだけではまだアップデートすることができません[^3]。
「ファームウェア更新」を押しても「HDDのパーティション情報が確認できませんでした。ファームウェアをアップデートすることができません。」というエラーが出てくるかと思います。
他の記事ではこの段階でうまくいっている方もいるようですが、**Xシリーズはこれだけではうまく動かない**ようです。

[^3]:これで成功していたら記事にしてません。

<img width="500" src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/aee69243-14cf-3e34-3912-61afb9a92d1e.png>

ここからが一番大事な箇所になります。

まずはTeraStationのアップデータ（`tsx-v176`）について、ディレクトリごとコピーし、名前を変えておきます。
今回の記事では画像にある通り`tsx-v176-merge`とします。
![copydir.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/04aac5c0-7e84-a959-10bf-d16d569c6882.png)

そしてLinkStationのアップデータの中にある`LSUpdater.exe`を**コピー**して、`tsx-v176-merge\TS-X_FW1.76`の中に**貼り付け**ます。
![copylsupdater.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/dac2a543-1149-d0fb-1b00-426690cbeb5b.png)

そして元々入っていた`TSUpdater.exe`を削除し、`LSUpdater.exe`の名前を`TSUpdater.exe`に**変更**します。
![renamets.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/68ddbee3-7230-8871-fd1c-b709264b7816.png)

要は**古いLinkStationのアップデータをTeraStationのアップデータとして使用する**[^4]ということです。

[^4]:なんでこれでうまくいくのか私も不明ですが、新しいアップデータはクリーンインストールが塞がれていて、古いアップデータはクリーンインストールが塞がれていないようです。

なお、`LSUpdater.exe`というファイル名のまま起動しても、機器が見つからないとエラーが出るので**必ずファイル名を変更**してください。
![beforemvNG.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/e9d57d50-f758-03a6-913d-eb039adde674.png)

# 手順6　インストールの実行

名前を変えた`TSUpdater.exe`を開くと`TS-X Series Updater Ver1.76`として起動します。

ウィンドウの上部を右クリックして「デバッグモード」をクリックし、設定を確認してください。

<img width="500" src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/6ff329b4-3dc7-5dba-7f50-1dd7a641fa68.png>

デバッグモードでは画像のように設定されていればOKです。
古いアップデータを使うことで「完全フォーマット」がONにできるようになっているかと思いますがそのままでOKです。[^5]

[^5]:「完全フォーマット」をONにして実行するとこの後のアップデートで失敗しました。

<img width="600" src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/16fbdd2f-692d-685d-bcac-c20476a68fde.png>

この状態で「ファームウェア更新」を押してください。
これでエラーが出ずにフォーマットを実施する画面になるので「はい」を押します。
![canUpdate.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/870e5130-81f8-0d9a-8a11-c7c8b7a4f75b.png)

正常にフォーマットが進みます。

<img width="500" src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/242de3d4-a0b6-89ff-e2a3-3d06e8e952b4.png>
<img width="500" src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/e162c67c-11de-bb75-2177-378b9c0a48f4.png>

何度か再起動するので、**TFTPD64は起動したまま**にしておいてください。
止めてしまうと再起動時にIPアドレスが払い出されずに**エラーが出てしまう**ことがありました。

気長に待つとアップデートが完了するかと思います[^6]。

<img width="500" src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/199de33a-7906-e8cd-7f25-afee0661f216.png>

[^6]:ちなみに記事を書くために2回目のインストールを試したら「TeraStationは緊急モードで起動しました。ファームウェアのアップデートに失敗した可能性があります」というエラーが出ました。再起動したら通常通り起動したので特に問題なかったです。また画像のように「フォーマットに失敗しました（0xFFFFFFFE）アップデートを中止します」というエラーが出る時もありますが、リトライでうまくいくこともありました。
![terastation.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/d193fbf1-c816-47fe-8a90-90bc3c177af9.png)
本手順はちょっと怪しい方法なので変なエラーが出た時は数回のリトライをオススメします。

Webブラウザで http://192.168.11.10 にアクセスしてみて、ログインできればOKです。なお、初期アカパスは`admin/password`になります。

![login.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/f4808621-2641-9459-955f-51b5ee0ee429.png)

ログインできればもうあとは自由に設定できるかと思います。
ちなみにデータ領域はRAID0で作られていました。
![raidcheck.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/fe0570ca-10a2-9c10-13f1-c37b8416bc9a.png)

良きNASライフを。

# おまけ

ファームウェア投入直後のRAIDの情報をUbuntuから見てみました。

HDDのパーティションはこんな感じです。

<img width="600" src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/e60aeadc-c769-a98c-6c79-f5b78fa62c77.png>

- パーティション1がboot領域
- パーティション2がOS領域
- パーティション3は不明
- パーティション4も不明
- パーティション5はswap領域
- パーティション6がデータ領域
のようです。他の3本のHDDも当たり前ですが同じ形でした。

RAIDの状況も見てみましょう。

![スクリーンショット 2024-10-26 14.57.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/ef726640-a461-5225-9f92-07af894828f5.png)

`md124`（データ領域）がRAID0、それ以外はRAID1になっているようです。

マウントしてそれぞれの中身を見てみましょう。
そのために空のディレクトリを４つ作成します。

```
root@ubu22:~# mkdir /mnt/md124
root@ubu22:~# mkdir /mnt/md125
root@ubu22:~# mkdir /mnt/md126
root@ubu22:~# mkdir /mnt/md127
root@ubu22:~# 
```
<img width="300" src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/1e47c984-829a-4c7c-0a53-6896c131e06a.png>

`md125`はswap領域なのでマウントできませんでしたが、それ以外はマウントできました。

<img width="500" src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/af648e88-dc41-a36d-45bb-51ba8ccef6d2.png>

それぞれの中身を見てみましょう。

![スクリーンショット 2024-10-26 15.02.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395943/0ad16a99-2049-ed72-d110-02bce21d81c8.png)

- `md124`はTeraStationのデフォルトで作られる「share」ディレクトリが見えています。
- `md125`はマウントできなかったので何もなし(swap領域)
- `md126`はOS領域（debファイルがあるのでDebian系っぽいですね）
- `md127`がboot領域
のようです。

# 終わりに

[こちらのQiitaの記事](https://qiita.com/kokosan60/items/1583bce645ac848ef560)が復旧の大きな手がかりになりました。
感謝いたします。

その他のTeraStationの復旧の参考記事です。
以下に書いてある方法は全てこちらの環境ではダメでしたが大変参考になりました。

[中古のTeraStation TS-H1.0TGL/R5 ジャンク品を稼動させるニャの巻](http://chinekomemo.blog.fc2.com/blog-entry-1.html)
[TeraStation TS-WVHL/R1をHDDなしの状態からリカバリする](https://www.kishiro.com/hardware/terastation_tswvhl_recovery.html)
[中古のＨＤＤなしバッファロー テラステーション NAS  サーバーを使えるまでの記録](https://try-try-try.tech/denki/denki-syuri/tera-station-error/)
[Buffalo TerastationのHDDを全部変えた時の復旧方法](http://blog.livedoor.jp/ese_admin/archives/52259687.html)