Hyper-Vで仮想ハードディスクを作成する方法

Hyper-Vで仮想ハードディスクを作成する方法

Hyper-Vで仮想ハードディスクを作成する場合、3つのタイプの仮想ハードディスクを作成でき、選択するタイプによってその特徴が異なります。

  • 容量可変の仮想ハードディスク
  • 容量固定の仮想ハードディスク
  • 差分の仮想ハードディスク

そこでここではWindows 10のHyper-Vを例に、仮想ハードディスクのタイプごとの特徴や、仮想ハードディスクの作成方法を紹介します。

仮想ハードディスクのタイプ

容量可変

容量可変の仮想ハードディスクは、仮想マシンが実際に使用する分だけディスク量を確保していき、作成時に指定したディスクサイズまで容量が変化するため、ディスクスペースを効率よく使用できる反面、使用量が増えるにしたがってパフォーマンスが低下します。

なお、クイック作成や仮想マシンの作成ウィザードから仮想ハードディスクを作成すると、仮想ハードディスクは自動的に「容量可変」で作成されます。

容量固定

容量固定の仮想ハードディスクは、ディスク作成時に指定したディスクサイズが固定的に確保されるため、ディスクスペースの効率的な利用はできませんが、容量可変の仮想ハードディスクのように容量拡張に伴うパフォーマンス低下が起こらないため、パフォーマンス重視の仮想マシンではこのディスクタイプが利用されます。

差分

差分の仮想ハードディスクは、親として指定した仮想ハードディスクとの差分のみを記録する仮想ハードディスクで、他の仮想ハードディスクタイプに比べてパフォーマンスは劣ります。

差分の仮想ハードディスクは、一般的な仮想マシンで利用することはほとんどなく、検証や開発の現場で、ベースとなるOS環境から、複数の環境を用意したい場合などで用いられることがあります。

仮想ハードディスクの作成方法

仮想ハードディスクを作成する方法は、Hyper-Vマネージャーから作成する方法と、PowerShellコマンドレットを使って作成する方法があります。

容量可変の仮想ハードディスクのみ、仮想マシンの作成時に同時に作成することもできます。

Hyper-Vマネージャーから作成

一般的な仮想ハードディスクの作成方法は、Hyper-Vマネージャーから作成する方法で、手順は次のとおりです。

まず、Hyper-Vマネージャーの操作メニューから「新規」>「仮想ハードディスク」をクリックします。

Hyper-Vで仮想ハードディスクを作成する方法

仮想ハードディスクの新規作成ウィザード画面が起動するので「次へ」をクリックします。

Hyper-Vで仮想ハードディスクを作成する方法

次の画面では、特別な理由がない限りは「VHDX」を選択して「次へ」をクリックします。

Hyper-Vで仮想ハードディスクを作成する方法

次の画面では、どのタイプの仮想ハードディスクを作成するかを選択して「次へ」をクリックします。

Hyper-Vで仮想ハードディスクを作成する方法

次の画面では仮想ハードディスクの名前を指定して「次へ」をクリックします。

分かりやすいように接続予定の仮想マシンの名前などにしておくのがおススメです。

Hyper-Vで仮想ハードディスクを作成する方法

差分の仮想ハードディスクを選択した場合は、次画面で親仮想ハードディスクを指定する画面が表示されます。なお、親として指定した仮想ハードディスクは読み取り専用になります。

Hyper-Vで仮想ハードディスクを作成する方法

次の画面では、仮想ハードディスクのサイズを指定します。

Hyper-Vで仮想ハードディスクを作成する方法

最後に設定内容を確認して「完了」をクリックすると、仮想ハードディスクの作成が開始されるので、完了するまで待ちます。

Hyper-Vで仮想ハードディスクを作成する方法

なお、容量固定の仮想ハードディスクを作成する際は、サイズに比例して時間が掛かり、40GBだとおよそ10分かかります。

Hyper-Vで仮想ハードディスクを作成する方法

作成中の画面

作成した仮想ハードディスクは、仮想マシン作成ウィザードの途中で指定したり、仮想マシン作成後であれば、仮想マシンの設定画面から指定することができます。

Hyper-Vで仮想ハードディスクを作成する方法

「仮想マシンの新規作成ウィザード」画面

Hyper-Vで仮想ハードディスクを作成する方法

仮想マシンの設定画面

PowerShellコマンドレットで作成

PowerShellコマンドレットで仮想ハードディスクを作成するときは、管理者権限でPowerShellを起動して「New-VHD」コマンドレットを利用して作成します。

仮想ハードディスクの作成場所はフルパスで指定しないと、カレントディレクトリに作成されてしまうので注意しましょう。

容量可変の仮想ハードディスクを作成

容量可変の仮想ハードディスクを作成するときは、次のようにコマンドを実行します。

PS C:\> New-VHD -Path "F:\Hyper-V\Virtual Hard Disks\Win10VM1_dynamic.vhdx" -SizeBytes 50GB

容量固定の仮想ハードディスクを作成

容量固定の仮想ハードディスクを作成するときは、次のようにコマンドを実行します。

PS C:\> New-VHD -Path "F:\Hyper-V\Virtual Hard Disks\Win10VM1_fixed.vhdx" -SizeBytes 50GB -Fixed

差分の仮想ハードディスクを作成

差分の仮想ハードディスクを作成するときは、次のようにコマンドを実行します。

PS C:\> New-VHD -Path "F:\Hyper-V\Virtual Hard Disks\Win10VM1_differ.vhdx" -ParentPath "<親となる仮想ハードディスクファイルのフルパス>" -SizeBytes 50GB -Differencing

仮想ハードディスクを仮想マシンに接続

作成した仮想ハードディスクを、仮想マシン作成時に指定するときは「New-VM」コマンドレットの「-VHDPath」オプションで指定します。

PS> New-VM -Name "Win10VM3" -MemoryStartupBytes 4GB -VHDPath "F:\Hyper-V\Virtual Hard Disks\Win10VM3.vhdx" -Generation 2 -Switch "Default Switch"

既存の仮想マシンに、作成した仮想ハードディスクを接続するときは「Set-VMHardDiskDrive」コマンドレットを利用して接続します。

PS> Set-VMHardDiskDrive -VMName Win10VM3 -ControllerType SCSI -Path "F:\Hyper-V\Virtual Hard Disks\Win10VM3.vhdx"

なお、仮想マシンに複数のSCSIコントローラーや仮想ハードディスクが接続されている場合は、「Set-VMHardDiskDrive」コマンドレットを実行するときに、仮想ハードディスクをどのSCSIコントローラーの何番に接続するかを「-ControllerNumber」や「-ControllerLocation」オプションで指定する必要があります。

SCSIコントローラーの番号「ControllerNumber」や、使用中の「ControllerLocation」番号は「Get-VMHardDiskDrive」コマンドレットで確認できます。

Hyper-Vで仮想ハードディスクを作成する方法

参考URL

Hyper-V | Microsoft Docs

あとがき

仮想ハードディスクファイルの保存先に余裕があり、仮想マシンのパフォーマンスを重視するなら、容量固定の仮想ハードディスクを作成し、それ以外のケースでは容量可変の仮想ハードディスクを作成すると覚えておけば、ほとんどの場合に対応できるでしょう。