2017/03/10

Windows Server 2012 Essentials クライアント復元サービスのメディアをHyper-V 第2世代VMで起動するとキーボード入力が出来ない場合の対処法

Hyper-V上でWindows Server 2012 Essentialsを新規インストールする場合やクライアント復元サービスのISOメディア、USBメモリから復元する場合、キーボード入力が出来ない場合の対処法をメモ。

現象

Hyper-V※ 第2世代VMを作成後、下記操作を行うと物理キーボード入力が出来ない
※Windows Server 2012 R2 Standard、Windows 10のHyper-Vで検証
  1. Windows Server 2012 Essentials OSメディアから起動(新規インストールする場合など)
  2. Windows Server 2012 Essentialsで作成したクライアント復元サービスのメディアから起動する
クリップボードからテキストを入力しようとするもキー送信に失敗します。

対処法

この問題はKB2999357に書かれており、対処法は2種類あります。
  • ソフトウェア キーボードを使用する
  • Dismコマンドを使ってWindows 8.1用HypervIntegrationServices パッケージを追加する
Windows Server 2012 Essentialsを新規インストールする場合はソフトウェア キーボードを使えばプロダクト キー入力ができます。

問題はWindows Server 2012 Essentialsのクライアント復元サービスから作成した起動メディアです。
メディアから起動するとマウスは動くがキー入力が一切できないため、管理者アカウントのユーザー名とパスワードを入力できないためバックアップ データからの復元が出来ません。
そのため、Dismコマンドを使った方法で解決しました。

Dismコマンドを使ったWindows 8.1用HypervIntegrationServices パッケージの追加手順

Windows 8.1 ADKがインストールされたWindows Server 2012 Essentials上で作業を行います。
  1. Windows 8.1用HypervIntegrationServicesをダウンロード
  2. クライアント復元用WinPEを作成するためのフォルダを作成
    • 作業用フォルダ
      • C:\WinPE\working
    • マウント用フォルダ
      • C:\WinPE\mount
  3. WinPEのファイルを作業用フォルダにコピー
    • WinPEのファイル
      • C:\Program Files\Windows Server\Bin\ClientRestore
  4. Dismコマンドを使ってboot.wimファイルにパッケージを追加
最後に仮想ハードディスク(VHD)にファイルをコピーします。
  1. [Win]+[X]→[ディスク管理]を実行
  2. 仮想ハードディスク(VHDX形式)を作成
  3. 作業用フォルダの中身を全てコピー
  4. 仮想ハードディスクを取り外す

    Dismコマンド

    クライアント復元サービスの起動メディアはx86およびx64に対応しているので両方にHypervIntegrationServices パッケージを追加します。

    x86の場合
    # boot.wimファイルをマウント
    dism /mount-image /imagefile:"C:\WinPE\working\sources\Boot_x86.wim" /index:1 /mountdir:C:\WinPE\mount
    
    # パッケージを追加
    dism /image:C:\WinPE\mount /add-package /packagepath:"C:\Downloads\windows6.2-hypervintegrationservices-x86.cab"
    
    # コミットしアンマウント
    dism /unmount-image /mountdir:c:\WinPE\mount /commit
    
    x64の場合
    # boot.wimファイルをマウント
    dism /mount-image /imagefile:"C:\WinPE\working\sources\Boot.wim" /index:1 /mountdir:C:\WinPE\mount
    
    # パッケージを追加
    dism /image:C:\WinPE\mount /add-package /packagepath:"C:\Downloads\windows6.2-hypervintegrationservices-x64.cab"
    
    # コミットしアンマウント
    dism /unmount-image /mountdir:c:\WinPE\mount /commit
    

    PowerShellを使いたい場合
    以前書いた対比表を見て置き換えてください。
    http://nasunoblog.blogspot.jp/2014/11/powershell-dism-comanndlet.html

    動作確認

    クライアント復元サービスのVHDXファイルをVMの起動ディスクとして設定しWinPEを起動したところ、無事キー入力が出来れば成功です。
    スポンサーリンク

    スポンサーリンク