WSL全称Windows Subsystem for Linux,适用于Linux的Windows子系统。是一个为在Windows 10,windows 11和Windows Server 2019上能够原生运行Linux二进制可执行文件的兼容层。
通俗的说它就是Windows上的Ubuntu Bash。如果在Windows Store下载安装Linux的Windows子系统时,它通常安装到%LOCALAPPDATA%\[package name]\rootfs
系统驱动器的文件夹中,即我们常说的C盘。
随着你使用Linux时间增长,你的系统驱动器会逐渐装满,当你使用磁盘分析工具,查看那个目录占用空间最大的时,你会发现WSL是其中之一。因此我需要一种方式可以将WSL安装在非系统驱动器上,比如D,E,F,G,H盘等。
本教程将说明如何将WSL Windows Linux子系统安装到其它D,E,F,G,H盘或者文件夹。包括启用WSL子系统,创建WSL安装目录,下载Linux发行版,安装WSL Windows的Linux子系统,验证安装WSL的安装等。
启用WSL子系统
如果你尚未在windows上启用wsl,请以管理员身份运行Powershell命令提示符,执行以下命令启用Windows子系统:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
命令输出结果将如下所示:
Path :
Online : True
RestartNeeded : False
他将会提示你重启你的windows系统。这里我们已经启用了WSL,因此没有提示说明。因此不需要重新启动。
创建安装目录
选择一个你认为空间大的分区来创建一个目录用安装WSL的Linux发行版,他可以是你的系统上任意分区,任意文件夹,当然我们不建议你使用中文命名你的安装文件或者路径存在中文。分区可以是你任意分区,如D,E,F,G,H盘等。
这里我们使用powershell在D盘分区中创建一个名为Ubuntu的文件夹,wsl Linux发行版将安装在这个位置。注意请不要使用管理员身份创建这个文件夹,这可能会导致当前用户对该文件夹不可写。
如你跟着我们教程创建文件夹,请打开你的PowerShell终端执行以下命令创建文件夹:
New-Item D:\Ubuntu -ItemType Directory
然后执行以下命令设置当前工作目录的位置为D盘的Ubuntu文件夹:
Set-Location D:\Ubuntu
注意不要忘记这一步,接下来的工作都是在该目录进行
下载Linux发行版
可以在Microsoft Windows文档找到您可以下载的Linux发行版列表。在本教程我们将选择Ubuntu 20.04 Linux发行版作为示例。以下命令将在当前PowerShell终端中下载Ubuntu 20.04 Linux发行版:
Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing
你可以点击下面的链接手动下载,然后将下载好的Ubuntu.appx文件存放在D:\Ubuntu文件夹中:
Ubuntu 20.04,Ubuntu 20.04 ARM,Ubuntu 18.04,Ubuntu 18.04 ARM,Ubuntu 16.04,Debian GNU/Linux,Kali Linux,OpenSUSE Leap 42,SLES
下载完成后,我们将文件名的格式.appx改为zip,以下命令将重命名Ubuntu.appx为Ubuntu.zip:
Rename-Item .\Ubuntu.appx Ubuntu.zip
然后对Ubuntu.zip进行解压,继续在你的PowerShell终端执行以下:
Expand-Archive .\Ubuntu.zip -Verbose
安装WSL Windows的Linux子系统
解压缩后,你可在D:\Ubuntu文件夹找到一个ubuntu.exe的文件,这个文件可能会根据你下载的发行版本的不同而不同。
现在,运行可执行文件以初始化安装,并提取文件到rootfs并注册WSL。请等待该过程完成,然后系统将提示您创建一个新的用户,该用户是WSL Linux发行版使用的用户。
安装完成后,您会发现创建了“ rootfs”文件夹,其中包含所有库,可执行文件等。
验证安装
要验证安装可以使用以下命令,该命令将列出已安装的WSL Linux发行版:
wsl -l --all
至此,你已经完成在非系统盘或者C盘位置安装WSL Linux发行版。
结论
现在你已经了解如何安装wsl到其它驱动器上,如有任何疑问,请随时发表评论。