tuedaの日記

2012-10-13

[] Windows 7 on Hyper-V(WS2012) on ESXi 5.1 成功

ESXi 5.1のゲストOSとしてWindow Server 2012をインストールしてHyper-Vを入れてWindows7をインストールするテスト。

2時間ほどで意外とあっさり動いた。こんな感じ。

f:id:tueda_wolf:20121013155405p:image

問題はHyper-Vを入れるところで実機のCPUが仮想化をサポートしいる事をちゃんと教えてやらないといけない事。

おおよその手順は下記のURLの通り(なのだが後述の仮想ディスクをバージョン9にしないとHyper-Vは使えません)。

http://wahlnetwork.com/2012/09/05/installing-hyper-v-server-2012-on-esxi-5/


まずsshでログインして/etc/vmware/configに1行加える。

vhv.allow = "TRUE"

で、リブート(しなくてもいいかも)。

起動したら次に仮想PCを適当に作る。仮想PCのバージョンは8でしか作れないので8で作って後で9にバージョンアップする。

ゲストOSはWindows Server 2012 64bitで。

メモリは2Gにしておく(これ以上確保するとエラーが出る。修正は可能だが書くのがめんどくさいので2Gで)。

参考にしたHPが起動はBIOSではなくEFIにしていたのでそうした。多分関係ない。

この辺はわりとどうでもいい。


Hype-Vを使うには仮想マシンのバージョン9が必須(これ重要)。

停止しているときに仮想PCを右クリックして「ハードウェアのアップグレード」から9にアップグレードする。

f:id:tueda_wolf:20121013151817p:image


CPU識別マスクというのを修正しないといけないらしいのでこれも修正する。

Lv1のecxを

 ---- ---- ---- ---- ---- ---- --H- ---- 

f:id:tueda_wolf:20121013152115p:image

ただうちの環境だと下の方のデフォルト値を見る限り最初からビットが立ってるみたいなので指定しなくても動くかも。


次にまたsshでログインしてさっきの仮想PCの設定ファイルを修正する。

http://communities.vmware.com/message/2120160

/vmfs/volumes/データストア名/仮想PCの名前/仮想PCの名前.vmxみたいな設定ファイルがあるのでそれを書き換える。

ゲストOSを(GUIからは設定できない)"winhyperv"にするか4行書き加えればいいようだ。

どちらでも良いような事が書いてあったが念のため両方書き加えてしまったので良くわからない。

多分全部必要。

guestOS = "winhyperv"
もしくは、 
mce.enable = "TRUE"
hypervisor.cpuid.v0 = "FALSE"
featMask.vm.hv.capable = "Min:1"
vhv.enable = "TRUE"

終わったら仮想PCを立ち上げてWindows Server 2012をインストールする。

サービスマネージャーからHyper-VをインストールしたらクライアントOSを適当にインストールして終わり。

設定がうまくいっていないとCPUが仮想化機能を持ってないとか言われてHyper-Vをインストールできない。

f:id:tueda_wolf:20121013150957p:image


追記:ゲストOSのWindow7からネットに繋がらない。なぜだ。まあいいや

ネットワークの修正

2013/01/01追記:デフォルトでゲストOS/WinServer2012/ESXiの構成でゲストOSがネットワークにつながらないのは仕様のようだ。

ESXiの仮想NICスイッチをpromiscuousモード(無差別モード)に変更すると無事ゲストOSからネットワークにつながる。

f:id:tueda_wolf:20130103100633p:image

あと仮想NICに標準のe1000ではなくVMXNet3を使ったがVMWare Toolsをインストールしないと使えないようだ。



GPUパススルー

本当にやりたかった事は実はこれではなくてESXiでGPUをWS2012にパススルーして

Hyper-VのRemoteFXでリモートPCからDirectXを使ったゲームをしようと思った。

家のTS130だとGPUパススルーがどうやってもうまくいかなかったのだがHyper-Vなら何とかしてくれるかも、という淡い期待を抱いてパススルーしてみると

WS2012が起動するときにESXi毎落ちたでござる。やっぱ駄目カー

Windows8でも駄目だったので無理だとは思った。

やっぱTS130だとどうやっても無理だな。

残る手段はCPUを内蔵GPU無しに変える事だが、あまり成功しそうにない事に2万円は払えん。

リンク元