Windows Server 2016 上で Hyper-V をインストールする際の手順例です。
Hyper-V の要件
- ハードウェア要件として、以下を満たしている必要があります。
- VM モニターモード拡張機能
- 第 2 レベルのアドレス変換(SLAT) 機能
- 仮想化支援機能
- Intel Virtualization Technology (Intel VT)
- ハードウェア データ実行防止(DEP) 機能
- XD bit (execute disable bit)
管理者権限でコマンドプロンプトを起動し、以下を実行することで要件を満たしているか確認できます。
systeminfo.exe
Hyper-V の有効化
PowerShell を利用して、Windows Server 2016 で Hyper-V の役割を有効にします。
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
次のコマンドで Hyper-V の役割がインストールされていることを確認できます。
Get-WindowsFeature -ComputerName <computer_name>
仮想スイッチの作成
作成する仮想スイッチのタイプを決定します。
接続タイプ
- 外部:仮想マシンに物理 NW へのアクセスを許可し外部 NW 上のサーバーと通信可能にします。*1
- 内部:同じ Hyper-V 上の仮想マシン間及び、仮想マシンとホスト OS 間の通信を可能にします。
- プライベート:同じ Hyper-V 上の仮想マシン間の通信のみを許可します*2
「外部」を選択した場合は、使用する NIC と次の表に記載されているその他のオプションを選択します。
- 管理 OS にこの NIC の共有を許可する:ホストが仮想スイッチ用に構成した設定を使用できます。*3
- SR-IOV を有効にする:仮想マシンでシングルルート IO 仮想化(SR-IOV)を有効化します。*4
次のコマンドで既存の NIC を確認し、仮想スイッチに使用する NIC 名をメモします。
Get-NetAdapter
出力例は以下のとおりです。本例では Ethernet0 を使用します。
PS C:\Users\Administrator.MY> Get-NetAdapter Name InterfaceDescription ifIndex Status MacAddress LinkSpeed ---- -------------------- ------- ------ ---------- --------- Ethernet1 Intel(R) 82574L Gigabit Network Conn... 4 Up 00-50-56-86-5B-AB 1 Gbps Ethernet0 vmxnet3 Ethernet Adapter 3 Up 00-50-56-86-4F-2B 10 Gbps
"ExternalSwitch"という名前の外部スイッチを作成し、管理OSにこの NIC の共有を許可する場合、以下のコマンドを実行します。
New-VMSwitch -name ExternalSwitch -NetAdapterName Ethernet0 -AllowManagementOS $true
"InternalSwitch"という名前の内部スイッチを作成する際は以下のコマンド実行します。
New-VMSwitch -name InternalSwitch -SwitchType Internal
"PrivateSwitch"という名前のプライベートスイッチを作成する際は以下のコマンド実行します。
New-VMSwitch -name PrivateSwitch -SwitchType Private
仮想マシンの作成
仮想マシンで使用する仮想スイッチの名前を取得します。
Get-VMSwitch * | Format-Table Name
新規に仮想マシンを作成する際は以下のコマンドを使用します。
New-VM -Name <Name> -MemoryStartupBytes <Memory> -BootDevice <BootDevice> -VHDPath <VHDPath> -Path <Path> -Generation <Generation> -Switch <SwitchName>
- Name は仮想マシンの名前を設定します。
- MemoryStartupBytes は、起動時に仮想マシンで使用できるメモリの量です。
- BootDevice は、仮想マシンが起動するデバイス*5です。
- VHDPath は、使用する仮想マシンディスクのパスです。
- Path は、仮想マシン構成ファイルを格納するパスです。
- Generation は仮想マシンの世代です。VHD には世代1、VHDX には世代2を使用します。
- Switch は、仮想マシンが使用する仮想スイッチの名前です。
以下の例では、4GBのメモリを搭載したWin2016VMという名前の第2世代の仮想マシンを作成します。
Win2016.vhdx という名前の新規のハードディスクをサイズ20GBで作成し、ExternalSwitchという名前の仮想スイッチに接続します。仮想マシン構成ファイルは、VMData フォルダに格納されます。
New-VM -Name Win2016VM -MemoryStartupBytes 4GB -BootDevice VHD -NewVHDPath .\VMs\Win2016.vhdx -Path .\VMData -NewVHDSizeBytes 20GB -Generation 2 -Switch ExternalSwitch
以下の例は新規に Windows10 の仮想マシンを作成するスクリプト例です。
# Set VM Name, Switch Name, and Installation Media Path. $VMName = 'TESTVM' $Switch = 'ExternalSwitch' $InstallMedia = 'C:\Users\Administrator.MY\Desktop\ja_windows_10_multi-edition_version_1709_updated_dec_2017_x64_dvd_100406736.iso' # Create New Virtual Machine New-VM -Name $VMName -MemoryStartupBytes 2147483648 -Generation 2 -NewVHDPath ".\VMs\$VMName\$VMName.vhdx" -NewVHDSizeBytes 53687091200 -Path ".\VMData\$VMName" -SwitchName $Switch # Add DVD Drive to Virtual Machine Add-VMScsiController -VMName $VMName Add-VMDvdDrive -VMName $VMName -ControllerNumber 1 -ControllerLocation 0 -Path $InstallMedia # Mount Installation Media $DVDDrive = Get-VMDvdDrive -VMName $VMName # Configure Virtual Machine to Boot from DVD Set-VMFirmware -VMName $VMName -FirstBootDevice $DVDDrive
作成した仮想マシンを起動するには以下のコマンドを実行します。
Start-VM -Name TESTVM
仮想マシンに接続するには以下のコマンドを実行します。
VMConnect.exe
参考書籍
以上