====== Hyper-V (はいぱ~ヴぅぃ) - ハイパーバイザベース仮想化 ======
{{windows:ali_hyper-v.png?110|Hyper-V これはイメージです😅💦}}\\
TODO: 少しずつ整理します🤤\\
===== Hyper-V の有効化 =====
**コントロール パネル > プログラム > Windows の機能の有効化または無効化**\\
{{windows:windows_functions_hyper-v_enabled.png?300|Windows の機能 - Hyper-V の有効化}}
{{windows:windows_functions_hyper-v_enabled_001.png?300|Windows の機能 - Hyper-V の有効化 001}}
{{windows:windows_functions_hyper-v_enabled_002.png?300|Windows の機能 - Hyper-V の有効化 002}}\\
===== PowerShell で Hyper-V を操作する方法 =====
現時点 (**2020/09/15 時点**) のバージョン構成では、[[windows:scoop|Scoop - Windows 用のコマンドラインインストーラ]] でインストールした [[windows:sudo|sudo - 管理者実行コマンド]] で普通に sudo Get-VM
を管理者実行すると上手く行きません。\\
[[https://github.com/lukesampson/psutils/issues/39|Having troubles with Get-VM using sudo · Issue #39 · lukesampson/psutils]] ここに問題として報告されています。\\
$ Get-Host
Name : ConsoleHost
Version : 7.0.3
InstanceId : b0934a72-f912-46b2-8d4a-f29f08c5b6b4
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture : ja-JP
CurrentUICulture : ja-JP
PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
DebuggerEnabled : True
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
$ scoop list sudo
Installed apps matching 'sudo':
sudo 0.2020.01.26
==== Hyper-V 仮想マシン情報を取得 ====
$ sudo Get-VM
としたいところですが... 応答がありません🤤\\
しかし、これは上手く動作します。\\
$ sudo pwsh -c 'Get-VM'
Name State CPUUsage(%) MemoryAssigned(M) Uptime Status Version
---- ----- ----------- ----------------- ------ ------ -------
Android x86 Off 0 0 00:00:00 正常稼働中 9.0
Fedora Off 0 0 00:00:00 正常稼働中 9.0
==== Hyper-V 関連のコマンドは管理者実行が必要 ====
管理者以外で実行すると、アクセス許可がないと言われる。\\
$ Get-VM
Get-VM: このタスクを完了するために必要なアクセス許可がありません。このコンピューター 'CMON' の承認ポリシーの管理者に問い合わせてください。
そのため、PowerShell を管理者実行した方が速いと思います。\\
$ sudo pwsh
PowerShell 7.0.3
Copyright (c) Microsoft Corporation. All rights reserved.
https://aka.ms/powershell
Type 'help' to get help.
Loading personal and system profiles took 2061ms.
==== 仮想マシンの実行 ====
$ Start-VM -Name 'Fedora'
$ Get-VM
Name State CPUUsage(%) MemoryAssigned(M) Uptime Status Version
---- ----- ----------- ----------------- ------ ------ -------
Android x86 Off 0 0 00:00:00 正常稼働中 9.0
Fedora Running 2 2048 00:00:06.5280000 正常稼働中 9.0
==== 仮想マシンの終了 ====
$ Stop-VM -Name 'Fedora'
$ Get-VM
Name State CPUUsage(%) MemoryAssigned(M) Uptime Status Version
---- ----- ----------- ----------------- ------ ------ -------
Android x86 Off 0 0 00:00:00 正常稼働中 9.0
Fedora Off 0 0 00:00:00 正常稼働中 9.0
==== チェックポイントの作成/取得 ====
$ Checkpoint-VM -Name 'Fedora' -SnapshotName 'Setup後'
$ Get-VMSnapshot -VMName 'Fedora'
VMName Name SnapshotType CreationTime ParentSnapshotName
------ ---- ------------ ------------ ------------------
Fedora Setup後 Standard 2020/09/15 14:55:02
==== チェックポイントの削除 ====
$ Remove-VMSnapshot -VMName 'Fedora' -Name 'Setup後'
$ Get-VMSnapshot -VMName 'Fedora'
チェックポイントが存在しない場合は何も取得されない。\\
==== 仮想マシンの一時停止/再開... 再会💕 ====
一時停止する場合\\
$ Suspend-VM -Name 'Fedora'
$ Get-VM
Name State CPUUsage(%) MemoryAssigned(M) Uptime Status Version
---- ----- ----------- ----------------- ------ ------ -------
Android x86 Off 0 0 00:00:00 正常稼働中 9.0
Fedora Paused 0 775 00:10:21.1060000 正常稼働中 9.0
再開する場合\\
$ Resume-VM -Name 'Fedora'
$ Get-VM
Name State CPUUsage(%) MemoryAssigned(M) Uptime Status Version
---- ----- ----------- ----------------- ------ ------ -------
Android x86 Off 0 0 00:00:00 正常稼働中 9.0
Fedora Running 0 775 00:10:27.0510000 正常稼働中 9.0
===== 参考文献 =====
[[https://www.vwnet.jp/Windows/WS12/VMconfPS3/ConfigVMbyPS3.htm|PowerShell 3.0 で作る Hyper-V 仮想マシンと基本設定]]\\
[[https://www.projectgroup.info/documents/WindowsServer2012/W2012_0031.html|Hyper-V の仮想環境の電源を PowerShell コマンドで操作する - Project Group]]\\
[[https://docs.microsoft.com/en-us/powershell/module/hyper-v/?view=win10-ps|Hyper-V Module | Microsoft Docs]]\\
[[https://docs.microsoft.com/ja-jp/virtualization/hyper-v-on-windows/quick-start/try-hyper-v-powershell|Hyper-V と Windows PowerShell の使用 | Microsoft Docs]]\\