wsl2 cannot run exe files:exec format error

2023-11-21

问题在于,启用 systemd 会以某种方式更改 /proc/sys/fs/binfmt_misc/

文件(或类似文件?)中的 WSLInterop.conf 条目丢失了。

我在这里重写了答案,而不是直接链接,因为原来的参考线程越来越长,而且有死链接。

单行本解决了这个问题。

解决方案(从这里开始)是替换该文件。Windows 可执行文件以两个字母 MZ 开头

当试图运行以这两个字母开头的文件时,下面的命令会告诉 Linux 该怎么做。

sudo sh -c ‘echo :WSLInterop:M::MZ::/init:PF > /usr/lib/binfmt.d/WSLInterop.conf’.

sudo systemctl restart systemd-binfmt

我使用的是本帖链接中的 23.04 映像

我猜这可能是打包或安装过程中的错误,但我不知道该向谁反映。