安装 WSL 最好的方式

微软的 WSL 是一种使用 Linux 非常好的方式,如果通过 Microsoft Store 的默认方式安装 WSL 发行版,其 Linux 文件系统会被存放在 C:\Users\xxx\AppData\Local\Packages\,对于 C 盘空间紧张的电脑来说,这种方式并不友好。

今天给大家介绍一个能够直接将 WSL 安装在其他位置的方式。

前置要求

要安装 WSL,首先要检查系统是否可以使用 WSL。要使用 WSL 2,只需要 Windows 10 2004 及以上版本,或 Windows 11。然后打开 Windows 功能中的 适用于 Linux 的 Windows 子系统 和 虚拟机平台:

你也可通过在管理员的 PowerShell 中执行如下命令来启用这两个功能:

cmd 复制代码
dism /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

在重启之后就可以使用 wsl 命令了。

下载 Linux 内核更新包

在系统重启后,打开终端,输入如下指令:

shell 复制代码
wsl --update

这个过程将会下载最新版本的 WSL 2 的 Linux 内核。如果下载很慢的话,也可以通过下面的地址直接下载后再安装:

下载 Linux 版本

普通情况下, WSL 的 Linux 版本都是通过 Microsoft Store 下载安装的,但是这个微软的商店不是互动性假死,就是间歇性崩溃。我从未见过像这样连基本能够都不能保证的应用商店。

因此,我们到这个地方直接下载:
https://github.com/microsoft/WSL/blob/master/distributions/DistributionInfo.json

这是 Microsoft 官方 WSL 仓库中用于描述受支持发行版及其下载地址的配置文件。

这个文件里记录了 WSL 所支持的 Linux 发行版,我们挑选一个下载即可。这里我先选择了 Ubuntu-24.04,其 Url 为:
https://releases.ubuntu.com/24.04.3/ubuntu-24.04.3-wsl-amd64.wsl

我们将这个 wsl 文件下载到一个本地文件夹中,这可以看成一个软件安装包。其本质上是一个 WSL 发行版的 rootfs 打包文件,类似于容器镜像,用于初始化 Linux 根文件系统。

安装 wsi 到指定文件夹

我们通过这个命令来安装刚下载的 Linux 发行版,注意,这个命令是重点:

cmd 复制代码
wsl --install --from-file D:\wsl\rootfs\ubuntu-24.04.3-wsl-amd64.wsl --location D:\wsl\ubuntu --name ubuntu-24.04

下面对这个命令的每一项进行解释:

  • wsl --install:表示安装 wsl 的 Linux 发行版
  • --from-file:后面跟着 wsl 的路径,表示从本地 wsl 文件安装
  • --location:表示安装到的位置,这里安装到了 D:\wsl\ubuntu 这个位置
  • --name:Linux 发行版的名称

通过这种方式,Linux 就直接安装到了 D 盘的指定文件夹,而前面下载的 wsl 文件,在安装完成之后就可以删除了。

现在在 Windows 的终端上就可以创建 Linux 的终端了:

对于文件操作,也可以在 Windows 文件资源管理器左侧可以找到 Linux 的标志,点击 Linux 就可以操作 Linux 文件。

而在 WSL 的 Linux 中,Windows 的磁盘会被自动挂载到 /mnt 目录下,例如 /mnt/c、/mnt/d。这样就可以像在 Linux 中操作文件一样操作 Windows 中的文件了。

相关推荐
风华同学2 小时前
【Linux驱动篇】LED驱动开发实验
linux·驱动开发·ubuntu
ITHAOGE152 小时前
下载 | Win11 官方精简版,系统占用空间极少!(12月更新、Win 11 IoT物联网 LTSC版、适合老电脑安装使用)
windows·科技·物联网·microsoft·微软·电脑
张小九992 小时前
fpocket安装和使用教程
linux·机器学习·github
元气满满-樱2 小时前
Rewrite重写
linux·nginx
杰克崔2 小时前
进程内mmap锁相互干扰问题
linux·运维·服务器·车载系统
xlp666hub3 小时前
从零手写一个 printf 函数:变参宏与默认参数提升
linux
迅为电子3 小时前
迅为iTOP-Hi3516开发板linux驱动开发资料全面上线,构建从入门到精通的完整学习路径!
linux·驱动开发·学习
代码游侠3 小时前
应用——Linux进程通信与信号处理
linux·运维·服务器·笔记·学习·信号处理
HalvmånEver3 小时前
Linux:Ext系列⽂件系统(二)
linux·运维·服务器