Win10手动开启WSL

安装步骤

  1. 以管理员身份打开PowerShell并运行下面命令来开启Linux子系统功能
1
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
  1. 下载镜像并自动安装到默认位置
1
2
Invoke-WebRequest -Uri https://aka.ms/wsl-debian-gnulinux -OutFile Debian.Appx -UseBasicParsing
Add-AppxPackage .\Debian.Appx
  1. 也可以手动下载并自定义安装位置
1
2
3
4
5
6
curl.exe -L -o Debian.Appx https://aka.ms/wsl-debian-gnulinux
mv Debian.Appx Debian.zip
unzip Debian.zip

# 首次运行需要以管理员身份运行Debian文件夹下的debian.exe进行初始化
# 初始化完成后续可以普通用户运行debian.exe运行WSL
  1. 其他系统镜像下载地址

启用WSL2

  1. 在Win10 1903或更高版本中可启用WSL2

  2. 使用管理员权限的命令提示符打开Linux子系统支持及启用虚拟平台功能

1
2
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  1. 下载安装WSL2的Linux内核安装包,下面是部分使用命令
1
2
3
4
5
wsl --list --verbose			# 查看已安装的Linux版本
wsl --set-default Debian # 设置 Debian为默认系统
wsl --set-default-version 2 # 将WSL 2设置为默认版本
wsl --set-version Debian 1 # 将Debian设置为WSL1版
wsl --set-version Ubuntu 2 # 将Ubuntu设置为WSL2版
  1. 可先设置好WSL的默认版本为1后再去商店安装Debian,然后再将默认版本改为WSL2后再去商店安装Ubuntu

另存它处

  1. 导出系统并迁移根文件系统至D盘,管理员身份运行命令提示符
1
2
3
4
5
6
7
8
# 迁移不需要卸载及重装WSL,直接注销和导入即可
# 在配置好WSL2环境的情况下,可不安装Debian APP直接导入先前的备份
# 但是不安装Debian APP无法使用debian命令来设置默认登录用户且无图标
# wsl --export Debian E:\Debian.tar # 迁移前建议先备份当前WSL系统到其他位置

wsl --unregister Debian # 先注销当前WSL分发版
wsl --import Debian D:\Soft\Debian D:\Debian.tar --version 2 # 再迁移WSL到D盘
debian config --default-user leux # 最后切换默认登录用户
  1. 如果代理软件和wsl2的sock端口冲突,可使用netsh winsock reset临时重置修复
1
2
3
4
参考的对象类型不支持尝试的操作。
Press any key to continue...

netsh winsock reset

其他命令

1
2
3
4
5
6
7
8
9
10
11
12
wsl --status							# 查看当前默认发行版和版本
wsl --version # 查看WSL组件版本
wsl --update # 更新WSL组件版本
wsl --shutdown # 终止所有正在运行的发行版
wsl --unregister <DistributionName> # 注销并卸载WSL发行版

# 导入导出指定发行版为tar文件
wsl --import <DistributionName> <InstallLocation> <FileName> # 导入
wsl --export <DistributionName> <FileName> # 导出

# 通过PowerShell或CMD运行特定的Linux发行版,用户必须存在(例如root)
wsl --distribution <DistributionName> --user <UserName>

注意事项

  1. WSL需要运行Windows的版本要大于或等于16215版本,WSL2需要18362或更高版本
  2. 启用相关组件后必须根据提示重启,WSL2必须额外安装微软提供的WSL2内核
  3. Linux子系统仅在系统驱动器上运行(通常是您的C:驱动器)