AI 摘要
WSL的三种安装方式:在线、离线安装WSL及系统、直接下载系统包。迁移到D盘的方法。常见命令(启用systemd、关闭环境变量)。WSL2与VMware共存时性能下降,关闭VBS可解决。

windows sub linux

一、基本安装

官方文档

1.1 法一:在线安装

  1. 安装 wsl
1
wsl --install
  1. 在线查看可安装的系统
1
wsl --list --online
  1. 安装指定的系统
1
wsl --install -d <系统名称>

1.2 法二:离线安装WSL,在线安装系统

网慢,法一安装不上。

  1. 启用 WSL 和虚拟机平台
1
2
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  1. 重启计算机

  2. 下载并安装 WSL 2 Linux 内核更新包
    官方地址

  3. 设置 WSL 2 为默认版本

1
wsl --set-default-version 2

1.3 法三:离线安装系统

依旧网卡,法二安装不上系统。直接下载系统的安装包。

Github仓库找链接。

二、迁移到 D 盘

  1. 关闭 wsl
1
wsl --shutdown
  1. 导出系统
1
wsl --export <系统名称> D:\<system-name>.tar
  1. 注销原有的系统
1
wsl --unregister <系统名称>
  1. 在 D 盘创建目标文件夹
1
mkdir D:\WSL\<系统名称>
  1. 导入系统到 D 盘
1
wsl --import <新的系统名称> D:\WSL\<新系统的path> D:\<旧系统的镜像>.tar
  1. 登入新系统
1
wsl -d <新的系统名称>

三、常见命令

  1. 显示安装的系统
1
wsl --list --verbose
1
wsl -l -v
  1. WSL 默认不用 systemd,需要手动开启
1
echo -e "[boot]\nsystemd=true" > /etc/wsl.conf
  1. 关闭 WSL,触发重启
1
wsl.exe --shutdown

​ 还不可以的话,更新 WSL 的版本

1
wsl --update
  1. 关闭自动引入的环境变量
1
vim /etc/wsl.conf
1
2
[interop]
appendWindowsPath = false
  1. 手动引入环境变量
  • 追加到 PATH
1
vim ~/.bashrc
1
export PATH="$PATH:/mnt/d/Program Files/Microsoft VS Code/bin"
  • 软链接到 ~/.local/bin(推荐)
1
2
mkdir -p ~/.local/bin
ln -s "/mnt/d/Program Files/Microsoft VS Code/bin/code" ~/.local/bin/code

四、隐藏知识

  1. windows自动做了端口转发,不需要找wsl的ip,依旧可以localhost
  2. windows默认引入了 windows 的环境变量,但有时候会造成一些困扰

五、关闭 WSL

  1. 关闭 hyper-V,管理员执行,当然就无法使用 WSL 、以及基于 WSL 的 Docker Desktop 、等。
1
bcdedit /set hypervisorlaunchtype off

六、问题

和 Vmware Workstation Pro 共存时,vmware 性能大幅下降,网上也有不少的讨论。

  1. 关闭电源节流【没用】
1
powercfg /powerthrottling disable /path 'C:\Program Files\VMware\VMware Workstation\vmware.exe'
  1. 关闭 VBS,(同五,此时就不能使用 WSL2)::star::star::star::star::star:

    需要管理员权限执行.

1
bcdedit /set hypervisorlaunchtype off
  1. 管理员权限下启动 VMware【有一点用】

讨论帖子