这篇文章针对的是在 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. [编程]UML语言:理论之光与实践之惑

    UML介绍及现状 UML(统一建模语言)是软件工程领域中具有悠久历史的一种模型化语言工具.它通过标准化的图形符号体系,使得软件系统的蓝图能够被更直观地表达出来.UML诞生于20世纪90年代,经过多年积 ...

  2. 1. Shell 基本用法

    重点: 条件测试. read. Shell 环境配置. case. for. find. xargs. gzip,bzip2,xz. tar. sed. 1)编程基础 Linus 说:Talk is ...

  3. 报错Error running 'Tomcat 9.0.68': Can't find catalina.jar【解决办法】

    修改tomcat路径,肯定是你移动了jar包在硬盘的位置 将路径改成当前所在的文件位置

  4. 基于.NET Core + Quartz.NET+ Vue + IView开箱即用的定时任务UI

    前言 定时任务调度应该是平时业务开发中比较常见的需求,比如说微信文章定时发布.定时更新某一个业务状态.定时删除一些冗余数据等等.今天给大家推荐一个基于.NET Core + Quartz.NET + ...

  5. Bert-vits2-v2.2新版本本地训练推理整合包(原神八重神子英文模型miko)

    近日,Bert-vits2-v2.2如约更新,该新版本v2.2主要把Emotion 模型换用CLAP多模态模型,推理支持输入text prompt提示词和audio prompt提示语音来进行引导风格 ...

  6. IntelliJ IDEA官方宣布中文汉化包正式发布-intellijidea-guan-fang-xuan-bu-zhong-wen-han-hua-bao-zheng-shi-fa-bu

    title: IntelliJ IDEA官方宣布中文汉化包正式发布 date: 2021-07-27 16:42:21.823 updated: 2021-12-26 17:43:12.204 url ...

  7. java框架Mybatis的第一个程序

    1:什么是MyBatis MyBatis 是一款优秀的持久层框架 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程 MyBatis 可以使用简单的 XML 或注解来配 ...

  8. javacv实现屏幕录制(一)

    javacv实现屏幕录制(一) javacv从入门到入土系列,发现了个好玩的东西,视频处理,于是我想搞个屏幕录屏,我百度了一下,copy那些代码我没有实现过,那些代码也没有说明,只好去官网看文档找资料 ...

  9. ensp命令行大全

    命令符从用户视图切换到系统视图 system–view 从系统视图切换到用户视图 quit 连入接口命令 interface IP地址 子网掩码配置命令 ip address 接口IP信息查看命令 d ...

  10. 中国汽车工业协会 SDV 软件定义汽车服务 API 第三版下载

    开门见山,下载链接: https://files.cnblogs.com/files/tengzijian/SDV_API_Version3_Beta1_公众号:好记性如烂笔头.zip?t=16904 ...