西川和久の不定期コラム

WindowsでMac OS Xが動く「PearPC」開発中!




PearPC

 前回、Mac miniを紹介した流れで、Windowsマシン上でPowerPCをエミュレートし、Mac OS Xを動かせるPearPCをご紹介する。このPearPC自体は、もう1年ほど前に開発が開始され、当時けっこう騒がれている。従って、既に知っている人から見れば今更の紹介ではあるものの、Mac miniの登場によって、最近Mac OS Xに興味を持った人も多くいらっしゃると思い、今回ここで取り上げることにした。

 ある意味左の画面キャプチャがその全てだ。開発途上であることや、アーキテクチャの異なるCPU間のエミュレーションなので、実行速度もそれなり。この点を理解頂いた上で、以下の原稿を読んで頂ければ幸いである。

Text by Kazuhisa Nishikawa



●オープンソースのPowerPCエミュレータ

 世の中、PC上で動くエミュレータは数多くある。筆者が最もよく使うのは「VMware」。これは、ホストOS上でゲストOSを動かすエミュレータだ。このソフトでは、CPU自体はホストPCもゲストPCも同じであり、仮想PCをホストOS上に作るだけなので、それなりの速度で動く。また、Z80など、昔のCPUをエミュレートした場合、現在のCPUは桁違いに高速であるため、ソフトウェア的にCPUをエミュレートしても当時の数百倍などといった速度を出すことが可能だ。

 しかしPearPCは、現行でかつアーキテクチャの異なるCPUをエミュレートした上で、仮想マシンを作り出すので、動作速度的にはなかなか難しい面がある。同じパターンで成功している例として、Mac上でWindowsを動かすエミュレータ、「Virtual PC for Mac」が挙げられる。だが、遅いとは言え、Mac OS Xほどの規模のOSが、ちょっと体感できる程度に動いているのは、うまく機能している証拠だ。オープンソースで開発しているので、誰でも使え、ビルドもできる(もちろん開発に参加することも可能)。必要なモジュールは、

  1. pearpc.exe (公式版は現在0.31)
  2. 設定ファイル
  3. 仮想HDD用のファイルイメージ
  4. Mac OS X(できれば10.3が望ましい)のCD-ROM ISOイメージ
  5. OpenVPNドライバ(ネットワークを使う場合)
  6. 十分高速なWindowsマシンと3GB以上の空きHDDエリア
 といった感じだ。公式HPや、PearPCをキーワードとして検索すると、いろいろ情報がみつかるので、必要なファイルを用意したり、設定などを参考にするのは容易。Mac OS Xに関しては、当初10.2でトライしたものの、ネットワークが動かなかった(正確には外に出ない)。10.3であれば簡単に接続できたので、実験するのであれば後者をお勧めする。

 Mac OS X以外の必要モジュールをひとつひとつ用意するのが面倒な場合は、Prasys' PearPC Emulationにあるインストーラを使えば、一発で環境構築できる。また、このサイトでは、現在開発中のバージョン0.4の中途ビルドが頻繁にアップロードされているので、一通り動き出した後で試してみるのも面白いだろう。

●早速使ってみた

 すでに0.31はリリース当時に触っていたので、今回は先に紹介した0.4pre PearPC Installerを使用した。必要なモジュールが全て入っているので非常に便利だ。以下、画面キャプチャを中心に紹介したい。

ISOイメージからBootする
ISOイメージからBootする
CD-ROMのISOイメージにMac OS XのDisk1。disk0は3GBの仮想HDD。この時点ではcdrom0からのみBoot可能である。どちらも設定ファイルでパスを設定する
見慣れた画面が表示される
見慣れた画面が表示される
cdrom0からBootイメージを読み込むと、もうそこはMacの世界。見慣れた画面が表示される。うまく起動すると、グレーバックからブルーバックに背景が切り替わる
インストーラが起動した!
インストーラが起動した!
Mac OS X 10.3のインストーラが起動した。CPUが2GHz以上なら、ここまではそれ程時間はかからない。初めて動かした時は、この時点で感動した
ここまででも感動かも!?
ここまででも感動かも!?
ここから先は、通常Mac OS Xをインストールするのと全く同じ。ウィザードの指示に従い必要項目を選択していく。速度もそれなりなので、普通に操作できる
仮想HDDを指定
仮想HDDを指定
用意した3GBの仮想HDDを選択する。途中で失敗した場合などは、アップグレード扱いになってしまうので、オプションで初期化し新規インストールを選んだ方が無難
できるだけ最小限にする
できるだけ最小限にする
現在、CD-ROMの入れ替えには対応していない。従ってできるだけ最小構成にして、入れ替えを行なわないようにするのがコツだ。最小限でCD 2枚構成になる
インストール開始!
インストール開始!
ここから、実際のインストールが開始される。筆者の環境では1枚目が読み込まれ、リブートするまでにかかった時間は約30分程だった
ここで一旦リブート
ここで一旦リブート
再起動すると、PearPCは終了するので、設定ファイルを編集。cdrom0のISOイメージをMac OS XのDisk2イメージに変更し、再度PearPCを起動。この時Bootはdisk0側となる
2枚目のISOイメージを読込中
2枚目のISOイメージを読込中
2枚目のCD-ROMイメージを読み込み、指定した全ての環境が設定されるとMac OS Xが起動する。iPhotoなどのアプリケーションは後からでもインストール可能だ

 設定ファイル自体は英語ではあるものの、コメントが入っているので変更は容易だ。要点を挙げると、ネットワークはpci_rtl8139_installed = 1、CD-ROMドライブはpci_ide0_slave_type = "cdrom"としてISOイメージモードへ、この時、pci_ide0_slave_image = "E:\My Documents\PearPC\OSX103_1.iso"といった感じで、Mac OS XのISOイメージファイルを設定する。ppc_start_full_screen = 1にすると、いきなりフルスクリーンモードで起動するので、= 0で窓表示にした方が無難。prom_bootmethod = "select"にし、Bootするデバイスを選択可能に設定しないとインストールする時にメディアを選択できなくなる。後述するAltiVec対応版では、cpu_pvr = 0x000c0000としてG4 CPUへ変更すればOKだ(デフォルトはG3の0x00088302)。

 インストールにかかった時間は計約1時間。今回試したPC環境は、筆者のメインマシンである、Xeon 2GHz Dual/メモリ1GBと、今となってはハイエンドとは呼べないマシンだ。クロックが4GHzを超えるマシンであれば、その印象もかなり変わってくると思われる。また、pearpc.exeのビルドオプションで、Pentium 4やAthlon XPに最適化したもの、G4(AltiVec)対応、SDL(Simple Directmedia Layer)対応など、いろいろなバージョンが存在する。現在のところ、SDL版が若干高速のようである。

●Mac OS Xが起動!

 無事インストールが終わると、いよいよWindowsマシン上でMac OS Xが動き出す。ただキャプションなどには書かなかったが、ネットワークにつながった瞬間、システムアップデートが動き出し、いくつもの新しいモジュールをインストールするので、更にもう1時間かかってしまった。ある程度の環境設定も含めて計3時間以上必要だったので、あまり忙しい時に試すのはお勧めしない。

感激のあまり言葉を失う……
感激のあまり言葉を失う……
手持ちのG4 CubeをMac OS X化した時には何も思わなかったが、Windowsマシンでこの画面が表示されるとある意味感激。多少の遅さなど気にならなくなる
Mac OS X 10.3がWindowsで起動した!
Mac OS X 10.3がWindowsで起動した!
起動直後の画面。画面キャプチャし易いように解像度を800×600ドットにしているが、もちろんWindowsの環境次第で高解像度にすることもできる
実際の速度は!?
実際の速度は!?
本当にこれだけの速度が出れば驚異的だが、表示されているクロック数は実動作と無関係。CocoaBenchの結果が本当の速度だ
Mac側のネットワーク設定
Mac側のネットワーク設定
Open VPNのTAP-Win32ドライバを使って、ホストOSへネットワーク接続を行なっているため、一般的なDHCPクライアント設定で問題ない
Windows側のネットワーク設定1
Windows側のネットワーク設定1
物理的にネットワークへ接続しているドライバをWindowsのインターネット接続共有に使い、ルータ代わりにする。接続先はTAP-Win32ドライバ
Windows側のネットワーク設定2
Windows側のネットワーク設定2
PearPC起動時だけ、このドライバは有効化される。動き出すと自動的に必要な項目が設定されるので、TAP-Win32ドライバ側は特に何も設定しなくて良い

 ここまで動いてしまえば特に説明の必要はないだろう。1点だけ注意するとすれば、Windowsのインターネット接続共有機能だ。この機能を使うと、IPアドレスは192.168.0.1/255.255.255.0からはじまるアドレスを自動的にアサインする(変更できない)。しかし、既にルーターなどを使いインターネット接続している場合には、デフォルトでこのIPアドレスが使用済みになっているケースがあり、組み込めないというメッセージが出る。筆者の事務所が正にこのケースだったのだが、仕方なくLAN側を192.168.1.1/255.255.255.0へ設定し直し、共存可能にした。

 さて気になる実行速度であるが、簡単にCocoaBenchの結果を表にまとめてみた。クロックが2GHz程度ではかなり遅いことが解る。CocoaBenchのHPによるとG3/500MHzのiBookでも6.7(約3.8倍)になっている。仮に6GHz(以上)のPentium 4が出ればそれなりに使える可能性があるということだ。PearPC自体のチューニングもまだ進むだろうが、ある程度実用的に使える環境になるにはハード面でもソフト面でも後もう少しかかりそうだ。

  G4 Cube G4 450MHz/384MB PearPC 0.4pre/Xeon 2GHz Dual(G4 Cubeとの相対性能)
CocoaBench 1.2 11.21 1.74 (15.5%)
Number Chrunching 9.89 0.72 (7%)
Image Processing 13.32 1.89 (14%)
File I/O 11.75 3.65 (31%)

●総論

Windowsへのネットワーク接続もOK
Windowsへのネットワーク接続もOK

 現在の0.4preでは、周辺機器の対応もまだまだ。USBは口だけ実装して中身は無い、サウンドは実験的、IEEE 1394やそのほかも未実装など、超えなければならないハードルはかなりある。またMac miniなど、安価なMac(ハードウェア+Mac OS X+iLife)が登場し、PearPCのためにMac OS X 10.3を購入(約1万5千円)するのは……と思う人もいるだろう。

 去年、中核メンバーの1人に不幸があったなど、一時期程勢いは無くなってしまったが、去年の後半から、徐々にではあるもののまた開発が進んでいるようだ。WindowsでMac OS Xを動かし、実際何をするのかと、否定的に見るのは簡単であるが、純粋にテクノロジーとして非常に面白い。是非頑張って完成させて欲しいと思う。



【編集部注】現行のMac OS Xのライセンス契約では、インストール対象は「1台のアップル商標を付したコンピュータ」とされております。PearPCのご利用にあたっては、ライセンス条項をご確認のうえ、自己責任にてご使用ください。

□PearPCのホームページ(英文)
http://pearpc.sourceforge.net/
□関連記事
【2月23日】【西川】こんなPC欲しかった!! 「Mac mini」登場
http://pc.watch.impress.co.jp/docs/2005/0223/nishikawa.htm

バックナンバー

(2005年3月29日)

[Text by 西川和久]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp ご質問に対して、個別にご回答はいたしません

Copyright (c) 2005 Impress Corporation, an Impress Group company. All rights reserved.