这篇文章针对的是在 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

解决方法:新系统中安装 archlinuxcn-keyring 包前需要手动信任 farseerfc 的 key

更新系统:

此处更新需要等待一段时间,根据网络而定。

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 简明指南。

教程编写参考于:

WSL2 配置 ArchLinux 初始化环境的更多相关文章

  1. Spark源码剖析 - SparkContext的初始化(四)_Hadoop相关配置及Executor环境变量

    4. Hadoop相关配置及Executor环境变量的设置 4.1 Hadoop相关配置信息 默认情况下,Spark使用HDFS作为分布式文件系统,所以需要获取Hadoop相关配置信息的代码如下: 获 ...

  2. 【.net core 跨平台】第一步 在Ubuntu16.04 配置.net core环境

    本次使用VMware10.0.4工具安装Ubuntu16.04系统并配置.net core环境   Ubuntu 16.04 desktop下载地址:http://releases.ubuntu.co ...

  3. apache(nginx)+django+virutalenv(virtualenvwrapper)+gunicorn+supervisor配置高效web环境

    前言 django的调试模式配置简单,用于测试十分方便,但众所周知,这个只适合于调试,生产上运行效率十分低下. 后来考虑用nginx+uwsgi的模式进行,但之前配置过apache+wsgi的方式,感 ...

  4. 配置RMAN备份环境

    关于配置RMAN备份环境你可以给每个目标数据库设置一些固定的配置,这些配置控制着RMAN多个方面的行为.例如,你可配置备份的保存策略.默认的备份目录.默认的备份设备类型等.你可以用show命令来查看配 ...

  5. 如何利用Vagrant快速搭建相同配置的开发环境?

    作为一名程序猿,我们常常会遇到需要搭建开发环境的问题,特别是在新入职的时候,sublime, node, apache, mysql, php等等以及各种框架的安装.如果入职的是大公司有可能这些必要的 ...

  6. 让Spring Boot项目启动时可以根据自定义配置决定初始化哪些Bean

    让Spring Boot项目启动时可以根据自定义配置决定初始化哪些Bean 问题描述 实现思路 思路一 [不符合要求] 思路二[满足要求] 思路三[未试验] 问题描述 目前我工作环境下,后端主要的框架 ...

  7. OCM_第二天课程:Section1 —》配置 Oracle 网络环境

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

  8. VS2010配置OpenGL开发环境

    OpenGL(Open Graphics Library)是一个跨编程语言.跨平台的专业图形程序接口.OpenGL是SGI公司开发的一套计算机图形处理系统,是图形硬件的软件接口,任何一个OpenGL应 ...

  9. 安装使用phpStudy在本机配置php运行环境

    前言: php开发的初学者,强烈推荐使用phpStudy集成环境,一方面这个的确很好用(本人电脑安装了jspStudy,可以同时调试php和jsp),另一方面呢,虽然本人是技术控,但对这些繁杂的安装部 ...

  10. VSCode配置JAVA开发环境

    VSCode配置JAVA开发环境 1:给机器安装JDK.MAVEN 下载JDK 下载路径:https://www.oracle.com/technetwork/java/javase/download ...

随机推荐

  1. Modbus转PROFINET网关 TS-180

    TS-180实现 PROFINET 网络与串口网络之间的数据通信.三串口可分别连接具有 RS232 或 RS485 接口的设备到PROFINET 网络,三串口相同,全为 RS232 或RS485.即将 ...

  2. Android app兼容低版本Java环境

    原文地址: Android app兼容低版本Java环境 - Stars-One的杂货小窝 起因是修复一个Bug遇到的问题,找到了一个可以让app兼容低版本java的方法 众所周知,Android版本 ...

  3. Net 高级调试之十一:托管堆布局架构和对象分配机制

    一.简介 今天是<Net 高级调试>的第十一篇文章,这篇文章来的有点晚,因为,最近比较忙,就没时间写文章了.现在终于有点时间,继续开始我们这个系列.这篇文章我们主要介绍托管堆的架构,对象的 ...

  4. 地图选择器datav怎么使用?

    DataV 是一款基于阿里云的数据可视化产品,它提供了丰富的组件和功能,其中包括地图选择器.下面是一个详细的介绍: 1. 了解 DataV: - DataV 是一款强大的数据可视化工具,能够帮助用户将 ...

  5. AtCoder_abc331

    AtCoder_abc331 (这次题真的真的真的好难) 比赛链接 A - Tomorrow 题目链接 题目大意 有一个\(M\)个月,\(D\)天的日历,请输出\(y年m月z日\)的下一天. 解题思 ...

  6. 09 - Shell流程控制语句

    1. if-else语句 能够使用if条件语句进行条件判断 1.1 if 语法 if 条件 then 命令 fi if 条件; then 命令; fi 1.2 if-else 语法 if 条件 the ...

  7. visual studio 2013 汇编环境配置

    网上有很多教程,但是第一次运行仍然出现很多问题,后来我发现忽视了几个个重要的点!!!红色字体标注 教程搬自:https://github.com/JunpengCode/Assembly https: ...

  8. NC65单据模板公式使用

    单据模板公式使用 (一) 公式使用场景 用户使用产品时,往往对单据上的字段取值有各种不同的需求.为此单据模板提供 了模板公式功能,可以让实施顾问或者用户通过配置各种公式,并且不用修改代码,从 而满足用 ...

  9. 神经网络优化篇:详解梯度检验(Gradient checking)

    梯度检验 梯度检验帮节省了很多时间,也多次帮发现backprop实施过程中的bug,接下来,看看如何利用它来调试或检验backprop的实施是否正确. 假设的网络中含有下列参数,\(W^{[1]}\) ...

  10. fence的使用

    一.创建一个集群及pcs安装 1.真机切换root用户下 2.打开PC管理器视图 1.安装pcs,关掉防火墙,重启pcs和下次开机自动启动pcs 1.创建一个集群,用户:hacluster:密码:re ...