配置 wsl#
啟用 Windows-Subsystem-Linux#
在 控制面板
-程式
- 啟用或停用 Windows 功能
中勾選 適用於 Linux 的 Windows 子系統
以及 虛擬機平台
(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 目錄下,因為性能損失巨大。