WSL2でsystemdを有効にしたらWindowsのexeファイルがexec format errorで実行できなくなる
#トラブルシューティング
症状
code:1
% /mnt/c/win32yank/win32yank.exe -o
zsh: exec format error: /mnt/c/win32yank/win32yank.exe
解決策
以下のようなファイルを /usr/lib/binfmt.d/WSLInterop.conf というパスに保存して sudo systemctl restart systemd-binfmt を実行したら直る。
code:/usr/lib/binfmt.d/WSLInterop.conf
:WSLInterop:M::MZ::/init:PF
_WSL2__systemd__interop_ Unable to Execute Windows Binary when systemd enabled · Issue #8843 · microsoft/WSL