[toc]
windows安装WSL
什么是wsl?
wsl(适用于 Linux 的 Windows 子系统)是 Windows 的一项功能,可用于在 Windows 计算机上运行 Linux 环境,而无需单独的虚拟机或双重启动。
WSL 旨在为想要同时使用 Windows 和 Linux 的开发人员提供无缝高效的体验。
目前wsl的最新默认版本是wsl2,WSL2相比wsl1提高了文件系统性能,并且增加了完整的系统调用兼容性。
安装wsl
目前wsl2是wsl的默认版本,wsl2必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 上。
先在windows11 系统中,打开 PowerShell(以 管理员 身份运行),然后输入下面的命令,来安装wsl功能。
# 该命令会安装 WSL功能
wsl --install如图所示。wsl功能就安装到电脑上了。需要重启电脑生效。 
然后再次输入下面的命令,会开始安装默认的Linux系统
# 该命令会安装 WSL功能,若已经安装,则会下载安装Linux系统
wsl --install如图所示,安装了默认的Ubuntu系统,并设置了默认的账户密码 
wsl 基本命令
当成功安装wsl之后,就可以使用下面的常用命令了。
# 该命令会安装 WSL,然后还会默认安装默认ubuntu系统。 (如果没有安装wsl,则会先安装wsl)
wsl --install
# 安装wsl,但不安装linux版本
wsl --install --no-distribution
# 安装wsl默认版本,并安装指定的Linux版本。Linux版本名称可以通过 wsl --list --online来查找。
wsl.exe --install [Linux版本名称]
wsl.exe --install --distribution <Linux版本名称>
# 在线查询wsl可以安装的 Linux 版本列表
wsl.exe --list --online
# 对应的简化命令
wsl -l -o
# 列出已安装的 Linux 分发版
wsl.exe --list --verbose
# 卸载wsl中已安装的某个linux版本
wsl --unregister <Linux版本名称>
# 查询 wsl的版本信息
wsl --version
# 将 WSL 版本更新为最新版本
wsl --update
# 查询 WSL 配置的常规信息
wsl --status
# 以指定用户身份运行 WSL,请将 <Username> 替换为 WSL 分发中存在的用户的名称
wsl --user <Username>
# 装载物理磁盘到wsl的系统中
wsl --mount <DiskPath>
# 卸载物理磁盘
wsl --unmount <DiskPath>
# 关机
wsl --shutdown重启wsl功能并重启某个Linux系统
# 先关闭wsl功能
wsl --shutdown
# 再启动某个指定的Linux系统
wsl -d Ubuntu-24.04安装Linux系统到其他盘中
# 将Linux系统安装到E盘的指定目录中。
wsl --install -d Ubuntu-24.04 --location E:\wsl2\ubuntu2404安装指定Linux系统
目前默认情况下 wsl安装的是ubuntu-22.04版本,可以更换为最新的ubuntu-24.04版本。按照下面的步骤即可
# 1. 先查询当前安装的Linux系统版本
wsl.exe --list --verbose
# 2. 然后卸载当前安装的Linux系统版本
wsl --unregister <Linux版本名称>
# 3. 然后查询可以安装的Linux系统版本
wsl.exe --list --online
# 4. 最后安装指定版本的Linux系统
wsl.exe --install <Linux版本名称>
# 例如
wsl.exe --install Ubuntu-24.04
# 5. 查询是否安装成功。
wsl.exe --list --verbose查询通过wsl安装的Linux系统的IP地址
进入到某个已安装的Linux系统的终端环境中,输入下面的命令,即可查询到该Linux系统的IP地址。
# 查询Linux系统的IP地址
ip addr show
# 简写形式
ip a
# 或者使用下面的命令,也可以查询到该Linux系统的IP地址
hostname -I管理WSL中的Linux子系统
账户和密码
当我们在wsl中安装好一个Linux系统的时候,会创建一个默认账户和密码。
这个账户密码会是该Linux系统的默认用户,并将在启动时自动登录。
注意若在wsl中安装多个不同的linux子系统的时候,都必须配置一个 默认用户密码。
图形界面访问Linux系统的目录
当我们在wsl中成功安装linux子系统之后。可以在windows的文件管理器界面中看到已安装的Linux子系统的目录。
如图可以访问。 
进入到Linux子系统的终端环境
当成功安装wsl和Linux子系统后,如何进入到Linux子系统的终端环境中?
如图所示,可以通过windows 11的开始桌面进入到Linux子系统终端环境。 
如图所示,如果安装的Linux子系统是Ubuntu系统,那么还可以通过sudo bash命令,来获取Ubuntu系统的root权限。 
更新和升级软件包
Windows 不会自动更新或升级 Linux 分发版。 因此建议定期更新和升级包。 对于 Ubuntu 或 Debian,请使用以下命令。
sudo apt update && sudo apt upgrade在ubuntu 中安装docker
具体安装方法,可参考docker笔记
wsl 虚拟机目录和本地目录映射
WSL 提供了 Windows 和 Linux 子系统之间的无缝文件访问能力,让用户可以在两个系统之间自由访问和操作文件。
在 WSL 中访问 Windows 目录
WSL 会自动将 Windows 的磁盘挂载到 /mnt 目录下。例如:
- C 盘:
/mnt/c - D 盘:
/mnt/d
你可以直接通过这些路径访问 Windows 上的文件。
在 Windows 中访问 WSL 目录
在 Windows 文件管理器中,输入以下路径即可访问 WSL 子系统的文件:
\\wsl$\<分发版名称>\home\<用户名>例如,如果你安装的是 Ubuntu-24.04,用户名为 user,路径为:
\\wsl$\Ubuntu-24.04\home\user性能优化
由于 WSL2 使用虚拟机技术,因此在WSL虚拟机中访问挂载的 Windows 目录可能会较慢。以下是一些优化建议:
使用 WSL 原生文件系统
对于需要频繁读写的项目,建议将其放在 WSL 内部目录中(如 ~/project)运行。而不是挂载的 Windows 目录中。
