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 目錄下,因為性能損失巨大。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。