ソニー版のnasneについて、現在のFWバージョンを問わず内蔵HDDを交換できる方法です。ただし、ファームウェアv1.00のファイルは必要です。
過去の投稿で交換対象のnasneのv1.00のファームウェアを保存しているときのみ、内蔵HDDを交換できる方法を紹介しました。
2022年の初頭にインターネットを検索していたら、すでにインストールされているファームウェアのバージョンを問わず、内蔵HDDを交換できる方法を見つけました。
ただし、ファームウェアv1.00のファイルは必要です。
本当にできるかどうかを検証してみました。
当時(2022年初め)に検証し、投稿は作成済みだったのですが、公開はしていませんでした。今回nasneに関する記事の第4弾(#4)として公開します。公開にあたり、内容の更新していないので、投稿の内容は作成当時のままです。
事前準備するもの
事前に準備する必要があるのは以下の通りとなります。これらが準備できない場合は、あきらめてください。
- 交換するHDD
- SATA HDDを接続できるLinux環境
- ファームウェアv1.00のファイル(00550066.dlm)
交換するHDD
交換するHDDは、過去の投稿でも紹介したとおり、SATA接続の2.5インチHDDです。
SATA接続であればHDDでもSDDでもどちらでもよいです。
nasneに内蔵されていた純正のHDDは厚さが7mmでしたが、nasneのケース的に9.5mmまでなら入りそうなので、厚みは9.5mm以下のものを用意します。
容量は500GBから2TBの間のものを用意します。
たとえば、容量が2TBであれば、以下のHDDが使えると思います。東芝HDDは私も実際に使用しています。
東芝 内蔵HDD 2.5インチ 2TB PCモデル MQ04ABD200-2YW 【国内正規代理店品】2年保証 SATA 6Gbps対応 新品価格 |
Western Digital HDD 2TB WD Blue PC 2.5インチ 内蔵HDD WD20SPZX 新品価格 |
Seagate Barracuda 2.5″ 2TB 内蔵ハードディスク HDD PS4 動作確認済み 2年保証 6Gb/s 128MB 5400rpm 正規代理店品 ST2000LM015 新品価格 |
ここではHDDの最大容量を2TBまでとしましたが、内蔵HDDのファイルフォーマットはxfs形式です。そのため、2TBを超えても動作する可能性は高いです。しかし、2TBを超える容量は試したことないので、実際のところはわかりません。
ただ、2TBを超える容量のHDDで厚さが9.5mm以下のものは現在では発売されていないと思います。結果として、2TBが最大容量となるかもしれません。
SATA HDDを接続できるLinux環境
過去の投稿で説明したとおり、SATA HDDを接続できるLinux環境を用意します。
このLinux環境で、nasne用のHDDを作成するために、パーティションの作成、パーティションのフォーマット、ファームウェアのファイルのコピーを行います。
ファームウェアv1.00のファイル (00550066.dlm)
今回のHDDの交換方法では、nasneにインストールされているファームウェアのバージョンは問わず、最新のファームウェアがインストールされていても問題ありません。
しかし、nasne用のHDDを作成する作業のときにv1.00のファームウェアのファイルが必要です。必要なファームウェアのファイルは以下のものとなります。
00550066.dlm (21,287,161 バイト)
MD5: 1c921378f2a7846a6492982c98c82fcd
SHA1: 53d0aea1ae82816743af4604700d2292650debd8
SHA2: 104ad970dc3fa61fa2394ce1fbd329c9522d64f04fee8e05637ed820f24600e9
HDDをLinux環境につないでの作業
Linux環境にHDDをつなぎ、Linuxを起動します。これ以下の説明は、HDDをつないだLinux環境が正常起動していることを前提とします。
管理者権限に昇格する
HDDのセクターデータに直接触る作業には管理者権限が必須です。
Linux環境として過去の投稿で説明したDebian Live (gnome)を使った場合は、Terminalやxtermなどを起動し、そのコンソールで管理者権限に昇格します。管理者権限への昇格は
sudo su
とすることで可能です。一つ一つの作業を毎回sudoを使って行うことも可能ですが、手順が複雑になるので、今回は、管理者権限に昇格してしまいます。
デバイスパスを確認
まずは、新しいHDDのデバイスパスを確認します。
fdisk -l
とfdisk
を-l
オプション付きで実行すると、PCにつながっているストレージの情報が表示されます。
たとえば、以下のように表示されます。
...
Disk /dev/sda: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: TOSHIBA MQ04ABD2
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
...
これは、出力結果の一部を抜粋したものです。Disk model
の情報を参考に新しいHDDを特定します。この例の場合は、TOSHIBA MQ04ABD2
です。すぐ上を見ると、新しいHDDのデバイスパスは/dev/sda
であることがわかります。
これ以降は、新しいHDDのデバイスパスは/dev/sda
であることを前提に説明します。
パーティション情報の削除
新品のHDDの場合は、パーティションは作成されていないのでこの作業は必要ないです。よくわからない場合は、実行しておけば問題ありません。
sgdisk -Z /dev/sda
HDDのパーティションの作成
パーティションの作成はLinuxのコマンドfdisk
を使って行います。
パーティション1は256MB、パーティション2は1GB、パーティション3は残りすべてを割り当てます。具体的には、以下のパーティション構成になるように設定します。パーティション3の値は用意したHDDのサイズにより変化します。下記の例は、HDDがMQ04ABD200-2YWの場合の例です。
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 526335 524288 256M 83 Linux
/dev/sda2 526336 2623487 2097152 1G 83 Linux
/dev/sda3 2623488 3907029167 3904405680 1.8T 83 Linux
fdisk
コマンドの実行手順は以下の通りです。カッコ内の文字が実際に入力する内容です。↓
は、改行を表します。
fdisk
を起動する。デバイスパスが/dev/sda
の場合はfdisk /dev/sda
(fdisk /dev/sda↓
)p
コマンドでストレージが間違っていないか確認
(p↓
)- もしパーティションがあったら、
d
コマンドですべてのパーティションを削除 n
コマンドで一つ目のプライマリーパーティション(開始:2048 終了:526335) を作成
(n↓ p↓ 1↓ 2048↓ 526335↓
)n
コマンドで二つ目のプライマリーパーティション(開始:526336 終 了:2623487)を作成
(n↓ p↓ 2↓ 526336↓ 2623487↓
)n
コマンドで三つ目のプライマリーパーティション(開始:2623488 終了:最後 のセクター(デフォルト値でOK))を作成
(n↓ p↓ 3↓ 2623488↓ ↓
)- aコマンドで一つ目のパーティションのブータブルフラグをセットする
(a↓ 1↓
) p
コマンドで、希望のパーティション構成になっているか確認
(p↓
)w
コマンドで、新パーティション情報をストレージに書き出して、fdisk
を終了
(w↓
)
パーティション1/2のフォーマット
nasneのシステム領域として使われるパーティション1とパーティション2をext3形式でフォーマットします。
mkfs.ext3 -F -L sys1 /dev/sda1
mkfs.ext3 -F -L sys2 /dev/sda2
パーティション3のフォーマット
nasneの内蔵HDDの録画領域として使われるパーティション3をxfs形式でフォーマットします。
xfs形式でフォーマットするには、xfsprogsが必要となるので、xfsprogsをインストールします。インストール時は、ネットワークにつながっている必要があります。
apt update
apt install xfsprogs
xfsprogsをインストールしたら、xfs形式でフォーマットします。
mkfs.xfs
コマンド使ってパーティション3をxfs形式でフォーマットします。mkfs.xfs
のデフォルトのパラーメータでxfsフォーマットした場合、nasneから正しく認識されません。そのため、いくつかのパラメータを指定します。
具体的には、以下のパラメータを使用してフォーマットします。
mkfs.xfs -f -m crc=0 -d agcount=8 -i size=256,attr=2,projid32bit=0 -L user -n ftype=0 -s size=512 /dev/sda3
パーティション1をマウント
パーティション1にファイルをコピーする必要があります。そのため、パーティション1のファイルシステムにアクセスできるようにパーティション1を適当なフォルダーにマウントします。ここでは、パーティション1を /mnt/sys1
にマウントします。
mkdir /mnt/sys1
mount /dev/sda1 /mnt/sys1
sys1にファイルを配置する
/mnt/sys1/
フォルダーの配下に以下のようにファイルを配置します。
00110022.dlm (0バイト)
00550066.dlm (21,287,161 バイト)
55006600/00550066.dlm (21,287,161 バイト)
00550066.dlm
が /nasne-firm/00550066.dlm
にあったとした場合、以下の手順となります。
cd /mnt/sys1/
mkdir 55006600
cp -a /nasne-firm/00550066.dlm 55006600/
cp -a /nasne-firm/00550066.dlm .
touch 00110022.dlm
Linux環境をシャットダウンする
shutdown now
HDDをnasneにつないで電源を投入
作成したHDDをnasneにつないで、nasneに電源を接続します。
初回の電源投入では、初期化処理が実行されるだけで、正常起動はしません。初回の電源投入では通常の起動に必要な個体データ(00110022.dlm
)がパーティション1に生成されます。これにより、次回以降の起動では正常に起動するようになります。
初回の電源投入後、2分間くらいすると、インジケーターランプが、前回の投稿で説明した♯1のパターンで点灯・点滅します。
# | 電源 | REC | IP | HDD | 意味 |
---|---|---|---|---|---|
1 | ■ (点滅: 1秒間隔) | ■ (点滅) | ■ (点滅) | □ (消灯) | HDD未接続 (内蔵HDDなし) HDD故障 読み取り不良 ファームウェア起動エラー |
この状態になったら、初期化処理が完了です。
電源コードを抜き差しして、もう一度、nasneを起動します。すると、nasneがバージョン1のファームウェアで正常起動します。
各手順の後の各パーティションのファイル構成
各手順の後の各パーティションのファイル構成を調べてみました。
HDDのセットアップ(パーティションの構成)の直後
パーティション1
HDDのセットアップでは、ext2形式でフォーマットし、ファイルを3つ作成しました。
00110022.dlm (0バイト)
00550066.dlm (21,287,161 バイト)
55006600/00550066.dlm (21,287,161 バイト)
パーティション2
HDDのセットアップでは、ext2形式でフォーマットしただけなので、ファイルはありません。
空
パーティション3
HDDのセットアップでは、xfs形式でフォーマットしただけなので、ファイルはありません。
空
初期化処理終了後の各パーティションのファイル構成
パーティション1
初回起動直後は、パーティション1はファイルが増えました。
ファイルは3つしか作成しませんでしたが、初回起動後は、10個のファイルに増えています。また、00110022.dlmファイルは、固有情報が作成されそれが書き込まれたため、ファイルサイズが0バイトから148バイトに増えています。
この時点では、11002200フォルダーと33004400フォルダーの内容は全く同じです。
00110022.dlm (148 バイト) 00550066.dlm (21,287,161 バイト) 11002200/00110022.dlm (148 バイト) 11002200/00220033.dlm (2,124,055 バイト) 11002200/00440055.dlm (2,349,301 バイト) 11002200/00550066.dlm (2,128,7161 バイト) 33004400/00110022.dlm (148 バイト) 33004400/00220033.dlm (2,124,055 バイト) 33004400/00440055.dlm (2,349,301 バイト) 33004400/00550066.dlm (21,287,161 バイト) lost+found/
パーティション2
初回起動直後は、パーティション2は下記のフォルダーのみが作成されただけした。
opt/dtvtuner/
var/opt/dtvtuner/nv/ffs/
パーティション3
初回起動直後は、パーティション3は変化はありませんでした。
空
初期化処理終了後に再起動した後の各パーティションのファイル構成
パーティション1
初回起動直後と再起動後では変化がありません。
00110022.dlm (148 バイト) 00550066.dlm (21,287,161 バイト) 11002200/00110022.dlm (148 バイト) 11002200/00220033.dlm (2,124,055 バイト) 11002200/00440055.dlm (2,349,301 バイト) 11002200/00550066.dlm (2,128,7161 バイト) 33004400/00110022.dlm (148 バイト) 33004400/00220033.dlm (2,124,055 バイト) 33004400/00440055.dlm (2,349,301 バイト) 33004400/00550066.dlm (21,287,161 バイト) lost+found/
パーティション2
再起動後は、linuxが起動するために必要なファイルシステムが作成された感じです。多くのフォルダーとファイルが作成されました。
すべてのファイルを列挙するのには多すぎるので、ルートフォルダーに作成されたフォルダーのみを列挙しました。
bin/ dev/ disk0/ disk1/ etc/ init -> sbin/init lib/ linuxrc -> bin/busybox mnt/ opt/ proc/ sbin/ sys/ tmp/ usr/ var/
パーティション3
再起動後は、たくさんのフォルダーとファイルが作成されました。
すべてのファイルを列挙するのには多すぎるので、ルートフォルダーに作成されたフォルダーのみを列挙しました。
00000000.hai (65,536 バイト) 00000001.hai (65,536 バイト) 00000016/ setup/ share/
バージョンを1.00から2.60にアップグレードした後の各パーティションのファイル構成
パーティション1
バージョンアップ後は、フォルダー構成が若干変更になりました。
00110022.dlmは、以前とファイルサイズが同じですが、パーティション直下のファイルと11002200フォルダー配下のファイルの内容は更新されていました。
00550066.dlmは、以前とファイルサイズが異なり、パーティション直下のファイルと11002200フォルダー配下のファイルの内容は更新されていました。
00CC00DD.dlm というファイルが増えています。
33004400フォルダー内はバージョンアップ前のファイルがそのまま残っていたので、バージョンアップする前のバージョンのバックアップファイルなのだと思います。
00110022.dlm (148 バイト) 00550066.dlm (31,646,110 バイト) 00CC00DD.dlm (8 バイト) 11002200/00110022.dlm (148 バイト) 11002200/00220033.dlm (2,124,055 バイト) 11002200/00440055.dlm (2,349,301 バイト) 11002200/00550066.dlm (31,646,110 バイト) 33004400/00110022.dlm (148 バイト) 33004400/00220033.dlm (2,124,055 バイト) 33004400/00440055.dlm (2,349,301 バイト) 33004400/00550066.dlm (21,287,161 バイト) lost+found/
パーティション2
バージョンアップ後は、rootフォルダーが増えました。
すべてのファイルを列挙するのには多すぎるので、ルートフォルダーに作成されたフォルダーのみを列挙しました。
bin/ dev/ disk0/ disk1/ etc/ init -> sbin/init lib/ linuxrc -> bin/busybox mnt/ opt/ proc/ root/ sbin/ sys/ tmp/ usr/ var/
パーティション3
バージョンアップ後は、フォルダー構成が若干変更になりました。
すべてのファイルを列挙するのには多すぎるので、ルートフォルダーに作成されたフォルダーのみを列挙しました。
00000000.hai (65,536 バイト) 00000001.hai (65,536 バイト) 00000015/ 00000021/ opt/ setup/ share/
以上、ソニー版のnasneについて、現在のFWバージョンを問わず内蔵HDDを交換できる方法(ただしファームウェアv1.00のファイルは必要)についての投稿でした。
“nasneのハードディスク交換♯4 内蔵HDD交換” への1件の返信