跳到文章

在wsl2中安装官方archlinux

背景

archlinux 在最近由官方提供了对于 wsl 的支持 https://github.com/microsoft/WSL/pull/12818,此前也有在 wsl 使用 archlinux 的方式,不过都是由社区提供的一些方案,例如:https://github.com/yuk7/ArchWSL。

fedora 也在近期提供了官方对于 wsl 的支持。https://github.com/microsoft/WSL/pull/12710。这两个发行版的变化,是因为 wsl 现在可以通过一个 .wsl 文件提供发行版,而不需要通过 Windows 应用商店,如果上架应用商店则需要通过微软的用户条款,诸多发行版对此都有所顾虑。

既然官方提供支持了,就想体验一番,我对 wsl 是没什么意见的,体现了微软的技术实力,在有了 systemd,vscode remote插件后,使用体验还不错。

安装

首先需要安装 wsl 组件,在 powershell 中运行

wsl --install

需要管理员权限,安装后需要重启电脑

查看目前在线支持的版本有哪些

wsl -l -o
以下是可安装的有效分发的列表。
使用 'wsl.exe --install <Distro>' 安装。

NAME                            FRIENDLY NAME
AlmaLinux-8                     AlmaLinux OS 8
AlmaLinux-9                     AlmaLinux OS 9
AlmaLinux-Kitten-10             AlmaLinux OS Kitten 10
Debian                          Debian GNU/Linux
FedoraLinux-42                  Fedora Linux 42
SUSE-Linux-Enterprise-15-SP5    SUSE Linux Enterprise 15 SP5
SUSE-Linux-Enterprise-15-SP6    SUSE Linux Enterprise 15 SP6
Ubuntu                          Ubuntu
Ubuntu-24.04                    Ubuntu 24.04 LTS
archlinux                       Arch Linux
kali-linux                      Kali Linux Rolling
openSUSE-Tumbleweed             openSUSE Tumbleweed
openSUSE-Leap-15.6              openSUSE Leap 15.6
Ubuntu-18.04                    Ubuntu 18.04 LTS
Ubuntu-20.04                    Ubuntu 20.04 LTS
Ubuntu-22.04                    Ubuntu 22.04 LTS
OracleLinux_7_9                 Oracle Linux 7.9
OracleLinux_8_7                 Oracle Linux 8.7
OracleLinux_9_1                 Oracle Linux 9.1

安装 archlinux

wsl --install archlinux
正在下载: Arch Linux
正在安装: Arch Linux
已成功安装分发。它可通过 “wsl.exe -d archlinux” 启动

至此已经安装完成,但是 archlinux 什么性格大家也都懂,与其他发行版相比,安装后还需要做一些操作。但是已经比安装完整版系统少很多操作

安装后操作

关闭 Windows Terminal 并重新打开,在标签页下拉栏能看到 archlinux 选项,点击进入

image-20250420031832687

image-20250420032038864

根据官方建议,先更新

修改软件源

sudo sed -i '1i Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch\nServer = https://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch\nServer = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch' /etc/pacman.d/mirrorlist

更新

pacman -Syu

进入后默认是没有设置密码的 root 用户,首先为 root 设置密码

passwd

安装必要软件

pacman -S vim vi sudo

新建用户

useradd -m -G wheel 你的用户名

为新用户设置密码

passwd 你的用户名

配置 sudo

visudo

找到 # %wheel ALL=(ALL)ALL,去掉前面的注释#

设置默认用户,修改 wsl.confg添加如下内容

[user]
default=你的用户名

修改 locale 设置

vim /etc/locale.gen

找到 en_US.UTF-8 UTF-8 并取消注释这一行。

接着运行

locale-gen

编辑 /etc/locale.conf

将其中的 LANG=C.UTF-8 修改为 LANG=en_US.UTF-8

关闭 archlinux 终端,在 powershell 中输入

wsl --shutdown

再次打开 archlinux,可以看到用户已经变成新建的用户。

至此已经完成了基本修改,可以正常使用了,有其他需要则按需优化吧。遇到问题可以看下面的参考链接,官方的比较权威。

ref

https://wiki.archlinux.org/title/Install_Arch_Linux_on_WSL