hyperv

Overview

Hyper-V is a native hypervisor built in to modern versions of Microsoft Windows.

Requirements

  • 64-bit versions of Windows 10 Enterprise, Pro, or Education (system requirements)
  • Hyper-V enabled

Enabling Hyper-V

Open a PowerShell console as Administrator, and run the following command:

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

If Hyper-V was not previously active, you will need to reboot.

Usage

  1. minikube start --driver=hyperv

To make hyperv the default driver:

  1. minikube config set driver hyperv

Special features

The minikube start command supports additional hyperv specific flags:

  • --hyperv-virtual-switch: Name of the virtual switch the minikube VM should use. Defaults to first found
  • --hyperv-use-external-switch: Use external virtual switch over Default Switch if virtual switch not explicitly specified, creates a new one if not found. If the adapter is not specified, the driver first looks up LAN adapters before other adapters (WiFi, …). Or the user may specify an adapter to attach to the external switch. Default false
  • --hyperv-external-adapter: External adapter on which the new external switch is created if no existing external switch is found. Since Windows 10 only allows one external switch for the same adapter, it finds the virtual switch before creating one. The external switch is created and named “minikube”

Issues

Also see co/hyperv open issues.

Troubleshooting

  • Run minikube start --alsologtostderr -v=7 to debug crashes
  • While reinstalling minikube you may encounter error in starting minikube due to stuck.vmcx file from previous installation,a possible fix is:

    • Install Handle Windows tool, identify the process handling .vmcx file,kill it.

    • Run minikube delete --all --purge to remove the extra config files

Last modified April 5, 2023: Fix link to GitHub open issues label for drivers (d1297d391)