本文来自我的笔记 https://github.com/levinit
以下内容中 windows 命令在 powershell 或 windows terminal(倡议,其默认应用 powershell)中执行。
启用 wsl2
- 启用 hyperv
- 启用用于 linux 的子系统
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
家庭版启用 hyperv,创立一个 bat 文件如 hyperv.bat,内容如下:
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
管理员用户执行下面的 bat 文件。
可能要重启零碎。
装置 wsl2 archlinux
-
将 wsl 作为默认 wsl 版本:
wsl --set-default-version 2
应用
wsl -l -v
查看以后 wsl 版本及 linux 列表。可能提醒须要更新其内核组件,依据提醒的网址下载内核装置。
- 下载 ArchWSL2,解压目录,这里假如将加压的目录 ArchWSL2 放到
C:\\
目录下,点击目录内的Arch2.exe
装置。 - 将
C:\\ArchWSL2
退出环境变量方便使用搜寻 path,在 零碎属性 – 环境变量 中编辑
Path
行,增加该环境变量。
arch 根本配置
以下内容在 wsl archlinux 的 shell 中执行,依据须要进行一些根本配置:
# 密钥初始化
pacman-key --init
pacman-key --populate archlinux
#批改源,应用 China 源
curl 'https://www.archlinux.org/mirrorlist/?country=CN&protocol=https&ip_version=4'|sed "s/^#//" >/etc/pacman.d/mirrorlist
#更新零碎
pacman -Syyu --noconfirm
#root 明码
passwd root
#增加 archlinuxcn 源(可选)echo '[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch' >> /etc/pacman.conf
pacman -Syy
pacman -S archlinuxcn-keyring --noconfirm
#装置一些软件(可选)pacman -S --noconfirm vim htop git sudo
#增加一个普通用户(可选)useradd -m -g wheel levin
#将 windows 的一些目录与 linux 共用(可选)
#ln -sf /mnt/c/path/to/Documents ~/
设置 wsl 默认登录用户
archlinux 的 wsl 默认应用 root 用户登录。在 wsl 装创立了普通用户后,在 windows terminal 中配置 wsl 默认登录用户:
arch2 config --default-user levinit
wsl2 硬件资源调配
在用户目录 C:\\Users\\<username>
下创立 .wslconfig
文件:
[wsl2]
#kernel=C:\\temp\\myCustomKernel
memory=4GB # 将 WSL 2 中的 VM 内存限度为 4 GB
processors=2 #使 WSL 2 VM 应用两个虚构处理器