ついに、IntelベースのMacにWindowsXPをインストールする方法が公開されました。

ただし、肝心のWindowsXPのインストールディスクを作成する手順において、Windowsが動作してCDが作成できるパソコンが必要であるため、本末転倒になっています。
また、NTDETECT.COMを改造して再配布しているため、ソフトウェア使用許諾違反だという話もあり、まだまだ素直に喜べない状態です。

とりあえず、私の方では、こちらのサイトのインストール方法を参考に、Intelベースの17インチiMac“だけ”を使用して、WindowsXPのインストールディスクの作成から、インストールまで行う方法を紹介します。

なお、現時点ではWindowsXPのインストールは成功しますが、ネットワーク、ディスプレイなどのドライバが動かない状態です。
おそらく時間がたてばドライバも出回ると思いますので、本気で実用を考えているひとは、まだ試さない方がよいでしょう。
現時点でわかっているドライバの一覧はこちら
※サウンドドライバなどインストールしてみましたが、デバイスは有効になっているのに音が出ないなどの問題があるようです。

用意するもの


・Intelベースで動作するMac (今回テストしたのは17インチのiMacです)
・WindowsXP Professional SP2(Homeでも可能かもしれませんが、未確認です)
・ブランクのCDR(700MB)

なお、ここでは各ディスクの名前を以下のように呼びます。

- Mac OS Xがインストールされたディスク > 「MacOSX」
- WindowxXPをインストールする先のディスク > 「WINXP」
- WindowsXPインストールディスクのイメージ > 「xp_on_mac.iso」

※この作業を行う前に、重要なデータはバックアップしてください。

インストール手順の概要


以下のような手順でiMac上でWindowsXPインストールディスクを作成し、インストールまで行います。
[a]Macのハードディスクを2つのパーティションに分けて、WindowsXPインストールディスクを作成
- Macをフォーマットして2パーティションにする
-Xcode、Darwin Portsをインストール
-cdrtoolsをインストール
-cdrtoolsに含まれるmkisofsでWindowsインストールディスクのイメージを作成
-作成したWindowsインストールディスクのイメージをディスクユーティリティでCDRに書き込み

[b]Macの起動プロセスを変更し、作成したWindowsXPインストールディスクを利用して、WindowsXPをインストール
-blessコマンドを使って、起動イメージを変更
-起動時に上下矢印キーを入力してWindowsモードに変更
-F4キー > F7キーを押して、インストール画面を640x480に変更
-WindowsXPをインストール

<-->


Macのハードディスクを2つのパーティションに分けて、WindowsXPインストールディスクを作成



画像
ディスクユーティリティをつかってハードディスクをフォーマットします
a1.付属の“Mac OS X Install Disc 1”をMacに挿入し、「Install Mac OS X and Bundled Software」を起動。「再起動」ボタンを押して、まずはMac OS Xのインストールディスクから起動します。その後、インストール画面のメニューから、「ユーティリティ > ディスクユーティリティ」を選びます。


a2.IntelベースMacのハードディスクを2パーティションにし、第1をMS-DOSファイルシステムで名前を「WINXP」、第2をMac OS 拡張(ジャーナリング)で名前を「MacOSX」にする。このとき、それぞれのパーティションのサイズを覚えておきましょう。ここでは、WINXPのサイズを30.10GBにしました。
画像
“MS-DOSファイルシステム”はフォーマットのリストから「空き領域」を選択すると出現します。


a3.MacOSXのパーティションにMac OS Xをインストールします。
もしここで、インストール先が選べない状態になったのであれば、ディスクユーティリティでハードディスク全体を「消去」して2.のパーティションをやり直します。

a4.Mac OS Xがインストールできたら、次に“Mac OS X Install Disc 1”をMacに挿入し、Xcode Toolsをインストールします。Darwin Portsをインストールするのに必要です。

a5.次にDarwin Portsをインストールします。ただし、パッケージで提供されているものはPowerPC版なので、そのままではIntelベースのMacでは動作しません。以下の手順でソースコードからインストールします。
- DarwinPorts Downloads から
  DarwinPorts-1.2.tar.gzをダウンロード。
- デスクトップの DarwinPorts-1.2.tarをホームフォルダに移動。
- DarwinPorts-1.2.tarをダブルクリックして解凍。
- アプリケーション/ユーティリティ にあるターミナルを起動してそのまま以下の3つのコマンドを上から順番に実行(途中で管理者パスワード入力が必要になります)

 cd DarwinPorts-1.2

./configure && make && sudo make install

 sudo /opt/local/bin/port -d selfupdate

a6.ターミナルで sudo port install cdrtools としてcdrtoolsをインストール
sudo /opt/local/bin/port install cdrtools

※ここでエラーが出る場合はインターネットに接続されていないか、前の手順で「sudo /opt/local/bin/port -d selfupdate」を実行していない可能性があります。

<-->
a7OnMac.netから、「Winxponmac_0.1.zip」をダウンロードし、できた「xp」フォルダをMacHDの第一階層にコピーします。ターミナルから cd /xp でアクセスできることを確認してください。

a8.WindowsXP Professional SP2のCD-ROMをMacに挿入し、中身をすべて MacOSX > xp > src にコピーします。

a9.MacOSX > xp > src > I386 に含まれる 「TXTSETUP.SIF」 の以下の箇所を編集します。MacOSX > xp > patch > I386 にあるTXTSETUP.SIFを参考にしながら編集するとよいでしょう。
miなどを利用して改行コード、文字コードを変更してしまわないように注意してください。テキストエディットでは編集しない方がよいでしょう。
1.iastor.sys = 1,,,,,,_x,4,1、xom.inf = 1,,,,,,_x,,3,3 を追加
[SourceDisksFiles]
bootvid.dll = 1,,,,,,3_,2,0,0,,1,2
kdcom.dll = 1,,,,,,3_,2,0,0,,1,2
とある部分を
[SourceDisksFiles]
iastor.sys = 1,,,,,,_x,4,1
xom.inf = 1,,,,,,_x,,3,3

bootvid.dll = 1,,,,,,3_,2,0,0,,1,2
kdcom.dll = 1,,,,,,3_,2,0,0,,1,2
とします

2.PCI\VEN_8086&DEV_27C5&CC_0106 = "iastor" を追加
[HardwareIdsDatabase]
1394\609E&10483 = "sbp2port"
とある部分を
[HardwareIdsDatabase]
PCI\VEN_8086&DEV_27C5&CC_0106 = "iastor"
1394\609E&10483 = "sbp2port"
とします

3.cpqarray = cpqarray.sys,4 を追加
[SCSI.Load]
cpqarray = cpqarray.sys,4
とある部分を
[SCSI.Load]
iastor = iastor.sys,4
cpqarray = cpqarray.sys,4
とします

4.AddReg = xom.inf,AddReg を追加
[HiveInfs.Fresh]
AddReg = hivedef.inf,AddReg
AddReg = hivesys.inf,AddReg
AddReg = hivesft.inf,AddReg
AddReg = hivecls.inf,AddReg
AddReg = hiveusd.inf,AddReg
AddReg = dmreg.inf,DM.AddReg

の次の行に
AddReg = xom.inf,AddReg
を追加

5.iastor = "Intel(R) 82801GBM SATA AHCI Controller (Mobile ICH7M)" を追加
[SCSI]
sparrow = "Adaptec AHA-151X/AHA-152X/AIC-6X60 SCSI Adapter"

[SCSI]
iastor = "Intel(R) 82801GBM SATA AHCI Controller (Mobile ICH7M)"
sparrow = "Adaptec AHA-151X/AHA-152X/AIC-6X60 SCSI Adapter"
とします

6.OsLoadOptions = "/fastdetect /noguiboot /nodebug" を編集して

OsLoadOptions = "/fastdetect /noguiboot /debug /debugport=1394 /channel=0"
とします

<-->
a10.MacOSX > xp > patch にある $OEM$などを以下の点に注意してコピーします。
・$OEM$ フォルダを MacOSX > xp > src にコピー

・MacOSX > xp > patch > I386 の「NTDETECT.COM」「isStor.sys」「WINNT.SIF」「XOM.INF」を MacOSX > xp > src > I386 にコピーします。
 ※「TXTSETUP.SIF」は先ほど編集したものを使うのでコピーしません。特にTXTSETUP.SIFは英語版WindowsXP用なので注意してください。

・MacOSX > xp にある「boot.img」をMacOSX > xp > src にコピー

a11.Darwin Portsでインストールしたcdrtoolsに含まれるツール「mkisofs」を使って、WindowsXPインストールディスクのISOイメージを作成します。アプリケーション/ユーティリティにあるターミナルで以下の作業を行ってください。
1. ターミナル上で cd /xp/src を実行して、MacOSX > xp > src に移動
2.以下のコマンドを一行で入力し、リターンキーを押します。

sudo /opt/local/bin/mkisofs -b boot.img -no-emul-boot -boot-load-seg 1984 -boot-load-size 4 -c boot.catalog -iso-level 4 -r -J -V XP_ON_MAC -o ../xp_on_mac.iso .

※ 最後の「 . 」ピリオドを忘れず入力してください。

a12.アプリケーション/ユーティリティ にある ディスクユーティリティを起動して、イメージ > ディスクを作成… を選択※し、MacOSX > xp の中にある「xp_on_mac.iso」というファイルを選んでCDを作成します。
※ディスク作成…が選べない場合は、左のディスク一覧でなにか選択状態になっています。空白をクリックして選択を解除してください。
画像
ディスクの作成速度は「可能な最大値」より「8x」を選んだ方が失敗が少ないと思います。


ディスク作成が終了すれば、WindowsXPインストールディスクの作成は完了です。

<-->


Macの起動プロセスを変更し、作成したWindowsXPインストールディスクを利用して、WindowsXPをインストール


b1.MacOSX > xp フォルダにある「xom.efi」をMacOSX > システム > ライブラリ > CoreServices にコピーします。

b2.ターミナルを起動して以下のコマンドを実行(一行入力)
sudo bless --folder . --file /System/Library/CoreServices/xom.efi --setBoot

※ 「 . 」ピリオドを忘れず入力してください。

画像
ここではまだリターンキーを押さないでください
b3.aパートで作成したWindowsXPインストールディスクをMacに挿入した状態で再起動します。

…するとアクア調のアップルマークが表示されるので、キーボードの上下キーを押して、Windowsのロゴに切り替えます。


b4.Windowsロゴが表示された状態で、F4キーを押し、F7キーを押すと黒い画面に変わりますので、キーボード上部の数字キーで「640」と入力し、リターンキーを押します。
次は「480」と入力し、リターンキー。その他は何もせずリターンキーを押していけばOK。これは、インストール画面のサイズを指定するものです。
画像
X Resolution と Y Resolution 以外はリターンキーを押していきます。(デフォルトが適用)
wikiに登録されている手順ではマシンによってここの数値が変わるそうですが、おそらく640x480で問題ないと思います。


b5.いちばん最後の行が「1: Boot Windows XP」の状態であることを確認※してリターンキーを押します。その後画面左上にメッセージが表示される場合は、何かキーを入力して続行します。
※上下キーを入力すると変更できます

…… このあとかなり長い間待たされますが、あきらめずに処理が終了するまで待ってください。

b6.次に画面が青くなってパーティションの選択画面になります。最初にパーティションのサイズを30.10GBにしていましたので、「未使用の領域 30827MB」と表示されているのが、インストール対象のパーティションです。ここを選択します。
フォーマットはNTFSかFAT32か、好きなものを選んでください。(FAT32ならばMac OS Xから読み書きできます)フォーマットが完了すればファイルコピーが始まります。
画像
※ファイルコピーの時点で停止するようであれば、b4の手順で画面の解像度を変更してやらなければならないかもしれません。


b7.コピーが終了して再起動したら、すかさず再起動中にエジェクトキーを押したままにして、いったんCDをイジェクトします。
取り出し損ねたら、またセットアップの流れになってしまいますので、一度、電源ボタンを10秒以上押して、電源を落とし、電源を入れてすぐイジェクトキーを押し続けてください。
※イジェクトキーとはキーボードのいちばん右上にあるキーです。


b8.WindowsXPインストールディスクが排出されている状態で、Windowsのマークにしてリターンキーを押します。

 ※※※※ 注意 ※※※※
 ここで再起動してWindowsのロゴに切り替えてリターンキーを押しても起動が進まない場合は、もう一度b3からインストールをやり直してください。おそらくほとんどのひとがここで、インストールのやり直しになると思います。

b9.Windowsのセットアップが成功していれば、Windowsの画面が表示され、CDを挿入しろというメッセージが表示されます。その時点でCDを挿入します。
画像
メッセージはCDが認識されると自動で閉じます

b10.インストールが完了したら再起同時に停止するため、電源ボタンを10秒以上押し続けて電源を切り、電源投入時にイジェクトキーを押して、CDを取り出す。

b11.再びWindowsのマークで起動すれば完了です!
画像
17インチiMacではドライバ類がまったく使えない状態です。ま、そのうち……


(補足)もとに戻す方法


もとに戻す場合は、「Install Mac OS X and Bundled Software」を使って起動し、ディスクユーティリティを起動して、「消去」タブを使ってディスクを消去し、パーティションからやりなおしてください。

【関連情報】
OnMac.net
OnMac.net Wiki
WindowsXP SP1 から SP2のインストールディスクを作成する方法ほか

<-->