無償のWindows Hyper-V Server 2012 R2で遊ぶ

MSはWindowsのサーバ向けOS Windows Serverのサブセットである"Windows Hyper-V Server"を無料で提供している。これは、Server CoreインストールとHyper-Vロールのみを備えたWindows Serverそのものであり、実際に機能する。

VirtualBoxはnested virtualzationに対応していないので、Hyper-V自体は動作しない。

EULA

Hyper-V Serverは、基本的にHyper-VVM環境を使用する目的でのみライセンスされる。EULAによれば:

The instance of the server software running in the physical operating system environment may be used only to:

  • provide hardware virtualization services, and/or
  • run software to manage and service operating system environments on the licensed server.

例えば、Hyper-V Serverでビルドサーバとかメールサーバをやるのは"operating system environments"を提供しているわけではないと解釈できるので多分NGだろう。

できないこと

基本的にServerCoreしか導入できないため、多くの機能が欠落している。逆に言えば、巨大なOSと思われるWindowsでも、ここまでモジュラーにできるということでも有る。Hyper-V ServerのようなServer Coreインストールは今後のWindows Serverでは基本的なインストール形態となっていくと考えられているので、Windows Serverで使われそうなソフトを提供するならばサポートするのが好ましいと言える。

上のスクリーンショットにあるようにOpenGLは使用できない。このため、Cygwin/Xが動作しない。Xが動いたら地味に便利だと思うんだけど。。例えばMesaのOpenglのようなAPI互換実装を使えば多分動くが手元では試していない。

  • バイスマネージャ等管理コンソールに依存するもの全て(ローカル)

ローカルではGUIによるデバイス管理は難しい。また、ストレージの管理等もmmcに依存している。
Server CoreなWindows Serverは外部のコンピュータからmmcを使って接続した上で管理するのが正しい姿となっている。通常はドメインを構成しないと思うので http://technet.microsoft.com/ja-jp/library/jj574205.aspx#BKMK_1_4 "MMC スナップインを使用してドメイン メンバーでない Server Core モードのサーバーを管理するには" も参照。

つまりIEも動作しない。またタスクバーとかコントロールパネルもエクスプローラに依存するので使用できない。
しかし、いわゆるファイル選択ダイアログは正常に出る。このためシェル関連のCOMオブジェクトは使用できるようだ。

  • オーディオ

Desktop Experienceがインストールできないので、オーディオが一切使用できない。Windows Vista以降のオーディオ(WASAPI)はaudiosrvと呼ばれるサービス( http://blogs.msdn.com/b/windows_multimedia_jp/archive/2010/06/28/4-windows7.aspx )が動作に必要で、Server Coreではこれが存在しない。audiosrvはLinux等の環境ではPulseAudioとかjackのようなオーディオサーバデーモンに相当する。
... ということは、ASIOのような別のオーディオ環境をネイティブサポートしているアプリケーションとハードウェアの組合せであれば音は出るんだろうか。。

  • ...

他にもサポートされていないものは無数に有る。壁紙とか、テーマとか、Wi-Fiとか...

おすすめのソフト

VirtualBoxに導入するならば、VirtualBoxのGuest Additionsを導入することで共有フォルダによるファイルのやりとりが可能になる。画面の動的なリサイズ等も問題なく利用できる。
Corefig( https://corefig.codeplex.com/ )はPowerShell製のGUI設定ツールで、それなりの数のGUI設定を提供する。
Cygwinも普通に動作する。ssh server等も導入可能。Cygwinを常にAdministrator権限で使用するのはあまり賢い方法でないが。。minttyは標準で導入されるが、上のスクリーンショットのように"mintty -"(最後にハイフン)で起動しないと環境変数等が設定されず何もできない。
全てのウィンドウを閉じてしまって真っ黒な画面になってしまったときは、伝統のショートカットCTRL + ESCでタスクマネージャを呼び出すことができる。