配置 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 目录下,因为性能损失巨大。