2012年6月30日土曜日

P2V: 物理PC(Vista 64bit) を QEMU-KVMで仮想化


P2Vツールを使わずに物理PC(Vista Home Premium 64bit)のHDDをQEMU-KVMのゲストに移してみた。

[物理PC]
マザーボード:
 M2NPV-VM (NVIDIA GeForce 6150 + nForce 430)
CPU:
 AMD Athlon 64 3500+ (コア数1)
HDD:
 SATA HDD 320GB 1台
OS:
 Windows Vista Home Premium (64bit版)

[QEMU-KVMのホストPC]
CPU:
 Intel Celeron G530(VT対応, コア数2)
OS:
 Ubuntu 12.04 LTS (64bit版)
QEMU-KVM:
 QEMU emulator version 1.0
 
最初、Vistaの設定をいじらずにHDDをゲストに移すとどうなるか試してみた。
ただし、Vista起動中にエラーが発生した場合、自動再起動す設定だとエラー表示を見れないので、物理PCでVistaを起動して、
コントロールパネル-システムの詳細設定  > 起動と回復-設定 > システムエラー にある
[v]自動的に再起動する

[ ]自動的に再起動する に変更してからHDDをddでHDDイメージを作成した。
QEMU-KVM ゲストの設定は、virt-managerのウィザードに頼った。(OS:Vista, CPU:2個, Arch:x86_x64)

QEMU-KVM ゲスト上のIDEにHDDイメージを接続し、ゲストを起動してみた。


(10行ぐらいエラーメッセージ)

*** STOP: 0x0000007B (以下略)


というエラー表示で固まった。私の物理PCでは、Vista上での準備が必要みたい。
 
QEMU-KVMがシミュレートするIDEコントローラは、通常、Intelの82371SB PIIX3らしい。
このコントローラ用のドライバのようなもの(Service)について設定変更したところ、起動できた。
具体的には、レジストリの編集(regedit)で
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\intelide にある
Start の値が
4
だったので
0
に変更してからddでHDDイメージを作成し、QEMU-KVM上のIDEに接続してゲストを起動したところ、Vistaを起動できた。
初回起動は5分ぐらいかかりました。2回目以降は2分程度でした。
CPUを指定したりvirtioドライバをインストールしたりしてるうちに30秒程度で起動できるようになりました。
virt-managerのウィザード設定どまりだと、遅いみたいです。

Web情報*によりますと、CPUのコア数がシングル(1)<=>マルチ(2以上)の間で変更する場合、 XPではHALについて何か設定がひつようみたいですが、 少なくともVista 64bitでは不要みたいです。 ただし、Home Premiumエディションだからだと思いますけど、 ソケット数ではなく、コア数でゲストへのCPU割り当てを増やす必要がありました。

検証内容
・ゲストのCPU:2個(sockets=1,cores=2,threads=1)に設定し、Vista起動
  CrystalMark2004R3:ALU=24773,FPU=22409
  シャットダウン
・ゲストのCPU:1個(sockets=1,cores=1,threads=1)に変更し、Vista起動
  CrystalMark2004R3:ALU=13005,FPU=11644
  シャットダウン
・ゲストのCPU:2個(sockets=2,cores=1,threads=1)に変更し、Vista起動
  CrystalMark2004R3:ALU=12863,FPU=11206

 参考:
 http://stakasaki.at.webry.info/200702/article_2.html
 [Vista] OS再インストールなしにマザーボード交換Vista編 速報版 ハマる生活/ウェブリブログ

 http://d.hatena.ne.jp/moriyoshi/20091116/1258368163
 VMware Server 上で利用している Windows XP のイメージを KVM に移行する際、ブルースクリーン (0x0000007B) が出てしまう問題への対処法 - muddy brown thang

 http://wwwwayanwww.blog100.fc2.com/blog-entry-91.html
 永久無料のWeb日記★ミ  VISTAスゲェw(シングルコアからデュアルコアへのCPU交換)

 http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers
 Windows VirtIO Drivers

0 件のコメント:

コメントを投稿