这篇文章针对的是在 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. 一个基于ASP.NET Core完全开源的CMS 解决方案

    本文简介 MixCoreCMS是一个基于.NET Core框架的开源内容管理系统(CMS),提供了丰富的的基础功能和插件,是一款面向未来的企业 Web CMS,可轻松构建任何类型的应用程序.集成了Go ...

  2. JavaWeb项目练习(学生选课管理系统)三【登录功能】

    需求: 首页为用户登录页面,管理员,教师,学生三种角色用户登录后,进入相应的功能页. 在index.jsp文件里跳转到login.jsp页面,为了更好地书写 <%@ page contentTy ...

  3. [CF1854C] Expected Destruction

    题目描述 You have a set $ S $ of $ n $ distinct integers between $ 1 $ and $ m $ . Each second you do th ...

  4. [ABC262C] Min Max Pair

    Problem Statement You are given a sequence $a = (a_1, \dots, a_N)$ of length $N$ consisting of integ ...

  5. springMvc报错

    这个报错困扰了我大概一天,主要是刚开始没抓到主要原因,是因为自己的项目结构出现了问题, 导致找不到应有的东西,另一方面就是maven的问题,将maven解决后这个就能用了. 具体解决在https:// ...

  6. 数字孪生结合GIS系统为旅游行业带来的改变

    随着数字孪生技术的不断发展和普及,越来越多的行业开始意识到其潜在的价值和应用前景.在旅游行业中,数字孪生结合GIS系统的应用正在逐渐引起关注,并带来了诸多改变和创新. 数字孪生是指通过将现实世界中的实 ...

  7. vscode下载

    vscode下载 想下载官网可以直接去官网下载(速度超慢~) 百度网盘链接: 链接:https://pan.baidu.com/s/14DfWI5b2HA_J_kHBcu8JQw?pwd=yyds 提 ...

  8. 【scikit-learn基础】--『监督学习』之 支持向量机回归

    在机器学习中,支持向量机(Support Vector Machine)算法既可以用于回归问题,也可以用于分类问题. 支持向量机(SVM)算法的历史可以追溯到1963年,当时前苏联统计学家弗拉基米尔· ...

  9. 【开源项目推荐】Great Expectations—开源的数据质量工具

    大家好,我是独孤风. 又到了本周的开源项目推荐.数据质量是企业进行数据治理非常重要的一个环节,高质量的数据对管理决策,业务支撑都有非常重要的作用. 只有持续的数据质量改进才能推动数据治理体系的完善,差 ...

  10. ncurses 与 panel

    ncurses 与 panel 一下是ncurses使用面板库panel的一个demo程序. #include <ncurses.h> #include <panel.h> # ...