准备

Enable the Windows Subsystem for Linux

管理员运行 powershell:

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

Enable Virtual Machine feature

  1. dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Download the Linux kernel update package

WSL2 Linux kernel update package for x64 machines

Set WSL default version

  1. wsl --set-default-version 2

WSL2 安装到 D 盘

Installing WSL Distro to a different/custom location https://docs.microsoft.com/zh-cn/windows/wsl/install-manual#step-4—-download-the-linux-kernel-update-package

  1. # 管理员运行 powershell
  2. dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  3. # Enable Virtual Machine feature
  4. dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  5. # 安装 wsl_update_x64.msi
  6. # 1. 下载 Ubuntu 20.04
  7. Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing
  8. # 2. 解压
  9. move .\Ubuntu.appx .\Ubuntu.zip
  10. Expand-Archive .\Ubuntu.zip
  11. # 3. 安装(这种方式默认用户是 root)
  12. wsl.exe --import <DistributionName> <InstallLocation> <FileName>
  13. # 例如
  14. wsl.exe --import Ubuntu2004 D:\Ubuntu2004 .\install.tar.gz
  15. # 验证
  16. wsl -l -v
  17. # 4. 进入 wsl2,创建用户
  18. bash
  19. $ sudo adduser <username>
  20. # 查看用户 uid
  21. $ id <username>
  22. # 5. 退出 wsl2 后,修改默认用户
  23. Get-ItemProperty Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\*\ DistributionName | Where-Object -Property DistributionName -eq <UbuntuCustom> | Set-ItemProperty -Name DefaultUid -Value <uid>

Webstorm 配置

在 C:\Users\\AppData\Roaming\JetBrains\WebStorm2020.3\options\wsl.distributions.xml 中设置:

  1. <descriptor>
  2. <id>UBUNTU2004</id>
  3. <microsoft-id>Ubuntu2004</microsoft-id>
  4. <executable-path>D:\WSL\Ubuntu\ubuntu2004.exe</executable-path>
  5. <presentable-name>Ubuntu 20.04</presentable-name>
  6. </descriptor>
  • Terminal sell path: “wsl.exe”
  • git 配置:\wsl$\Ubuntu2004\usr\bin\git
  • node.js and NPM 配置:Add WSL -> Ubuntu2004 -> node (需要先在 wsl2 中安装 nvm)

    WSL2 配置

    windows 中需要配置防火墙,wsl2 才能 ping 主机。
    Windows Defender 防火墙 -> 入站规则->新建规则:

  • 规则类型:自定义

  • 程序:所有程序
  • 协议和端口:默认即可
  • 作用域:
    • 本地ip处选择“任何IP地址”
    • 远程ip处选择“下列IP地址”,并将wsl2的IP添加进去。(请根据自己 wsl2 的 ip 进行计算,例如 172.22.176.0/24)
  • 操作:允许连接
  • 配置文件:三个全选
  • 名称描述:请自定义

注意:这一步完成后,从wsl2 ping主机的ip应该可以ping通了。

wsl2 中安装软件前,

  1. sudo service dbus start