首页 > 系统相关 >Windows安装Archlinux(WSL2)

Windows安装Archlinux(WSL2)

时间:2023-08-20 16:36:36浏览次数:47  
标签:Arch Windows WSL2 pacman 使用 PC Archlinux Linux 安装

导言

对于在Windows中使用Linux系统,有很多种实现方法。最常见的方法就是使用VM虚拟机软件。于是微软推出了WSL(Windows SubSystem For Linux),初代的WSL1,总体上是在运行时将Linux System Call翻译为NT API调用,从而在NT内核基础之上模拟实现Linux内核。也许是因为WSL1靠翻译System Call来模拟Linux内核的坑太大填不下去了,随即推出了WSL2(这货虽然也叫WSL,但是这次采用了虚拟机技术)

截至目前(2022/7/25),目前官方支持Ubuntu、Debian、SUSE、Kali、Fedora、Pengwin、Alpine等系统的安装。但是没有Archlinux。

对于未列为可用版本的 Linux 发行版,官方在文档中这样说:

要安装未列为可用版本的 Linux 发行版,可使用 TAR 文件导入任何 Linux 发行版。 在某些情况下,与 Arch Linux 一样,也可使用 .appx 文件进行安装。 还可以通过 WSL 创建自己的自定义 Linux 发行版,以供使用。
也就是说Archlinux可以直接使用appx文件安装

安装 ArchLinux

准备安装所需文件

打开ArchWSL的Releases页面(https://github.com/yuk7/ArchWSL/releases)
下载ArchWSL-AppX_xx.x.xx.x_x64.appx(本体)ArchWSL-AppX_xx.x.xx.x_x64.cer(证书文件)

安装证书文件

打开下载好的ArchWSL-AppX_xx.x.xx.x_x64.cer(证书文件)
点击安装证书,选择本地计算机,点击下一页
选择将所有的证书都放入下列储存,证书储存选择受信任的根证书颁发机构
提示安装完成,证书就安装成功了

安装ArchWSL

注意:请确保你的证书安装成功,否则无法安装ArchWSL

打开下载好的ArchWSL-AppX_xx.x.xx.x_x64.appx(本体)
弹出安装界面,点安装,等待安装完成。
如果没有报错,恭喜你,ArchLinux安装成功!

初始化ArchLinux

运行ArchLinux

你可以通过一下几种方法运行ArchLinux

在开始菜单中搜索Arch,运行
在PowerShell中输入Arch,运行
找到Arch.exe文件,运行

设置root密码

>Arch.exe
[root@PC-NAME]# passwd
新的密码:(不会显示)
重新输入新的密码:(不会显示)
passwd:已成功更新密码

设置默认用户

不推荐直接使用root当作默认用户,我们需要为系统设置一个默认用户

新建用户
>Arch.exe

(设置sudoer文件)
[root@PC-NAME]# echo "%wheel ALL=(ALL) ALL" > /etc/sudoers.d/wheel

(添加用户)
[root@PC-NAME]# useradd -m -G wheel -s /bin/bash {用户名}

(设置用户密码)
[root@PC-NAME]# passwd {用户名}

(退出WSL,返回Powershell终端)
[root@PC-NAME]# exit
设置默认用户
PowerShell终端中:
>Arch.exe config --default-user {用户名}
启动Arch,检查是否成功
>Arch.exe
[用户名@PC-NAME]# 

如果进入Arch之后,用户仍然是root,则需要重启LxssManager

重启LxssManager:打开PowerShell(管理员),输入net stop lxssmanager && net start lxssmanager

初始化密钥

这一步对使用Pacman是非常关键的

>Arch.exe
[user@PC-NAME]$ sudo pacman-key --init
[user@PC-NAME]$ sudo pacman-key --populate
[user@PC-NAME]$ sudo pacman -Syy archlinux-keyring

大功告成

到此,Arch就安装完成了,在你的Windows电脑愉快的使用ArchLinux吧!

已知问题

快捷方式

请查看 wsldl 的文档

glibc(WSL2玩家无视)

Arch 默认的 Glibc 包是为新版本 Linux 内核的 syscall 设计的,而 WSL1 并不支持它们。
因此,如果你不使用打过 Patch 的 Glibc 包,你的实例会完全开不起来。
建议使用 AUR 中的 glibc-linux4ᴬᵁᴿ 包。
建议从 archlinuxcn 社区仓库安装此包,以方便自动更新。

echo "[archlinuxcn]
Server = https://repo.archlinuxcn.org/$arch" >> /etc/pacman.conf
sudo pacman -Syy && sudo pacman -S archlinuxcn-keyring && sudo pacman -S glibc-linux4

当然,你也可以直接使用 AUR 助手安装。

yay -S glibc-linux4

fakeroot

fakeroot 默认使用 SYSV IPC, 但是 WSL1 目前还不支持它。

你可以转而使用 fakeroot-tcpᴬᵁᴿ 包。 (WSL2 无此问题)

下载 fakeroot-tcp-1.23-1-x86_64.pkg.tar.xz 然后运行 pacman -U fakeroot-tcp-1.23-1-x86_64.pkg.tar.xz 以安装。

Qt5

qt >=5.10 库在 WSL1 不能使用,这是 WSL 的问题。(在 Microsoft/WSL#3023)

请以 Root 执行这个: strip --remove-section=.note.ABI-tag /usr/lib/libQt5Core.so.5

MySQL 8/MariaDB

MySQL >=8 默认会使用使用原版的 AIO interface。WSL1 并不兼容它,因此你必须手动配置它。 编辑 /etc/my.cnf.d/server.cnf ,增加 innodb_use_native_aio=0[mysqld]

[mysqld]
innodb_use_native_aio=0

D-Bus

systemd D-Bus 守护进程在 WSL1 不能使用。 我建议使用 dbus-x11ᴬᵁᴿ。 下载 dbus-x11-1.12.16-1-x86_64.pkg.tar.xz 并运行 pacman -U dbus-x11-1.12.16-1-x86_64.pkg.tar.xz 以安装。

要启动 D-Bus 守护进程,运行:

sudo mkdir /run/dbus -p
sudo dbus-daemon --system

systemd/systemctl

WSL 并没有 systemd 的原生支持。 如果你需要使用依赖 systemd 支持的程序,我们建议使用替代脚本或容器。

WSL1 / WSL2

你可以用 systemctl 替代脚本, 不过它只能部分兼容 systemctl。
下载 systemd-altctl-1.4.4181-1-any.pkg.tar.xz 然后运行 pacman -U systemd-altctl-1.4.4181-1-any.pkg.tar.xz 以安装。

WSL2

你可以使用 systemd 容器 subsystemctl 或是 genie

使用它们,你就可以使用完整的 systemd 了。

SUBSYSTEMCTL

你可以下载 PKGBUILD 然后构建它。

读这里了解更多信息。

GENIE
你可以下载 这里的 PKGBUILDs.

读这里了解更多信息。

参考文章

安装WSL | MicroSoft Doc
ArchWSL documentation
微软WSL——Linux桌面版未来之光
适用于Linux的Windows子系统 - 维基百科

标签:Arch,Windows,WSL2,pacman,使用,PC,Archlinux,Linux,安装
From: https://www.cnblogs.com/orzmiku/p/17644180.html

相关文章

  • 虚拟机linux无法实现与原机windows之间的复制和拖拽文件--已解决
    在虚拟机(我用的是Ubuntu)桌面右键打开终端,输入第一行sudoaptinstallopen-vm-tools中间全部yes,然后关闭终端然后再次在桌面打开终端,输入sudoaptinstallopen-vm-tools-desktop中间全部yes完成......
  • windows上多版本nodejs安装和切换
    安装nvm下载地址:https://github.com/coreybutler/nvm-windows/releases下载exe安装即可。查看nvm版本: 查看已安装的nodejs版本: 安装Nodejs,比如安装版本v14.21.3执行命令:nvminstall14.21.3然后输入:nvmuse14.21.3指定当前使用的nodejs版本 ......
  • [总结]Windows提权总结
    0x01简介提权可分为纵向提权与横向提权:纵向提权:低权限角色获得高权限角色的权限;横向提权:获取同级别角色的权限。Windows常用的提权方法有:系统内核溢出漏洞提权、数据库提权、错误的系统配置提权、组策略首选项提权、WEB中间件漏洞提权、DLL劫持提权、滥用高危权限令牌提权、第......
  • 【工具】windows10定时关机
    windows10定时关机打开 cmd (在搜索栏输入cmd打开):2.2、创建计划任务:schtasks/create/TNshutdown_on_time/TR"shutdown/s/t60"/ST22:00:00/SCDAILY自己用的话只需改一个地方,把22:00:00改成自己需要的时间就行了3、查看创建结果:schtasks/Delete/TNshu......
  • windows环境发布、布署项目
    第一种布署方式:安装IIS,在IIS上发布第二种布署方式:发布后生成的dll文件cmd---dotnet启动项目名(WebNet)第三种布署方式:直接启动发布项目后的exe文件,json配置文件中配置下面这句"Kestrel":{"Endpoints":{"Http":{"Url":"http://*:7010"}......
  • windows系统下从硬盘安装linux-ubuntu
    #windows系统下从硬盘安装linux-ubuntu-1.使用系统自带的分区工具,划10G左右的空间当作安装盘。分区格式为FAT32,取个名字叫A。-2.把下载好的ubuntu镜像打开,复制内容到安装盘A。-3.重启电脑,按F12选择硬盘启动项。这里选ubuntu。 ......
  • 在 win10 2021 LTSC 上安装配置 wsl2 和 ubuntu
    在win102021LTSC上安装配置wsl2和ubuntu的过程:win10系统启用wsl2:wsl--install----no-distribution(安装wsl2,会自动打开系统feature:wsl子系统,虚拟机平台.不再需要去控制面板--启用windows特性)设置wsl默认版本为wsl2:wsl--set-defa......
  • [MyArch]我的Archlinux与bspwm的重生之途
    0x00前言碎语2023.8.19好久不见。这些日子一直在和bspwm和archlinux打交道。自从上次NepCTF的前几天和CuB3y0nd小师傅的bspwm配置打交道之后我一发不可收拾。中间为了恢复数据重装系统进kde,结果空手而归。收获是连续两次重装archlinux,我对这个系统的认识更加深刻了。0x01参......
  • Windows Terminal配置Git Bash
    大部分程序员对LinuxBash的熟悉程度肯定高于Windows的PowerShell,而Git是程序员电脑上必装的软件之一(没装?Areyoukiddingme?),GitBash可以在Windows上给我们提供LinuxBash的能力。可是GitBash这个古老质朴黑乎乎的界面,虽然说也不是不能用,但确实也只是凑活吧。。。因此今天我......
  • 【补充】为什么Windows不支持epoll
    【补充】为什么Windows不支持epoll【一】为什么Windows不支持epoll:epoll是Linux系统提供的一种IO多路复用机制,而Windows系统并没有提供与之等价的底层机制。Windows使用一种名为I/O完成端口(I/OCompletionPort)的技术来实现高效的异步IO处理。虽然epoll和......