FeCCC

FeCCC

Windows下搭建wsl2 Arch Linux开发环境

配置 wsl#

启用 Windows-Subsystem-Linux#

控制面板​-程序​- 启用或关闭 Windows 功能​ 中勾选 适用于 Linux 的 Windows 子系统​ 以及 虚拟机平台​(wsl2 需要)

启用 wsl2

或者通过命令行(管理员身份)执行:

# 适用于 Linux 的 Windows 子系统
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# 虚拟机平台
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

完成后需要重启电脑。

设置 wsl 默认版本#

通过命令行(管理员身份)执行:

wsl --set-default-version 2

让未来的 Linux 都默认以 WSL2 形式安装。

现有 WSL 虚拟机也可以通过:

# 获取现有 wsl 版本信息
wsl --list --verbose

# 将现有发行版转化为制定版本
wsl --set-version <distribution name> <versionNumber>

升级到 WSL2 。

移动安装位置(可选)#

目前 WSL 不支持设置安装路径,使用一段时间后体积会膨胀到 10G+ ,可以通过开源工具 LxRunOffline 实现将 Linux 安装到任意位置,或者将现有 Linux 子系统移动到任意位置。

安装 LxRunOffline#

Scoop 是一个 Window 命令行包管理器,可以提供类似 apt/yum 的体验。

通过 Scoop 安装 LxRunOffline 方法如下:

# 在 Powershell 中执行
set-executionpolicy remotesigned -scope currentuser
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
scoop bucket add extras
scoop install lxrunoffline

或者你可以直接下载安装二进制文件,之后运行 regsvr32 LxRunOfflineShellExt.dll​ 完成。

移动#

# 在 Powershell 中执行
# 查看所有已安装的发行版
lxrunoffline gd

# 移动已存在发行版, 路径格式类似于 D:\wsl\Ubuntu-18.04
LxRunOffline m -n <发行版名称> -d < 路径 >

# 等待一段时间完成移动,查看发行版当前位置
LxRunOffline di -n <发行版名称>

安装 Linux 系统#

用命令行选择 wsl 系统并安装

或者打开 Microsoft Store,搜索 wsl 即可获取可用 Linux 发行版。

或者从下载官方镜像并使用 LxRunOffline 安装

命令行安装#

  • 查看可用的发行版

    wsl --list --online
    
    wsl -l -o
    
  • 安装发行版

    wsl --install -d distribution
    

安装后可能报错 WslRegisterDistribution failed with error: 0x800701bc

下载 Archlinux#

下载地址:https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/latest/

找到 archlinux-bootstrap-2023.04.01-x86_64.tar.gz​​, 注意是 ​**tar.gz**文件

安装 archlinux 到 WSL#

LxRunOffline i -n <自定义名称> -f <Arch镜像位置> -d <安装系统的位置> -r root.x86_64

比如:

LxRunOffline i -n ArchLinux -f C:\Users\user\Downloads\archlinux-bootstrap-2023.04.01-x86_64.tar.gz -d C:\Users\user\Linux -r root.x86_64

执行命令后,报错:

[ERROR] Couldn't get the value "DistributionName" of the registry key "Software\Microsoft\Windows\CurrentVersion\Lxss\TryStoreWSL".
Reason: 系统找不到指定的文件。

解决方法,打开注册表编辑器,找到 Software\Microsoft\Windows\CurrentVersion\Lxss\TryStoreWSL 项,并删除

安装后先在/etc/pacman.d/mirrorlist​中取消要使用的镜像地址前的注释

然后运行

pacman-key --init
pacman-key --populate archlinux

wsl 使用#

文件系统#

WSL1 的时候,文件目录位于

  • Ubuntu: %localappdata%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs
  • Ubuntu18.04: %localappdata%\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs

WSL2 可以直接通过 \\wsl$​ 在文件管理器中查看到网络位置上的 WSL 虚拟机,Ubuntu 就是 \\wsl$\Ubuntu​。

或者你可以从 WSL2 中直接打开当前目录,直接在终端里调用 explorer.exe .​ 就行了,非常 cool~

Windows 的磁盘在 WSL 中都表示为 /mnt/c|d|e...​,可以看,但是操作还是尽量拷贝到 WSL 目录下,因为性能损失巨大。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。