OEM版WindowsOSをKVMでラインセンス認証させる

OEM版でPCにプレインストールされているWindowsをライセンス認証通す方法について。

OEM版のライセンスとは

PCメーカがOSインストール済みPCとして出荷するために、そのデバイスで使う限り有効なWindowsのOSのライセンス体系。
基本的にそのデバイスが壊れない限り、OSの再インストール等は有効。

ただ、仕組み的にはBIOSの情報を見てそのハードウェアがPCメーカのものか否かを判断し、否と判断された場合にはライセンスは無効、というチェックが走っているようだ。

実OSとして提供されていたWindowsを、Linuxに入れ変えてそのKVM仮想マシンとしてWindowsをつくった場合、普通にやればBIOSはKVMのものになるので無効判定されてしまう。

OSライセンスはそのマシンで実行する限り有効であり、仮想か実機かは問われていないため
KVMを介してWindowsを使えてもいいはず。

KVMの設定方法

こちらにズバリのやり方が紹介されている。

virshに親しくないので、virt-managerでのGUI操作と合わせながらの手順を記す。

実機のBIOS情報の取得

# smbios type=0に使う
dmidecode -t 0

# smbios type=1に使う
dmidecode -t 1

出力された内容はメモしておく。

マシンの定義

virt-managerより仮想マシンの新規作成を選び、初期セットアップまで済ませる。
セットアップが済んだら仮想マシンをシャットダウンしておく。(この時点ではライセンスは無効となるはず)

仮想マシンの定義XML(/etc/libvirt/qemu/*.xml)の修正

参考にしたサイトに習い、以下の内容を追記する。

  1. ルートタグ”domain”にxmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'属性の追加
  2. “domain”タグにqemu:commandline要素を追記
  3. “domain.os”タグにsysinfo要素を追記

なお2について、参考サイトにある

    <qemu:arg value='-acpitable'/>
    <qemu:arg value='file=/var/lib/libvirt/images/slic.bin'/>
    <qemu:arg value='-acpitable'/>
    <qemu:arg value='file=/var/lib/libvirt/images/msdm.bin'/>

という要素は不要だった。

仮想マシンを起動し、ライセンス認証を実施

正しくXMLが修正できていれば、ラインセンス認証が通るはず。
手元の環境でやった限りは成功した。

悪用は厳禁だが、Windowsオンリーの環境からLinuxメイン+Windowsという環境にするためにはこれで実現できるので、便利。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です