第八夜 〜 BD-W560 1TB・2TB・3TB 増量換装 〜

1TB、2TB、最大容量 3TB への増量換装手順について述べる。

第四夜 〜 HDD 換装 ー 同量換装と増量換装の準備 〜

オリジナルディスクイメージの取得
HDD 換装ー同量換装と増量換装の準備

により、「クリーンなディスクイメージの取得」が完了できているものとして、増量換装方法を述べる。

 

目次 †

 

ディスクイメージの修正 †

1~3Block 目 (HDD 先頭 0-3.072GB 領域):修正なし。BD-W560 のものをそのまま使用。

4Block 目 (HDD 先頭 3.072-4.096GB 領域):以下の修正を行う。
HexEdit?」などのバイナリエディタでディスクイメージを開き修正部分を上書きする。
失敗した場合に備え、バックアップまたは保存用圧縮ファイルを作成してから修正する。

[00 01] モチーフ (0x23650800-0x23658800) †

 0x23650800-0x23652800、0x23652800-0x23654800、0x23654800-0x23656800、0x23656800-0x23658800 の合計4カ所すべて修正する。

0x24-0x28バイト目:HDD 容量を 500GB から 3TB に修正。(自動的に変更されているはず)
	1TB : [07 47 0C 05] → [0E 8E 0D B5]
	2TB : [07 47 0C 05] → [1D 1C 11 15]
	3TB : [07 47 0C 05] → [2B AA 14 75]

0x59-0x1D8 バイト目:すべて [00] に書き換える。

[00 02] モチーフ (0x23658800-0x2365A800) †

 0x23658800、0x23659800 の2カ所、または 0x23658800、0x23659000、0x23659800、0x2365A000 の4カ所すべて修正する。

[00 02]-1 (0x23658800 または 0x23658800 & 0x23659000) †

0x28-0x2C バイト目:録画データ書き込み領域サイズ
	1TB : [07 2C F2 00] → [0E 73 F4 00]
	2TB : [07 2C F2 00] → [1D 01 F6 00]
	3TB : [07 2C F2 00] → [2B 8F FA 00]

0x50-0x54 バイト目:録画データ書き込み領域サイズ 1/0x200
	1TB : [00 03 96 79] → [00 07 39 FA]
	2TB : [00 03 96 79] → [00 0E 80 FB]
	3TB : [00 03 96 79] → [00 15 C7 FD]

[00 02]-2 (0x23659800 または 0x23659800 & 0x2365A000) †

0x24-0x28 バイト目:0-Point アドレス
	1TB : [07 3B 0B 39] → [0E 82 0D 39]
	2TB : [07 3B 0B 39] → [1D 10 0F 39]
	3TB : [07 3B 0B 39] → [2B 9E 13 39]

0x28-0x2C バイト目:HDD 容量から 0-Point アドレスを減じた値
	1TB : [00 0C 00 CD] → [00 0C 00 7C]
	2TB : [00 0C 00 CD] → [00 0C 01 DC]
	3TB : [00 0C 00 CD] → [00 0C 01 3C]

0x50-0x54 バイト目:上記 0x28-0x2C バイト目と同じ値
	1TB : [00 0C 00 CD] → [00 0C 00 7C]
	2TB : [00 0C 00 CD] → [00 0C 01 DC]
	3TB : [00 0C 00 CD] → [00 0C 01 3C]

0x54-0x58 バイト目:[00 03]-M の開始アドレス
	1TB : [07 3B 0B 39] → [00 0D AA CD]
	2TB : [07 3B 0B 39] → [00 0D AD 95]
	3TB : [00 0D A9 69] → [00 0D B0 5D]

[00 03] モチーフ (0x2365A800-0x23C50800) †

[00 03]-L (0x2365A800-0x237B9800) †

 1TB : この領域の長さを 0x15F000 から 0x2C3000 に延長する。
 2TB : この領域の長さを 0x15F000 から 0x58B000 に延長する。
 3TB : この領域の長さを 0x15F000 から 0x853000 に延長する。

シェルスクリプト「file03L-60-Maker.sh」を用いて自動作成する。

シェルスクリプトを適当な作業用フォルダに設置し、ターミナルで以下のコマンドを入力し、ファイルに実行権限を付与し実行する。

	$ cd /作業用フォルダ			# 作業用フォルダに移動
	$ chmod +x ./03L-60-Maker.sh		# 03L-60-Maker.sh に実行権限を付与
	$ ./03L-60-Maker.sh			# スクリプト実行。2〜3分ほどで完了。

簡単な説明:
macOS10.11.6のターミナル、Fedora27、Ubuntu17.10 で動作確認しています。
Windows では Cygwin のインストールが必要か?

スクリプトを実行すると、開始アドレスとデータ長の入力を要求されるので、
開始アドレス : 000da80a
データ長:1TB : 2c3000
     2TB : 58b000
     3TB : 853000
を英数小文字で入力する。
同じフォルダに「03L.img.gz」ができあがるので解凍する。

解凍したイメージをバイナリーエディタで開き、末端部分を手動で修正する。

  1TB
	0x2C26DD-0x2C2800 L=0x123 : すべて「00」で上書きする。
	0x2C2EDD-0x2C3000 L=0x123 : すべて「00」で上書きする。
  2TB
	0x58A590-0x58A800 L=0x270 : すべて「00」で上書きする。
	0x58AD90-0x58B000 L=0x270 : すべて「00」で上書きする。
  3TB
	0x852446-0x852800 L=0x3BA : すべて「00」で上書きする。
	0x852C46-0x853000 L=0x3BA : すべて「00」で上書きする。

[00 03]-M/-S (0x237B9800-0x23C50800) †

各ブロックのアドレスを以下のシェルスクリプト「file03MS-AddressFix.sh」を用いて自動的に修正する。

[00 03]-M/-S の先頭アドレスを
 1TB : [00 0D A8 0A] から [00 0D AA CD] に変更。
 2TB : [00 0D A8 0A] から [00 0D AD 95] に変更。
 3TB : [00 0D A8 0A] から [00 0D B0 5D] に変更。

入力ファイル「INPUT.img」の準備
 「クリーンイメージ4.img」の 0x237B9800-0x23C50800 L=0x497000 部分を切り出し、
 「INPUT.img」のファイル名で保存する。

「03MS-AddressFix?.sh」と「INPUT.img」を適当な作業用フォルダに設置し、
ターミナルで以下のコマンドを入力し実行する。

	$ cd /作業用フォルダ			# 作業用フォルダに移動
	$ chmod +x ./03MS-AddressFix.sh		# 03MS-AddressFix.sh に実行権限を付与
	$ ./03MS-AddressFix.sh			# スクリプト実行。

簡単な説明:macOS10.11.6、Fedora27、Ubuntu17.10 で動作確認しています。
Windows では Cygwin のインストールが必要か?
03MS-AddressFix?.sh を実行すると、
「修正したいアドレスを8桁の半角英数小文字で入力してください。」と問われるので、
開始アドレス:1TB : 000daacd
       2TB : 000dad95
       3TB : 000db05d
を英数小文字で入力する。
処理が完了すれば同じ作業フォルダに gzip 形式圧縮ファイル「03MS.img.gz」(50 KB) が出力されるので、

$ gzip -dc 03MS.img.gz > 03MS.img

で解凍すれば「03MS.img」(4.8 MB) ができあがる。

以上の修正された [00 03] モチーフを 4Block 目ディスクイメージに書き込む。

  1TB
	「03L.img」のファイルの内容を 0x2365A800-0x2391D800 に上書きする。
	「03MS.img」のファイルの内容を 0x2391D800-0x23DB4800 に上書きする。
  2TB
	「03L.img」のファイルの内容を 0x2365A800-0x23BE5800 に上書きする。
	「03MS.img」のファイルの内容を 0x23BE5800-0x2407C800 に上書きする。
  3TB
	「03L.img」のファイルの内容を 0x2365A800-0x23EAD800 に上書きする。
	「03MS.img」のファイルの内容を 0x23EAD800-0x24344800 に上書きする。

[00 04/5] モチーフ (0x24788800-0x247C7800) †

修正なし。この機種だけは [65 1B 95 AE] に「-60 ルール」が適用されない。

以上で、4Block 目 (HDD先頭 3.072-4.096GB領域) の修正は完了。
修正したイメージファイルを「3TBイメージ4.img」など分かりやすいファイル名で保存する。

End-4 & 3 Block 目イメージ (HDD 末端 -4GB & -3GB 領域) †

ひとつのイメージファイルにまとめる。

1TB
1. End-4Block 目 0x2C9AC000-0x3D090000 L=0x106E4000
   (BUDA10 2C9B9000 の 0xD000 上流からファイル末尾まで) をコピーし、
   新規ファイルにペーストする。

2. End-3Block 目 0-0x1778C000 L=0x1778C000
   (データ先頭から SQLite の下流 0x13FF0 まで) をコピーし、
   上記 1 のファイルの末尾にペーストする。全長 0x27E70000 となる。

2TB, 3TB
1. End-4Block 目 0x2C9B8000-0x3D090000 L=0x106D8000
   (BUDA10 の 0x1000 上流から末尾まで) をコピーし、
   新規ファイルにペーストする。

2. End-3Block 目 0-0x17798000 L=0x17798000
   (データ先頭から SQLite の下流 0x1FFF0 まで) をコピーし、
   上記 1 のファイルの末尾にペーストする。全長 0x27E70000 となる。

注意:HDD への書き込み速度を上げるため、書き込み位置を考慮し bs=81920 区切りになるように、
   合体したイメージの前後にそれぞれ 0xD000/0x13FF0, 0x1000/0x1FFF0 の余白を加えている。

以上で、End-4 & 3 Block 目の修正は完了。
修正したイメージファイルを「1TB, 2TB, 3TB-End-イメージ.img」など分かりやすいファイル名で保存する。

「1TB-End-イメージ.img」の HDD への書き込み位置について
1TB-End-イメージ.img 内の 0-Point が、[00 02]-2 モチーフの 0x24-0x27 バイト目に規定される
HDD 位置 (0x2B9E1339000) に一致するよう書き込まねばならない。少しでもズレると正常に起動しない。

1TB-End-イメージ.img 内の 0-Point は、イメージ先頭から 0x1F14D000 後方に存在する。
この 0-Point を 1TB-HDD の 0xE820D39000 に書き込むには、
1TB-End-イメージ.img イメージ先頭を 0xE820D39000 – 0x1F14D000 = 0xE801BEC000 に書き込めばよい。
よって、書き込み開始位置 (seek=) と書き込みデータ長 (count=) の値は bs=81920 として以下のように計算される。

seek : 0xE801BEC000÷81920(bs) = 996461690880÷81920 = 12163839
count : 1TB-End-イメージ.img のデータ長 0x27E70000÷81920(bs) = 669450240÷81920 = 8172

となる。

「2TB-End-イメージ.img」の HDD への書き込み位置について
2TB-End-イメージ.img 内の 0-Point が、[00 02]-2 モチーフの 0x24-0x27 バイト目に規定される
位置 (0x1D100F39000) になるように書き込まねばならない。少しでもズレると正常に起動しない。

2TB-End-イメージ.img 内の 0-Point は、イメージ先頭から 0x1F141000 後方に存在する。
この 0-Point を 2TB-HDD の 0x1D100F39000 に書き込むには、
2TB-End-イメージ.img イメージ先頭を 0x1D100F39000 – 0x1F141000 = 0x1D0E1DF8000 に書き込めばよい。
よって、書き込み開始位置 (seek=) と書き込みデータ長 (count=) の値は bs=81920 として以下のように計算される。

seek : 0x1D0E1DF8000÷81920(bs) = 1996654346240÷81920 = 24373222
count : 2TB-End-イメージ.img のデータ長 0x27E70000÷81920(bs) = 669450240÷81920 = 8172

となる。

「3TB-End-イメージ.img」の HDD への書き込み位置について
3TB-End-イメージ.img 内の 0-Point が、[00 02]-2 モチーフの 0x24-0x27 バイト目に規定される
位置 (0x2B9E1339000) になるように書き込まねばならない。少しでもズレると正常に起動しない。

3TB-End-イメージ.img 内の 0-Point は、イメージ先頭から 0x1F141000 後方に存在する。
この 0-Point を 3TB-HDD の 0x2B9E1339000 に書き込むには、
3TB-End-イメージ.img イメージ先頭を 0x2B9E1339000 – 0x1F141000 = 0x2B9C21F8000 に書き込めばよい。
よって、書き込み開始位置 (seek=) と書き込みデータ長 (count=) の値は bs=81920 として以下のように計算される。

seek : 0x2B9C21F8000÷81920(bs) = 2996849049600÷81920 = 36582630
count : 3TB-End-イメージ.img のデータ長 0x27E70000÷81920(bs) = 669450240÷81920 = 8172

となる。

BD-W560 の 0-Point の見つけ方について

BD-W560 の 0-Point は [12 34 56 78] のバイト列で始まる BD-HDS63 や BD-HDW80 などとは異なり、
その見つけ方には少々コツがいる。
[FF..FF] が連続する領域の直前に存在する“ブートシグネチャ”と同じ [55 AA] を探し出し
そこから 0x200 上流が 0-Point である。

 

ディスクイメージの書き込み †

クリーンなディスクイメージと修正したディスクイメージを 3TB-HDD に書き込む。
クリーンなディスクイメージを得るために使用したものと同じ HDD の場合、
以下の 1〜3Block 目イメージの書き込みは既に行っているため省略できるが、
500GB 末端にデータが残っているので消去しておく。

# 500GB 末端 2GB 領域のゼロ消去
$ sudo dd if=/dev/zero of=/dev/rdiskN bs=81920 count=25000 seek=6075000

# BD-W560 1Block 目イメージ (0-1.024GB) を書き込む
$ sudo dd if=/path/イメージ名1.img of=/dev/rdiskN bs=81920 count=12500

# BD-W560 2Block 目イメージ (1.024-2.048GB) を書き込む
$ sudo dd if=/path/イメージ名2.img of=/dev/rdiskN bs=81920 count=12500 seek=12500

# BD-W560 3Block 目イメージ (2.048-3.072GB) を書き込む
$ sudo dd if=/path/イメージ名3.img of=/dev/rdiskN bs=81920 count=12500 seek=25000

# 修正した 4Block 目イメージ (3.072-4.096GB) を書き込む
$ sudo dd if=/path/1TBイメージ4.img of=/dev/rdiskN bs=81920 count=12500 seek=37500

1TB
# 修正した 1TB-End-イメージを書き込む(count & seek については上記参照)
$ sudo dd if=/path/1TB-End-イメージ.img of=/dev/rdiskN bs=81920 count=8172 seek=12163839

2TB
# 修正した 2TB-End-イメージを書き込む(count & seek については上記参照)
$ sudo dd if=/path/2TB-End-イメージ.img of=/dev/rdiskN bs=81920 count=8172 seek=24373222

3TB
# 修正した 3TB-End-イメージを書き込む(count & seek については上記参照)
$ sudo dd if=/path/3TB-End-イメージ.img of=/dev/rdiskN bs=81920 count=8172 seek=36582630
 

レコーダーへの接続・起動確認 †

既に赤外線リモコン等でHDD-ID が「一致」済みとして設定されているものとして話を進める。
HDD-ID が「一致」していない場合、赤外線リモコンで HDD-ID を「一致」させた後一旦電源を切り、再起動する。

書き込みを行った HDD をレコーダー本体のHDD マウンターに載せ、
SATA ケーブル(小さい方のコネクタ)と電源供給ケーブル(大きい方のコネクタ)を接続する。
この段階ではまだ仮組みのため HDD をネジで固定しない。

電源コードをレコーダー本体後面の電源コード接続部に差し込み(まだコンセントにつながない)、
テレビモニターへの接続(HDMI ケーブルなど)と入力切り替えを準備しておく。
アンテナケーブルの接続・B-CAS カードの挿入は必要ない。

0秒    電源プラグをコンセントに差し込む。
10秒  レコーダー本体液晶に「WAIT」の文字が点滅
50秒  レコーダー本体液晶に「PW:OFF」の文字が表示
4~5分  背面ファンが停止する。

レコーダー本体前面左側もしくはリモコンの電源ボタンを押し起動開始。
レコーダー本体前面左側の電源ランプが赤から緑に変わる。
レコーダー本体前面中央 +HDD・HDD・BD/DVD ランプが白く点滅開始。
+HDD ランプの消灯
BD/DVD ドライブの初期化
BD/DVD ランプのみ消灯、HDD ランプ点滅継続。
再度 HDD・BD/DVD ランプが白く点滅開始。
テレビ画面に回転する「ディスクアイコン」の表示。
再度 BD/DVD ランプのみ消灯、HDD ランプ点滅継続。
レコーダー本体前面中央 HDD ランプが白く点灯。
起動完了。

リモコン「録画リスト」ボタンで録画リスト画面を表示し、その右上の「HDD残時間 SD」が
1TB : 179時間
2TB : 361時間
3TB : 542時間 と表示されていれば成功。

作業が完了すれば、HDD を取り出し、4Block 目と End-1Block 目/End-2Block 目のディスクイメージを取得し、圧縮保存しておくといい。

電源プラグをコンセントに差し込んだ後、電源ランプが点滅から点灯に移行するのが遅い、いつまで経っても移行しない場合や、
テレビモニターに
「ハードディスク更新中です」
「もう一度ハードディスクを初期化してください」
「ハードディスクを確認中です」
「ハードディスク準備中です。操作できません。」
などのメッセージが表示される場合には、ディスクイメージの修正ミス、書き込み位置のミスが考えられるので、もう一度確認する。

コンセント接続後の各イベントに経過時間を示しておいたので目安にしていただきたい。

 

動作確認 †

最後に放送番組を問題なく録画できるか確認しておく。
レコーダー本体にアンテナケーブルを接続、B-CAS カードを挿入し、テレビ放送を受信できるよう設定する。

DR 録画時間は、 500GB : 地上D 62時間、BS/CS 44時間 に対して、
1TB : 地上D 127時間、BS/CS 90時間 で、BD-W1600 (1TB-HDD) のカタログ値にほぼ等しい。
2TB : 地上D 255時間、BS/CS 180時間 で、BD-W2600 (2TB-HDD) のカタログ値にほぼ等しい。
3TB : 地上D 382時間、BS/CS 271時間 で、BD-T3600 (3TB-HDD) のカタログ値にほぼ等しい。

短時間でいいので HDD に録画し、再生可能か、録画残時間は録画時間に応じて減っているか、
録画タイトルのチャプター分割・結合・シーン消去などの編集作業に問題ないか、
タイトル名が変更できるか、そして最後にタイトルを消去できるかを確認する。

すべて問題なければ、レコーダー本体から電源・アンテナ・HDMI ケーブルを取り外した後、
HDD をマウンターに固定ネジで組み付け、マウンターを本体に固定し、上蓋を元の戻しネジ止めする。

好みの設置場所に移動させ、ケーブル類を接続し最終的な起動確認をして完了となる。


Counter: 676, today: 9, yesterday: 0

添付ファイル: file03L-60-Maker.sh 1件 [詳細] file03MS-AddressFix.sh 1件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-10-05 (金) 23:14:49 (67d)