基础概念和操作
WSL(Windows Subsystem for Linux)允许你在 Windows 10 或 Windows 11 上运行 Linux 环境。下面是从安装到使用 WSL 的详细步骤:
1. 检查系统要求
确保你的 Windows 版本支持 WSL。你需要 Windows 10 版本 1903 或更高,构建版本 18362 或更高。Windows 11 则默认支持 WSL。
2. 启用 WSL
- 打开“控制面板”。
- 选择“程序”。
- 点击“启用或关闭 Windows 功能”。
- 在列表中找到“适用于 Linux 的 Windows 子系统”、“虚拟机平台”,勾选并点击“确定”。
- 重新启动计算机。
3. 安装 WSL 2
- 打开 PowerShell(以管理员身份运行)并运行以下命令来安装 WSL 2:
1
wsl --install
- 设置 WSL 2 作为默认版本:
1
wsl --set-default-version 2
4. 安装 Linux 发行版
- 查看可安装的 linux 发行版:
wsl -l --online - 下载并安装指定的 linux 发行版:
wsl --install <linux_name> --web-download
5. 使用 WSL
- 打开已安装的 Linux 发行版应用。你现在在 Linux shell 中,可以像在传统 Linux 环境中一样使用命令行工具。
- 你可以通过
wsl命令从 Windows 命令行或 PowerShell 启动 Linux 发行版。例如,运行以下命令可以启动默认的 WSL 发行版:1
wsl
-
如果你有多个 WSL 发行版,可以指定要启动的发行版。例如,启动 Ubuntu:
1
wsl -d Ubuntu
也可以直接在 PowerShell 上选择 wsl 打开。
6. WSL 的常用命令
- 查看已安装的发行版及其运行状态·:
1
wsl -l -v
- 设置默认发行版:
1
wsl --set-default <发行版名称>
- 更改 WSL 版本:
1
wsl --set-version <发行版名称> 2
- 卸载发行版:
1
wsl --unregister <发行版名称>
7. 整合 Windows 和 WSL
你可以在 Windows 和 WSL 之间无缝地共享文件和工具:
- 在 WSL 中访问 Windows 文件系统:路径在
/mnt/c下。例如,访问 C 盘的文件:1
cd /mnt/c/Users/你的用户名/文件夹 - 在 Windows 中访问 WSL 文件系统:路径在
\\wsl$\<发行版名称>\下。例如,在文件资源管理器中访问 Ubuntu 的文件系统:1
\\wsl$\Ubuntu\home\你的用户名
通过这些步骤,你应该能够成功安装并使用 WSL 在 Windows 上运行 Linux 环境。如果有更多特定问题,随时问我。
其他特性和操作
1. 卸载、备份和导入 wsl
在使用 WSL 时,你可能需要卸载、备份或导入 WSL 发行版。以下是详细的操作步骤:
卸载 WSL 发行版
- 通过“应用和功能”卸载:
- 打开“设置”应用。
- 选择“应用”。
- 在“应用和功能”中,找到你要卸载的 Linux 发行版(例如,Ubuntu)。
- 点击该发行版,然后选择“卸载”。
- 通过 PowerShell 卸载:
- 打开 PowerShell(以管理员身份运行)。
- 运行以下命令查看已安装的发行版:
1
wsl -l -v
- 运行以下命令来卸载特定的发行版:
1
wsl --unregister <发行版名称>
- 例如,卸载 Ubuntu:
1
wsl --unregister Ubuntu
备份 WSL 发行版
备份 WSL 发行版的主要方式是导出其文件系统到一个 tar 文件:
- 导出发行版:
- 打开 PowerShell(以管理员身份运行)。
- 运行以下命令将发行版导出到 tar 文件:
1
wsl --export <发行版名称> <路径>\备份文件.tar
- 例如,备份 Ubuntu:
1
wsl --export Ubuntu C:\Backup\ubuntu_backup.tar
- 检查备份:
- 确保 tar 文件已正确生成并存在指定位置。
导入 WSL 发行版
如果你想恢复或迁移 WSL 发行版,可以通过导入 tar 文件来完成:
- 导入发行版:
- 打开 PowerShell(以管理员身份运行)。
- 运行以下命令将 tar 文件导入到新的发行版中:
1
wsl --import <新发行版名称> <安装路径> <路径>\备份文件.tar
- 例如,将备份的 Ubuntu 恢复到
C:\WSL\Ubuntu路径下:1
wsl --import Ubuntu C:\WSL\Ubuntu C:\Backup\ubuntu_backup.tar
- 启动导入的发行版:
- 打开你的 Linux 发行版应用,检查数据是否恢复正常。
- 你也可以使用命令行启动新的发行版:
1
wsl -d <新发行版名称>
相较于普通 linux 的特性
WSL(Windows Subsystem for Linux)与普通的 Linux 系统有一些显著的不同之处。下面是一些 WSL 的特性和特殊操作:
特性
- 与 Windows 紧密集成:
- WSL 允许你在 Windows 环境中运行 Linux,而不需要虚拟机或双启动。你可以直接从 Windows 访问 WSL 中的文件和工具。
- 你可以在 Windows 和 WSL 之间轻松共享文件。Windows 文件系统在 WSL 中可用,而 WSL 文件系统也可以通过
\\wsl$路径在 Windows 中访问。
- 图形界面支持(WSL 2):
- 从 WSL 2 开始,支持 Linux GUI 应用程序。你可以在 WSL 2 中运行图形化 Linux 应用程序,这些应用程序会在 Windows 桌面上显示。
- 文件系统差异:
- WSL 的文件系统使用不同的路径结构,例如
/mnt/c用于访问 Windows 的 C 盘。WSL 中的文件系统与原生 Linux 系统的文件系统有所不同。
- WSL 的文件系统使用不同的路径结构,例如
- 网络集成:
- WSL 与 Windows 共享网络接口。WSL 中的网络行为与 Windows 相同,并且可以访问 Windows 网络服务。WSL 2 使用虚拟机和虚拟网络,可能需要在特定情况下配置网络端口转发。
- 性能:
- WSL 2 使用轻量级虚拟机技术,通常比 WSL 1 提供更好的性能,特别是在文件操作和 Docker 容器方面。
特殊操作
- 启动和管理 WSL:
- 你可以使用 PowerShell 或命令提示符启动和管理 WSL 发行版。例如,
wsl命令可以启动默认发行版,wsl -l -v可以列出所有已安装的发行版及其状态。
- 你可以使用 PowerShell 或命令提示符启动和管理 WSL 发行版。例如,
- 访问 Windows 文件:
- 在 WSL 中,你可以通过
/mnt/c路径访问 Windows 的 C 盘。例如:1
cd /mnt/c/Users/你的用户名/Documents
- 在 WSL 中,你可以通过
- 运行 Windows 应用程序:
- 你可以从 WSL 中直接调用 Windows 应用程序。只需在 WSL 终端中输入 Windows 应用程序的路径。例如:
1
notepad.exe
- 你可以从 WSL 中直接调用 Windows 应用程序。只需在 WSL 终端中输入 Windows 应用程序的路径。例如:
- 配置文件系统和网络:
- WSL 2 使用虚拟机和虚拟网络,你可能需要配置端口转发来访问 WSL 中的服务。你可以使用
netsh命令进行配置。例如,将 WSL 中运行的 Web 服务端口转发到 Windows:1
netsh interface portproxy add v4tov4 listenport=8080 connectaddress=127.0.0.1 connectport=80
- WSL 2 使用虚拟机和虚拟网络,你可能需要配置端口转发来访问 WSL 中的服务。你可以使用
- 备份和恢复:
- 使用
wsl --export和wsl --import命令可以备份和恢复 WSL 发行版,这对于迁移或备份非常有用。
- 使用
- 使用 WSL 终端:
- 在 Windows 中,你可以使用 Windows Terminal 来管理多个 WSL 实例,提供更好的终端体验。
- 处理兼容性问题:
- 某些 Linux 特性可能在 WSL 中不完全支持或表现不同。例如,WSL 1 不支持原生的 Linux 内核功能,而 WSL 2 则使用真正的 Linux 内核,但仍有一些与硬件和系统调用的兼容性问题。
总结
WSL 在集成和性能上提供了相对于传统虚拟机或双启动环境的优势,特别适合开发和测试工作。然而,它与原生 Linux 系统在文件系统、网络和一些系统调用上仍有差异。在使用 WSL 时了解这些特性和特殊操作可以帮助你更高效地利用它。
配置
wsl.conf 和 .wslconfig 是用于配置 WSL(Windows Subsystem for Linux)行为的重要文件。它们分别用于配置单个 WSL 发行版和全局 WSL 设置。以下是详细的配置方法和示例:
配置 wsl.conf
wsl.conf 是位于 WSL 发行版中的配置文件,主要用于调整特定发行版的设置。它通常位于 /etc/wsl.conf。
1. 编辑 wsl.conf 文件
- 打开 WSL 终端(例如,Ubuntu)。
-
使用文本编辑器编辑
/etc/wsl.conf文件:1
sudo nano /etc/wsl.conf或者:
1
sudo vim /etc/wsl.conf
2. 配置选项
以下是一些常见的配置选项及其说明:
- 自动挂载配置:
1 2 3 4
[automount] enabled = true mountPoint = /mnt options = "metadata"
enabled: 是否启用自动挂载 Windows 文件系统。mountPoint: 挂载点的路径(默认为/mnt)。options: 挂载选项,如metadata用于支持 Windows 文件系统的 POSIX 兼容元数据。
- 设置启动命令:
1 2
[boot] command = /usr/bin/your-startup-script.sh
command: 设置 WSL 启动时执行的命令或脚本。
- 关闭自动挂载:
1 2
[automount] enabled = false
3. 保存并重启
- 保存更改并退出编辑器。
- 重启 WSL 以应用更改:
1
wsl --shutdown
配置 .wslconfig
.wslconfig 是位于 Windows 文件系统中的配置文件,用于设置 WSL 的全局行为,适用于所有 WSL 发行版。它通常位于用户的主目录下,例如 C:\Users\<YourUsername>\.wslconfig。
1. 创建或编辑 .wslconfig 文件
- 打开文本编辑器(如记事本或其他代码编辑器)。
- 创建或编辑
.wslconfig文件:- 文件路径:
C:\Users\<YourUsername>\.wslconfig
- 文件路径:
2. 配置选项
以下是一些常见的 .wslconfig 配置选项:
- 设置 WSL 2 的内存和处理器限制:
1 2 3
[wsl2] memory=4GB processors=2
memory: 限制 WSL 2 使用的最大内存量。processors: 设置 WSL 2 可以使用的处理器核心数。
- 配置 WSL 2 的默认发行版:
1 2
[wsl2] defaultDistribution=Ubuntu
defaultDistribution: 设置默认的 WSL 发行版。
- 设置 WSL 2 的虚拟机磁盘大小:
1 2
[wsl2] diskSize=50GB
diskSize: 设置 WSL 2 虚拟机的磁盘大小。
3. 保存更改并重启
- 保存更改并关闭编辑器。
- 重启 WSL 以应用更改:
1
wsl --shutdown
示例配置
示例 wsl.conf 文件:
1
2
3
4
5
6
7
[automount]
enabled = true
mountPoint = /mnt
options = "metadata,umask=22,fmask=11"
[boot]
command = /usr/bin/your-startup-script.sh
示例 .wslconfig 文件:
1
2
3
4
5
[wsl2]
memory=4GB
processors=2
defaultDistribution=Ubuntu
diskSize=50GB
通过这些配置文件,你可以灵活地调整 WSL 的行为和性能,以满足你的需求。如果有任何其他问题或需要进一步的帮助,请随时告诉我!