ここでは、仮想マシンを作成・実行可能な仮想化ソフトウェアの1つであるVirtualBoxのゲストOSとしてWindows XPをインストールする方法について記します。
尚、起動ディスクはもとより、インストールディスクやリカバリディスク(HDにはあるがCD/DVDなどのメディア)がないWindows XP搭載マシンのXP(いわゆるOEM版)を他のOSに乗せ換え、XPを手放すには惜しいのでVirtualBoxで作成した仮想マシンにゲストOSとして残すという想定であるものとします。
インストールに関しては、ホストマシンスペックが心許ない為か、本来できるはずのCDブートができず、PEでwinnt32.exeを実行することもできず、MS-DOS、または、代替DOS起動ディスクを使うことにしたが、winnt.exeの実行も厳しい為、setup.exeによるインストールを試してみたらできたものとします。
ちなみにこうしたケースは、極めて稀だと思われます。
尚、当サイト検証ホストスペックと同等または、近い環境でもVirtualBox以外の全てのアプリケーションを閉じれば、CDブート及びNTFSフォーマットによる通常のインストールを実行できる可能性があります。
インストール時には、Windows XPの場合、Windows 98 SE同様、プロダクトIDではなく、プロダクトキー(レジストリに登録、もしくはPC本体側面や裏側、CD/DVDケースやカバーに貼付されたシールに記載)が必要になります。
XPをメディアなしでクリーンインストールしたい場合、I386フォルダとその中身、更に他のフォルダなどにあるコマンドファイルやシステムファイルをチョイスし、ディスクイメージとしてブータブルメディアを作成可能であること、また、この時、サービスパックの適用もできることが知られています。
インストールメディア(CD)のないXPマシンからディスクイメージやディスクを作成したり、必要に応じてこれらにサービスパック(SP)を適用・統合したい場合には以下のようにするとよいでしょう。
まず、XPマシンのHDDからクリーン(上書き)インストール用のディスクを作成する為には、HDD内に『i386』フォルダがあることが前提となります。
尚、CD-ROMをブータブルディスクとする為には、El Torito仕様に準拠したブートイメージが必要となります。
XPの場合、例えば以下のようにすればブートイメージを入手可能です。
必要に応じて展開するなり、bbieやImgBurnのようなソフトでブートイメージを抽出し、任意のファイル名BootImg.imgを付けて適当な場所に保存します。
この時点で任意の作業フォルダC:\winxpには、以下のフォルダとファイルがあるはずです。
i386フォルダ、BOOTFONT.BIN
これでImgBurnなどのソフトを使って、ブートイメージとして先の任意のファイル名BootImg.imgを指定してディスクイメージを作成するとブータブルディスクイメージが、CDなどのメディアに焼くとブータブルCDが完成しますが、サービスパックを適用する場合には、その前に後述の作業を行った後、ディスクイメージやディスクを作成します。
ちなみに非ブータブルCDでよければ、この作業は不要で仮想マシンならブートできないCDやディスクイメージでも、このページの例のようにインストールできるケースがあります。
ただ、上記以外の場合には、以下の点に注意が必要です。
SPを統合する為には、MS社のサイトから当該SPのディスクイメージを取得する必要があります。
XPにはSPなし、SP1/SP1a/SP2/SP3があり、新しいSPは、以前のSP内容をも含むので仮にSPなしのオリジナルでもSP3を適用すれば全て適用・統合したことになります。
(Vista/7では管理者として実行した)コマンドプロンプトから以下を実行するとC:\winxpに複数のファイルが展開されます。
【SP2の場合】
C:\winxp> WindowsXP-KB835935-SP2-JPN.exe /integrate C:\winxp
【SP3の場合】
C:\winxp> WindowsXP-KB936929-SP3-x86-JPN.exe /integrate C:\winxp
SP3の場合、展開後のファイルは。。。
【XP Home Editionの場合】
WIN51、WIN51IC、WIN51IC.SP1(、WIN51IC.SP1a)、WIN51IC.SP2
【XP Professionalの場合】
WIN51、WIN51IP、WIN51IP.SP1(、WIN51IP.SP1a)、WIN51IP.SP2
http://support.microsoft.com/kb/813926/ja
(SP1とSP1aの相違点:主な相違点としてはSP1aでは、Virtual Machineがインストールされない、よって、このページの内容含め、ほとんどの場合、SP1aは不要)
任意の作業フォルダC:\winxpのフォルダやファイルは、上記のようになっていると思いますが、そうなっていない場合、下記の手順でSP用のファイルを作成します。
ちなみに物理マシンにインストールする場合には、Windows Updateやダウンロードしたパッケージを実行する方法などについてはhttp://support.microsoft.com/kb/954441/jaを参考にします。
ここまででブートCDで且つ例えばXP Professionalの場合、C:\winxpには、i386フォルダを加え、以下のフォルダとファイルがあるはずです。
i386フォルダ、BOOTFONT.BIN、WIN51、WIN51IP、WIN51IP.SP1(、WIN51IP.SP1a)、WIN51IP.SP2
これでImgBurnなどのソフトを使ってディスクイメージを作成する際に先に取得した任意の名称のBootImg.imgをブートイメージとして指定すれば、SP2やSP3が適用されたブータブルディスクイメージが、CDなどのメディアに焼くとブータブルCDが完成します。
尚、Windows上でImgBurnなどのソフトを使う際には、コマンドプロンプトでsubstコマンドを使うと便利です。
XPの操作性は、95の場合に見られた挙動のちょっとした違和感や98SEで見られたもっさり感も全くなく、VirtualBox 4.2.12、VMware Player 3.1.6共に快適です。
XPのインストールに関しては、QEMUでは、通常通り、CDブートでインストール環境、VMware Playerでは、期せずして95/98SEにはなかった簡易インストールという機能でブータブルディスクイメージを起動、インストールされました。
他方、Virtual PC 2007については、ここで想定する起動ディスクによるインストールが出来ず、通常の方法ではファイルコピーの途中で空白の時間があり、結構かかりそうでしたし、他の2つの結果に満足したことから、未検証です。
また、XPの場合、VMware Playerでは、色は、16ビット/32ビットカラー、VirtualBoxでは、16ビット/24ビット/32ビットカラーから選択可、解像度については、複数の選択肢から選べるのに加え、仮想マシン自体をマウスでリサイズ(拡張/拡大)するとVirtualBoxでは、解像度がホストOSのモニタより低い場合、その時、ゲストOSで設定されている解像度のまま周囲に余白(余灰?)ができ、VMware Playerでは、最小値はあるものの、おもしろいことにモニタ上もプロパティ上も仮想マシンのモニタを最大に生かして事細かにリサイズした解像度に対応してくれます。
このVMware Playerの挙動は、XPの場合、最初から[VMware Tools]がインストールされていることによるようでWindows 98SEでも[仮想マシン(V)]>[VMware Toolsのインストール]からこれをインストールすると先のXPと同様になりました(Windows 95は公式には未対応の模様ですが、対処方法もあります)。
VirtualBoxも仮想マシン(ここではXP)のメニューから[ビュー] > [スケールモードに切り替える]を選択するとモニタの縦横比を維持したままの拡大(縮小)なら可能ですし、Guest Additions対応のゲストOSでは、Guest Additionsをインストール(適用)し、[ビュー] > [シームレスモードに切り替える]を選択することで同様にマウスによるモニタの拡大縮小にマッチした解像度にもなりますし、画面の設定プロパティで解像度の変更も可能となります。
更に原因は調べていませんが、やはりXPの場合、VMware Playerでは、[スタート]>[Windowsを終了する]で[スタンバイ]を選択可能、VirtualBoxでは[スタンバイ]アイコンが暗転され、クリックすることができません。
尚、XPからWindowsには、アクティベーションと呼ばれるライセンス認証の仕組みが導入され、初回のアクティベーション時とPC環境が大きく変わると再アクティベーションを求められ、ネット経由、または、電話オペレータとの対話で認証を受けることになります。
アクティベーションは、実機だけでなく、仮想マシンも対象となっており、例えば、このページで想定する方法の場合、実機でアクティベーション済みだと仮想マシン上で利用した時、また、仮想マシン上でアクティベーションした後も仮想マシンならではとも言える環境検証としてメモリの割り当て量を変更しただけでも再アクティベーションを求められるのでXP含む以降のWindowsをゲストOSとしてインターネットも利用する場合には、注意が必要です。
ゲストOSをネットに接続しないように運用していても何かの拍子に、うっかりと、知らずに接続されていたとしても同様なので要注意です。
ちなみに全く同一環境でインストール直後に何らかの理由でアンインストールし、再インストールした場合でも(wpa.dblをバックアップし、書き戻しても)アクティベーションを求められる場合があります。
VirtualBoxにWindows XPをインストールする場合、インストール自体は、すごく簡単なのに、なぜか簡単にいかないことがあります。
内蔵FDDがないPCが主流ですが、これがなくてもUSB接続FDD、それよりも、仮想FDDが便利、フリーソフトウェアの中では、その名もVirtual Floppy Drive(VFD)が広く使われているようです。
内蔵CD/DVDがないPCも増えていますが、これがなくてもUSB接続CD/DVDもありますし、isoなどディスクイメージがあるならCD/DVDに焼かなくても仮想CD/DVDドライブを作成できるソフトウェアが便利です。
MS-DOSやPC DOSは有償OSであり、既に販売終了となっている為、入手できませんが、MS-DOS販売・サポート終了後の代替を意図したオープンソースのFreeDOSを利用することもできますし、他にも互換性を考慮したDR DOS/DR-DOS、更にこれらの派生などを利用することもできるようです。
これら以外で簡単にいかないとすれば、それは、きっとITリテラシが高いがために、利用経験者であるがためにチャレンジ精神も旺盛で脳をフル回転させ、豊富な知識を機転を利かせて使用してしまうことや、経験からくる「こうなるはずである」という思い込みが壁になるからではないかと感じます。
ここまでは、Windows 95/98/98SEのケースと同じで、XPに関しては、ここからですが、95/98/98SEとは違う思い込みによる注意事項があります。
例えば、XPのインストールには、起動ディスクは使わない、ひいては使えないと自己暗示にかけ、思い込まないことです。
また、それは、フロッピーを6枚用意してMicrosoftのサイトから・・・それらフロッピーでインストールという話に決まってると思いこまないことです。
Windows XPのインストールは、一般にブータブルCDから直接起動し、ブートローダであるNTLDR経由でwinnt32.exeを実行することで自動的に行われます(Virtual PC 2007も同様です)が、VirtualBoxにおいては、必ずしもそれだけでなく、Windows 9x系やMEで作成したMS-DOS起動ディスクを使ってwinnt.exe、または、setup.exeを実行する方法もあります。
MS-DOSやWindows 9系/MEは、ファイルシステムがFATであり、NTFSに未対応、XPはNTFSがデフォルトでFATも読み書き可能です。
よって98/98SE/MEで起動ディスクを作成するとNTFSに未対応なので自ずとWindows用ファイルシステムはFAT(FAT16、または、FAT32)でしかフォーマットできませんが、VirtualBox 4.2.12では、FAT32でフォーマットしてそこにXPをインストールすることができます。
Windowsの場合、そのバージョンで使用するファイルシステムに応じてFAT16からFAT32、FAT32からNTFSへのファイルシステムの変換はデータがあってもそれらを損なうことなく後でもできるツールがプリインストールされているので安心です。
ちなみに、なぜ、こんな遠回りなことをしてみることになったかというと、当サイトの検証ホストのスペックとVirtualBox 4.2.12の組み合わせでは、なぜかブータブルCDのISOディスクイメージのみで通常通り、インストールしようとするとwinnt32.exe部分でエラーになってしまい、他の方法を模索、試しにFAT32にフォーマットしてwinnt.exe実行してみてもダメで結果setup.exeでやってみるに至った次第です。
*VirtualBox 4.2.12では、ここでやったようにブータブルCDのISOディスクイメージに敢えてフロッピーを起動ディスクとしてインストールすることもできましたが、Virtual PC 2007では、Windows 98で仮想マシンを作成してみてもsetup.exeが使えず、winnt.exeでないとダメな模様、VMware Player 3.1.6では、この方法でやってみようと思ったら、むしろ失敗?し、幸いすんなりと通常通り、ブータブルインストールCDのみでインストールでき(簡易インストールされ)、QEMUでは、ブータブルCDのみで通常通りインストールできました。
というわけでイレギュラーケースとしてWindows XPのブータブルCD(イメージ)なのに、なぜかMS-DOS起動ディスクを使って、VirtualBoxの仮想マシンに、しかもwinnt.exeではなく、setup.exeでXPをインストールする場合は、下記の要領で行います。
これでインストールは終了ですが、以下、注意点を追記します。
尚、XP/Vistaで[フォーマット]時に[MS-DOSの起動ディスクを作成する]オプションで初期化され、自動作成されたファイル群においてフロッピーディスクはともかくファイル群が、OSインストール用の起動ディスクとしては使えない(か、ホントは使えるのかは正常にインストールできてから必要なら後で考えればいい話である)というのは、XPの起動ディスクを使ったインストールにも言えることです。
よってXPのインストールに起動ディスクを使う場合には、98/98SE/MEで作成したFDもしくは、これに準じたものとする必要があります。
Windows 98/98SEで起動ディスクを作成するとフロッピーが2枚になりますが、相応に整理すれば、1.44MBに収まり、1枚にできます(し、ディスクイメージに入れ込むことさえも可能です)。
Windows 95のケースでも述べたように、いろんなバージョンのWindowsで作成したり、しなかったりした起動ディスクから、あれやこれやと継ぎはぎするのは基本的にNGですし、タイムスタンプを合わせて変更してみたところで無意味です。
ということは、Windows 9x系やMEのようにFD上のMS-DOSからCDを読み込むということなのでNTFSの場合にブートCDに必要となるNTLDRのことは忘れていいということです。
NTLDRのことを考えなくていいということは、必ずしもFDISKやFORMAT操作を包含するWINNT.EXEをコールしなくてもよく、systemやsystem32などどこか適切なフォルダや書庫にOSセットアップ用のSETUP.EXE、またはそれに準ずるものがあれば、9x系やMEのようにフロッピー上でFDISK、FORMATを実行した後、CDドライブ、SETUP.EXEのパスに移動すれば、SETUP.EXEを実行することができるということです。
つまり、XPだから必ずNTLDR、WINNT.EXE、WINNT32.EXEという思い込みを捨ててみると違う何かも見えてきますよということです。
ただ、これは、仮想マシンの新規作成時にはファイルシステムを設定しないVirtualBoxだけに有効な話のようで自動でいろいろやってくれるVirtual PC 2007では、仮想マシンの新規作成時にWindows 98としてXPをインストールしてみたところでwinnt.exeでないとダメみたいです。
NTLDR、WINNT.EXEならあっという間にインストールが完了し、できれば、それに越したことはないのですが、VirtualBoxでは、この時、メモリを相当に消費するのか、ホストOS環境(搭載CPUやメモリ)によってはインストールの途中で仮想マシン自体がフリーズするケースがあり、起動ディスク及びsetup.exeによる方法なら、これを回避できたという結果論に過ぎず、原因は不明です。
前述の通り、XPはFAT32でインストールしてNTFSに変換でき、その場合、XPのインストール中に対話形式で、インストール後にはコマンドプロンプトでconvertコマンドを使いますが、特にホストOSのCPUやメモリ不足に起因して起動ディスクの手法をとっているなら、インストール中に変換すると、やはりフリーズする可能性がありますから、インストール後に変換するとよいでしょう。
もちろん、効率が落ちることで使用可能領域が減ったりすることもあるものの、変換しないというのも選択肢の一つであることは言うまでもありません(が、言ってみます、より正確には、書いてみます)。
起動ディスク内のファイル群は一様ではなく、いろんなバリエーションがあり得ますし、あっても起動には無関係のもの、使ってないものも含まれる場合があり、あるファイル群を見て全て必要であると思いこまないように注意が必要です。(MS-DOS起動ディスクのファイル構成)
これは、Windows 98/98SEで作成した起動ディスクとそのインストールCDから持ってきたファイル、編集したAUTOEXEC.BAT及びCONFIG.SYSで構成されています。
EXTRACT.EXEは、.CABなどの書庫を展開するアプリケーション、SMARTDRV.EXEは、インストール中のコピー速度を向上させるアプリケーションです。
前者は、フロッピー上にあって意味をなすのかどうか未調査ですが、後者についてはホストOSのメモリ不足が原因で起動ディスクによるXPのインストールをしている場合には必須、使わないとフリーズの原因になり、インストールをやり直す羽目になります。
尚、Windowsでは、ファイルエクスプローラの[表示]や[ツール]メニューの[設定]や[フォルダオプション]から[表示]タブを選択し、[全てのファイルを表示する]にチェック、[保護されたオペレーティングシステムのファイルを表示しない(推奨)]のチェックを外して[適用][OK]とすること、しないとAUTOEXEC.BATやCONFIG.SYS、IO.SYS、MSDOS.SYS等々のファイルが表示されません。
MS-DOS起動ディスクを使ってWindowsをインストールする場合は、FDISK.EXEでディスク上にパーティション作成・確保、FORMAT.COMでファイルシステムを設定してからWindowsのインストールを開始します。
その場合、MS-DOS自体にはCD-ROMへのアクセス方法がない為、多くの場合、OAKCDROM.SYSとMSCDEX.EXEを利用しますが、OAKCDROM.SYSは、ATAPI(IDE)接続CD-ROMドライブ用の汎用CD-ROMドライバであるものの決して万能というわけではないので他のドライバをが適している場合もありますし、ましてATAPI(IDE)接続ではなく、SCSI接続なら、それ用のドライバが必要となります。
MS-DOSからCD-ROMへアクセスする際にOAKCDROM.SYSなどのCD-ROMドライバとMSCDEX.EXEを使う場合は、AUTOEXEC.BATとCONFIG.SYSに追記する必要があります。
/D:スイッチの値、この例では CD001 は何でもOKですが、AUTOEXEC.BATのMSCDEX.EXEとONFIG.SYSのCD-ROMドライバ(OAKCDROM.SYS)の/D:スイッチの値は同じ値にしなければいけません。
/L:スイッチの値、この例では P は、インストールCD(、またはディスクイメージ)の入った(仮想)CD-ROMドライブを指し、使っているドライブレターと違うとか、他のドライブレターが好きとか、既存のドライブとバッティングするとか、LASTDRIVEが未指定、または、Pより前までしか指定していない場合などには環境に応じて書き換える必要があります。
CD-ROMドライバでは、当然ながら仮想CD/DVDドライブにもアクセスできますからCD/DVDメディアに焼かなくてもisoディスクイメージそのままで利用することも可能です。
以上でインストールできることでしょう。
尚、XPでは、95や98/98SEの時のようなインストール後の特別な措置は不要で、すぐに通常モードのXPを起動可能です。
ちなみにインストールが終わったら、仮想マシンのHDDにインストール済みということなので再起動する前にインストールに使ったFDやCD/DVD、もしくはそれらのディスクイメージはアンマウント(解放)しましょう。
少なくとも起動に使うブータブルメディア(、この例ではFD)は、そうしないと、また、セットアップが始まってしまいますから。
仮想マシンの起動設定の[ストレージ]もHDDを最優先するか、HDDだけを選択しておいてもよいでしょう。
VirtualBoxでWindows XPを起動する場合、クリーンインストール直後は、128MBでも動作しますが、アプリケーションをインストールするなら256MB、ちょっと重いソフトでも512MBも割り当てれば、たいてい軽快に動作するでしょう。
当サイト検証マシンだと256MBまでならホスト・ゲスト共に軽快、512MBだとホストOS上で全く作業できないほどではないですが、ゲストに専念した方が無難という程度です。
尚、少なくともWindows XPのセキュリティサポートが終了した後は、仮想マシンのネットワーク設定でホストオンリーか、ネット接続しないようにしてインターネットやメールを一切せずに利用するのが賢明です。