田舎者Yの日記

片田舎のバイク乗り・Linuxユーザ、つまり変わり者のブログ

Ubuntu上でvmplayerによりXPを動かす

 昨年 Windows Vista が発売されたら買うつもりでいた。しかし世間の評判は芳しくなく、その後もなかなか好転しなかった。ちょうどカミさんがノートPCを欲しがったのでVistaのノートを買ってやり、密かに自分でも使ってみた。Core2DuoのCPUでメモリも2GBと多少奢ってみたのだが、激しい遅さに絶望した。(今でも時折、Vistaを早くする設定法がウェブの話題になるが、新品のハードでデフォルトで激遅って何か間違ってないかい、とMSに問いかけたくなる。)

 そこで以前にも書いたようにWindows XP Professional を買うことに決めた。私の場合はLinux上でvmwareのゲストOSとしてWindowsを使いたいので(通常の逆パターンか)HDDを大きく占有しメモリも消費し、しかも動作の遅いVistaはすでに選択肢にはない。 XP Pro.のPCは持っているのだが、DELL製であり、DELLの付属CDではハードウェアの認識が行われるらしく他のハードウェアにはインストールできない。(また同時に2ヶ所以上インストールすることも使用許諾違反であろう)この6月には正規版も販売停止となることもあって正規版のパッケージを購入した(OEM版等はまだしばらく販売するようである)連休に入ってからオンラインで注文したら今日届いた。便利な時代になったものだ。

 少しお金をケチってアップグレード版にした。(Windows2000を持っているので)このことが後々大変なことになる。


 さて本題である。VMware-Player (vmplayer) でホストOSをUbuntu 8.04 、ゲストOSをWindows XP Pro. となるように設定してみた。
f:id:m_yanagisawa:20080506185455p:image

 vmplayer はこの間も書いたように既に Ubuntu にインストールしてある。

 QEMUにより仮想ディスク・ファイルを生成し、そこにWindowsXP をインストールした。
結論から言えば、私のはアップグレード版のXPであり、Windows2000 を認識させる必要があったのだが、これに苦労した。CDを入れ替えるとうまく認識しなくなってしまうのだ(実施したのは自作PC ドライブは日立LG製GSA-4163B)そこで私は以下の手順をとった。

  1. qemuでディスクイメージを作成する
  2. 一旦Windows2000をそれにインストールする。
  3. WinodwsXP のisoイメージを作って*1先のディスクイメージと同じディレクトリに入れる。
  4. 設定ファイル(私は"winxp.vmx"とした)を変更して先ほどのisoイメージをCDドライブに設定。
  5. vmplayerでゲストOSを起動する際、Escキーで起動先をCDドライブに指定し先ほどのisoイメージから起動して、XPのインストールを完了する。
  6. 最後に Vmware Tools をゲストOS上でインストールした。

 具体的な手順はいろいろと検索して見たのだが、特にqemuによるディスクイメージの作成や設定方法などは以下のページを参考させていただいた。

 QEMUとVMware Player@FC5 : ryo.com


 さて具体的には以下のように行った。私の Ubuntu 8.04 には既にvmplayerがインストールされている。

 QEMUがインストールしてなかったのでインストールした。

sudo apt-get install qemu

 ディスクイメージを作成する。

qemu-img create -f vmdk winxp.vmdk 15G

 HDDに余裕があるので15GBと設定したが作成後は8GB程度であった。(何故?)


 ディスクイメージ "winxp.vmdk" に対する設定を以下のようにして、それと同じディレクトリに"winxp.vmx"として保存した。

config.version = "8"
virtualHW.version = "3"
memsize = "512"
ide0:0.present = "TRUE"
ide0:0.fileName = "winxp.vmdk"
ide1:0.present = "TRUE"
ide1:0.fileName = "auto detect"
ide1:0.deviceType = "cdrom-raw"
floppy0.present = "FALSE"
ethernet0.present = "TRUE"
ethernet0.connectionType = "nat"
usb.present = "TRUE"
sound.present = "TRUE"
sound.virtualDev = "es1371"
displayName = "Windows XP"
guestOS = "winxppro"
nvram = "winxp.nvram"
ide0:0.redo = ""
ide1:0.autodetect = "TRUE"

 私の場合は,"memsize = "512" としてみた。
この状態で、CDドライブにWindows2000 のCDを入れて、" vmplayer winxp.vmx " とするとWindows2000のインストールが始まる。適当に設定して完了しゲスト側でシャットダウンしておく。

 上記に述べたように、私の場合はアップグレード版のXPであるのでそのisoイメージを作って、同じディレクトリに置く。仮に"winxp.iso"とでも名前を付けて、上記の"winxp.vmx"の7,8行目を以下のように書き換えておく。

ide1:0.fileName = "winxp.iso"
ide1:0.deviceType = "cdrom-image"


 vmplayerを起動するとゲストOSの起動が始まるので素早くEscキーを押してCD-ROMからの起動を選択、後はXPのインストールが始まるので適当に設定する。私はXPをインストールするのが目的だったのでWindows2000の領域をフォーマットしてXPをインストールした(アップグレード版でなかったらこんなに苦労しなかった。数千円をケチった私がアホだった)

 インストールが終わったら、"winxp.vmx"の設定を元に戻しておく。その前にVmware-Toolsのインストールを済ましておくと良い。VMware-Serverをダウンロードすると"windows.iso"というツールCDのイメージが付いてくるのだが、私は以前ダウンロードしたものを使た。"winxp.vmx"の7,8行目を

ide1:0.fileName = "windows.iso"
ide1:0.deviceType = "cdrom-image"

としてゲストOS側からインストールできる。

(追記)
 こんな面倒なことをしなくても二回目に挿入したXPのCDを認識させる方法を見つけた。vmplayerのメニューにある「CD-ROM(IDE 1:0)」を二回クリックするだけであった。

 QEMUによるディスクイメージにUPG版XPをインストールする - 山河に在りて

*1:GnomeUbuntuならマウントしたディスク・アイコンを→クリックして「イメージを作成」で作れる。