Exec Format ErrorでVSCodeがWSL2から起動できない時の対処法
WSL2のUbuntuでVSCodeを開こうとしたら以下のエラーが出て開けなかったので対処法を書いておく。
$ code .
/mnt/c/Program Files/Microsoft VS Code/Code.exe: Exec format error
原因
この現象はsystemd
を有効にしてる場合だけ発生するので無効にすれば発生しない。
ただsystemd
を無効にするとsnap
が使えなかったり色々と不便なので他の対策が欲しい。
対策
GithubのIssueにその場しのぎの対処法としてWSLInterop.conf
に記述する方法があったのでそれを採用した。ただsystemd
がこれを無効化してたということはなにかsystemd
側で変な挙動が起きるんじゃないかとちょっと不安だ。
sudo sh -c 'echo :WSLInterop:M::MZ::/init:PF > /usr/lib/binfmt.d/WSLInterop.conf'
参考
https://github.com/microsoft/WSL/issues/8843#issuecomment-1459120198