Windows10/11 wsl2 安装 ArchLinux 子系统
这篇文章针对的是在win11系统的wsl2下安装ArchLinux系统,网上很多中文教程都是使用LxRunOffline去做的,但是实际上该方法已经过时了,目前有更加先进的ArchWSL方式。
如果用的是wsl1,不保证本教程可以适用。
安装 ArchLinux 子系统
最小 ArchLinux 安装
首先,需要确保你的系统已经安装并打开wsl2功能。详见官方文档。
Github上的ArchWSL项目已经帮我们把ArchLinux集成好了,可以到下载页面下载最新的Arch.zip文件:下载页面。
下载好之后,解压其中的文件到你需要存放ArchLinux的路径,例如D:\soft\wsl2\。随后执行目录下的Arch.exe文件,安装程序会自动将ArchLinux安装到同目录下面,并配置好wsl。
安装完成之后,打开终端,应该可以看到刚装好的ArchLinux系统:
$ wsl --list
适用于 Linux 的 Windows 子系统分发:
Ubuntu (默认)
Arch
可以看到我的电脑上除了ArchLinux之外还有别的子系统,你可以保留它们,也可以使用下面的命令卸载:
$ wsl --unregister Ubuntu
如有需要,使用下面命令将ArchLinux设为默认系统:
$ wsl --set-default Arch
使用下面的命令就可以进入ArchLinux了(如果你把ArchLinux设为默认系统了,则可以省略参数):
$ wsl -d Arch
进入系统之后,会做一些配置,结束之后就可以进入bash shell了。
安装较完整的 ArchLinux
-
安装LxRunOffline
下载地址:https://github.com/DDoSolitary/LxRunOffline/releases
选择最新版下载,解压后将LxRunOffline.exe放入任意一个 path 文件夹下即可
-
下载 ArchLinux
找到下载地址:https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/latest/
找到
archlinux-bootstrap-2024.01.01-x86_64.tar.gz
, 注意是tar.gz
文件 -
安装archlinux到WSL
命令1:
# Sample xRunOffline i -n <自定义名称> -f <Arch镜像位置> -d <安装系统的位置> -r root.x86_64
# 比如 $ .\LxRunOffline.exe i -n archlinux -f D:\Soft\WSL2\archlinux-bootst rap-2024.01.01-x86_64.tar.gz -d D:\Soft\WSL2\Arch -r root.x86_64
进入系统
命令:wsl -d <自定义WSL系统名称>
比如:wsl -d archlinux
配置源
在这里我们就进入了archlinux内部,然后以下操作在archlinux中进行
删除/etc/resolv.conf
文件
执行命令
rm /etc/resolv.conf
重新启动Archlinux
exit
执行上述命令后会退出arch,回到powershell,然后在powershell中执行
wsl --shutdown <名字>
比如:
wsl --shutdown archLinux
然后再次进入Arch
wsl -d archLinux
在Arch中执行
cd /etc/
explorer.exe .
注意后面的点,执行这条命令后会用windows的文件管理器打开/etc目录,然后找到pacman.conf,在这个文件最后加入
# [custom]
SigLevel = Optional TrustAll
[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
或者
# [custom]
SigLevel = Optional TrustAll
[archlinuxcn]
Server = http://mirrors.163.com/archlinux-cn/$arch
-
SigLevel = Optional TrustAll
是为了避免执行pacman -S archlinuxcn-keyring
时遇到【签名是勉强信任】的情况 -
参考Blog:
然后进入下一级目录pacman.d
,编辑里面的mirrolist文件,将China的源注释去掉(选择部分即可,建议选中对应的)
然后回到Arch,执行
pacman -Syy
pacman-key --init
pacman-key --populate
pacman -S archlinuxcn-keyring
pacman -S base base-devel vim git wget
如果执行pacman -Syy报:failed retrieving file 'extra.db' from 欢迎访问网易开源镜像站 : transfer closed with 560974 bytes remaining to read
则回到上一步mirrolist文件,将China的源中163中的源加上注释。
然后别忘了给当前的root设置密码
passwd
下述可不操作。
然后新建一个普通用户
useradd -m -G wheel -s /bin/bash <用户名>
passwd <用户名>
将文件/etc/sudoers
中的wheel ALL=(ALL) ALL
那一行前面的注释去掉
vim /etc/sudoers
查看当前用户id
id -u <用户名>