いろいろやってみるにっき

なんとか自分の会社を立ち上げるところまで漕ぎ着けた、てきとーに生きている奴の日記

関連記事を探すときは、読んだ記事と同じカテゴリをクリックしてください。

記事のカテゴリは記事タイトル下に表示されています。カテゴリ一覧はサイドバーにあります。


【Windows XPサポート終了対策】Windows XPマシンの仮想化 その3

寝ようと思ったら右脚が攣りそうになり、右脚が攣らないように気を付けるなら起きているしかないということで寝不足(挨拶)。

 

■関連記事

【Windows XPサポート終了対策】Windows XPマシンの仮想化 

【Windows XPサポート終了対策】Windows XPマシンの仮想化 その2

 

前回「【Windows XPサポート終了対策】Windows XPマシンの仮想化 その2」においてはWindows XPP2Vで仮想化した。仮想化まではうまくいき、OSが起動して使えるところまでは確認したが、OSは使ったけどログイン前で無理矢理Excel起動というアブノーマルな使い方。よいこはマネしちゃダメなやつ。ログインはライセンス認証を通り抜けられず失敗。Windows XPの場合、ログイン前にアクティベーション必須なので仕方ない。

まじめにMicrosoftの認証手続きをすれば確実に使えるはずなのだが、サポートが切れるOSなので、何桁か数えたくもならないほど長い数字のアクティベーションコードを電話でやりとりしたくなく、とりあえず放置していた。

 

一昨日ちょっと仮想化の調べものをしていて、「OEMライセンスメディアでゲストOSをInstallする際の注意点 | VMware Communities」というエントリにヒットした。もしかするとOEMライセンス*1ならインストールメディアもP2Vした後のOSも同じかもと思い実験してみた。該当部分を引用する。

それらのOEMライセンスのCDによってはHWがOEM元のものでないとInstallもできないという状況になるらしくそれを回避する方法があります

.vmx ファイルに次の1行を追加してください。 

SMBIOS.reflectHost = TRUE

そうすると、物理HW情報を仮想マシンに持ってきてくれるため、OEM提供のCDを使用しゲストOSInstallできます。

ということでSMBIOS.reflectHost = TRUEを、前回P2VしたWindows XPの.vmxファイルに追加して起動。前回出た以下のライセンス認証ダイアログは出ず、ログイン可能。VM8

 今回は上のライセンス認証ダイアログが出ることなくログインできたので、すかさずVMware Toolsをインストール。VMware Toolsが入ればホスト⇔ゲストの操作権は[Ctrl]+[Alt]が不要になってスムーズ、画面解像度も自動フィット。

f:id:shigeo-t:20140327103811p:plain

f:id:shigeo-t:20140327103840p:plain

 

SMBIOS.reflectHost = TRUEを入れるとどこがどう変わるのか。まず.vmxファイルにSMBIOS.reflectHost = TRUEを入れていないWindows Server 2012のmsinfo32.exeのシステム情報。システム製造元、システムモデルが各々VMwareになっている。

f:id:shigeo-t:20140327104347p:plain

今回ライセンス認証無しで動作したWindows XPのmsinfo32.exeのシステム情報。システム製造元、システムモデルが「LENOVO」「4382PZ1」となっている。これが.vmxファイルにSMBIOS.reflectHost = TRUEを追加した効果。

f:id:shigeo-t:20140327122433p:plain

 

これにより、元々ThinkPad上で動作していたWindows XPが動いた。図示すると下記のようになる。

f:id:shigeo-t:20140327104639p:plain

 

なお、対比に使ったWindows Serverは試用版で、最初からVMware上にインストールしたので、システム製造元・システムモデルがVMwareで問題なく動作する。

ちなみに、VMware WorkstationではBIOSを物理PC/サーバと同一に見えるように作成して使用することができ、仮想OSに物理PC/サーバと同じBIOS情報を与えることができるらしい。今回はVMware Playerを使っているが、同じことができるかどうか情報がすぐにヒットしなかったのでまじめに調べていない。SMBIOS.reflectHost = TRUEを入れただけで動いちゃったもん。

 

あと、起動成功したあと、サポート終了のダイアログが出た!日本語なのに4月8日(米国時間)って書いてある。4月8日(米国時間)ならどこ時間かは分からないけど時差的に4月9日(JST)じゃん。直せばいいのに。

f:id:shigeo-t:20140327112110p:plain

f:id:shigeo-t:20140327112035p:plain

 

動いたからには2つやることがある。まずこのライセンスで問題ないのか?の確認。「マイクロソフト・ライセンス認証 − @IT」「Blogs - Windows Server 使い倒し塾 - Site Home - TechNet Blogs」「Windows XP プロダクト アクティベーション」で確認する。今回上の図のようにWindows XPはOEMライセンス。OEMライセンスの場合、OSがプレインストールされたハードウェアであれば動作させて問題ない。異なるハードウェアの場合はVL版*2をお勧めされるケースがあるので、要確認だろう。VL版ということだと「買え」ということ。とにかくライセンス違反はいけません。ダメ、ぜったい!

 

もう1つは、せっかく動いたので、Windows XPサポート終了後の確認用保存環境化。物理PCで持つ必要が無い。今までだってSSDに動作可能状態でOS他が入っていて、普段はThinkPadに刺さっていないわけだが。

前回「【Windows XPサポート終了対策】Windows XPマシンの仮想化 その2」ではVMware vCenter ConverterでP2Vをする前に、不要なアプリをアンインストールしまくった。しかしその時点ではThinkPad上でWindows XPを動かし、VMware vCenter Converterを使う都合があり、ハードウェアに関係するデバイスドライバ・管理プログラムは消すことができなかった。

仮想化されてしまえば、デバイスドライバVMware提供のジェネリックな仮想ドライバに置き換わる。Lenovo提供のデバイスドライバや管理プログラムは不要となるので、バンバン消しまくり。あと、Windows XPサポート終了後にサポートが切れそうなソフトウェアもアンインストールしまくり。その代わりWindows Updateや各ブラウザなどのバージョンアップを実施。

f:id:shigeo-t:20140327112149p:plain

f:id:shigeo-t:20140327112209p:plain

あとはログイン時に自動実行されるプログラムの削除。 確認用保存環境なので、できる限り自動実行は減らしておく。Windows TIPS -- TIPS:起動時に自動実行される不要なプログラムを「起動しないようにする」方法を見て削りまくり。

 

ちょっとThinkPad W520の内蔵SSDに余裕が無く、SATA─USBのHDDスタンドでHDDに仮想イメージを格納してWindows XPを起動していた。このため大変動作が遅い。Windows XPは仮想化で問題ないことがわかったので、今までWindows XPがインストールされていたSSDをフォーマットして使用することに。もう物理PCで起動する必要ないし。

f:id:shigeo-t:20140327111714j:plain

インストール,アンインストールはディスクI/Oが多いので、SSD化は非常に高速化に寄与した。Windows XPで確実に動くベンチマークソフト「CrystalMark 2004 - ソフトウェア - Crystal Dew World」で比較。7,725ポイント向上。

【HDDに仮想マシンを格納】

f:id:shigeo-t:20140327112302p:plain

SSD仮想マシンを格納】

f:id:shigeo-t:20140327112312p:plain

 

おまけで実験。SMBIOS.reflectHost = TRUEを入れることで物理PC ThinkPadだったものを仮想化してThinkPad上で動作確認できた。手元には初回「【Windows XPサポート終了対策】Windows XPマシンの仮想化 」で作成した仮想イメージのWindows 8もある。学生に配布するためのキッティングをしたDynabookの仮想イメージ。

そこでこのDynabook Windows 8仮想イメージもSMBIOS.reflectHost = TRUEでライセンス認証無しになるかどうかを確認。結論から言うと、状況は変わらず。システム製造元、システムモデルが「LENOVO」「4382PZ1」だとTOSHIBADynabookの型名とは違うので、物理PCのシステム製造元、システムモデル情報を渡しても意味が無い。多分同一Dynabook上で動作させれば動くと思うが、研究室まで当該Dynabook鶏肉取りに行くのが面倒なのでそのうち気が向いたら。Windows 8の場合はライセンス未認証でも、ログインして使用できるのでとりあえずは困らないわけだが。

f:id:shigeo-t:20140327113217p:plain

 

今回のようにHDDとかSSDとか抜き差ししながら使うのにはHDDスタンドが必要。1台どうぞ。だいたいのHDDスタンドは2.5インチ・3.5インチ共用。HDDケースだと2.5インチと3.5インチは違うものを買う必要があるし差し替えの時は開けたり閉めたり大変。

*1:MicrosoftはPCベンダがPCにプレインストールしてOS販売するモデルをOEMと呼称している

*2:ボリュームライセンス