PS3 の HDD バックアップ方法の実験

PS3 に Linux を入れる場合、必要になるのが HDD のパーティションを切ることです。
このとき HDD 内のゲームデータが消えてしまわないようにバックアップを取る
ことができます。

60GB クラスのバックアップが可能な USB 機器といえば外付けのハードディスク
くらいしか思い浮かびません。で、一番身近にあって意外に大容量なのが iPod 等の
HDD 系音楽プレイヤーだったりします。

早速試してみました

● iPod (80GB)

 http://www.apple.com/jp/ipod/ipod.html

 USB 接続で認識できました。
 PS3 のバックアップユーティリティでバックアップ&リストアも成功。

 FAT32 の制約上 4GB を超えるファイルは作れないので、バックアップデータ
 が巨大になると分割格納されるようです。
 今回のバックアップ容量は約 5GB だったので、おそよ 4G で分割されていました。

 ここの GAME Watch の記事には
  http://www.watch.impress.co.jp/game/docs/20061121/ggl.htm
  >>ファイルシステムの制限として、FATは4GB、FAT32は32GBまでしかPS3上でも
  >>認識しない。

 とありますがそんなことはないようです。
 80GB かつ FAT32 の iPod はきちんと認識されました。

 単に Windows2000/XP/Vista 標準のフォーマッタでは、32GB 以上の FAT32
 パーティションを作れないだけのようです。
 http://support.microsoft.com/kb/184006/ja
 (16KB のクラスタサイズまでしか対応してないのかもしれません)

 市販のフォーマットユーティリティを使えば 32GB 以上でも FAT32 でフォーマット
 できるのだそうです。また Linux のコマンドでもフォーマットできるみたいです。

● gigabeat S30 (30GB)

 http://www.gigabeat.net/mobileav/audio/manual/s-series/index_j.htm

 接続したところ、PS3 側で「不明なUSB機器が接続されました」と表示されて
 しまいます。
 もともとマスストレージモードが無くて Windows につないだ場合でも
 WindowsCE の ActiveSync みたいな認識のされ方でした。
 やはり Windows 以外での接続はむりみたいです。残念。

● GIGABEAT (5GB)

 http://www.toshiba.co.jp/about/press/2002_06/pr_j1701.htm

 こっちの古い GIGABEAT は使えました。
 容量が小さいけど、収まる容量ならバックアップも OK でした。
 時間がかかったのでリストアは未確認です。

●外付け HDD (80GB)

 USB の外付けの 3.5 インチ HDD を、Linux 上のコマンドを使って FAT32 で
 フォーマットしてみます。容量は 80GB です。
 作業は PS3 の Fedora Core 5 上で行いました。

 HDD 上のパーティションはあらかじめ Windows 上で全部削除しておきました。

 ※以下 USB の HDD が /dev/sdf で認識されていると仮定します。
 ※フォーマットなので中のデータは消えますのでご注意ください。
 ※表示される細かい数値は HDD によって異なります。

 (1) パーティション作成

  # /sbin/fdisk /dev/sdf

   ■パーティションテーブルが空っぽなのを確認
   Command (m for help): p [Enter]

   ■パーティション作成
   Command (m for help): n [Enter]

   p [Enter]

   Partition number (1-4): 1 [Enter]

   First cylinder (1-9729, default 1): [Enter]

   Last cylinder or +size or +sizeM or +sizeK (1-9729,default 9729): [Enter]

   ■タイプ変更 (W95 FAT32 に変更)
   Command (m for help): t [Enter]

   Hex code (type L to list codes): b [Enter]

   ■確認
   Command (m for help): p [Enter]

     Device Boot Start End  Blocks  Id System
     /dev/sdf1  1   9729  78148161 b W95 FAT32

   ■書き込み&終了
   Command (m for help): w [Enter]

 (2) フォーマット

  # /sbin/mkfs.vfat /dev/sdf1

 (3) 完了

  # /sbin/boot-game-os

 GAME-OS に戻って確認してみます。

 しっかりと認識されているようです。「USB機器(A)」
 空き容量は「74 GB」と表示されました。

 実際に バックアップユーティリティ でバックアップしてみました。
 リストアできちんと復元できています。成功です。

 だけど、そもそも Linux を入れるためのバックアップ手段だったので、
 これからはじめようとしてる人には微妙に本末転倒な感じがします。

 結局 60GB まるまる HDD を使ってる場合、GAME のインストールデータとか消して
 32GB 未満に収まるように整理するのが現実的かもしれません・・。

●リストアの注意

もう PS3 に何回 Linux の install を行ったのかわからないくらいなのですが、
過去に一度だけ、バックアップユーティリティのリストアが失敗したことが
あります。

http://donya.jp/everg/7.1/4547479510686/
こんな感じの IDE USB 変換ケーブルを使って HDD を直結しているので、
もしかしたらリストア中にケーブルに触ってしまったのかもしれません。

リストア中に致命的なエラーで終了すると、そのあとに HDDの再フォーマット
が入ります。この強制フォーマットはなんと内蔵 HDD を丸ごと消してくれます。

つまり他のシステムのためのパーティション分割を無視して、全体を GAME に
割り当てる設定に戻ってしまいます。そのためリストアの失敗によって他の
システム用の Linux 領域も消えてしまうこともありえますので十分注意してください。

今回何度もリストア実験したのですが、この貴重な経験をすっかり忘れてました。
あぶない あぶない。

ちなみに以前エラーになったときは、パーティション分割直後だったので
ダメージはありませんでした。もう一度実行したらリストアも成功しました。