無償のHyper-V Server 2012 R2利用

Hyper-V Server 2012 R2はWindows Server 2012 R2付属のHyper-Vサーバ機能に特化した無償の仮想化ソフトウェアです。

Hyper-V Server 2012 R2は64bit版Server CoreでGUIインタフェースはありませんが64bit版Windows 8.1付属のHyper-V機能を含んでいます。
ここでは64bit版Windows 8.1付属のHyper-Vには含まれないHyper-V Server 2012 R2での機能を中心にその利用方法について紹介致します。

今回使用したPCのハードウェア/ソフトウェア構成は以下の通りです。



■ Hyper-V Server 2012 R2のインストール

マイクロソフトのサイトから9600.16384.WINBLUE_RTM.130821-1623_X64FRE_SERVERHYPERCORE_JA-JP-IRM_SHV_X64FRE_JA-JP_DV5.ISOファイルをダウンロードしてDVDに書き込みインストールします。
インストール開始画面
インストール後のロック画面
サインイン画面

Hyper-V ServerはServer Coreと言われるサーバであり基本的にコマンドプロンプトとsconfigというサーバ構成ツール(CUI操作インタフェース)しかありません。
(GUIのメモ帳/タスクマネジャ/若干のコントロールパネル等は使用できます)


■ Hyper-Vレプリケーションとフェールオーバ

ディザスタリカバリ対策としてのHyper-VレプリケーションはWindows Server 2012 Hyper-Vでサポートされた機能です。
Windows Server 2012 R2のHyper-Vではレプリカの更なるレプリカを作成する2段階レプリカ作成機能(正式名はレプリケーションの拡張)がサポートされました。
しかし64bit版Windows 8.1付属のHyper-VではHyper-Vレプリケーションは行えません(Hyper-Vの設定にレプリケーション項目がありません)。
64bit版Windows 8.1でHyper-Vレプリケーション機能が使えなくても無償のHyper-V Server 2012 R2を導入すれば32bit版Windows 8.1からでもHyper-Vレプリケーションを簡単に操作できるようになります。
ここでは32bit版Windows 8.1 Pro+Hyper-V Serverでのレプリケーションとフェールオーバについて紹介します。
尚、ここでのHyper-V ServerはWindows Serverとの併用環境でないためActive Directory(ドメイン)環境ではなくワークグループ環境での利用とします。
(Windows Serverでの役割選択一覧と違ってHper-V Serverでの役割選択一覧にはActive Directory関連の役割はありません)
ワークグループ環境の場合はHyper-V Serverでもライブマイグレーション(仮想マシン内でのアプリケーションを実行したままの状態でその仮想マシンを他のサーバに移動させること)は実施できません。

  1. Hyper-V Serverでの設定
    ここではHyper-Vレプリケーションの利用ということでコンピュータ名「HVS12R2」と「HVSHVS12R2」という二つのHyper-V Server間でのレプリケーションを前提にしています。
    ・HVSHVS12R2がレプリケーションのプライマリサーバ(送り側)です。
    ・HVS12R2がレプリケーションのレプリカサーバ(受け側)です。


  2. 自己署名証明書(self-signed certificate)の作成
    (1)makecert.exeの取得
    Windows SDK for Windows 8.1をダウンロードして32bit版Windows 8.1 Proにインストールします。
    C:\Program Files\Windows Kits\8.1bin\x64\makecert.exeをレプリケーション用のプライマリサーバとレプリカサーバの任意のフォルダにコピーします。
    (C:\Program Files\Windows Kits\8.1bin\x86\makecert.exeもありますがHyper-V Serverは64bit版ですのでx64用をコピーします)
    例:C:\Temp\cert\makecert.exe
    (2)http://technet.microsoft.com/en-us/library/jj134153.aspx(Prepare to Deploy Hyper-V Replica)の
    「To create a self-signed certificate with Makecert.exe」に記載されているようにレプリケーションのプライマリサーバ(HVSHVS12R2)とレプリカサーバ(HVS12R2)用に自己署名証明書を作成してインポートしておきます。
    (makecertで指定する項目が多いので各サーバにRDP接続してコマンドラインにmakecertコマンドの内容をコピー&ペーストするのがベターです)
    下記はそのコマンド例です。
    makecert -pe -n "CN=HVS12R2" -ss my -sr LocalMachine -sky exchange -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2 -in "ReplicaTestRootCA" -is root -ir LocalMachine -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 ReplicaTest.cer

  3. 32bit版Windows 8.1へのリモートサーバ管理ツールの導入
    (1)Windows8.1-KB2693643-x86.msu(Microsoft Remote Server Administration Tools for Windows 8.1)をダウンロードしてインストールします。
    (2)更にhvremote.wsfもダウンロードして32bit版Windows 8.1及びレプリケーション用のプライマリサーバとレプリカサーバの任意のフォルダにコピーします。
    例:C:\Temp\HVREmote\hvremote.wsf
    (3)各マシンでhvremote.wsfを使ったコマンドを実行します。
    [32bit版Windows 8.1側]
    cscript C:\Temp\HVRemote\hvremote.wsf /anondcom:grant
    winrm set winrm/config/client @{TrustedHosts="HVS12R2,HVSHVS12R2"}
    cmdkey /add:HVS12R2 /user:Administrator /pass
    (HVS12R2のAdministratorのパスワードを要求されますので入力します)
    cmdkey /add:HVSHVS12R2 /user:Administrator /pass
    (HVSHVS12R2のAdministratorのパスワードを要求されますので入力します)

    [レプリケーション用のプライマリサーバとレプリカサーバ側]
    cscript C:\Temp\HVRemote\hvremote.wsf /add:Administrator
    net localgroup "Hyper-V Administrators"
    ("Hyper-V Administrators"というエイリアス名のグループにAdministratorがメンバ表示されることを確認します)

  4. 32bit版Windows 8.1でのサーバマネジャの利用
    上記のリモートサーバ管理ツールの導入によって[管理ツール]の中から[サーバマネジャ]を起動できます。
    (通常はサーバマネジャのショートカットをタスクバーにピン留めしておきます)
    (1)サーバマネジャのダッシュボードの[クイックスタート]の[1 管理するサーバの追加]をクリックします。
    (2)「サーバの追加」画面の「DNS」タブ(ワークグループ用)を開き、HVS12R2とHVSHVS12R2を検索して登録します。
    (3)サーバマネジャの[すべてのサーバ]をクリックします。
    (4)サーバの管理状態が「WinRMのネゴシエート認証エラー」と表示された場合は、そのサーバの右クリックメニューの[管理に使用する資格情報]を選択して、ユーザ「コンピュータ名\Administrator」とそのパスワードを指定します。
    (5)サーバの管理状態が「オンライン - パフォーマンスカウンタが開始されていません」と表示された場合は、そのサーバの右クリックメニューの[パフォーマンスカウンタの開始]をクリックします。
    (6)各サーバのIPアドレスが表示されて、かつ管理状態が「オンライン」となっていれば問題ありません。
    (7)Hyper-V Serverへの役割・機能追加はサーバマネジャに登録したサーバの右クリックメニューの[役割と機能の追加]で行えます。
    (8)サーバマネジャに登録したHyper-V Serverの右クリックメニューの[リモートデスクトップ接続]でHyper-V Serverの操作がリモートから行えるようになります。
    尚、このRDP接続時「この証明書は信頼された認証機関からのものではありません。」という警告が表示されます。
    その警告表示を抑止するためには[証明書を表示]-[証明書のインストール]で[信頼されたルート証明機関]ストアにインポートすればOKです。

  5. 32bit版Windows 8.1でのHyper-Vマネジャ利用
    (1)サーバマネジャの[ツール]メニューから[Hyper-Vマネジャ]を起動します。
    (2)Hyper-Vマネジャの[サーバに接続]でレプリケーション用のプライマリサーバ(HVSHVS12R2)とレプリカサーバ(HVS12R2)を指定します。
    (3)プライマリサーバ(HVSHVS12R2)とレプリカサーバ(HVS12R2)それぞれに仮想スイッチを登録します。
    (4)プライマリサーバ(HVSHVS12R2)とレプリカサーバ(HVS12R2)それぞれに仮想マシンを作成します。
    (5)レプリカサーバ(HVS12R2)に作成した仮想マシン例
    ・HVS12R2に作成した仮想マシンにインストール中のWindows Server 2012 R2 Datacenter
    ・Windows Server 2012 R2 Datacenterインストール後のサインイン画面デスクトップ画面
    (6)Hyper-V Serverの仮想マシンにHyper-V Server自体をインストールすることはできますが仮想マシン内ではVMBusは利用できないため仮想マシン内のHyper-V Serverでは仮想マシンを起動することはできません。

  6. レプリケーション実行例
    ここではレプリケーションのプライマリサーバ(HVSHVS12R2:送り側)中の仮想マシン「HVSHVSWork」と「HVSHVSWin81(ゲストOS:Windows 8.1)」をレプリカサーバ(HVS12R2:受け側)にレプリカする手順を紹介します。

  7. HVSHVSWin81のレプリカ

  8. Hyper-V Serverのシャットダウン
    Hyper-V Serverのシャットダウンは通常はsconfig.cmdのメニュー「13) サーバーのシャットダウン」で行います。
    もちろん「shutdown /s」コマンドでも行えます。



■ Hyper-V Server仮想マシンでの3DMark 11の実行

DirectX 11対応グラフィックカードのベンチマークテスト用ソフトである3DMark 11をHyper-V Server仮想マシンで実行する手順を以下に紹介します。
Hyper-V Server仮想マシンで3Dグラフィックス機能(DirectX機能)を使用したソフトを実行するにはHyper-V ServerのRemoteFX 3D( ビデオアダプタ )機能を使用します。
DirectX 11対応グラフィックカードをRemoteFX 3D機能として使用するかどうかはHyper-Vの設定画面での物理GPU項目欄で指定します(詳細は後述)。
(64bit版Windows 8.1ではそのHyper-Vの設定画面に物理GPU項目はありませんのでRemoteFX 3D機能は使用できません)
尚、今回3DMark 11を実行したHyper-V Serverは上記で示したレプリカサーバ(HVS12R2:受け側)で、仮想マシンは「HVSHVSWin81 - テスト」というテストフェールオーバ用仮想マシンです(仮想マシンの世代種別:第1世代)。

  1. Hyper-V ServerへのDirectX 11対応グラフィックカード/ドライバの導入
  2. Hyper-Vホストへの「リモートデスクトップ仮想化ホスト」の役割サービスの導入
    RemoteFX 3D機能を使用するには以下の手順で「リモートデスクトップ仮想化ホスト」の役割サービスを導入しておく必要があります。
    (1)サーバマネジャの起動。
    (2)サーバマネジャで管理しているHVS12R2(レプリカサーバ)に対する[役割と機能の追加]を起動。
    (3)「役割と機能の追加」ウィザードでの「役割サービスの選択」画面で[リモートデスクトップ仮想化ホスト]をonにします。
    ※リモートデスクトップ仮想化ホストをインストールした場合の「役割と機能の追加」ウィザードでの表示内容はこちらです。

  3. Hyper-VホストでのRemoteFX 3D ビデオ アダプタの利用可能化設定
    (1)Hyper-Vホスト(今回はレプリカサーバであるHVS12R2)の[Hyper-Vの設定]で「HVS12R2のHyper-Vの設定」画面を開きます。
    (2)物理GPU(RemoteFXのGPUの管理)の右側のGPU選択欄に[1. AMD Radeon HD 6450]が自動表示されます。
    (3)[このGPUをRemoteFXで使用する]にチェックを入れます。


  4. 仮想マシン設定でのRemoteFX 3D ビデオアダプタの追加
    (1)仮想マシン(今回はレプリカサーバ側の「HVSHVSWin81 - テスト」)の[設定]で「HVSHVSWin81 - テストの設定」画面を開きます。
    (2)ハードウェアの追加デバイスとして[RemoteFX 3D ビデオアダプタ]を選択して<追加>ボタンをクリックします。
    第2世代の仮想マシンでは追加デバイスとして[RemoteFX 3D ビデオアダプタ]は表示されませんので追加不可です。
    (3)追加された「RemoteFX 3D ビデオアダプタ」のモニタ設定(モニタ最大数と最大解像度設定)を行います(通常はデフォルトのままでOKかと思います)。

    ※モニタ数によって最大解像度は変ってきます(例:AMD Radeon HD 6450の場合はモニタ数が5個以上の場合は1280x1024が最大となります)。

  5. 仮想マシンでの3DMark 11の実行
    (1)仮想マシン(レプリカサーバ側の「HVSHVSWin81 - テスト」)に接続して起動します。
    ※RemoteFX 3D ビデオアダプタを追加した仮想マシンは拡張セッションモードにはなりません(したがってサウンドのリモート再生不可)。
    つまりHyper-V ServerにはWindowsオーディオサービスも存在しないのでローカル・リモート共にサウンド再生不可となります。
    (2)起動後、仮想マシン側のデバイスマネジャでディスプレイアダプタが「Microsoft RemoteFX グラフィック デバイス - WDDM」となっていることを確認します。
    (3)3DMark 11を起動します。
    下記はGRAPHICS TEST 4実行の様子です。
    (RemoteFX 3Dはサーバ側の物理GPUを直接使用するのですが描画データ転送速度の影響を受けてコマ送り的に感じます)

    実寸画像はこちらです。

  6. 3DMark 11のスコア確認
    3DMark 11の総合スコアがブラウザに表示されます。
    今回は総合スコアがP590でした。

    実寸画像はこちらです。

    [補足]
    (1)今回のスコア内訳は以下の通りです。
    ・Graphics Score:549
    ・Physics Score:1109 (仮想マシンのプロセッサ数を1から2に変更するとこのスコアは約2倍になりますが総合スコアへの影響はほとんど皆無です。
    ・Combined Score:518
    (2)仮想マシンのプロセッサ数指定値が1の場合はCPU種別が正しく認識されず「Intel Xeon X5550」と表示されます。
    プロセッサ数指定値が2の場合は正しいCPU種別(例:「Intel Core i7-920 Processor」)が表示されます。
    (3)今回は仮想マシンのOSは32bit版Windows 8.1でしたが仮想マシンのOSがWindows 7 SP1の場合はその仮想マシンの設定でRemoteFX 3D ビデオアダプタを追加しても仮想マシン内ではDirectX未対応の「標準VGAグラフィックアダプタ」となります。
    (4)仮想マシン内のデバイスマネジャでのディスプレイアダプタが「Microsoft RemoteFX グラフィック デバイス - WDDM」でない場合、
    3DMark 11を起動すると「No DXGI adapters with output found.」エラーとなります(DXGIはDirectX Graphics Infrastructureの略)。

  7. 3D Mark11を動作させた仮想マシンへの他のPC(Linux)からのRDP接続
    3D Mark11を動作させた仮想マシンに別のベアマシン(Linux)からRDP接続を行ってみました。
    ここでの「3D Mark11を動作させた仮想マシン」というのは上記のレプリカサーバ側の「HVSHVSWin81 - テスト」仮想マシンです。
    また別のベアマシンというのはopenSUSE 13.1 GNOME Live(英語版)実行PCのことです。
    openSUSE 13.1 GNOME Live(英語版)版から3D Mark11を動作させた仮想マシンへのRDP接続手順は以下の通りです。

  8. iPhoneからHyper-V仮想マシンへのRDP接続
    iPhoneでのVPN環境を利用してiPhone用Microsoft Remote Desktop(RD Client)からHyper-V仮想マシンへRDP接続してみました。
    RDP接続先は上記のレプリカサーバ側の「HVSHVSWin81 - テスト」仮想マシンです。
    接続先一覧RDP接続デスクトップ表示例
    [補足]
    (1)iPhoneから「HVSHVSWin81 - テスト」仮想マシンにRDP接続した場合はiPhone側でのサウンド再生も可能となります。
    (2)iPhoneから「HVSHVSWin81 - テスト」仮想マシンにRDP接続して3D Mark11を実行できます(GRAPHICS TEST 3実行の様子)。
    ※最初のデモ部分ではiPhone側でのサウンド再生が可能です。

  9. ゲストOSがWindows 7の仮想マシンでのRemoteFX 3D機能の利用
    ゲストOSがWindows 7の仮想マシンでもRemoteFX 3D機能を利用できます。
    但し、Windows 7 Ultimate SP1/Windows 7 Enterprise SP1に限定されます。
    Windows 7 Professional版ではWindows 7 SP1とHyper-Vの統合サービスをインストールしても以下のドライバが組み込まれないためRemoteFX 3D機能は利用できません。
    ・Microsoft RemoteFX Graphics Device - WDDMドライバ
    ・Synth3dVscドライバ(Microsoft Virtual 3D Video Transport Driver)

    RemoteFX 3D機能とは関係ないかも知れませんがWindows 7 SP1を適用した場合Windows 7 Professional版には「Remote Desktop Video Miniport Driver」はインストールされません。
    ※Windows 7 SP1を適用したWindows 7 Ultimate版の場合、「Remote Desktop Video Miniport Driver」はデバイスマネジャの[表示]-[非表示のデバイス表示]での「プラグアンドプレイではないドライバ」の中に表示されます。

    Windows 7 Ultimate SP1(32ビット版)をゲストOSとした仮想マシンでのRemoteFX 3D機能の利用手順は以下の通りです。
    (1)Windows 7 Ultimate SP1用仮想マシンを定義します(ここでの仮想マシン名:HVSWin7Ult)。
    (2)Windows 7 Ultimateをクリーンインストールします。
    (3)Windows 7 Ultimateに対してWindows 7 SP1を適用します。
    (4)Hyper-V統合サービスをインストールします(Ver6.1.7601.17514からのアップグレード扱いになります)。
    ※仮想マシンの中でのネットワークアダプタは「Microsoft Hyper-V ネットワークアダプタ」となります。
    (5)ゲストOSがWindows 7の仮想マシンでのRemoteFX 3D機能の利用はHyper-V Server 2008 R2 SP1環境と同様に仮想マシンへのRDP接続形態となるため仮想マシンで以下の設定をします。
    ・固定IPアドレスの割り当て
    ・リモートデスクトップ接続の許可設定
    ・Windowsファイアウォールの設定変更(リモートデスクトップ接続要求を拒否しないようにします)。
    (6)仮想マシンの「設定」でRemoteFX 3D ビデオアダプタを追加します。
    (7)仮想マシンを起動します。
    仮想マシンの起動はWindows PowerShellを開いてStart-VMコマンドでも行えます。
    ※仮想マシンを起動してMicrosoft RemoteFX Graphics Device - WDDMドライバが使用可能となった時点で仮想マシン接続画面は「ビデオリモート処理の接続は解除されました」表示の状態のままとなります。
    (8)仮想マシンにRDP接続します。
    (9)Windows 7 ベーシックというテーマが適用されたままのデスクトップが表示されます。
    ※お好みに合わせて「個人設定」でAeroテーマの中の「Windows 7」等に変更してみて下さい(Aeroテーマの「Windows 7」適用RDP接続画面例)。
    (10)3Dグラフィックス機能を使用したアプリケーションを実行してみます。
    [補足]
    (a)DirectX 11対応グラフィックカードのベンチマークテスト用ソフトである3DMark 11は実行できません。
    その理由はゲストOSがWindows 7の場合、システムファイルはDirectX 11用になりますが、
    RemoteFX 3D ビデオアダプタのDirectX対応バージョンが9.3扱いと見なされてしまうためです。
    (b)そこでWindows 7及びDirectX 9.0.c対応の3DMark06 Advanced Edition Ver1.2.1を実行してみました。
    1回目はGRAPHICS TEST 4までは問題なく動作していましたがその後は途中で停止してしまってスコア表示には至りませんでした。
    2回目はGRAPHICS TEST 3の実行中に「IDirect3DVertexBuffer9::Unlock failed...」エラーとなり<OK>ボタン押下でその時点までのスコアが表示されました。

    (<- GRAPHICS TEST 3実行の様子)


    (11)他のPCからのRDP接続

    (12)iPhoneからHyper-V仮想マシンへのRDP接続
    (13)他のPCへのRDP接続
    Fedora 20 MATE-Compiz Spin Live(英語版)版にxrdp(RDPサーバ)を導入して仮想マシン(「HVSWin7Ult」)からRDP接続してみました。
    xrdpは内部的にVNCサーバと接続して画面描画を行いますがVNCの設定は不要ですのでxrdp(RDPサーバ)への接続手順もとても簡単です。

  10. ゲストOSがWindows 7 Professionalの仮想マシンへのMicrosoft RemoteFX Graphics Device - WDDMドライバの組み込みテスト
    ゲストOSがWindows 7 Professional SP1(32ビット版)の仮想マシンに「Microsoft RemoteFX Graphics Device - WDDM」ドライバを手動でインストールしてそれが使えるかどうかテストしてみました。
    結論としては「Microsoft RemoteFX Graphics Device - WDDM」ドライバは使用できたようですがRDP接続でエラーとなりました。

    Windows 7 Professional SP1(32ビット版)をゲストOSとした仮想マシンに「Microsoft RemoteFX Graphics Device - WDDM」ドライバを手動でインストールした場合のテスト手順は以下の通りです。
    (1)Windows 7 Professional SP1用仮想マシンを定義します(ここでの仮想マシン名:HVSWin7Pro)。
    (2)Windows 7 Professionalをクリーンインストールします。
    この時点でのWindows 7 ProfessionalのドライバはWindows 7 Ultimateをクリーンインストールした時点のものと同じです。
    (3)Windows 7 Professionalに対してWindows 7 SP1を適用します。
    このSP1適用では以下のドライバがWindows 7 Professionalにはインストールされません(Ultimate版にはインストールされます)。
    ・Microsoft RemoteFX Graphics Device - WDDMドライバ
    ・Synth3dVscドライバ(Microsoft Virtual 3D Video Transport Driver)
    (4)Hyper-V統合サービスをインストールします(Ver6.1.7601.17514からのアップグレード扱いになります)。
    Hyper-V統合サービスをインストールした時点でデバイスマネジャで実際に確認してみると、
    Ultimate版には存在していた「Microsoft RemoteFX Graphics Device - WDDM」Professional版には存在していないことが分かります。
    尚、仮想マシンの中でのネットワークアダプタは「Microsoft Hyper-V ネットワークアダプタ」となります。
    (5)仮にWindows 7 Professional SP1をゲストOSとする仮想マシンでRemoteFX 3D機能が利用できるとすればそれはUltimate版同様に仮想マシンへのRDP接続形態となるため仮想マシンで以下の設定をします。
    ・固定IPアドレスの割り当て
    ・リモートデスクトップ接続の許可設定
    ・Windowsファイアウォールの設定変更(リモートデスクトップ接続要求を拒否しないようにします)。
    (6)仮想マシンを一旦シャットダウンさせてその仮想マシンの「設定」でRemoteFX 3D ビデオアダプタを追加して起動します。
    起動後のデバイスマネジャ上ではRemoteFX 3D ビデオアダプタが「標準VGAグラフィックアダプタ」として表示されます。
    (7)「Microsoft RemoteFX Graphics Device - WDDM」ドライバを以下のコマンドで手動インストールします。
    具体的には「Microsoft RemoteFX Graphics Device - WDDM」ドライバがインストールされたWindows 7 Ultimate SP1の仮想ディスクがProfessional版仮想マシンから見えるように接続して以下のコマンドを実行するだけです。
    ここではWindows 7 Ultimate SP1の仮想ディスクのWindowsディレクトリはFドライブにあるものとします。
    >F:
    >cd F:\Windows\System32\DriverStore\FileRepository\rdvgwddm.inf_x86_neutral_345f205da00aaad5
    >pnputil -i -a rdvgwddm.inf
    このpnputilのコマンド実行結果は以下のようになります。
    ※最初に「ドライバ発行元を検証できません」と表示されますが[このドライバをインストールする]をクリックします。


    (8)次にデバイスマネジャの「標準VGAグラフィックアダプタ」の[ドライバソフトウェア]の更新で、
    デバイスドライバの一覧から「Microsoft RemoteFX Graphics Device - WDDM」を選択します。
    ドライバソフトウェアが正常に更新されました」と表示されます。
    (9)仮想マシンを再起動します。
    ここで仮想マシンを起動するとMicrosoft RemoteFX Graphics Device - WDDMドライバが使用可能となり仮想マシン接続画面は「ビデオリモート処理の接続は解除されました」表示の状態のままとなります。
    (10)仮想マシンにRDP接続しようとすると資格情報入力前にエラーとなります。
    まずは念のためにリモートデスクトップ関連のファイアウォール設定をtelnetで再設定してみました。
    ※Windows 8.1のコマンドプロンプトからtelnet接続すると全角指定ができないのでWindows 7 Ultimateの仮想マシンからtelnet接続して下記を実行しました。
    >netsh
    >advfirewall
    >firewall
    >set rule group="リモート デスクトップ" new enable=yes
    >set rule group="リモート デスクトップ - RemoteFX" new enable=yes
    >exit
    RemoteFX 3Dビデオアダプタの特有な制限があるかと思いますが、netstatやscコマンドの実行結果を見ると3389ポートが開放されない状態でリモートデスクトップサービスが実行されてるように見えます(こちらはnmapでの確認結果)。
    ※当然ですがRemoteFX 3Dビデオアダプタなしの場合は3389ポートは開放されています
    (11)尚、仮想マシンの「設定」でRemoteFX 3D ビデオアダプタを削除した場合はその仮想マシンへのRDP接続は問題ありません。
    デバイスマネジャでのディスプレイアダプタが「標準VGAグラフィックスアダプタ」の場合のRDP接続例
    デバイスマネジャでのディスプレイアダプタが「Microsoft Hyper-V ビデオ」の場合のRDP接続用資格情報入力画面例

  11. ゲストOSがWindows 7 Enterpriseの仮想マシンへのiPhoneリダイレクト
    ゲストOSがWindows 7 Enterprise SP1(64ビット評価版)の仮想マシン(HVSWin7Ex64)にRDP接続する場合のiPhoneリダイレクトを以下の手順でテストしてみました。


■ Hyper-V仮想マシンでのCentOS 6.3の実行

2012年7月にCentOS 6.3がリリースされました。
また2013年12月19日にはHyper-VのLIS(Linux Integration Services) ver 3.5がリリースされました。
LIS 3.5の大きな特徴は下記の画像のようなフルHDの解像度1920x1080(かつ32ビットカラー)をサポートしたhyperv_fbカーネルドライバの搭載です。


・実寸画像はこちらです。

hyperv_fbカーネルドライバは仮想マシンに「RemoteFX 3D ビデオアダプタ」を追加していない場合に機能します。
※仮想マシンのゲストOS(CentOS 6.3)に「RemoteFX 3D ビデオアダプタ」を追加している場合はhyperv_fbカーネルドライバは使用されず1152x864固定の解像度となります。
CentOS 6.4からはLISが内蔵されていますがCentOS 6.3ではマイクロソフトが公開しているLIS 3.5をCentOS 6.3にインストールする必要があります。
CentOS 6.3のインストールの過程においてホスト名を指定する画面の中での<ネットワークの設定>ボタンはグレーアウトされています。
そのCentOS 6.3にLIS 3.5をインストールしてネットワーク設定を追加すればCentOS 6.3を快適に利用できます。
今回はCentOS 6.3のGRUBのカーネルパラメタに「video=hyperv_fb:1366x768」を追加してHyper-Vのフレームバッファビデオドライバ(hyperv_fb.ko:Microsoft Hyper-V Synthetic Video Frame Buffer Driver)を利用してみました。
※LIS 3.5のMicrosoft Hyper-V Synthetic Video Frame Buffer Driver(hyperv_fb.ko)はWindows版のSynthetic 3D SMT Support Driver(sysnth3dvsc:Microsoft仮想3Dビデオトランスポートドライバ)とは違って3D描画をサポートするものではありませんのでCentOS 6.3の「デスクトップ効果」機能には対応していません。

Hyper-V仮想マシンでのCentOS 6.3のデスクトップ例(解像度:1366x768)


■ Hyper-V仮想マシンでのCentOS 6.5の実行

2013年11月にCentOS 6.5がリリースされました。
その直後の2013年12月19日にHyper-VのLIS(Linux Integration Services) ver 3.5がリリースされましたが、
CentOS 6.5はLIS ver 3.5正式公開に先立ってLIS ver 3.5相当のものがビルトインされてリリースされました。
LIS 3.5の大きな特徴はフルHDの解像度1920x1080(かつ32ビットカラー)をサポートしたhyperv_fbカーネルドライバの搭載です。
hyperv_fbカーネルドライバは仮想マシンに「RemoteFX 3D ビデオアダプタ」を追加していない場合に機能します。
※仮想マシンのゲストOS(CentOS 6.5)に「RemoteFX 3D ビデオアダプタ」を追加している場合はhyperv_fbカーネルドライバは使用されず1152x864固定の解像度となります。
CentOS 6.5ではそのインストールの過程で<ネットワークの設定>ボタンが有効になっていますのでネットワーク設定が行えます。
今回はCentOS 6.3同様にCentOS 6.5のGRUBのカーネルパラメタに「video=hyperv_fb:1366x768」を追加してHyper-Vのフレームバッファビデオドライバhyperv_fb.ko:Microsoft Hyper-V Synthetic Video Frame Buffer Driver)を利用してみました。
※CentOS 6.5にビルトインされているMicrosoft Hyper-V Synthetic Video Frame Buffer Driver(hyperv_fb.ko)はWindows版のSynthetic 3D SMT Support Driver(sysnth3dvsc:Microsoft仮想3Dビデオトランスポートドライバ)とは違って3D描画をサポートするものではありませんのでCentOS 6.5の「デスクトップ効果」機能には対応していません。

Hyper-V仮想マシンでのCentOS 6.5のデスクトップ例(解像度:1366x768)


■ Hyper-V仮想マシンでのFedora 20 Live版の実行

2013年12月17日にFedora 20がリリースされました。
その直後の2013年12月19日にhyperv_fbを新規に追加したHyper-VのLIS(Linux Integration Services) ver 3.5がリリースされましたが、
Fedora 20はLIS ver 3.5正式公開に先立ってLIS ver 3.5相当のものがビルトインされてリリースされました。
LIS 3.5の大きな特徴はフルHDの解像度1920x1080(かつ32ビットカラー)をサポートしたhyperv_fbカーネルドライバの搭載です。
今回はFedora 20 MATE-Compiz Spin Live(英語版)版をHyper-V仮想マシン環境で使用してみました。



■ Hyper-V仮想マシンでのFedora 22 Beta Workstationの実行

2015年4月21日にFedora 22 Beta Workstationがリリースされました。
(1)インストール手順はFedora 20やFedora 21とほぼ同じです。
(2)Fedora 22ではFedora 21同様にそれまでのyumに代わってdnfが使えるようになりました。
(3)Hyper-Vのフレームバッファビデオドライバ(hyperv_fb.ko)を使用してMATEデスクトップ環境でCompizを利用してみました(日本語入力はibus-anthyを利用)。
(4)ディスプレイサーバWaylandに関する扱いの変更について;
Fedora 21 WorkstationではXプロトコルを使用したままのログイン画面(GDM:GNOME Display Manager)からログインしてXプロトコルを使用しないWaylandセッションを実行するオプション機能が追加されました。
・Fedora 21 Workstationを起動してログイン画面表示時のコンソールでのプロセス確認(GDMはXorgベースになっています)
・そのGDMで最初に[GNOME on Wayland]セッションを選択した場合のプロセス確認(セッションはWaylandベースになっています)
しかしFedora 22 Workstationではデフォルトでログイン画面自体がXorgベースではなくWaylandモードで直接動くように変更されました。
尚、WaylandというディスプレイサーバはHyper-VやVirtual PC 2007では動作しません。
また古いnVIDIAのグラフィックカードでも動作しないようです(それどころかFedora 22 Workstationのインストール画面さえ表示されません)。
今回はATI Radeon HD 4600というグラフィックカードを使用した実機でWaylandを試してみました。
[GNOME]セッションの実機デスクトップ(Hyper-Vでの[GNOME]セッションデスクトップはこちらです)
[GNOME on Wayland]セッションの実機デスクトップ(Hyper-Vでは[GNOME on Wayland]セッションは使用できません)
・rootユーザで[GNOME on Wayland]セッションにログインするとgdmユーザとrootユーザの2個のXwaylandプロセスが確認できます。
※XwaylandはWaylandでX11アプリを動作させるためのX11互換レイヤです。
・Fedora 22 Beta Workstationにxrdpパッケージを導入してのWindows 8.1からのRDP接続例(rpmfusionからVLCメディアプレイヤーをインストールしました)
・Fedora 22 Workstation 正式リリース版のTotemにプラグインを導入してMP3再生やMPEG2再生をしてみました。


■ Hyper-V仮想マシンでのopenSUSE 13.1の実行

openSUSE 13.1にはLIS(Linux Integration Services) ver 3.5相当のドライバ等が内蔵されていますのでHyper-V仮想マシン環境での実行が容易に行えます。
Linux Integration Services 3.5から正式に提供されるようになったHyper-Vビデオアダプター用カーネルドライバ(hyperv_fb.ko:Microsoft Hyper-V Synthetic Video Frame Buffer Driver)もopenSUSE 13.1には含まれています。
Linux Integration Servicesは内蔵されていますがRemoteFX 3D ビデオアダプタの有り無しに関係なくビデオアダプタはハードウェア情報一覧の中では「Microsoft VGA compatible controller」として表示されます。
但し、RemoteFX 3D ビデオアダプタの有りの場合の画面解像度は800x600固定となります。

Hyper-V仮想マシンでのopenSUSE 13.1のGNOMEデスクトップ例
(KDE 4.2環境ではウィンドウの半透明化等も利用できます)


■ Hyper-V仮想マシンでのVine Linux 6.3の実行

2015年2月26日にVine Linux 6.3がリリースされましたがLIS(Linux Integration Services) ver 3.5相当のドライバ等が内蔵されていませんので他のディストリビューションと比べるとHyper-V環境と疎遠な感じがします。
LIS(Linux Integration Services)が内蔵されていなくてもレガシネットワークアダプタは使用できるので一応Hyper-V仮想マシンでVine Linux 6.3の動作確認をしてみました。

kernel 3.0系のVine Linux 6.1(x64)はインストールDVDからHyper-V仮想マシンに直接インストールすることができますが、残念ながらkernel 3.4系のVine Linux 6.2/6.2.1/6.3(x64)ではそのインストールDVDからHyper-V仮想マシンにそれらのVine Linuxを直接インストールすることはできません(インストールDVDに入っているハードディスク用のドライバが仮想ディスクを認識しないため「No hard drives have been found.」エラーとなります)。
しかしVine Linux 5.2(x64)もインストールDVDからHyper-V仮想マシンに直接インストールできるため今回は「Vine Linux 5.2からVine Linux 6.3へのアップグレード(apt-get dist-upgrade利用)」方式で仮想マシンの中にVine Linux 6.3環境を構築してみました。
ちなみにVirtual PC 2007の場合はkernel 3.4系のVine Linux 6.3をそのインストールDVDから仮想マシンにインストールできます。
但し、Virtual PC 2007環境でVine Linux 6.3をインストールする場合はインストーラ用のGRUBで[Advanced options]を選択し、更に[Install (Text mode)]を選択してテキストモードでインストールします(Text mode以外ではGUIのインストール画面が砂嵐状態になってインストール操作ができません)。
テキストモードでのインストールでは一般ユーザの作成ステップは省略されて、更にデフォルトのランレベルが「3」となります。
そのためインストール後の最初のテキストログイン画面(コンソール)でrootでログインして/etc/inittabのデフォルトランレベルを「5」に変更し、更にGUIログイン画面(gdm)でrootでのログインを許可する設定を実施します(/etc/pam.d/gdm中の「auth required pam_succeed_if.so user != root quiet」行の先頭に「#」を付与)。
・Virtual PC 2007環境でのVine Linux 6.3(x86)のデスクトップ例はこちらです。

Vine Linux 5.2(x64)からVine Linux 6.3へのアップグレード手順を以下に紹介します。

  1. Hyper-V仮想マシンへのVine Linux 5.2のインストール

  2. Vine Linux 5.2からVine Linux 6.3へのアップグレード

  3. Vine Linux 6.3用仮想マシン定義
    (1)仮想マシンの名前:ここでは「HVSVine63Upgrade」としました。
    (2)仮想マシンの世代:第1世代
    (3)仮想マシンのネットワークアダプタ:デフォルトのネットワークアダプタは削除してレガシネットワークアダプタを追加して仮想スイッチを指定。
    ※今回は「設定」でHVSVine52仮想マシンでのMACアドレスをHVSVine63Upgradeでそのまま指定しました。
    ※別のMACアドレスが使用される場合は仮想マシン起動後に[システム]-[システム管理]-[ネットワーク]でイーサネットデバイス「DECchip 21140 [FasterNet] (eth1)」を追加してネットワーク設定する必要があります。
    (4)仮想ハードディスク:HVSVine52.vhdxからリネームコピーしたHVSVine62Upgrade.vhdxを指定します。

  4. 仮想マシン(HVSVine63Upgrade)の起動と操作



    ・実寸画像はこちらです。

  5. Compiz関係のパッケージ導入
    # apt-get install gnome-compiz*
    # apt-get install emerald fusion-icon

  6. Compizの起動
    (1)「fusion-icon」コマンドを実行すると以下のエラーとなります。
    * Error: the "FusionIcon" module is missing.
    If you did not install fusion-icon to /usr,
    you may need to add the appropriate site-packages directory to your PYTHONPATH
    (2)/usr/lib/には/usr/lib/python2.5/site-packagesと/usr/lib/python2.6/site-packagesがあります。
    export PYTHONPATH=/usr/lib/python2.6/site-packages設定をしてから「fusion-icon」コマンドを実行しても同じエラーとなります。
    (3)そこで以下のコマンドを実行します。
    # export PYTHONPATH=/usr/lib/python2.5/site-packages
    # fusion-icon
    上記コマンドを実行すると以下のようなメッセージが表示されて最終的に真白な画面になります(Hyper-V用のディスプレイドライバが入っていないので当然Compiz起動に失敗します)。



    (4)以下のコマンドを実行しても真白な画面になります。
    # compiz --replace
    ちなみに実マシン環境でVine Linux 6.3をクリーンインストールした環境で「compiz --replace」を実行すると当然ながらCompiz Fusionを利用できます。
    Vine Linux 6.3実環境でのCompiz Fusion利用例
    Vine Linux 6.3実環境でのvino-server(VNCサーバ)接続例

  7. 仮想マシン(HVSVine63Upgrade)へのxrdp 0.6.1の導入
    Vine Linux 6.3ではvino-server(デスクトップ共有型のVNCサーバ)をそのまま使用できますがRDPサーバとして利用する場合はxrdpのソースからビルドする必要があります。
    ※Debian,Ubuntu等を対象にしたX11RDP-o-Maticはビルド時にdpkgやupdate-rc.dコマンドを必要とするためVine Linuxでは使用できません。
    ※X11RDP-o-MaticのRedHat版であるX11RDP-RH-Maticはビルド時にyumコマンドを必要とするためこれもVine Linuxでは使用できません。
    今回は2013年11月にリリースされたxrdp 0.6.1を以下の手順で導入しました。

  8. ローカルXDMCP接続

  9. Hyper-V環境でのVineSeedベースのVine Linux 7へのアップグレード
    VineSeedは日々パッケージが更新されますのでVineSeedベースのVine Linux 7へのアップグレード手順も一定ではありませんが大体の流れは以下の手順となります。
    (1)上記で使用したHVSVine63Upgrade仮想マシンの仮想ハードディスクを例えば「HVSVine7VS.vhdx」(VSはVineSeedの意)にコピー。
    (2)新しい仮想マシン(HVSVine7VS)を定義。
    ・仮想ハードディスクはHVSVine7VS.vhdxを割り当てます。
    ・ネットワークアダプターはレガシーネットワークアダプターを割り当ててHVSVine63Upgrade仮想マシン用のMACアドレスを割り当てます。
    (3)仮想マシン(HVSVine7VS)をランレベル3で起動します(GRUBのkernelパラメータの最後に「3」を付与)。
    (4)rootでログインして以下のコマンドを実行します。
    # export LANG=en_US
    # vi /etc/apt/sources.list.d/main.list
    rpm行とrpm-src行の「6/$(ARCH)」を「VineSeed/$(ARCH)」に変更して保存。
    # vi /etc/apt/sources.list.d/plus.list
    rpm行とrpm-src行の「6/$(ARCH)」を「VineSeed/$(ARCH)」に変更して保存。
    # vi /etc/apt/sources.list.d/nonfree.list
    rpm行とrpm-src行の「6/$(ARCH)」を「VineSeed/$(ARCH)」に変更して保存。
    # apt-get update
    # apt-get install kmod
    kmodインストール後に「Reboot required.」と表示されますが再起動せずに以下のコマンドを実行します。
    # apt-get install eudev ※udevが廃止になってeudevに変わるため。
    # apt-get dist-upgrade
    # apt-get install task-gnome
    必要に応じて追加パッケージをインストールします。
    # vi /etc/sysconfig/network
    HOSTNAMEの値を例えば「hvsvine7vs」に変更します。
    # vi /etc/pam.d/gdm
    「auth required pam_succeed_if.so user != root quiet」行の先頭に「#」を付与して
    「#auth required pam_succeed_if.so user != root quiet」に変更して保存します。
    # reboot
    (5)再起動する場合のGRUBメニューでは「Previous kernel」をブートします。
    (6)Hyper-V環境でのVine Linux 7では/dev/ptsの中が空となるため端末起動ができません(ランレベル3でのコンソールでのログインプロンプトも表示されません)。
    (7)VineSeedベースでVine Linux 7にアップグレードしたデスクトップ例はこちらです(GNOME 3ベース)。

    (8)ご参考:Virtual PC 2007環境でのVineSeedベースのVine Linux 7へのアップグレード例
    Virtual PC 2007環境でVine Linux 6.3をVineSeedベースのVine Linux 7にアップグレードする例を以下にご紹介します。
    今回はVirtual PC 2007の32ビット版を使用したためVine Linux 6.3の32ビット版をVine Linux 7へアップグレードしています。
    VineSeedベースのVine Linux 7へのアップグレード手順はInstallation Typeでの選択内容によって変わってきますが今回は「Desktop」を選択しました。



■ Hyper-V仮想マシンへのWindows 3.1(英語版)クリーンインストール時の仮想マシンフリーズ

Virtual PC 2007でのWindows 3.1(英語版)の利用」の手順に沿ってHyper-V仮想マシンへのWindows 3.1(英語版)のクリーンインストールを試してみました。
  1. Hyper-V仮想マシン定義
    ・仮想マシン名:HVSDOS+Win31en
    ・仮想ディスク:「Virtual PC 2007でのWindows 3.1(英語版)の利用」で示したMS-DOS 6.22をインストールした時点の仮想ディスク
    ・メモリ:64MB
    ・ネットワークアダプタ:レガシーネットワークアダプタ(今回使用対象外)
    尚、Windows 3.1(英語版)のインストール用フロッピーディスクはすべてフロッピーディスクイメージファイル化されたものを使用します。

  2. CONFIG.SYSの確認
    Virtual PC 2007でのWindows 3.1(英語版)の利用」で示したMS-DOS 6.22をインストールした時点の仮想ディスクの中のCONFIG.SYSは以下のようになっています。
    device=himem.sys /testmem:off
    FILES=30
    BUFFERS=20
    ...<以下省略>
    device=himem.sys指定はありますが「device=emm386.exe ram」と「DOS=HIGH,UMB」の行はありませんのでスタンダードモードでのMS-DOS使用となります。

  3. Windows 3.1(英語版)クリーンインストール


■ Hyper-V仮想マシンでの日本語MS-DOSのオフライン実行

LinuxのQEMU環境で動作している日本語版Windows 3.1用仮想ディスク(raw形式の2GBディスク)をVHD形式に変換してHyper-V仮想マシンで使用してみました。
Hyper-V仮想マシンでWindows 3.1をエンハンスドモードで起動するとWindows 3.1起動ロゴ(スプラッシュ画面)が表示されてすぐに自動リブートがかかります。
しかしながらWindows 3.1起動前でのMS-DOS自体は問題なく動作しています。
動作確認は以下の手順で実施しました。
(1)LinuxのQEMU環境で動作している仮想ディスクのVHD形式への変換。
以下のコマンドでVHD形式の仮想ディスク(可変容量型)を作成できます。
# qemu-img convert -f raw -O vpc qemuw31-flat.vmdk hvswin31.vhd
(2)hvswin31.vhdをHyper-V Server側へ転送します。
(3)Hyper-V仮想マシンの定義
仮想マシン名:HVSWin31
仮想ディスク:上記で作成したhvswin31.vhdを指定します。
※もし容量固定の仮想ディスクにしたいのであればHyper-Vの仮想ディスク変換機能を用いてhvswin31-flat.vhd等の名称で作成すればOKです。
(4)Hyper-Vの標準ネットワーク機能はWindows 3.1では使用できないため仮想マシンを起動するとネットワーク関連のエラーが出ます。
winコマンドでWindows 3.1起動ロゴが出てすぐに自動リブートされます。
(SYSTEM.INI等の変更はまだ行っていません)
(5)Windows 3.1起動直前でのMS-DOSは問題なく動作しているようです。
下記画面はMS-DOSでのコマンド実行とFDISKの実行例です。

  


■ Hyper-V仮想マシンでの英語版MS-DOSのインターネット接続

Windows Vista(32ビット版)上のVirtual PC 2007(VPC2007)でネットワーク環境(LAN ManagerのTCP/IPプロトコル導入)含めて構築したWindows 3.1(英語版)の容量固定の仮想ディスク(VPCWin31en-flat.vhd)をHyper-V仮想マシンでそのまま使用してみました。
※VPCWin31en-flat.vhdはVPC2007の共有ネットワーク(NAT)ではなくホストOSの物理コンピュータのネットワークアダプタを選択してのスタティックIPアドレス設定になっています。
ネットワーク環境構築の詳細はVirtual PC 2007環境でのLAN Manager TCP/IPの導入をご参照下さい。
Hyper-V仮想マシンでWindows 3.1をエンハンスドモードで起動するとその英語版Windows 3.1起動ロゴ(スプラッシュ画面)が表示されてすぐにブラックスクリーンになります。
しかしながらWindows 3.1起動前でのMS-DOSでのインターネット接続はできています。
Hyper-V ServerでのMS-DOSでのインターネット接続の動作確認は以下の手順で実施しました。
(1)VPCWin31en-flat.vhdをHyper-V Server側へ転送します。
(2)Hyper-V仮想マシンの定義
仮想マシン名:HVSWin31en
仮想ディスク:上記のVPCWin31en-flat.vhdを指定します。
(3)Hyper-Vの標準ネットワークアダプタの削除。
(4)Hyper-Vのレガシーネットワークアダプタ(DEC/Intel 21041ベースのPCI LANチップ)の追加と仮想スイッチ1(外部接続用スイッチ)の指定。
(5)Hyper-V仮想マシン(HVSWin31en)の起動。
(6)ping www.yahoo.co.jpが問題なく通ります(ドメインの名前解決もMS-DOSレベルでできています)。




■ Hyper-V仮想マシンでのWindows NT Server 3.51のインストール

Virtual PC 2007環境でWindows NT Server 3.51をインストールしようとするとインストール途中の仮想マシン再起動でWindows NT 3.51が自動起動されないという現象になってインストールが完走しません。
しかしながらHyper-V Server仮想マシン環境ではWindows NT Server 3.51のインストールは問題なく完了します。
詳細説明は省略しますがインストール中のスクリーンショットを紹介します。
ちなみにHyper-V Server環境でWindows NT Server 3.51をインストールした仮想ディスクをVirtual PC 2007環境に移して起動するとHALエラーとなってWindows NT Server 3.51を起動できません。


■ Virtual PC 2007からHyper-V Server 2012 R2へのLinuxマイグレーション

Virtual PC 2007上で動作していたVine Linux 4をHyper-V仮想マシン環境に移行(マイグレーション)してみましたのでご紹介します。
  1. Virtual PC 2007でのMACアドレスの確認
    Hyper-V Server 2012 R2でサポートしているレガシーネットワークアダプタはVirtual PC 2007と同等のDEC/Intel 21041ベースのPCI LANチップです。
    Virtual PC 2007上で動作していたVine Linux 4環境のMACアドレスをそのままHyper-V Server環境でも使用できるようにVirtual PC 2007環境でのMACアドレスを確認しておきます。
    尚、Virtual PC 2007環境でのMACアドレスはその仮想マシンのVMCファイルの中に記載されています。
    今回移行した仮想マシンのVirtual PC 2007環境でのMACアドレスは「00:03:FF:81:F6:04」でした。

  2. 仮想ディスクの移行
    Virtual PC 2007環境で動作していたVine Linux 4の仮想ディスクをHyper-V Server環境に移動させます。

  3. Hyper-V仮想マシン定義
    Hyper-Vの「仮想マシンの新規作成ウィザード」で以下の設定をしました。
    ・仮想マシン名:HVSVine40
    ・世代:第1世代
    ・ネットワークの接続:仮想スイッチ1(外部接続用スイッチ)
    ・仮想ディスク:Virtual PC 2007環境から移した仮想ディスク(16GBサイズの容量可変のVHDファイル)を指定します。

  4. Hyper-V仮想マシンの設定変更
    (1)Hyper-V仮想マシン(HVSVine40)の設定画面を開きます。
    (2)ハードウェアの追加で[レガシーネットワークアダプタ]を選択して追加します。
    (3)仮想マシンの新規作成ウィザードで自動生成された[ネットワークアダプタ]を削除します。
    (4)追加した[レガシーネットワークアダプタ]の接続として仮想スイッチ1(外部接続用スイッチ)を指定します。
    更に「高度な機能」で静的MACアドレスとして、上述の「00:03:FF:81:F6:04」を指定します。
    (5)設定画面で<適用>ボタンを押して設定画面を閉じます。

  5. Hyper-V仮想マシン(HVSVine40)の起動
    (1)Hyper-V仮想マシン(HVSVine40)に接続して起動します。

     」
    (2)起動途中の「Hardware Removed」画面で「Sound Blaster 16」を削除するように応答します。

    (3)ログイン画面で既存ユーザ名でログインします。


    (4)マイグレーションされたVine Linux 4のデスクトップ画面



■ VMware Server 1.xからHyper-V Server 2012 R2へのLinuxマイグレーション

VMware Server 1.0.6上でテスト的にDNSサーバとして稼働させていたVine Linux 4.2(32ビット)をHyper-V仮想マシン環境に移行(マイグレーション)してみましたのでご紹介します。
  1. 仮想ディスクの変換
    VMware Server 1.0.6上で稼働させていたVine Linux 4.2の仮想ディスクファイルはOther Linux.vmdk(仮想ディスク容量:6GB)です。
    (尚、Vmware Workstation 11はVMware Server 1.xと互換性があるためVMware Workstaion 11でVMware Server 1.0.6のvmxファイルを開けばそのまま動作します)
    まずVMware Server 1.0.6上で稼働させていたVine Linux 4.2の仮想ディスクファイル(Other Linux.vmdk)をHyper-V Server用にvhd形式のファイルに変換します。
    以下のコマンドでVHD形式の仮想ディスク(可変容量型)を作成できます(今回はUbuntu 14.04で実行)。
    # qemu-img convert -f vmdk -O vpc "Other Linux.vmdk" hvsvine42dns.vhd

    しかしHyper-V Serverで第1世代の仮想マシンを定義して上記で得られたhvsvine42dns.vhdを使用して仮想マシンに接続しようとすると、
    「'このバージョンでは、このファイル形式のバージョンはサポートされません。'」というエラーとなります。

    しかし上記のhvsvine42dns.vhdはVirtual PC 2007では使用できます。
    そこで一旦Virtual PC 2007で使用するとそのVHDファイルの内部識別情報が自動変更されるという特性を利用してHyper-V Serverで使用可能とするという手順を踏むことになります。

  2. Virtual PC 2007での仮想マシン定義
    ・仮想マシン名:VPCVine42dns
    ・オペレーティングシステム:その他
    ・メモリ:256MB
    ・既存のバーチャルハードディスク:vpcvine42dns.vhd(hvsvine42dns.vhdをvpcvine42dns.vhdにリネームしたもの)
    ・ネットワークアダプタ:ホストOSで使用しているネットワークカードを選択

  3. 仮想マシン(VPCVine42dns)の起動

  4. ハードウェアの変更・設定画面
    「Welcome to Kudzu」画面でEnterを押下して以下の操作を行います。
    (1)以下のハードウェアの削除に対する<Remove Configuration>応答。
    Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
    ・BusLogic BT-946C (BA80C30) [Multimaster 10]
    ・Ensoniq ES1371 [AudioPCI-97]
    (2)以下のハードウェアの追加に対する<Configure>応答。
    Digital Equipment Corporation DECchip 21140 [FasterNet]
    この時表示される「Configure TCP/IP」画面でTCP/IPの設定をしますがDNSサーバ用の/etc/resolv.confからsearchエントリが削除されますので別途searchエントリを手動で追加します。
    ・Sound Blaster 16

  5. Xサーバの設定
    テキストログイン画面が3回表示されて「Failed to start the X server (your graphical interface).」というメッセージが表示されます。
    グラフィックカードの選択画面で選択したカードのドライバ名がVMware環境用/etc/X11/xorg.confに反映されないためここでは一旦テキストログインします。
    テキストログイン後、/etc/X11/xorg.confの中の「Driver "vmware"」を「Driver "vesa"」に変更してstartxを実行すると解像度が1280x1024のデスクトップが一応表示されますが後で/etc/X11/xorg.confをVirtual PC 2007に対応した標準設定内容に変更しておきます。
    具体的には以下のように変更します。
    (1)「Section "Monitor"」
    ・「HorizSync 31.5 - 85.0」を「HorizSync 31.5 - 79.0」に変更。
    ・「VertRefresh 50.0-100.0」を「VertRefresh 50.0-90.0」に変更。
    (2)「Section "Device"」
    ・「Driver "vesa"」とします。
    (3)「Section "Screen"」
    ・「Default Depth 16」を「Default Depth 24」に変更。
    更に「SubSection "Display"」の中を以下のように変更します。
    ・「Depth 16」を「Depth 24」に変更。
    ・「Modes "1280x1024" "1280x960" <<途中略>> "640x480"」を「Modes "1024x768" "800x600" "640x480"」に変更。
    (4)上記変更後念のため仮想マシンを再起動します。

  6. Virtual PC 2007環境での仮想マシンのデスクトップ

  7. 最終的なHyper-V Server 2012 R2へのLinuxマイグレーション
    Virtual PC 2007で使用した仮想ディスクをHyper-V Server 2012 R2環境に移してHyper-V Server用の仮想マシンを定義して仮想マシンを起動します。
    実際には上記の「■ Virtual PC 2007からHyper-V Server 2012 R2へのLinuxマイグレーション」で説明した要領でHyper-V Serverへのマイグレーションを行います。
    Hyper-V Serverでの仮想マシン名はHVSVine42dnsとしました。
    下記はHyper-V Server環境での仮想マシン(HVSVine42dns)のデスクトップです。
    ※DNSサーバとしても問題なく機能しています。





■ ご参考:Windows Server 2012 R2のHyper-V利用

今回使用したWindows Server 2012 R2用PCのハードウェア/ソフトウェア構成は以下の通りです。
・CPU:Intel Core i7 2.67GHz
・メモリ:6GB
・VGAカード:GeForce 8800 GT
・ネットワークインタフェース:Intel PRO/1000 GT Desktop Adapter, ASIX AX88772(USBインタフェース)
※Intel PRO/1000 GT Desktop AdapterはHyper-V環境の専用仮想スイッチ用に使用します。
・OS:Windows Server 2012 R2 Datacenter(64ビット版)
  1. GeForce 8800 GTドライバの導入
    Windows 8.1と違ってWindows Server 2012 R2ではGeForce 8800 GTグラフィックボードのドライバが標準サポートされていないようです。
    そこでWindows 8.1(x64)がインストールされたHDDを接続してデバイスマネジャの[Microsoft 基本ディスプレイアダプタ]の[ドライバソフトウェアの更新]で、Windows 8.1(x64)がインストールされたHDDのWindowsディレクトリを指定すればドライバやコントロールパネル項目もインストールされます。
    GeForce 8800 GTグラフィックボードのドライバのインストール結果

  2. Hyper-Vの導入
    Windows Server 2012 R2でのHyper-Vの導入は「役割と機能の追加」で[Hyper-V]にチェックを入れるだけで完了します。
    実際にはその「役割と機能の追加」ウィザードで外部ネットワーク用仮想スイッチの作成も行えます。
    ここで作成される仮想スイッチの名称は「[ネットワークカードの名称]-Virtual Switch」という名称になります。

  3. RemoteFX USB デバイスリダイレクトの有効化
    (1)gpedit.mscを実行して「ローカルグループポリシーエディタ」を開きます。
    (2)「ローカルグループポリシーエディタ」の[コンピュータの構成]-[管理用テンプレート]-[Windowsコンポーネント]-[リモートデスクトップサービス]-[リモートデスクトップ接続のクライアント]-[RemoteFX USBデバイスリダイレクト]をポイントします。
    (3)その右側に[サポートされている他の RemoteFX USB デバイスの、このコンピューターからの RDP リダイレクトを許可する]が表示されますが「状態」が[未構成]のままになっています。
    これを[有効]に変更してリブートします。
    ※必要に応じてアクセス権を[管理者のみ]から「管理者とユーザ」に変更しておきます。

  4. 仮想マシンでのRemoteFX USBデバイスの利用
    今回はRemoteFX USBデバイスであるWebカメラを仮想マシンで利用してみました。
    Windows Server 2012 R2のHyper-V仮想マシンの中でのRemoteFX USBデバイス(Webカメラ)の利用例

  5. 仮想マシンでの3DMark 11の実行
    DirectX 11対応でないGeForce 8800 GTの代わりにDirectX 11対応のグラフィックカードを使用すればHyper-Vの「RemoteFX 3D ビデオアダプタ」機能が使えて仮想マシン内のビデオアダプタがDirectX 11対応になります。
    今回はDirectX 11対応グラフィックカードとしてATI Radeon HD 6450を使用してみました。
    Windows Server 2012 R2はATI Radeon HD 6450のドライバを標準装備していません。
    そのためATI Radeon HD 6450の付属CDからドライバをWindows Server 2012 R2にインストールしました。
    Hyper-Vの「RemoteFX 3D ビデオアダプタ」機能の使用方法はHyper-V Serverで示した方法と同様です。
    仮想マシンの設定の様子(RemoteFX 3D ビデオアダプタのモニタ設定)
    仮想マシンのWindows 8.1での3DMark 11実行スコア