microsoft / WSL

Issues found on WSL
https://docs.microsoft.com/windows/wsl
MIT License
17.29k stars 814 forks source link

Error code: Wsl/Service/0x8007273d #9331

Open ffainelli opened 1 year ago

ffainelli commented 1 year ago

Version

Microsoft Windows [Version 10.0.19044.2364]

WSL Version

Kernel Version

No response

Distro Version

Ubuntu 22.04

Other Software

No response

Repro Steps

Start Ubuntu 22.04 or 20.04 installed from the Microsoft Store and notice the following error being reported upon startup:

The attempted operation is not supported for the type of object referenced. Error code: Wsl/Service/0x8007273d Press any key to continue...

Expected Behavior

Ubuntu should start fine.

Actual Behavior

The attempted operation is not supported for the type of object referenced. Error code: Wsl/Service/0x8007273d Press any key to continue...

Diagnostic Logs

No response

zysun commented 1 year ago

I have this problem too. Did you fix it?

qzmlgfj commented 1 year ago

The same.

I used to run WSL using the Windows optional component version before, and after updating to the store version, the problem occurs. I tried to remove the store version, and it works again.

Seems the update didn't remove the old version, otherwise I cannot restore my WSL so easily.

ffainelli commented 1 year ago

@qzmlgfj where di you get the non-store version out of curiosity? This issue happened to me with the latest update of Windows 10, it worked fine before but this is on $corporate machine that forced the upgrade.

Tyromancer commented 1 year ago

Same here, I'm on Windows 10 and this error showed up after installing updates (KB5021233 and KB5021089). Tried the reg fix here but no luck. Also tried wsl --update and wsl --shutdown then reopen, also no luck

ffainelli commented 1 year ago

I was able to "fix" this issue by doing the following:

Which seems like what @qzmlgfj did as well.

Tyromancer commented 1 year ago

I was able to "fix" this issue by doing the following:

  • in Add or remove programs: uninstall first "Windows Subsystem for Linux Update" and then "Windows Subsystem for Linux"
  • try to start your distribution again and it will point you to: https://aka.ms/wsl2kernel
  • from there download the wsl_update_x64.msi file and run it, install the WSL kernel
  • start your distribution again

Which seems like what @qzmlgfj did as well.

Thank you so much, it worked for me

timadye commented 1 year ago

I think it is sufficient just to uninstall "Windows Subsystem for Linux" (either from the Apps Settings, or perhaps instead from the Programs and Features control panel). That takes you back to the old version of WSL (Windows optional feature, not Windows Store), and everything works again.

I was really looking forward to using the new WSL2 features (especially WSLg and systemd) in Windows 10, so I'd really like to be able to update. But whenever I do update, I always have the same error when I start a distribution:

C:\home>wsl
The attempted operation is not supported for the type of object referenced.
Error code: Wsl/Service/0x8007273d

I get the same error whether I use an old distribution, or a new one created as part of the update. I've tried Ubuntu, Debian, and CentOS7. I've tried uninstalling everything (unregister all distributions, uninstall WSL App, WSL Kernal update, WSL and Virtual Machine Platform from Windows Features) and then installing from scratch with

wsl --install

That runs fine, until it starts the newly-installed distribution, at which point I get the same error code when it tries to set the default username.

Sorry for the long report, but I hope this makes it clear that we don't have a fix, just a way to back out the new version.

For the record, here are the version numbers I get with the broken WSL after the update:

C:\home>wsl --version
WSL version: 1.0.3.0
Kernel version: 5.15.79.1
WSLg version: 1.0.47
MSRDC version: 1.2.3575
Direct3D version: 1.606.4
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.19045.2364
qzmlgfj commented 1 year ago

@qzmlgfj where di you get the non-store version out of curiosity? This issue happened to me with the latest update of Windows 10, it worked fine before but this is on $corporate machine that forced the upgrade.

@ffainelli I started using WSL in 2020, and it seems the latest update of Windows 10 didn't affect my WSL.

The notification occurs when login WSL tells me to run wsl --update, and everything goes wrong after that.

nurhasyim354 commented 1 year ago
netsh winsock reset

then restarting my PC works for me

WSL version: 1.0.3.0 Kernel version: 5.15.79.1 WSLg version: 1.0.47 MSRDC version: 1.2.3575 Direct3D version: 1.606.4 DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows version: 10.0.19045.2364

timadye commented 1 year ago

This is interesting. The problems I reported before were on an ASUS laptop. I tried on another machine (Dell), and this time it worked! πŸ˜„

wsl --update ran smoothly and after that, all my distros ran fine, but now with the new features. So there must be something with my first machine that causes this error with the WSL update.

Here are some differences between the two machines:

I don't know if it relevant, but the ASUS's CPU is not on Microsoft's list of Intel processors supported for Windows 11, while the Dell's CPU is. Of course both are running Windows 10, so that shouldn't make a difference. Both CPU have the same feature set, and both work with the previous version of WSL2, so they should work the same.

Apart from the Windows version number reported above, the wsl --version is the same on both machines after update.

Does anyone else who sees this error, have anything that matches my ASUS machine better than my Dell machine? Maybe that'll give us a clue as to what's going on here.

timadye commented 1 year ago

@nurhasyim354:

netsh winsock reset

That fixed the problem for me too! 😁

I ran the winsock reset on my ASUS machine (the one experiencing the problem before I restored the old version of WSL), then ran wsl --update again, and wsl works for both my distros.

Thanks, this is fantastic!

HAAZZZEEEE commented 1 year ago

@nurhasyim354:

netsh winsock reset

That fixed the problem for me too! 😁

I ran the winsock reset on my ASUS machine (the one experiencing the problem before I restored the old version of WSL), then ran wsl --update again, and wsl works for both my distros.

Thanks, this is fantastic!

It's really works. Thanks a lot!

arcayi commented 1 year ago
netsh winsock reset

then restarting my PC works for me

It works. Thanks for this!

yywing commented 1 year ago
netsh winsock reset

then restarting my PC works for me

WSL version: 1.0.3.0 Kernel version: 5.15.79.1 WSLg version: 1.0.47 MSRDC version: 1.2.3575 Direct3D version: 1.606.4 DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows version: 10.0.19045.2364

work for me too

marcosrosse commented 1 year ago
netsh winsock reset

then restarting my PC works for me

WSL version: 1.0.3.0 Kernel version: 5.15.79.1 WSLg version: 1.0.47 MSRDC version: 1.2.3575 Direct3D version: 1.606.4 DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows version: 10.0.19045.2364

It also works for me; thank you!

hycinth22 commented 1 year ago
netsh winsock reset

then restarting my PC works for me

WSL version: 1.0.3.0 Kernel version: 5.15.79.1 WSLg version: 1.0.47 MSRDC version: 1.2.3575 Direct3D version: 1.606.4 DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows version: 10.0.19045.2364

netsh winsock reset makes WSL2 works , but also make Proxifier(use winsock) broken. In fact, it is likely that the changes made to Winsock by Proxifier or similar software caused the 0x8007273d error in wsl2.

I found another solution (noLSP): https://wangyj.medium.com/the-solution-to-wsl-error-the-attempted-operation-is-not-supported-for-the-type-of-object-aa559854d1e3 This solution disable proxifier in wsl2, so they can live together.

you can fix Error code: Wsl/Service/0x8007273d by the following steps:

Steps for early version (fresh system installation or install wsl from Windows Feature):

  1. Download Nolsp.exe: http://www.proxifier.com/tmp/Test20200228/NoLsp.exe
  2. configure nolsp via NoLSP.exe "C:\Windows\System32\wsl.exe", it will add a proper registry.
  3. run wsl --shutdown && net stop WslService && net start WslService, close all wsl terminal and reopen wsl Now, wsl2 can work well.

(Alternatively) If you dont want to use Nolsp.exe binary file, you can Manually add the following items to the registry using regedit.exe.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Catalog\0408F7A3]
"AppFullPath"="C:\Windows\System32\wsl.exe"
"PermittedLspCategories"=dword:80000000

Steps for windows store users or you once run wsl --update (both install wsl from Windows Store):

You are using wsl2 from windows store, so please specify the file path of wsl2 store app("C:\Program Files\WindowsApps\WSL_DIRNAME\wsl.exe") instead of default C:\Windows\System32\wsl.exe.

Firstly, you can obtain the WSL_DIRNAME by the following instruction in cmd(admin):

cd "C:\Program Files\WindowsApps\"
dir MicrosoftCorporationII.WindowsSubsystemForLinux_*

you will see WSL_DIRNAME, it seems like MicrosoftCorporationII.WindowsSubsystemForLinux_1.2.5.0_x64__8wekyb3d8bbwe. (different WSL_DIRNAME for different wsl2 versions.)

Next steps:

  1. Download Nolsp.exe: http://www.proxifier.com/tmp/Test20200228/NoLsp.exe
  2. run NoLSP.exe "C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_1.2.5.0_x64__8wekyb3d8bbwe\wsl.exe", it will add a proper registry.
  3. run NoLSP.exe "C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_1.2.5.0_x64__8wekyb3d8bbwe\wslservice.exe", it will add a proper registry. (Note: use your WSL_DIRNAME to modify the 1.2.5.0_x64__8wekyb3d8bbwe if you are using a different version.)
  4. run wsl --shutdown && net stop WslService && net start WslService, close all wsl terminal and reopen wsl Now, wsl2 can work well. And be aware that path to WindowsApps change every time wsl update(so you will need to reconfig nolsp in the future)

(Alternatively) If you dont want to use Nolsp.exe binary file, you can Manually add the following items to the registry using regedit.exe.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Catalog\0A89E33B]
"PermittedLspCategories"=dword:80000000
"AppFullPath"="C:\\Program Files\\WindowsApps\\MicrosoftCorporationII.WindowsSubsystemForLinux_1.2.5.0_x64__8wekyb3d8bbwe\\wsl.exe"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Catalog\3A1A96F3]
"PermittedLspCategories"=dword:80000000
"AppFullPath"="C:\\Program Files\\WindowsApps\\MicrosoftCorporationII.WindowsSubsystemForLinux_1.2.5.0_x64__8wekyb3d8bbwe\\wslservice.exe"

(Note: modify the 1.2.5.0_x64__8wekyb3d8bbwe if you are using a different version. And modify the 0A89E33B&3A1A96F3 (yet I dont know how to get valid one if not use NoLSP.exe. so I recommand you use NoLSP.exe)

muhammadelmogy commented 1 year ago
netsh winsock reset

then restarting my PC works for me

WSL version: 1.0.3.0 Kernel version: 5.15.79.1 WSLg version: 1.0.47 MSRDC version: 1.2.3575 Direct3D version: 1.606.4 DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows version: 10.0.19045.2364

This Worked for me without event restarting my PC!

BodhiHu commented 1 year ago

netsh winsock reset

Just run this fixed this for me :D Grateful! Thanks a lot!

ffainelli commented 1 year ago

I can confirm that using:

netsh winsock reset

works, however after a few hours of uptime, my WSL instances stop responding and just freeze. This did not happen before using the latest WSL update from the store. Anyone seeing this as well?

adeiming commented 1 year ago

wsl --update work for me

lesleyrs commented 1 year ago

netsh winsock reset only temporarily fixed the problem for me, second time I try to access wsl I get the error again.

Afterwards I tried running wsl --update and that seems to have fixed it (hopefully).

tonycoc commented 1 year ago

@hycinth22 >

i have same problem with Proxycap did fix the problem with proxifire??

sistek commented 1 year ago

I had the same issue, netsh winsock reset and wsl --update worked for me.

jdstone commented 1 year ago

This worked for me: If you did not enable Windows Subsystem for Linux (see screenshot number 1 below) before downloading WSL from the Microsoft Store, then follow these directions to fix your issue.

  1. Uninstall Windows Subsystem for Linux that was installed from the Microsoft Store (see add/remove programs) image
  2. Restart computer
  3. Enable the Windows Subsystem for Linux and Virtual Machine Platform feature in optional features image
  4. Restart computer
  5. Install WSL from the Microsoft Store
  6. All set! You can now install a distribution.

Screenshots:

1) image

bazilxp commented 1 year ago

Thanks for help guys here! I run into problem Error code: Wsl/Service/0x8007273d Tried (downloading, uninstalling ) does not help much

netsh winsock reset - helped me . wsl -l - quite useful command if nothing still works you can also downgrade machine to version 1

wsl --set-version Ubuntu-18.04 1 ( for instance downgrade ubuntu version 1 wsl) wsl --set-version Ubuntu-18.04 2 ( upgrade ubuntu to version 2 wsl) Before i did winsock reset, i downgrade to version it was working :)

ihaveonesun commented 1 year ago

Thanks @nurhasyim354. netsh winsock reset Saved my skin!

WSL: 1.2.5.0 kernel: 5.15.90.1 WSLg: 1.0.51 MSRDC: 1.2.3770 Direct3D: 1.608.2-61064218 DXCore: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows: 10.0.19045.3086

hycinth22 commented 1 year ago

@hycinth22 >

i have same problem with Proxycap did fix the problem with proxifire??

yes, it can be fixed. Realted issue #4177

if it does not work, see my update https://github.com/microsoft/WSL/issues/9331#issuecomment-1399533955

balokolos commented 1 year ago

I was able to "fix" this issue by doing the following:

  • in Add or remove programs: uninstall first "Windows Subsystem for Linux Update" and then "Windows Subsystem for Linux"
  • try to start your distribution again and it will point you to: https://aka.ms/wsl2kernel
  • from there download the wsl_update_x64.msi file and run it, install the WSL kernel
  • start your distribution again

Which seems like what @qzmlgfj did as well.

Work for me. Thank you If it helps other, it also help me launch docker desktop

parcox commented 9 months ago
netsh winsock reset

then restarting my PC works for me WSL version: 1.0.3.0 Kernel version: 5.15.79.1 WSLg version: 1.0.47 MSRDC version: 1.2.3575 Direct3D version: 1.606.4 DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows version: 10.0.19045.2364

netsh winsock reset makes WSL2 works , but also make Proxifier(use winsock) broken. In fact, it is likely that the changes made to Winsock by Proxifier or similar software caused the 0x8007273d error in wsl2.

I found another solution (noLSP): https://wangyj.medium.com/the-solution-to-wsl-error-the-attempted-operation-is-not-supported-for-the-type-of-object-aa559854d1e3 This solution disable proxifier in wsl2, so they can live together.

you can fix Error code: Wsl/Service/0x8007273d by the following steps:

Steps for early version (fresh system installation or install wsl from Windows Feature):

  1. Download Nolsp.exe: http://www.proxifier.com/tmp/Test20200228/NoLsp.exe
  2. configure nolsp via NoLSP.exe "C:\Windows\System32\wsl.exe", it will add a proper registry.
  3. run wsl --shutdown && net stop WslService && net start WslService, close all wsl terminal and reopen wsl Now, wsl2 can work well.

(Alternatively) If you dont want to use Nolsp.exe binary file, you can Manually add the following items to the registry using regedit.exe.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Catalog\0408F7A3]
"AppFullPath"="C:\Windows\System32\wsl.exe"
"PermittedLspCategories"=dword:80000000

Steps for windows store users or you once run wsl --update (both install wsl from Windows Store):

You are using wsl2 from windows store, so please specify the file path of wsl2 store app("C:\Program Files\WindowsApps\WSL_DIRNAME\wsl.exe") instead of default C:\Windows\System32\wsl.exe.

Firstly, you can obtain the WSL_DIRNAME by the following instruction in cmd(admin):

cd "C:\Program Files\WindowsApps\"
dir MicrosoftCorporationII.WindowsSubsystemForLinux_*

you will see WSL_DIRNAME, it seems like MicrosoftCorporationII.WindowsSubsystemForLinux_1.2.5.0_x64__8wekyb3d8bbwe. (different WSL_DIRNAME for different wsl2 versions.)

Next steps:

  1. Download Nolsp.exe: http://www.proxifier.com/tmp/Test20200228/NoLsp.exe
  2. run NoLSP.exe "C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_1.2.5.0_x64__8wekyb3d8bbwe\wsl.exe", it will add a proper registry.
  3. run NoLSP.exe "C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_1.2.5.0_x64__8wekyb3d8bbwe\wslservice.exe", it will add a proper registry. (Note: use your WSL_DIRNAME to modify the 1.2.5.0_x64__8wekyb3d8bbwe if you are using a different version.)
  4. run wsl --shutdown && net stop WslService && net start WslService, close all wsl terminal and reopen wsl Now, wsl2 can work well. And be aware that path to WindowsApps change every time wsl update(so you will need to reconfig nolsp in the future)

(Alternatively) If you dont want to use Nolsp.exe binary file, you can Manually add the following items to the registry using regedit.exe.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Catalog\0A89E33B]
"PermittedLspCategories"=dword:80000000
"AppFullPath"="C:\\Program Files\\WindowsApps\\MicrosoftCorporationII.WindowsSubsystemForLinux_1.2.5.0_x64__8wekyb3d8bbwe\\wsl.exe"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Catalog\3A1A96F3]
"PermittedLspCategories"=dword:80000000
"AppFullPath"="C:\\Program Files\\WindowsApps\\MicrosoftCorporationII.WindowsSubsystemForLinux_1.2.5.0_x64__8wekyb3d8bbwe\\wslservice.exe"

(Note: modify the 1.2.5.0_x64__8wekyb3d8bbwe if you are using a different version. And modify the 0A89E33B&3A1A96F3 (yet I dont know how to get valid one if not use NoLSP.exe. so I recommand you use NoLSP.exe)

Thank you. This work for me too, I also have Proxifier installed on my Windows, so I think this is the proper solution/workaround. In addtion, I run NoLSP.exe C:\Program Files\WSL\wsl.exe and NoLSP.exe C:\Program Files\WSL\wslservice.exe instead of NoLSP.exe "path of the WSL.exe from Microsoft Store".

FloeHetling commented 9 months ago
netsh winsock reset

then restarting my PC works for me WSL version: 1.0.3.0 Kernel version: 5.15.79.1 WSLg version: 1.0.47 MSRDC version: 1.2.3575 Direct3D version: 1.606.4 DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows version: 10.0.19045.2364

netsh winsock reset makes WSL2 works , but also make Proxifier(use winsock) broken. In fact, it is likely that the changes made to Winsock by Proxifier or similar software caused the 0x8007273d error in wsl2. I found another solution (noLSP): https://wangyj.medium.com/the-solution-to-wsl-error-the-attempted-operation-is-not-supported-for-the-type-of-object-aa559854d1e3 This solution disable proxifier in wsl2, so they can live together. you can fix Error code: Wsl/Service/0x8007273d by the following steps:

Steps for early version (fresh system installation or install wsl from Windows Feature):

  1. Download Nolsp.exe: http://www.proxifier.com/tmp/Test20200228/NoLsp.exe
  2. configure nolsp via NoLSP.exe "C:\Windows\System32\wsl.exe", it will add a proper registry.
  3. run wsl --shutdown && net stop WslService && net start WslService, close all wsl terminal and reopen wsl Now, wsl2 can work well.

(Alternatively) If you dont want to use Nolsp.exe binary file, you can Manually add the following items to the registry using regedit.exe.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Catalog\0408F7A3]
"AppFullPath"="C:\Windows\System32\wsl.exe"
"PermittedLspCategories"=dword:80000000

Steps for windows store users or you once run wsl --update (both install wsl from Windows Store):

You are using wsl2 from windows store, so please specify the file path of wsl2 store app("C:\Program Files\WindowsApps\WSL_DIRNAME\wsl.exe") instead of default C:\Windows\System32\wsl.exe. Firstly, you can obtain the WSL_DIRNAME by the following instruction in cmd(admin):

cd "C:\Program Files\WindowsApps\"
dir MicrosoftCorporationII.WindowsSubsystemForLinux_*

you will see WSL_DIRNAME, it seems like MicrosoftCorporationII.WindowsSubsystemForLinux_1.2.5.0_x64__8wekyb3d8bbwe. (different WSL_DIRNAME for different wsl2 versions.) Next steps:

  1. Download Nolsp.exe: http://www.proxifier.com/tmp/Test20200228/NoLsp.exe
  2. run NoLSP.exe "C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_1.2.5.0_x64__8wekyb3d8bbwe\wsl.exe", it will add a proper registry.
  3. run NoLSP.exe "C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_1.2.5.0_x64__8wekyb3d8bbwe\wslservice.exe", it will add a proper registry. (Note: use your WSL_DIRNAME to modify the 1.2.5.0_x64__8wekyb3d8bbwe if you are using a different version.)
  4. run wsl --shutdown && net stop WslService && net start WslService, close all wsl terminal and reopen wsl Now, wsl2 can work well. And be aware that path to WindowsApps change every time wsl update(so you will need to reconfig nolsp in the future)

(Alternatively) If you dont want to use Nolsp.exe binary file, you can Manually add the following items to the registry using regedit.exe.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Catalog\0A89E33B]
"PermittedLspCategories"=dword:80000000
"AppFullPath"="C:\\Program Files\\WindowsApps\\MicrosoftCorporationII.WindowsSubsystemForLinux_1.2.5.0_x64__8wekyb3d8bbwe\\wsl.exe"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Catalog\3A1A96F3]
"PermittedLspCategories"=dword:80000000
"AppFullPath"="C:\\Program Files\\WindowsApps\\MicrosoftCorporationII.WindowsSubsystemForLinux_1.2.5.0_x64__8wekyb3d8bbwe\\wslservice.exe"

(Note: modify the 1.2.5.0_x64__8wekyb3d8bbwe if you are using a different version. And modify the 0A89E33B&3A1A96F3 (yet I dont know how to get valid one if not use NoLSP.exe. so I recommand you use NoLSP.exe)

Thank you. This work for me too, I also have Proxifier installed on my Windows, so I think this is the proper solution/workaround. In addtion, I run NoLSP.exe C:\Program Files\WSL\wsl.exe and NoLSP.exe C:\Program Files\WSL\wslservice.exe instead of NoLSP.exe "path of the WSL.exe from Microsoft Store".

dunno why this solution is so damn hard to find. It is single solution that worked for me.

xoner commented 8 months ago
netsh winsock reset

then restarting my PC works for me WSL version: 1.0.3.0 Kernel version: 5.15.79.1 WSLg version: 1.0.47 MSRDC version: 1.2.3575 Direct3D version: 1.606.4 DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows version: 10.0.19045.2364

netsh winsock reset makes WSL2 works , but also make Proxifier(use winsock) broken. In fact, it is likely that the changes made to Winsock by Proxifier or similar software caused the 0x8007273d error in wsl2.

I found another solution (noLSP): https://wangyj.medium.com/the-solution-to-wsl-error-the-attempted-operation-is-not-supported-for-the-type-of-object-aa559854d1e3 This solution disable proxifier in wsl2, so they can live together.

you can fix Error code: Wsl/Service/0x8007273d by the following steps:

Steps for early version (fresh system installation or install wsl from Windows Feature):

  1. Download Nolsp.exe: http://www.proxifier.com/tmp/Test20200228/NoLsp.exe
  2. configure nolsp via NoLSP.exe "C:\Windows\System32\wsl.exe", it will add a proper registry.
  3. run wsl --shutdown && net stop WslService && net start WslService, close all wsl terminal and reopen wsl Now, wsl2 can work well.

(Alternatively) If you dont want to use Nolsp.exe binary file, you can Manually add the following items to the registry using regedit.exe.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Catalog\0408F7A3]
"AppFullPath"="C:\Windows\System32\wsl.exe"
"PermittedLspCategories"=dword:80000000

Steps for windows store users or you once run wsl --update (both install wsl from Windows Store):

You are using wsl2 from windows store, so please specify the file path of wsl2 store app("C:\Program Files\WindowsApps\WSL_DIRNAME\wsl.exe") instead of default C:\Windows\System32\wsl.exe.

Firstly, you can obtain the WSL_DIRNAME by the following instruction in cmd(admin):

cd "C:\Program Files\WindowsApps\"
dir MicrosoftCorporationII.WindowsSubsystemForLinux_*

you will see WSL_DIRNAME, it seems like MicrosoftCorporationII.WindowsSubsystemForLinux_1.2.5.0_x64__8wekyb3d8bbwe. (different WSL_DIRNAME for different wsl2 versions.)

Next steps:

  1. Download Nolsp.exe: http://www.proxifier.com/tmp/Test20200228/NoLsp.exe
  2. run NoLSP.exe "C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_1.2.5.0_x64__8wekyb3d8bbwe\wsl.exe", it will add a proper registry.
  3. run NoLSP.exe "C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_1.2.5.0_x64__8wekyb3d8bbwe\wslservice.exe", it will add a proper registry. (Note: use your WSL_DIRNAME to modify the 1.2.5.0_x64__8wekyb3d8bbwe if you are using a different version.)
  4. run wsl --shutdown && net stop WslService && net start WslService, close all wsl terminal and reopen wsl Now, wsl2 can work well. And be aware that path to WindowsApps change every time wsl update(so you will need to reconfig nolsp in the future)

(Alternatively) If you dont want to use Nolsp.exe binary file, you can Manually add the following items to the registry using regedit.exe.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Catalog\0A89E33B]
"PermittedLspCategories"=dword:80000000
"AppFullPath"="C:\\Program Files\\WindowsApps\\MicrosoftCorporationII.WindowsSubsystemForLinux_1.2.5.0_x64__8wekyb3d8bbwe\\wsl.exe"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Catalog\3A1A96F3]
"PermittedLspCategories"=dword:80000000
"AppFullPath"="C:\\Program Files\\WindowsApps\\MicrosoftCorporationII.WindowsSubsystemForLinux_1.2.5.0_x64__8wekyb3d8bbwe\\wslservice.exe"

(Note: modify the 1.2.5.0_x64__8wekyb3d8bbwe if you are using a different version. And modify the 0A89E33B&3A1A96F3 (yet I dont know how to get valid one if not use NoLSP.exe. so I recommand you use NoLSP.exe)

This worked for me but with the following paths for wsl and wslservice:

ghost commented 7 months ago

I was able to "fix" this issue by doing the following:

  • in Add or remove programs: uninstall first "Windows Subsystem for Linux Update" and then "Windows Subsystem for Linux"
  • try to start your distribution again and it will point you to: https://aka.ms/wsl2kernel
  • from there download the wsl_update_x64.msi file and run it, install the WSL kernel
  • start your distribution again

Which seems like what @qzmlgfj did as well.

This solution does not work for me