WSL2 配置 ArchLinux 初始化环境
这篇文章针对的是在 Win11 系统的 WSL2 下安装 ArchLinux 系统,
网上很多中文教程都是使用 LxRunOffline 去做的,但是实际上该方法已经过时了,目前有更加先进的ArchWSL方式。
基于 LxRunOffline 安装 ArchLinux 教程:Here
如果用的是wsl1,不保证本教程可以适用。
安装ArchLinux子系统
首先,需要确保你的系统已经安装并打开wsl2功能。详见官方文档。
Github上的 ArchWSL 项目已经帮我们把ArchLinux集成好了,可以到下载页面下载最新的Arch.zip文件:下载页面。
下载好之后,解压其中的文件到你需要存放 ArchLinux 的路径,例如 D:\Soft\WSL2\ArchLinux
。随后执行目录下的 Arch.exe文件,安装程序会自动将 ArchLinux 安装到同目录下面,并配置好 wsl 。
安装完成之后,打开终端,应该可以看到刚装好的ArchLinux系统:
% wsl --list
适用于 Linux 的 Windows 子系统分发:
Ubuntu-22.04 (默认)
archlinux
Arch
可以看到我的电脑上除了ArchLinux之外还有别的子系统,你可以保留它们,也可以使用下面的命令卸载:
% wsl --unregister Ubuntu
如有需要,使用下面命令将ArchLinux设为默认系统:
% wsl --set-default Arch
使用下面的命令就可以进入ArchLinux了(如果你把ArchLinux设为默认系统了,则可以省略参数):
% wsl -d Arch
进入系统之后,会做一些配置,结束之后就可以进入bash shell了。
配置pacman
首先,配置 pacman镜像源,改为国内的。
vim /etc/pacman.d/mirrorlist
增加以下内容:
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
输入下面命令,配置pacman key:
pacman-key --init
pacman-key --populate
pacman -Sy archlinux-keyring
如果
pacman -Sy archlinux-keyring
或者下面执行的pacman -Sy archlinuxcn-keyring
提示错误则需要手动签名一下。
error: archlinuxcn-keyring: signature from "Jiachen YANG (Arch Linux Packager Signing Key) <farseerf c@archlinux.org>" is marginal trust
更新系统:
此处更新需要等待一段时间,根据网络而定。
pacman -Syu
配置 archlinuxcn 镜像源:
vim /etc/pacman.conf
增加以下内容:
[archlinuxcn]
Server = https://mirrors.neusoft.edu.cn/archlinux/$arch
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
安装 archlinuxcn 的 key:
pacman -Sy archlinuxcn-keyring
配置用户
为root设置密码:
passwd
配置sudo:
echo "%wheel ALL=(ALL) ALL" > /etc/sudoers.d/wheel
添加非root用户:
useradd -m -G wheel -s /bin/bash {username}
passwd {username}
退出ArchLinux,进入刚刚安装ArchLinux的目录(例如D:\vm\archlinux),将默认用户改为非root用户:
exit # 退出archlinux,之后你会回到Windows
cd D:\vm\archlinux
.\Arch.exe config --default-user {username}
重启wsl并再次进入ArchLinux,你应该会进入非root用户:
wsl --shutdown # 这个命令会关闭所有虚拟机
wsl -d Arch
完成
以上,你就得到了最小的ArchLinux系统,如果要进行进一步配置,需要参考官方文档。
如果涉及到wsl的操作,例如要安装x-server以支持图形界面,或是配置GPU直连,可以参考微软官方的wsl文档:Windows Subsystem for Linux Documentation
如果是ArchLinux本身的操作,请参考 wiki,另外我个人推荐一篇很好的 ArchLinux 入门中文教程:ArchLinux 简明指南。
教程编写参考于: