kubernetes / minikube

Run Kubernetes locally
https://minikube.sigs.k8s.io/
Apache License 2.0
29.44k stars 4.89k forks source link

@(Get-Wmiobject Win32_ComputerSystem).HypervisorPresent failed (but works with minikube v1.6.2) #9359

Closed jrstrengen closed 3 years ago

jrstrengen commented 4 years ago

Unable to start Minikube 1.3.1 on windows 10 with hyper-v role installed. I have gotten earlier versions to run succesfully 1.6.2
1.9.2 (with --force) 1.11.0 (with --force)

Steps to reproduce the issue:

  1. Starting powershell as administrator (5.1.18362)
  2. minikube start --vm-driver="hyperv" --hyperv-virtual-switch="minikube" --alsologtostderr -v=1
  3. Checking that @(Get-Wmiobject Win32_ComputerSystem).HypervisorPresent returns true

Full output of failed command: I0930 12:11:56.733262 4064 out.go:191] Setting JSON to false I0930 12:11:56.740287 4064 start.go:102] hostinfo: {"hostname":"DESKTOP","uptime":91900,"bootTime":1601368816,"procs":331,"os":"windows","platform":"Microsoft Windows 10 Pro","platformFamily":"Standalone Workstation","platformVersion":"10.0.18363 Build 18363","kernelVersion":"","virtualizationSystem":"","virtualizationRole":"","hostid":"xxxx"} W0930 12:11:56.740287 4064 start.go:110] gopshost.Virtualization returned error: not implemented yet I0930 12:11:56.746263 4064 out.go:109] * minikube v1.13.1 on Microsoft Windows 10 Pro 10.0.18363 Build 18363

W0930 12:12:04.785261 4064 out.go:145] * Exiting due to PROVIDER_HYPERV_NOT_FOUND: The 'hyperv' provider was not found: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe @(Get-Wmiobject Win32_ComputerSystem).HypervisorPresent failed:

W0930 12:12:04.786262 4064 out.go:145] * Suggestion: Start PowerShell as an Administrator

tstromberg commented 4 years ago

@jrstrengen - It looks like we're not outputting enough detail to figure this out. Do you mind re-running the command using this binary built from #9361 ?

https://storage.googleapis.com/minikube-builds/9361/minikube-windows-amd64.exe

It should do a better job of surfacing the underlying error message. In the mean-time, could you also share the output of:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe @(Get-Wmiobject Win32_ComputerSystem).HypervisorPresent

jrstrengen commented 4 years ago

PS G:\kube> C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe @(Get-Wmiobject Win32_ComputerSystem).HypervisorPresent True : The term 'True' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1

jrstrengen commented 4 years ago

With binary from #9361

PS G:> minikube start --vm-driver="hyperv" --hyperv-virtual-switch="minikube" --alsologtostderr -v=1 I0930 21:45:00.211060 5316 out.go:191] Setting JSON to false I0930 21:45:00.221061 5316 start.go:103] hostinfo: {"hostname":"DESKTOP","uptime":126283,"bootTime":1601368817,"procs":321,"os":"windows","platform":"Microsoft Windows 10 Pro","platformFamily":"Standalone Workstation","platformVersion":"10.0.18363 Build 18363","kernelVersion":"","virtualizationSystem":"","virtualizationRole":"","hostid":"xxxx"} W0930 21:45:00.222062 5316 start.go:111] gopshost.Virtualization returned error: not implemented yet I0930 21:45:00.226061 5316 out.go:109] * minikube v1.13.1 on Microsoft Windows 10 Pro 10.0.18363 Build 18363

W0930 21:45:08.276086 5316 out.go:145] * Exiting due to PROVIDER_HYPERV_NOT_FOUND: The 'hyperv' provider was not found: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe @(Get-Wmiobject Win32_ComputerSystem).HypervisorPresent failed: exit status 1 with output: ""

jrstrengen commented 4 years ago

Just to confirm, I'm running as administrator. I also tested to see how it runs in cmd, powershell and powershell core. This makes no difference.

medyagh commented 4 years ago

@jrstrengen does the binary in this work in progress PR help ? https://github.com/kubernetes/minikube/pull/9361 http://storage.googleapis.com/minikube-builds/9361/minikube-windows-amd64.exe

jrstrengen commented 4 years ago

@medyagh I think that binary is the same as @tstromberg linked, but I downloaded again and ran. Still same error

PS G:\kube> minikube version minikube version: v1.13.1 commit: 5f73743072b9632ff62fdf25da0951881cbb96bb PS G:\kube> minikube start --vm-driver="hyperv" --hyperv-virtual-switch="minikube" --alsologtostderr -v=1 I1001 09:33:45.091159 24916 out.go:191] Setting JSON to false I1001 09:33:45.098160 24916 start.go:103] hostinfo: {"hostname":"DESKTOP","uptime":168808,"bootTime":1601368817,"procs":324,"os":"windows","platform":"Microsoft Windows 10 Pro","platformFamily":"Standalone Workstation","platformVersion":"10.0.18363 Build 18363","kernelVersion":"","virtualizationSystem":"","virtualizationRole":"","hostid":"xxx"} W1001 09:33:45.098160 24916 start.go:111] gopshost.Virtualization returned error: not implemented yet I1001 09:33:45.103160 24916 out.go:109] * minikube v1.13.1 on Microsoft Windows 10 Pro 10.0.18363 Build 18363

W1001 09:33:53.152464 24916 out.go:145] * Exiting due to PROVIDER_HYPERV_NOT_FOUND: The 'hyperv' provider was not found: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe @(Get-Wmiobject Win32_ComputerSystem).HypervisorPresent failed: exit status 1 with output: ""

PS G:\kube>

jrstrengen commented 4 years ago

@tstromberg When i ran the command yesterday i ran it in powershell and that returned the previous output. I now ran it cmd, to see if it differs. (and it does). However running minikube in ps or cmd does not give different results.

Cmd.exe: G:\kube>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe @(Get-Wmiobject Win32_ComputerSystem).HypervisorPresent

True

tstromberg commented 4 years ago

Thanks - you are in fact running the new binary, as it does provide extra information, such as an exit code and unfortunate lack of command output. I was hoping to see something more useful.

It's a long shot, but I am curious: does minikube work properly if you run from the C:\ drive?

jrstrengen commented 4 years ago

Unfortunatly it does not run any better from c:\ drive. same error message.

BenAji commented 3 years ago

Unable to start Minikube 1.3.1 on windows 10 with hyper-v role installed. I have gotten earlier versions to run succesfully 1.6.2 1.9.2 (with --force) 1.11.0 (with --force)

Steps to reproduce the issue:

  1. Starting powershell as administrator (5.1.18362)
  2. minikube start --vm-driver="hyperv" --hyperv-virtual-switch="minikube" --alsologtostderr -v=1
  3. Checking that @(Get-Wmiobject Win32_ComputerSystem).HypervisorPresent returns true

Full output of failed command: I0930 12:11:56.733262 4064 out.go:191] Setting JSON to false I0930 12:11:56.740287 4064 start.go:102] hostinfo: {"hostname":"DESKTOP","uptime":91900,"bootTime":1601368816,"procs":331,"os":"windows","platform":"Microsoft Windows 10 Pro","platformFamily":"Standalone Workstation","platformVersion":"10.0.18363 Build 18363","kernelVersion":"","virtualizationSystem":"","virtualizationRole":"","hostid":"xxxx"} W0930 12:11:56.740287 4064 start.go:110] gopshost.Virtualization returned error: not implemented yet I0930 12:11:56.746263 4064 out.go:109] * minikube v1.13.1 on Microsoft Windows 10 Pro 10.0.18363 Build 18363

  • minikube v1.13.1 on Microsoft Windows 10 Pro 10.0.18363 Build 18363 I0930 12:11:56.746263 4064 notify.go:126] Checking for updates... I0930 12:11:56.746263 4064 start_flags.go:387] config upgrade: KicBaseImage=gcr.io/k8s-minikube/kicbase:v0.0.12-snapshot3@sha256:1d687ba53e19dbe5fafe4cc18aa07f269ecc4b7b622f2251b5bf569ddb474e9b I0930 12:11:56.748265 4064 out.go:109] * Kubernetes 1.19.2 is now available. If you would like to upgrade, specify: --kubernetes-version=v1.19.2
  • Kubernetes 1.19.2 is now available. If you would like to upgrade, specify: --kubernetes-version=v1.19.2 I0930 12:11:56.748265 4064 driver.go:287] Setting default libvirt URI to qemu:///system I0930 12:12:04.784286 4064 out.go:109] * Using the hyperv driver based on existing profile
  • Using the hyperv driver based on existing profile I0930 12:12:04.784286 4064 start.go:246] selected driver: hyperv I0930 12:12:04.784286 4064 start.go:653] validating driver "hyperv" against &{Name:minikube KeepContext:false EmbedCerts:false MinikubeISO:https://storage.googleapis.com/minikube/iso/minikube-v1.9.0.iso KicBaseImage:gcr.io/k8s-minikube/kicbase:v0.0.12-snapshot3@sha256:1d687ba53e19dbe5fafe4cc18aa07f269ecc4b7b622f2251b5bf569ddb474e9b Memory:4000 CPUs:2 DiskSize:20000 VMDriver: Driver:hyperv HyperkitVpnKitSock: HyperkitVSockPorts:[] DockerEnv:[] ContainerVolumeMounts:[] InsecureRegistry:[] RegistryMirror:[] HostOnlyCIDR:192.168.99.1/24 HypervVirtualSwitch:minikube HypervUseExternalSwitch:false HypervExternalAdapter: KVMNetwork:default KVMQemuURI:qemu:///system KVMGPU:false KVMHidden:false DockerOpt:[] DisableDriverMounts:false NFSShare:[] NFSSharesRoot:/nfsshares UUID: NoVTXCheck:false DNSProxy:false HostDNSResolver:true HostOnlyNicType:virtio NatNicType:virtio KubernetesConfig:{KubernetesVersion:v1.18.0 ClusterName:minikube APIServerName:minikubeCA APIServerNames:[] APIServerIPs:[] DNSDomain:cluster.local ContainerRuntime:docker CRISocket: NetworkPlugin: FeatureGates: ServiceCIDR:10.96.0.0/12 ImageRepository: LoadBalancerStartIP: LoadBalancerEndIP: ExtraOptions:[] ShouldLoadCachedImages:true EnableDefaultCNI:false CNI: NodeIP: NodePort:0 NodeName:} Nodes:[{Name:m01 IP:192.168.137.11 Port:8443 KubernetesVersion:v1.18.0 ControlPlane:true Worker:true}] Addons:map[dashboard:true default-storageclass:true metrics-server:true storage-provisioner:true] VerifyComponents:map[apiserver:true system_pods:true] StartHostTimeout:0s} I0930 12:12:04.785261 4064 start.go:664] status for hyperv: {Installed:false Healthy:false Running:true NeedsImprovement:false Error:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe @(Get-Wmiobject Win32_ComputerSystem).HypervisorPresent failed: Fix:Start PowerShell as an Administrator Doc:https://minikube.sigs.k8s.io/docs/reference/drivers/hyperv/} I0930 12:12:04.785261 4064 out.go:109]

W0930 12:12:04.785261 4064 out.go:145] * Exiting due to PROVIDER_HYPERV_NOT_FOUND: The 'hyperv' provider was not found: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe @(Get-Wmiobject Win32_ComputerSystem).HypervisorPresent failed:

  • Exiting due to PROVIDER_HYPERV_NOT_FOUND: The 'hyperv' provider was not found: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe @(Get-Wmiobject Win32_ComputerSystem).HypervisorPresent failed:

W0930 12:12:04.786262 4064 out.go:145] * Suggestion: Start PowerShell as an Administrator

I recently experienced a similar blocker, I later got to know that I did not enable virtualization in the BIOS setting s of my PC.

---Restart your system ---Press ESC or f10 during boot ---Go to Advanced ---Tick the Virtualization Technology ----Save And run minikube start in Admin mode again

BenAji commented 3 years ago

I recently experienced a similar blocker, I later got to know that I did not enable virtualization in the BIOS setting s of my PC.

---Restart your system ---Press ESC or f10 during boot ---Go to Advanced ---Tick the Virtualization Technology ----Save And run minikube start in Admin mode again

jrstrengen commented 3 years ago

@BenAji Just to verify, I checked that Intel Virtualization was enabled, but found VT-d was disabled so enabled this as well. But it made no difference Also downloaded 15.1, to verify but still same issue.

BenAji commented 3 years ago

What version of windows are you using? ajiBen

On Thu, Dec 3, 2020 at 2:54 PM jrstrengen notifications@github.com wrote:

@BenAji https://github.com/BenAji Just to verify, I checked that Intel Virtualization was enabled, but found VT-d was disabled so enabled this as well. But it made no difference Also downloaded 15.1, to verify but still same issue.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/kubernetes/minikube/issues/9359#issuecomment-738008368, or unsubscribe https://github.com/notifications/unsubscribe-auth/AF62LD64TSL6ZDWLTYNH7U3SS6KDBANCNFSM4R65MWTQ .

jrstrengen commented 3 years ago

Running Windows 10 Pro. Version 1909 - build 18363.1139

BenAji commented 3 years ago

Do you have Dockers installed? ajiBen

On Thu, Dec 3, 2020 at 4:51 PM jrstrengen notifications@github.com wrote:

Running Windows 10 Pro. Version 1909 - build 18363.1139

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/kubernetes/minikube/issues/9359#issuecomment-738093938, or unsubscribe https://github.com/notifications/unsubscribe-auth/AF62LD2XMGOW4FFOH7KKR23SS6XXNANCNFSM4R65MWTQ .

jrstrengen commented 3 years ago

Yes, I have docker installed. And also hyper-v By running an older version (1.11.0) i get minikube to work, just have to bypass hyper-v check by doing --force. Any newer version than that --force does not help.

BenAji commented 3 years ago

I'm so sorry about the whole bugs unfixed, perhaps we can have time together by sharing your screen with, start the whole process from scratch if you don't mind. ajiBen

On Thu, Dec 3, 2020 at 9:39 PM jrstrengen notifications@github.com wrote:

Yes, I have docker installed. And also hyper-v By running an older version (1.11.0) i get minikube to work, just have to bypass hyper-v check by doing --force. Any newer version than that --force does not help.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/kubernetes/minikube/issues/9359#issuecomment-738293539, or unsubscribe https://github.com/notifications/unsubscribe-auth/AF62LD4KZH5J227PVJFJ6NTSS7ZPTANCNFSM4R65MWTQ .

jrstrengen commented 3 years ago

@BenAji I thank you for your offer, but unfortunatly i cannot do that at the moment.

BenAji commented 3 years ago

Okay, I wish you successful debuging then! Regards BenAji

On Fri, 4 Dec 2020, 10:25 jrstrengen, notifications@github.com wrote:

@BenAji https://github.com/BenAji I thank you for your offer, but unfortunatly i cannot do that at the moment.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/kubernetes/minikube/issues/9359#issuecomment-738673119, or unsubscribe https://github.com/notifications/unsubscribe-auth/AF62LDYFCPZQD7G22HGREVTSTCTGZANCNFSM4R65MWTQ .

medyagh commented 3 years ago

@jrstrengen sorry to hear that u still have this issue, I am curious does the docker driver work for on Windows ?

@blueelvis do u have any insight on this ?

jrstrengen commented 3 years ago

@medyagh I have been busy with other projects lately, so haven't done more testing. However I did download newest version (1.17.1) today and it now works.

Not sure what else have been done though. Except keeping my docker and windows up to date.

sylvain-ri commented 3 years ago

I am running into the exact same issue, except that hyper-V return False while the feature is on. Tried with minkube v1.22, v1.21, v1.20, v1.17.1, v1.11.0 (all didn't work).

😄  minikube v1.11.0 on Microsoft Windows 10 Pro 10.0.19043 Build 19043
🎉  minikube 1.22.0 is available! Download it: https://github.com/kubernetes/minikube/releases/tag/v1.22.0
💡  To disable this notice, run: 'minikube config set WantUpdateNotification false'
✨  Using the hyperv driver based on user configuration
❗  'hyperv' driver reported an issue: C:\windows\System32\WindowsPowerShell\v1.0\powershell.exe @(Get-Wmiobject Win32_ComputerSystem).HypervisorPresent returned "False\r\n"
💡  Suggestion: Enable Hyper-V: Start PowerShell as Administrator, and run: 'Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All'
📘  Documentation: https://minikube.sigs.k8s.io/docs/reference/drivers/hyperv/

Then tried with v1.6.2, which worked slightly better but failed later.

😄  [<profile>] minikube v1.6.2 on Microsoft Windows 10 Pro 10.0.19043 Build 19043
✨  Automatically selected the 'hyperv' driver (alternates: [virtualbox])
💿  Downloading VM boot image ...
    > minikube-v1.6.0.iso.sha256: 65 B / 65 B [--------------] 100.00% ? p/s 0s
    > minikube-v1.6.0.iso: 150.93 MiB / 150.93 MiB [-] 100.00% 17.88 MiB p/s 9s
🔥  Creating hyperv VM (CPUs=2, Memory=2000MB, Disk=20000MB) ...
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x28 pc=0x12ee976]
sylvain-ri commented 3 years ago

Hi guys. After 3 days searching for a fix. I kept getting PROVIDER_HYPERV_NOT_FOUND while it was activated in the BIOS and in all Windows settings. The hint was that @(Get-Wmiobject Win32_ComputerSystem).HypervisorPresent (in Windows PowerShell) kept returning False.

I found out that my hypervisorlaunchtype was on off. Use bcdedit to know the current state, and change it with bcdedit /set hypervisorlaunchtype auto.

I got my answer from here : https://win10.guru/war-stories-hypervisor-turned-off-after-every-cold-boot/