AppleTV(第一世代)の内蔵HDD交換の備忘録

AppleTV(第一世代)の内蔵HDDを換装するのはこれで通算3回目なのだが、またしても躓いてしまったので記憶に焼き付けるべく記録を残すことにする。
換装履歴は初期搭載HDD40GB→SSD240GB→SSD960GB→HDD2TB
途中SSDを挟んでいるのは、AppleTV(第一世代)はHDDの接続インターフェースがIDEなため、SATAIDE変換コネクタを挟まなければならず、内部スペースに余裕が無いのでSSDの殻を剥いて無理やり内蔵していたため、なのだが、今回お手頃になってきた2.5インチ2TB HDDを取り寄せてみると7mm厚のスリムタイプで変換コネクタを使っても内部スペースに収めることができた。ちょっと無理矢理ではあるが。

 

さてAppleTV(第一世代)の内蔵HDDを換装するにはただ交換するだけではダメで、AppleTV(第一世代)のための特殊なフォーマット作業をしないといけない。
特殊と言っても特殊な機器とかは不要なのだが。
Macと交換用HDD、交換用HDDをMacと接続するための装置(HDDケースなど)があればいい。

 

まず交換用HDDをMacと接続し、ディスクユーティリティを起動。
交換用HDDをパーティション1、GUIDパーティションマップ、MacOS拡張(ジャーナリング)でフォーマット。

 

そしてターミナルを起動し「df」を実行するとボリュームのリストが表示される。

 

※以下赤字はターミナルでユーザーが実行する文字列、青字はシステムが返してくる文字列です。error や faild などが返ってきたら失敗です。

 

MacBook-Air:~ MacBook_Air$ df

Filesystem    512-blocks      Used  Available Capacity iused      ifree %iused  Mounted on

/dev/disk0s2   332305536 301906944   29886592    91%  850055 4294117224    0%   /

devfs                368       368          0   100%     638          0  100%   /dev

map -hosts             0         0          0   100%       0          0  100%   /net

map auto_home          0         0          0   100%       0          0  100%   /home

/dev/disk1s2  3906357344   1665040 3904692304     1%      73 4294967206    0%   /Volumes/名称未設定

 

上記「名称未設定」がAppleTVに新たに内蔵する予定のHDD。
その列の左のほう、「disk1s2」がこのHDDのパーティション番号。
「disk1」がこのHDD自体の番号、「s2」がこのHDDの何番目のパーティションかを表す。
HDDの番号を確認したところでAppleTVに内蔵するためのフォーマット作業を開始します。
※以下HDD番号はすべて「disk1」として記述。HDD番号は作業しているマシンの環境によって変わります。

 

「diskutil unmountDisk /dev/disk1」を実行しボリュームをアンマウント

 

MacBook-Air:~ MacBook_Air$ diskutil unmountDisk /dev/disk1

Unmount of all volumes on disk1 was successful

 

successful、成功です。
このコマンドは何度も使いますが、ターミナルでは矢印キー上下で実行履歴を参照できるのでそれで再利用しましょう。

 

「sudo gpt destroy /dev/disk1」を実行
「sudo gpt create /dev/disk1」を実行

 

MacBook-Air:~ MacBook_Air$ sudo gpt destroy /dev/disk1

MacBook-Air:~ MacBook_Air$ sudo gpt create /dev/disk1

 

ここは実行してもシステムから何の反応も来ないが、処理は行われています。
「diskutil unmountDisk /dev/disk1」でボリュームを再度アンマウント。

 

MacBook-Air:~ MacBook_Air$ diskutil unmountDisk /dev/disk1

Unmount of all volumes on disk1 was successful

 

「sudo gpt add -b 40 -i 1 -s 69632 -t efi /dev/disk1」で第1パーティションを作成。

 

MacBook-Air:~ MacBook_Air$ sudo gpt add -b 40 -i 1 -s 69632 -t efi /dev/disk1

/dev/disk1s1 added

 

added、追加できたようです。
「diskutil unmountDisk /dev/disk1」でボリュームを再度アンマウント。

 

MacBook-Air:~ MacBook_Air$ diskutil unmountDisk /dev/disk1

Unmount of all volumes on disk1 was successful

 

「sudo gpt add -b 69672 -i 2 -s 819200 -t 5265636F-7665-11AA-AA11-00306543ECAC /dev/disk1」で第2パーティションを作成。

 

MacBook-Air:~ MacBook_Air$ sudo gpt add -b 69672 -i 2 -s 819200 -t 5265636F-7665-11AA-AA11-00306543ECAC /dev/disk1

/dev/disk1s2 added

 

「diskutil unmountDisk /dev/disk1」でボリュームを再度アンマウント。

 

MacBook-Air:~ MacBook_Air$ diskutil unmountDisk /dev/disk1

Unmount of all volumes on disk1 was successful

 

「sudo gpt add -b 888872 -i 3 -s 1843200 -t hfs /dev/disk1」で第3パーティションを作成。

 

MacBook-Air:~ MacBook_Air$ sudo gpt add -b 888872 -i 3 -s 1843200 -t hfs /dev/disk1

/dev/disk1s3 added

 

「diskutil unmountDisk /dev/disk1」でボリュームを再度アンマウント。

 

MacBook-Air:~ MacBook_Air$ diskutil unmountDisk /dev/disk1

Unmount of all volumes on disk1 was successful

 

「sudo gpt show /dev/disk1」で現在のパーティション構成を確認します。

 

MacBook-Air:~ MacBook_Air$ sudo gpt show /dev/disk1

       start        size  index  contents

           0           1         PMBR

           1           1         Pri GPT header

           2          32         Pri GPT table

          34           6         

          40       69632      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B

       69672      819200      2  GPT part - 5265636F-7665-11AA-AA11-00306543ECAC

      888872     1843200      3  GPT part - 48465300-0000-11AA-AA11-00306543ECAC

     2732072  3904297063         

  3907029135          32         Sec GPT table

  3907029167           1         Sec GPT header

 

重要なのは「2732072 3904297063」この行。
「2732072」までの数値はどんなHDD容量でも同じになります。
「3904297063」以降はHDD容量によって変わります。

 

「diskutil unmountDisk /dev/disk1」でボリュームを再度アンマウント。

 

MacBook-Air:~ MacBook_Air$ diskutil unmountDisk /dev/disk1

Unmount of all volumes on disk1 was successful

 

「sudo gpt add -b 2732072 -i 4 -s 3904297056 -t hfs /dev/disk1」で第4パーティションを作成。
「3904297056」は前出の「3904297063」から「7」マイナスした数値になります。

 

MacBook-Air:~ MacBook_Air$ sudo gpt add -b 2732072 -i 4 -s 3904297056 -t hfs /dev/disk1

/dev/disk1s4 added

 

「diskutil unmountDisk /dev/disk1」でボリュームを再度アンマウント。

 

MacBook-Air:~ MacBook_Air$ diskutil unmountDisk /dev/disk1

Unmount of all volumes on disk1 was successful

 

「sudo newfs_hfs -v "OSBoot" /dev/disk1s3」で第3パーティションに「OSBoot」と名前を付けます。

 

MacBook-Air:~ MacBook_Air$ sudo newfs_hfs -v "OSBoot" /dev/disk1s3

Initialized /dev/rdisk1s3 as a 900 MB case-insensitive HFS Plus volume

 

「sudo newfs_hfs -v "Media" /dev/disk1s4」で第4パーティションに「Media」と名前をつけます。

 

MacBook-Air:~ MacBook_Air$ sudo newfs_hfs -v "Media" /dev/disk1s4

Initialized /dev/rdisk1s4 as a 2 TB case-insensitive HFS Plus volume

 

「sudo gpt show /dev/disk1」で再度、現在のパーティション構成を確認します。

 

MacBook-Air:~ MacBook_Air$ sudo gpt show /dev/disk1

       start        size  index  contents

           0           1         PMBR

           1           1         Pri GPT header

           2          32         Pri GPT table

          34           6         

          40       69632      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B

       69672      819200      2  GPT part - 5265636F-7665-11AA-AA11-00306543ECAC

      888872     1843200      3  GPT part - 48465300-0000-11AA-AA11-00306543ECAC

     2732072  3904297056      4  GPT part - 48465300-0000-11AA-AA11-00306543ECAC

  3907029128           7         

  3907029135          32         Sec GPT table

  3907029167           1         Sec GPT header

 

上記のようになっていればオーケーな筈です。

 

「diskutil unmountDisk /dev/disk1」でボリュームを再度アンマウント。

 

MacBook-Air:~ MacBook_Air$ diskutil unmountDisk /dev/disk1

Unmount of all volumes on disk1 was successful

 

 

そして最後の仕上げ。
なのですが肝心なことを忘れてました。
私はもう何度もやってきたことなのですっ飛ばしてしまいましたが、すべての作業の前にやっておかなければならないことがありました。
もともとAppleTVに入っていたHDDの第2パーティション部分のリカバリーデータのコピーが必要なのです。


順序が後になってしまいましたが、説明します。
まず交換用HDDをMacから外します。アンマウント状態な筈なので外してもオーケーです。
そしてもともとAppleTVに入っていたHDDをMacに繋ぎます。接続インターフェースがIDEですが、AppleTV(第一世代)のHDDを交換しようなんて考える人ならそれくらい持ってますよね?


最初の方でやった「df」でHDD番号を確認

 

MacBook-Air:~ MacBook_Air$ df

Filesystem    512-blocks      Used Available Capacity iused      ifree %iused  Mounted on

/dev/disk0s2   332305536 301075832  30717704    91%  849955 4294117324    0%   /

devfs                374       374         0   100%     649          0  100%   /dev

map -hosts             0         0         0   100%       0          0  100%   /net

map auto_home          0         0         0   100%       0          0  100%   /home

/dev/disk1s4    75146000    253632  74892368     1%     525 4294966754    0%   /Volumes/Media

/dev/disk1s3     1843192    799584   1043608    44%    8203 4294959076    0%   /Volumes/OSBoot

 

上記「Media」「OSBoot」の「disk1」が対象のボリュームです。


sudo dd if=/dev/disk1s2 of=./recovery.dmg bs=1m」でリカバリーデータを「recovery.dmg」として保存します。

 

MacBook-Air:~ MacBook_Air$ sudo dd if=/dev/disk1s2 of=./recovery.dmg bs=1m

399+1 records in

399+1 records out

419405824 bytes transferred in 53.004325 secs (7912672 bytes/sec)


上記システムメッセージが返ってくるのを待ってからユーザーフォルダ直下を見ると「recovery.dmg」がある筈です。
それではもともとAppleTVに入っていたHDDをアンマウントし接続解除、交換用HDDを繋ぎます。

 

 

そして今度こそ最後の仕上げ。
「sudo dd if=/Users/MacBook_Air/recovery.dmg of=/dev/disk1s2 bs=1m」で第2パーティションリカバリーデータを書き込みます。
「sudo dd if=」まで入力して、「/Users/MacBook_Air/recovery.dmg」部分は「recovery.dmg」の場所を示すものなので手入力でもいいですが、実際に「recovery.dmg」をドラッグ・アンド・ドロップしたほうが楽だし間違いがありません。
ドラッグ・アンド・ドロップしたら、続きの「 of=/dev/disk1s2 bs=1m」を入力して実行すればオーケー。

 

MacBook-Air:~ MacBook_Air$ sudo dd if=/Users/MacBook_Air/recovery.dmg of=/dev/disk1s2 bs=1m

399+1 records in

399+1 records out

419430400 bytes transferred in 51.828887 secs (8092599 bytes/sec)

 

1分ほど待って上記の反応が来れば完成です!
アンマウントし外してAppleTVに内蔵させましょう。

 

AppleTVに電源を入れればリカバリーモードで起動し、言語選択後、出荷状態への復元を促される筈です。
復元が成功し再起動してもまた言語選択が出ますが正常な動作なので焦らないように。
正常に起動したらiTunesとの同期は後回しにしてまずOSアップデートを優先。
AppleTV(第一世代)は既にオンラインサービスも打ち切られ、OSアップデートがいつまでサポートされるのか不明です。もしAppleにアップデータを削除されればAppleTV(第一世代)のOSアップデートは絶望的になります。自力でのOSアップデートはまず不可能なので、AppleTV(第一世代)は現在使っている状態が最終形態だと思っておいたほうがいいかもしれない。

※OSアップデートをしてはいけません。詳細は次の記事を参照。

 

以上、AppleTV(第一世代)の内蔵HDD交換手順でした。
本件では成功事例だけを記述してますが、最初に言ったように私は何度も躓いてます。
他の方の情報を参考にやってたのだが、何故か上手くいかないのでアレンジせざるを得なかったのです。
もしかしたら私と同じようにやってもうまくいかない人も居るかもしれませんが、がんばって下さい。
日本にまだAppleTV(第一世代)を使っている人がどれほど残っているのか分かりませんが。

 

 

 

 

 

 

 

.