*使用許諾書(C:\Windows\System32\license.rtf)を読むと、直接物理マシン上でWindowsOSを動かす代わりに、仮想化装置上(VMwareESXiとかQEMUらかな?)で1つのWindowsOSを仮想マシンとして使用できる。と読めそう(3条d項目)。読解力の乏しい愚生には難しいのだが.....心配ならパッケージ正規品を買えばいいだけの話なんだけどね。
っで、そのままOEM windows7をインストールしても、ライセンスアクティベーションが通りません。どうやら本体マシンのBIOS情報が仮想マシンのBIOSに入っていないと無理みたい。っでここに回避策がある。https://github.com/ghuntley/seaslic
一応、対象メーカー製PCにLinuxを載せ /sys/firmware/acpi/tables があることが必須。
[root@c ~]# ls -CF /sys/firmware/acpi/tables
APIC BGRT DSDT FACP FACS HPET IFEU MCFG SLIC SSDT1 SSDT2 dynamic/
[root@c ~]#このように存在していたので行けそうである。まず、必要なパッケージをインストール
[root@c ~]# yum install iasl vim-commonそして、seaslicを取得
[root@c ~]# cd /opt/src/
[root@c src]# git clone git://github.com/ghuntley/seaslic
[root@c src]# ls -l seaslic
合計 16
-rw-r--r-- 1 root root 970 2月 11 09:26 2014 README.markdown
-rwxr-xr-x 1 root root 712 2月 11 09:26 2014 patch.sh
-rw-r--r-- 1 root root 1130 2月 11 09:26 2014 seabios.patch
drwxr-xr-x 2 root root 4096 2月 11 09:26 2014 seabios.submodule
[root@c src]#次に、qemuのBIOSであるSeaBIOSを取得。最新版のseabios-1.7.4だと失敗した。
[root@c src]# wget http://code.coreboot.org/p/seabios/downloads/get/seabios-1.7.2.tar.gz
[root@c src]# gzip -cd seabios-1.7.2.tar.gz | tar xf -
[root@c src]# cd seabios-1.7.2
[root@c seabios-1.7.2]# ls -CF
COPYING COPYING.LESSER Makefile README TODO src/ tools/ vgasrc/
[root@c seabios-1.7.2]#このSeaBIOSの中身をseaslicのseabios.submoduleに移します。
[root@c seabios-1.7.2]# cp -r ./* ../seaslic/seabios.submodule/っで、seaslicにて調整を施します。
[root@c seabios-1.7.2]# cd ../seaslic/
[root@c seaslic]# ls -CF
README.markdown patch.sh* seabios.patch seabios.submodule/
[root@c seaslic]# ./patch.sh
[root@c seaslic]# ls -l seabios.submodule/out/bios.bin
-rw-r--r-- 1 root root 262144 2月 11 11:04 2014 seabios.submodule/out/bios.bin
[root@c seaslic]# cp /opt/src/seaslic/seabios.submodule/out/bios.bin /qemu/完成したこのbios(bios.bin)をqemuで使います。
完全仮想化よりも準仮想化は動作が速くなる。VMwareで言うところの「VMware Tools」で高速化される感じと同等かな。
QEMU上では準仮想化にvirtioベースのHDDとNICが使用できる。CentOS6.5を仮想マシンにした時は、インストール時からvirtioを認識できていた。CentOS6.5のインストーラーにvirtioドライバが組み込まれていたのだろう。
windows7のDVDにはvirtioドライバは含まれていない。なので別途取得します。
[root@c ~]# cd /export
[root@c export]# wget http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/virtio-win-0.1-74.isoインストールするメディアはメーカー製PCに付属したOEMなwindows7。リカバリーメディアとして提供されているようなDVDである。ここではこのDVDをisoファイルに仕立てて、libvirtのXMLファイルを作成した。
本来ならCDROM装置1台で、OSインストール中にCDROMを差し替えて、virtioドライバを組み込むべきなのだろうが、
QEMUコマンドの detach-diskとattach-disk がOSインストール中に働かなかった....
なので、初めからCDROM装置を2つ用意してインストールを行った。
[root@c ~]# virt-install --connect qemu:///system --cpu=host \
--virt-type kvm \
--machine=pc \
--name ddns \
--ram 1024 \
--vcpus=1 \
--description "DDNS更新専用マシン" \
--os-type windows \
--os-variant win7 \
--boot cdrom,hd,menu=on,loader=/qemu/bios.bin \ *調整したBIOS
--disk pool=default,format=qcow2,bus=virtio,size=16,cache=writeback \ *OSを入れるHDD
--disk path=/export/virtio-win-0.1-74.iso,device=cdrom \ *virtioドライバが入ったCDROM
--cdrom /export/windows7HomePremOEM.iso \ *win7のCDROM
--network bridge=br0,model=virtio \
--graphics vnc,port=5900,listen=0.0.0.0,keymap=ja
[root@c ~]#実行後にVNCでコンソール画面を開いて、インストール操作を進める。

メーカー毎にリカバリーメディアの起動画面は違うと思うが、こちらではwindowsのロードが始まって「システム回復オプション」画面が現れた。そこで使用するキーボード入力方式を問われ「MicrosoftIME」を選択して「次へ」ボタンをクリックした。

またもや「システム回復オプション」画面なのだが、[以前に作成したシステムイメージを使用して、コンピューターを復元します]を選択したまま、「ドライバーの読み込み」ボタンをクリックする。

[ドライバーの追加]ダイアログが表示され、[OK]ボタンをクリックして、virtio向けのドライバーを組み込む。

virtio-win-0.1-74.isoを当て込んだEドライブのWIN7/X86から「VIOSTOR」「VIOSER」「VIOSCSI」「NETKVM」「BALLOON」を読み込んでおく。

読み込みが終わったら「次へ」ボタンをクリックするが、イメージが存在しないのでエラーになる。ここでは[キャンセル]ボタンを押す。

すると、[コンピューターイメージの再適用]画面が表示されるが、[キャンセル]をクリックする。

これで[Windowsの再インストール]が行える[システム回復オプション]画面に戻れる。

ここで[windowsの再インストール]リンクをクリックする。確認画面が表示されるが、[はい]を選択する。

ここで、virtioドライバが読み込まれていれば、先に進みます。読み込まれていないとディスクがありませんとエラーになります。

暫くするとOSの選択画面が表示され、メーカー製PCにOEM供給されたwindowsのエディションを選択します。
![]()
ライセンス条項に同意して、インストール先のHDDを選択します。

そしてインストールが開始されます。あとは通常通りに進めます。
*途中でプロダクトキーの入力が求められるかな?と思ったのだが、スルーでインストール完了。
一応コマンドラインで slmgr -dlv を実施すると
![]()
となる。システムプロパティ画面でも

と認証はされているみたい。
OSインストール完了後にデバイスマネージャを開くと


と定義されている
インストール完了後、virsh edit ddnsを実行して2台のCDROMを削除してvirsh autostart ddnsと本体マシンが起動したら仮想マシンも起動するようにすれば完了。