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

然后进入下一级目录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 <用户名>
posted @ 2024-01-15 13:31  RioTian  阅读(1026)  评论(0编辑  收藏  举报