You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法运行WSL命令,VS Code搭配WSL出现Exec Format Error错误

WSL2中运行Windows可执行文件(如code、notepad.exe)出现"Exec format error"的解决方法

问题描述

配置VS Code与WSL2协同工作时,运行code命令触发"Exec format error",同时notepad.exe等Windows原生命令也报相同错误,具体报错信息:

newsofpe@DESKTOP-H6GRFEM:~$ code
/mnt/c/Users/Newso/AppData/Local/Programs/Microsoft VS Code/bin/code: 61: /mnt/c/Users/Newso/AppData/Local/Programs/Microsoft VS Code/Code.exe: Exec format error
newsofpe@DESKTOP-H6GRFEM:~$ notepad.exe
-bash: /mnt/c/WINDOWS/system32/notepad.exe: cannot execute binary file: Exec format error

已排除x86/x64兼容性问题,当前WSL版本信息:

Linux DESKTOP-H6GRFEM 5.15.90.1-microsoft-standard-WSL2 #1 SMP Fri Jan 27 02:56:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

解决方法

1. 检查并启用WSL Interop功能

WSL通过interop实现Windows可执行文件的跨系统运行,先确认该功能状态:

  • 查看当前interop状态:cat /proc/sys/fs/binfmt_misc/WSLInterop
  • 若输出显示enabled 0,执行命令启用:
    echo 1 | sudo tee /proc/sys/fs/binfmt_misc/WSLInterop
    
  • 若WSLInterop文件不存在,手动注册:
    sudo sh -c 'echo ":WSLInterop:M::MZ::/init:" > /proc/sys/fs/binfmt_misc/register'
    

2. 重置WSL Interop配置

临时启用无效时,重置整个interop规则:

sudo rm /proc/sys/fs/binfmt_misc/WSLInterop
sudo sh -c 'echo ":WSLInterop:M::MZ::/init:" > /proc/sys/fs/binfmt_misc/register'

3. 重启WSL服务

服务异常可能导致interop失效,在Windows PowerShell(或CMD)中执行:

wsl --shutdown

重新打开WSL终端后再次测试命令。

4. 验证WSL版本并升级

确保当前发行版为WSL2:

  • 查看版本:wsl -l -v
  • 若为WSL1,执行升级命令:wsl --set-version <你的发行版名称> 2

5. 修复Windows WSL组件

打开管理员权限的PowerShell,重新启用WSL相关组件:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

重启电脑后再次尝试运行Windows可执行文件。

6. 重置VS Code Remote-WSL扩展

若code命令仍异常,卸载并重装Remote-WSL扩展:

  • 在VS Code扩展面板找到"Remote - WSL",点击卸载
  • 重启VS Code后重新安装该扩展,再在WSL终端运行code .测试

内容的提问来源于stack exchange,提问作者NewsofPE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 05:07:23