转载请注明出处
简介
WSL是Windows 10的一个新功能,可以快速在windows下建立linux环境,且比虚拟机启动和运行更快
项目链接
局限性
目前WSL还有某些功能局限
- WSL中不能直接访问设备(Block设备, USB设备)
- WSL不能使用Systemctl管理服务(WSL2通过某些方式可以,下面再说)
- WSL2暂时不支持Ipv6 (WSL2目前只在内部预览版18917以上可用)
基础安装
首先需要开启WSL功能
- 控制面板->程序->程序和功能->启动或关闭Windows功能,勾选适用于Linux的Windows子系统

- 安装ArchWSL
2.1 从Windows商店安装
较为快捷,如未修改,可能会安装在C盘
直接在商店搜索Archlinux即可
2.2 使用Zip版本安装
方便管理,甚至可以便携
在https://github.com/yuk7/ArchWSL/releases/latest中下载zip文件,解压到想安装的目录
运行Arch.exe来生成rootfs文件夹并且注册到WSL - 初始化软件包系统,并更新
在搜索栏搜索wsl.exe打开终端(第一次打开可能略慢)
pacman-key --init
pacman-key --populate archlinux
pacman -Syyu base base-devel #该操作较慢,可以先进行下方的更换镜像站额外配置过程(根据需要选择)
- 建立非root账号并设为默认
useradd -m -G wheel -s /bin/bash username
passwd root
passwd username
# 退出终端,打开一个CMD(Or powershell)窗口
wsl config --default-user username- 更换镜像站
更换镜像站可以使我们能快速安装软件包
此处使用清华镜像站
编辑 /etc/pacman.d/mirrorlist, 在文件的最顶端添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
更新软件包缓存:# sudo pacman -Syy
- 安装ArchlinuxCN仓库
ArchlinuxCN从AUR选了些常用软件包,预编译好,给我们使用(例如IDEA等)
此处同样使用了清华的镜像站
使用方法:在 /etc/pacman.conf 文件末尾添加以下两行:
[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
之后安装
archlinuxcn-keyring包导入 GPG key。
# pacman -S archlinuxcn-keyring
- 美化终端,安装Oh-my-zsh
pacman -S zsh oh-my-zsh-git #需要ArchlinuxCN
cp /usr/share/oh-my-zsh/zshrc ~/.zshrc
chsh -s /bin/zsh #设置默认终端
vim .zshrc #可选- 安装图形界面(可选)
在windows上安装VcXsrv,并在linux配置环境变量DISPLAY=:0
echo "export DISPLAY=:0" >> .bzshrc #WSL2与此不同此处只配置了图形显示(可以运行图形程序了),如需图形界面,请自行选择安装
- 关闭Windows PATH(让TAB不再卡顿)
echo "[interop]" > /etc/wsl.conf
echo "appendWindowsPath=false" >> /etc/wsl.conf- 安装yaourt使用AUR
AUR为用户软件仓库,有大量用户分享的软件包(未经审核,注意安全)
需要自己下载编译,此处使用yaourt来简化安装AUR步骤
注意: AUR编译不允许使用root (安全原因)
pacman -S yaourt # archlinuxcn源- 未完待续
WSL2相关安装
WSL2 需要win10 18917(20H1)或以上版本
安装步骤(见 https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-install)
- 开启WSL2
以管理员身份打开 PowerShell 并运行:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux- 转换WSL1为WSL2
···wsl --set-version 2或先执行wsl --set-default-version 2```再安装发行版
WSL2与WSL1不同说明
WSL2 采用了轻型虚拟机架构(兼容性更好,比虚拟机快)
- WSL2不与host共享ip,有自己单独的ip,外网不能直接访问(端口映射见下)
- WSL2有完整linux内核,可以使用Docker等软件
- WSL2根目录采用vhdx+ext4,速度更快,但访问windows挂载目录会变慢
- Windows下可以通过
\\wsl$\Arch\访问WSL2根目录
此处内核仍为WSL版本,但可以通过技巧使用Systemd(见下)