タグ: Windows Hyper-V Server 2016

Hyper-V Server 2016 + Windows 10 1809でのVM設定メモ (PowerShell)

Windows Hyper-V Server 2016上に、Windows 10 1809のHyper-V マネージャーからVMを作成した際、嵌ったのでメモ。

通常通りVMを作成したところ、セキュアブートの有効/無効切り替えがVM設定画面のどこにも無く、Linuxをブートするのに必要なセキュアブートの無効化ができなかった。
代替として、PowerShellにより設定できた。

  • VM名を取得する。Hyper-V マネージャーから対象のVM名を確認するか、PowerShellで Get-VM を実行して確認する。
    [tofu-h81whs16]: PS C:\Users\Administrator\Documents> Get-VM
    
    Name      State   CPUUsage(%) MemoryAssigned(M) Uptime           Status Version
    ----      -----   ----------- ----------------- ------           ------ -------
    XU18_test Running 11          1024              00:12:54.6510000 正常稼働中  8.0    
    
  • VMのセキュアブート設定を確認する。PowerShellから
    Get-VMFirmware -VMName "(VM名)"
    を実行し、 “SecureBoot” 列を確認する。

    [tofu-h81whs16]: PS C:\Users\Administrator\Documents> Get-VMFirmware -VMName "XU18_test"
    
    VMName    SecureBoot SecureBootTemplate PreferredNetworkBootProtocol BootOrder              
    ------    ---------- ------------------ ---------------------------- ---------              
    XU18_test On         MicrosoftWindows   IPv4                         {Drive, Drive, Network}
    
  • セキュアブートを無効化する。PowerShellで
    Set-VMFirmware -VMName "(VM名)" -EnableSecureBoot Off
    を実行する。

    [tofu-h81whs16]: PS C:\Users\Administrator\Documents> Set-VMFirmware -VMName "XU18_test" -EnableSecureBoot Off
    

    VMが起動している状態ではエラーが出て変更できない。シャットダウンまたは停止してから実行する。
    実行後、再度セキュアブートの状態を確認する。

    [tofu-h81whs16]: PS C:\Users\Administrator\Documents> Get-VMFirmware -VMName "XU18_test"
    
    VMName    SecureBoot SecureBootTemplate PreferredNetworkBootProtocol BootOrder              
    ------    ---------- ------------------ ---------------------------- ---------              
    XU18_test Off        MicrosoftWindows   IPv4                         {Drive, Drive, Network}
    
広告

Windows Hyper-V Server 2016でのファイアウォールグループ有効化

現在ビルド鯖で仮想マシンのホストOSとして稼働しているWindows Server 2012 R2のサポート終了に備えて、Windows Hyper-V Server 2016を試していた際に気になったのでメモ。
従来使用されていた(らしい)netsh advfirewall は既に非推奨らしいメッセージが表示されるため

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

PS C:\WINDOWS\system32> netsh
netsh>advfirewall
Windows の将来のバージョンで、Windows Firewall with Advanced Security の Netsh 機能が削除される可能性が
あります。

現在 Windows Firewall with Advanced Security の構成および管理に netsh を使用している場合は、Windows PowerShell に
移行することをお勧めします。

Windows Firewall with Advanced Security を管理するためのコマンドの一覧を表示するには、Windows PowerShell プロンプト
に「Get-Command -Module NetSecurity」と入力してください。

Windows Firewall with Advanced Security 用の PowerShell コマンドの詳細については、
https://go.microsoft.com/fwlink/?LinkId=217627 を参照してください。
netsh advfirewall>

、移行先として推奨されているPowerShellで行えないか色々探し、それらしきものを見つけた。

Hyper-V Server 2016のリモート管理環境構築-(3)サーバー側設定 | Yu’n Craft
で紹介されている下記

netsh
advfirewall
firewall
set rule group="リモート デスクトップ" new enable=yes
set rule group="ファイルとプリンターの共有" new enable=yes
set rule group="Windows リモート管理" new enable=yes
set rule group="リモート イベントのログ管理" new enable=yes
set rule group="リモート ボリューム管理" new enable=yes
exit

の場合、PowerShellでは以下で代用できた。

Enable-NetFirewallRule -DisplayGroup "リモート デスクトップ"
Enable-NetFirewallRule -DisplayGroup "ファイルとプリンターの共有"
Enable-NetFirewallRule -DisplayGroup "Windows リモート管理"
Enable-NetFirewallRule -DisplayGroup "リモート イベントのログ管理"
Enable-NetFirewallRule -DisplayGroup "リモート ボリューム管理"

これでWindows Hyper-V Server 2016に対するリモートデスクトップと “Hyper-V マネージャー” 、 “コンピューターの管理(一部)” が通るようになった。サーバのAdministratorは予めクライアント側 (Windows 10 1809) でcmdkeyを用いて認証情報を追加し、TrustedHostsも追加済み。