WSL2 安装教程
前言
笔者建议读者在Windows 11中安装WSL2。而不是Windows10,或者WSL1。MS不断地将新特性放在新版本中,只有最新的MS产品才能取得最好的使用体验。比如Win11+WSL2原生支持Linux GUI应用。这在其他旧组合下需要配置麻烦的Windows X server。
正文
在进行操作之前首先确认自己的主板BIOS开启虚拟化。
Windows搜索“Windows功能”,打开据说和vmware相冲的Hyper-v设置

(注:当Windows功能中没有Hyper-V选项,参考:WIN10家庭版 找不到Hyper-V的解决办法)
打开PowerShell
PS C:\Users\Au> wsl --set-default-version 2把要安装的WSL版本设置为WSL2,而不是WSL1。
如果上一步没有做到位,会这样显示:
PS C:\Users\Au> wsl --set-default-version 2
请启用虚拟机平台 Windows 功能并确保在 BIOS 中启用虚拟化。
有关信息,请访问 https://aka.ms/wsl2-install然后:
PS C:\Users\Au> wsl --install -d Ubuntu-20.04如果想安装其他版本,可以通过wsl --list --online命令查看官方提供的其他标准安装包。把上述命令中Ubuntu-20.04换成对应需要的版本名即可。
(安装中如果在下载完成后,启动WSL时遇到Error: 0x800701bc WSL 2,需安装https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi补丁)
更改默认WSL选择
(只有在电脑中存在多个WSL的时候需要)
在powershell里运行:
wsl --set-default Ubuntu-20.04由于我的电脑之前是有WSL1的,这样搞了之后再查看就会:
PS C:\WINDOWS\system32> wsl -l -v
NAME STATE VERSION
* Ubuntu-20.04 Running 2
Ubuntu-18.04 Stopped 1从此之后用wsl命令(无论是powershell还是文件管理器)都打开的是20了。
附录
wsl --list --online查看Windows提供的常用WSL发行版选择(真的很少)
wsl -l -v查看本地已安装的WSL发行版(上一小节已经展示),其中-l和--list相同。
MS还推荐一个辅助工具:Windows 终端安装 | Microsoft Docs
WSL2的初始化配置
初始化配置
设置用户名,设置sudo密码
sudo passwd root初始化git
百度“git的初始配置”,必要步骤摘要如下:
git config --global user.name xxxx
git config --global user.email [email protected]配置好或者不确定有没有配置都可以用这个命令确认:
git config --global --list我还做了一件事,把之前Windows/Linux上生成过的.ssh文件夹复制了一份过来,这样对于github或者其他repo来说,我直接借用了被复制的身份。
这个.ssh的路径是:
Windows: C:\Users\Au
Linux: ~其中Au是我的Win用户名,因人而异。所以挪过来的就是放在WSL的~下。如果id_rsa等公钥密钥的搬移中经过了Windows系统,会导致其文件操作权限被更改。因此在WSL的目的地.ssh中,需要重新把私钥权限修改为600,其他文件(公钥)权限修改为644。如下命令仅以600为例:
chmod 600 id_rsa配置VPN
配置中文和中文字体显示
首先开启WSL系统级中文支持:
sudo vim /etc/locale.gen在其中检索到一行:# zh_CN.UTF-8 UTF-8,将前面的#和空格删掉,按ESC,输入命令:wq保存退出。然后执行修改:
sudo locale-gen笔者只希望系统支持中文,但不希望系统默认语言被改为中文,所以并不修改/etc/default/locale内容和$LANG环境变量。
中文字体的安装有许多选择,既可以手动将.ttf 文件放到正确系统路径来完成,也可以apt install。这里以后者为例:
sudo apt install fonts-noto-cjk安装安卓默认字体,其支持中文。
以笔者会使用的intellij为例。安装该字体之前,intellij中的中文字体会显示为方框,安装之后重启intellij,该字体自动正常显示。
参考
旧版 WSL 的手动安装步骤 | Microsoft Docs