By 木谷 公哉(kitani@cseas.kyoto-u.ac.jp)

HDD交換前のiBook情報
機種 白型iBook
CPU 600MHz
Memory 128MB + 256MB
OS MacOS 10.1.5 + MacOS 9.2.2
CD-ROM CD-RW/DVD-ROMコンボタイプ
HDD IBM Travelster 30GN (IC25N030ATDA04)
30GB


HDD交換に用いたもの
HDD IBM Travelster 40GN (IC25N030ATCS04)
30GB
HDDケース Century ZiPANG IEEE1394 + USB2.0 (CZC25FU2/KIT)
Software hfspax for Darwin
Developer Tools (無料だが会員登録しないといけない)


一言
  MacOS 10.2がリリースされる前に、近頃調子の悪くなったHDDを交換しておいてやろうというのが主目的。でも40GBか60GBのHDDにすればよかったと後悔している。貝殻iBook君はよーわからないメーカーのHDDが使われていたので、白型iBook君も同じだと思っていたら何とIBMのちゃんとした製品だということが分解後判明。これは別途VAIO PCG-C1R辺りに入れよう。
  今回マニュアルを書くきっかけは、MacOS Xのバックアップの難しさにある。MacOS 9のみしか使わないのであれば単純なHDDコピーだけで事足りるのだろうが、MacOS Xはそれではうまくコピーされない。またUNIX系OSではやはり、「ファイル/ディレクトリ権限」「タイムスタンプ」「属性」「シンボリックリンク」を維持できなければいけない。これが通常技では無理だったので、Web情報を漁った結果最も簡単な方法はやはりディスクイメージを作成し、それを復元だった。しかしUNIX系OS特有のdumpはUFSなファイルシステムにしか対応しておらず、HFS+なファイルシステムではgnutarやrsync, cp等は使えるがいくつかの日本語ファイル等がおかしくなったりするので、使えないことが判明。結局HFS+のイメージを取ってくれるソフトをインストールした。どちらにせよ昔のHDDよりは容量が多いだろうから、ディスク丸ごとコピーしても容量的には問題ないだろうという考えのもと、以下私が現在もっともお手軽であろう方法をあげておく。
  1. Developer Tools, hfspaxは予めインストールしておく。
    但しhfspaxは/usr/local/binにインストールすることをお勧めする。何故ならば/usr直下のファイルはDeveloper Toolsによって上書きされてしまうからだ。

  2. HDDケースに新HDDを入れて、Firewire経由で接続する。

  3. MacOSX のApplication/Utilities/Disk Utilityを起動して、パーティションを作ろう。
    1. 私のお勧めは、2パーティションにすることだ。システム領域とデータ領域を分けることで、OSの再インストールをするためにHDDをフォーマットしてもデータには影響がないようにするため。
    2. 25GB + 5GBと分割した。フォーマット形式はMacOS拡張(HFS+)を選んでおく。緊急時にCDブートでデータを取り出すことが容易なため。システム領域のボリューム名はhfspaxソフトが空白が使えないためにとりあえずMacintoshHDとしておく。(ここらへんは最終的には旧HDDと同じボリューム名にする)

  4. さてMacOS Xは、Option押しながら起動すればUSB, Firewire系の外づけHDDからOSを起動できるので、いきなり内蔵HDDを交換しても問題はないためそうする。物理的な交換方法は別途載せる。

  5. 旧HDDをiBook君に外づけで接続してやらねばならない。この方法は以下の二つが存在する。
    1. PowerMac G4のようなデスクトップPCに接続して、デスクトップPCとiBook君をFirewireで接続し、デスクトップPCを「T」ボタンを押しながら起動して、デスクトップPC君をFirewire外づけHDDモードで起動すればよい。そうすることでデスクトップPCに接続されているすべてのHDDがiBook君にとって外づけHDDだという認識になる。
    2. ハードディスクケースを使う。ちまたでは2.5inchハードディスクケース(Firewire対応: IEEE1394のApple側の名称)のやつを購入して使う。これはもっとも手間は掛らない。

  6. 上記のいずれの方法でも構わないので、Optionを押しながらFirewire接続先の外づけのMacOSXを起動させる。

  7. Application/Utilities/Terminal を起動する。

  8. hfspaxコマンドでディスクイメージを作成する。詳しくは「ここ」を参考にすればいいだろう。
    外づけHDDボリューム名 Macintosh HD / 起動(旧HDD)
    内蔵HDDボリューム名 MacintoshHD /Volumes/MacintoshHD 新HDD
    と仮定すると以下のコマンドになる。

    # cd /
    # ls -1a | grep -v '^\(\.\.\?\|dev\|Volumes\)$' | hfspax -w -f /Volumes/MacintoshHD/backup.pax -x cpio
    これで新HDDに旧HDDのディスクイメージが無圧縮で作成される。
    もし旧HDDに余力があるならば、イメージは/Volumes/backup.paxとして旧HDDに保存してもよい。

    # cd /Volumes/MacintoshHD
    # hfspax -r -pre -f backup.pax .
    として復元後、

    # mkdir -m 555 dev
    # chown root.wheel dev
    としてデバイス情報格納ディレクトリを作成しておかねばならない。これをしないと周辺機器を認識しにいった時点でOSが止まってしまう。このディレクトリ以下のファイルやディレクトリはOS起動時に自動で作成される特殊ディレクトリなのだ。

    # bless -folder System/Library/CoreServices
    これはMacOS Xのブートローダですな。これ指定しないと「起動ディスク」から認識できないため。

    その後内蔵HDDのボリューム名をMacintosh HDに変えておく。(これ重要、特にリソースフォークを使う場合にはボリューム名も保存するために、ボリューム名が異なっていればアイコン等が崩れてしまう。(まぁMacOS Xはあんまり関係ないし、OS 9だったらデスクトップの再構築をすればいいんだろうけど。)

  9. さて後は「システム環境設定」から「起動ディスク」を起動させて、内蔵のMacOS Xから起動するにして再起動するだけだ。

  10. 無事MacOS Xが起動したら成功。UNIX上の様々な属性が全部保存されているはずだが、なぜかシンボリックリンクのグループ権限がunknownになっている。adminをつくってそれにしてたんだけど、、、タイムスタンプとかは保存されているのでまぁ別にいいんだけど。
  11. で実際チェックするとなぜかMS 明朝などのMSフォントがOffice v.X上のフォント一覧で文字化けしてしまう。
    新規ユーザ作成したら問題なく表示されるので、フォントキャッシュ問題かなと思った。結局「ここ」のように修正した。
  12. もしアップルメニューからシステム環境設定を開くことができないのであれば、リソースフォークが壊れている可能性あり。とりあえずMacOS 9で起動させてデスクトップの再構築をすることで修復できる。

あとがき


トップへ
第二弾への誘い