containers / podman-desktop

Podman Desktop is the best free and open source tool to work with Containers and Kubernetes for developers. Get an intuitive and user-friendly interface to effortlessly build, manage, and deploy containers and Kubernetes — all from your desktop.
https://podman-desktop.io
Apache License 2.0
4.58k stars 292 forks source link

Podman desktop setup - WSL import of guest OS failed: exit status 0xffffffff #8233

Closed rahulbtchrya closed 4 weeks ago

rahulbtchrya commented 1 month ago

Bug description

I have a new installation of Podman desktop 5.1.1 on Windows11. I am using the Podman desktop installer for restricted environments. When trying to setup a podman machine, I am getting the below error:

Error: Command execution failed with exit code 125 Command execution failed with exit code 125 Error: the WSL import of guest OS failed: exit status 0xffffffff

The logs show the below messages:

_Importing operating system into WSL (this may take a few minutes on a new WSL install)... WSL2 is not supported with your current machine configuration. Please enable the "Virtual Machine Platform" optional component and ensure virtualization is enabled in the BIOS. Enable "Virtual Machine Platform" by running: wsl.exe --install --no-distribution For information please visit https://aka.ms/enablevirtualization Error code: Wsl/Service/RegisterDistro/CreateVm/HCS/HCS_E_HYPERV_NOTINSTALLED Error: the WSL import of guest OS failed: exit status 0xffffffff Command execution failed with exit code 125 Command execution failed with exit code 125 Error: the WSL import of guest OS failed: exit status 0xffffffff

I have enabled "Windows-Hypervisor-Platform". Have rebooted the machine. Also below is the output from the wsl and bcedit commands:

PS C:\WINDOWS\system32> wsl.exe --install --no-distribution The operation completed successfully. PS C:\WINDOWS\system32> bcdedit /enum | findstr -i hypervisorlaunchtype hypervisorlaunchtype Auto

Please help.

Operating system

Windows11

Installation Method

Installer from website/GitHub releases

Version

next (development version)

Steps to reproduce

Open Podman Desktop, click the Setup button and click Next.

Relevant log output

_Importing operating system into WSL (this may take a few minutes on a new WSL install)...
WSL2 is not supported with your current machine configuration.
Please enable the "Virtual Machine Platform" optional component and ensure virtualization is enabled in the BIOS.
Enable "Virtual Machine Platform" by running: wsl.exe --install --no-distribution
For information please visit https://aka.ms/enablevirtualization
Error code: Wsl/Service/RegisterDistro/CreateVm/HCS/HCS_E_HYPERV_NOT_INSTALLED
Error: the WSL import of guest OS failed: exit status 0xffffffff
Command execution failed with exit code 125
Command execution failed with exit code 125
Error: the WSL import of guest OS failed: exit status 0xffffffff_

Additional context

Podman Desktop v5.1.1 on Windows11

lstocchi commented 1 month ago

Hi @rahulbtchrya , i didn't get what's your current state. I see you tried to install wsl and failed because Virtual Machine Platform was disabled. Then you enabled it and installed wsl. What's the problem you're facing now?

rahulbtchrya commented 1 month ago

Hi @rahulbtchrya , i didn't get what's your current state. I see you tried to install wsl and failed because Virtual Machine Platform was disabled. Then you enabled it and installed wsl. What's the problem you're facing now?

Hi @lstocchi , here is what I did:

  1. Installed Podman Desktop for 'restricted environments' following the documentation in the link : https://podman-desktop.io/docs/proxy
  2. Opened Podman Desktop and clicked the Setup button. Got the wsl error.
  3. Enabled "Windows-Hypervisor-Platform" and rebooted the machine.
  4. Opened Podman Desktop and clicked the Setup button. Got the same wsl error.
lstocchi commented 1 month ago

@rahulbtchrya what's the output of these two commands? wsl --version wsl -l -v

rahulbtchrya commented 1 month ago

Hi @lstocchi , please find the output of the command below:

C:>wsl --version WSL version: 2.2.4.0 Kernel version: 5.15.153.1-2 WSLg version: 1.0.61 MSRDC version: 1.2.5326 Direct3D version: 1.611.1-81528511 DXCore version: 10.0.26091.1-240325-1447.ge-release Windows version: 10.0.22631.3880

C:>wsl -l -v Windows Subsystem for Linux has no installed distributions.

Use 'wsl.exe --list --online' to list available distributions and 'wsl.exe --install ' to install.

Distributions can also be installed by visiting the Microsoft Store: https://aka.ms/wslstore Error code: Wsl/WSL_E_DEFAULT_DISTRO_NOT_FOUND

lstocchi commented 1 month ago

I wanted to see which WSL version it was using. What if you try to install Ubuntu (i think wsl --install is enough, or you can use wsl --install -d Ubuntu) and then repeat wsl -l -v? Which is the output? Is it using WSL 1 or 2?

If you open Turn Windows features on or off view, you can see the Virtual Machine Platform is actually checked? image

If not, check it and reboot. Then make sure you're using WSL 2. If you're on WSL 1, run wsl --set-default-version 2

rahulbtchrya commented 1 month ago

Hi @lstocchi I verified that the Virtual Machine Platform is enabled in Windows. I ran the command 'wsl --set-default-version 2' and it ran fine.

I ran the command 'wsl --install -d Ubuntu' and got the below error:

C:\Windows\System32>wsl --install -d Ubuntu Failed to fetch the list distribution from 'https://raw.githubusercontent.com/microsoft/WSL/master/distributions/DistributionInfo.json'. A connection with the server could not be established Error code: Wsl/InstallDistro/WININET_E_CANNOT_CONNECT

rahulbtchrya commented 1 month ago

WindowsFeatures

lstocchi commented 1 month ago

I'm out of ideas tbh, you should ask your IT dep for help setting your restricted environment.

The last proposals i have is... i went back to the first message and i read Wsl/Service/RegisterDistro/CreateVm/HCS/HCS_E_HYPERV_NOT_INSTALLED Enable the Hyper-V setting in Turn Windows features on or off.

If Desktop still does not detect WSL ( can you post the screenshot of the UI? ), try installing podman itself using its own binary and see if you face the same issue. Maybe Podman Desktop has some problem with the detection which can be skipped if podman is already installed.

rahulbtchrya commented 1 month ago

Hi @lstocchi , I verified that Hyper-V is enabled in windows features. I installed Podman using binary (ver 5.1.2). On running the 'podman machine init' command, I am getting the below error:

c:\Users\rahulbha>podman machine init Extracting compressed file: podman-machine-default-amd64: done Importing operating system into WSL (this may take a few minutes on a new WSL install)... Import in progress, this may take a few minutes. WSL2 is not supported with your current machine configuration. Please enable the "Virtual Machine Platform" optional component and ensure virtualization is enabled in the BIOS. Enable "Virtual Machine Platform" by running: wsl.exe --install --no-distribution For information please visit https://aka.ms/enablevirtualization Error code: Wsl/Service/RegisterDistro/CreateVm/HCS/HCS_E_HYPERV_NOT_INSTALLED Error: the WSL import of guest OS failed: command C:\Users\rahulbha\AppData\Local\Microsoft\WindowsApps\wsl.exe [--import podman-machine-default C:\Users\rahulbha.local\share\containers\podman\machine\wsl\wsldist\podman-machine-default C:\Users\rahulbha.local\share\containers\podman\machine\wsl\podman-machine-default-amd64 --version 2] failed: exit status 0xffffffff

Podman desktop is still showing the same error as earlier. Screen-shot attached. image

rahulbtchrya commented 1 month ago

I also tried to install ubuntu distribution, getting a different error message now:

c:\Users\rahulbha>wsl --install -d Ubuntu Ubuntu is already installed. Launching Ubuntu... Installing, this may take a few minutes... WslRegisterDistribution failed with error: 0x80370102 Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS. For information please visit https://aka.ms/enablevirtualization Press any key to continue... The operation completed successfully.

lstocchi commented 1 month ago

@rahulbtchrya i'm a bit lost. Bc i keep seeing the error Please enable the "Virtual Machine Platform" optional component and ensure virtualization is enabled in the BIOS. but you said it is enabled.

If you execute systeminfo.exe in the powershell what do you have in the section "Hyper-V Requirements"?

In the task manager, cpu tab, do you have virtualization enabled? image

rahulbtchrya commented 1 month ago

Hi @lstocchi , below is the output from systeminfo.exe

image

In my task manager cpu, I don't see the virtauklization enabled. This is a citrix vm that I am using, below is a snapshot

image

lstocchi commented 1 month ago

Ok, so this has to do with your citrix vm for sure. Unfortunately i don't have any exp with it so i don't have any other idea for now. I'm gonna investigate and see if i can find something. But i would suggest to ask your IT dep to enable virtualization, if possible. Let us know if you find a solution in the meantime.

rahulbtchrya commented 1 month ago

Hi @lstocchi , this issue indeed was due to virtualization. Our citrix machines can't have virtualization turned on. I installed Podman Desktop on a different laptop and was able to create a run a podman machine. However, I am now facing an issue with trying to pull an image: image

If I try from command line, I get a different error:

C:\Users\rahulbha>podman pull quay.io/podman/hello Cannot connect to Podman. Please verify your connection to the Linux system using podman system connection list, or try podman machine init and podman machine start to manage a new Linux VM Error: unable to connect to Podman socket: failed to connect: dial tcp 127.0.0.1:53519: connectex: No connection could be made because the target machine actively refused it.

lstocchi commented 1 month ago

@rahulbtchrya which is the output of podman system connection list? And what if you execute podman machine inspect <name-of-your-machine>?

rahulbtchrya commented 1 month ago

@lstocchi , below is the output of the commands

image

lstocchi commented 1 month ago

The output seems correct. Do you have any error when starting/stopping the machine? Can you ssh in it podman machine ssh?

rahulbtchrya commented 1 month ago

No, I am not able to ssh into the machine now. It was working fine yesterday. Getting this error

image

rahulbtchrya commented 1 month ago

Actually its worked now after restarting the machine.

lstocchi commented 1 month ago

Actually its worked now after restarting the machine.

Great. Not sure why but i'm glad that restarting fixed the error 👍

rahulbtchrya commented 1 month ago

No, I meant after restart I was able to ssh into the machine. The pulling of the image is still not working

image

lstocchi commented 1 month ago

which version of podman are you using? Can you try creating a machine which is not the default and see if you still face the error?

rahulbtchrya commented 1 month ago

Hi @lstocchi , I worked with our network team and as per them I had to import a certificate into the podman machine for it to work. I did the same and its able to pull the image now. However I noted that it only worked from the command line and not from Podman Desktop. However, after restarting Podman Desktop a few times, it worked fine.

lstocchi commented 4 weeks ago

Ok, closing this issue then, as it was tracking the WSL error. Feel free to open a new one for any other problem you face. Thank you!!

slemeur commented 4 weeks ago

cc @baude related to the command we'd like to have to ease the install/config of certificates in the podman machine.