WSL Ubuntu修复code .命令后systemctl无法操作mysql求助
解决WSL中
code .可用与systemctl服务管理冲突的问题 问题根源
你为修复code .报错关闭了systemd,但systemctl命令依赖systemd作为初始化系统,导致无法管理mysql等服务。下面是两全的修复方案:
具体步骤
重新启用systemd
- 编辑WSL配置文件:
sudo nano /etc/wsl.conf - 将
[boot]下的systemd=false修改为systemd=true,如果没有该配置段,直接添加:[boot] systemd=true - 按
Ctrl+O保存,Ctrl+X退出编辑器。
- 编辑WSL配置文件:
修复systemd启用后的WSL互操作(保证
code .正常运行)- 重新配置WSLInterop的binfmt规则:
sudo sh -c 'echo ":WSLInterop:M::MZ::/init:PF" > /usr/lib/binfmt.d/WSLInterop.conf'
- 重新配置WSLInterop的binfmt规则:
重启WSL生效
- 打开Windows PowerShell,执行:
wsl --shutdown - 重新打开Ubuntu终端。
- 打开Windows PowerShell,执行:
验证
- 执行
code .,确认VS Code能正常启动 - 执行
sudo systemctl restart mysql,确认服务能正常重启
内容的提问来源于stack exchange,提问作者shamyjun22
相关产品推荐
相关产品推荐

