WSL

  • ~1.97K 字
  • 次阅读

WSL (Windows Subsystem for Linux)

WSL 是微软推出的兼容层工具,允许用户在 Windows 系统上原生运行 Linux 二进制文件,无需传统虚拟机或双系统。

核心优势

无缝的 Windows 与 Linux 集成

文件系统互操作性

  • 在 Linux 中访问 Windows 文件
    自动挂载在 /mnt 下。例如,访问 C 盘用户目录:
    1
    /mnt/c/Users/YourName
  • 在 Windows 中访问 Linux 文件
    在资源管理器地址栏输入以下路径(其中 <发行版名称> 需替换为实际名称,如 Ubuntu-22.04):
    1
    \\wsl$\<发行版名称>\
  • 典型用例
    开发者可以直接使用 Windows 端的 IDE(如 VS Code)编辑位于 Linux 环境中的代码文件。

命令行混合调用

  • 在 PowerShell 或 CMD 中运行 Linux 命令
    1
    wsl ls -l /home  # 调用 Linux 的 `ls` 命令
  • 在 Linux 中运行 Windows 程序
    可以直接调用 .exe,例如 explorer.exe .

安装与初始化

在管理员模式下的 PowerShell 或 CMD 中执行:

1
2
3
4
5
6
7
8
9
# 初始化安装(默认安装 Ubuntu)
wsl.exe --install

# 列出可在线安装的发行版列表
wsl --list --online

# 安装指定的发行版
wsl --install -d <发行版名称>
# 示例:wsl --install -d Ubuntu-22.04

常用操作命令

管理发行版

功能 命令
列出所有发行版 wsl -l -v
设置默认发行版 wsl --set-default <名称>
直接运行命令 wsl <命令> (如 wsl ls /)
版本更新 wsl --update

备份与迁移 (导入/导出)

导出(备份)
将现有系统打包成 tar 文件。

1
2
wsl --export <名称> <备份文件名>.tar
# 示例:wsl --export Ubuntu-22.04 backup.tar

导入(恢复/迁移)
将备份文件导入为新的发行版。

1
2
wsl --import <新名称> <安装路径> <备份文件名>.tar
# 示例:wsl --import Ubuntu-New D:\WSL\Ubuntu backup.tar

⚠️ 注意事项

  1. 删除需谨慎:使用 wsl --unregister <名称> 会注销发行版并永久删除其对应的虚拟磁盘文件(ext4.vhdx),请务必先备份。
  2. 迁移建议
    • 推荐:使用官方的 exportimport 流程,这能最大程度避免跨机器兼容性问题。
    • 本机迁移:如果是本机移动位置,也可以先关闭 WSL,手动移动 .vhdx 硬盘文件,然后 unregister 原系统,再在新位置执行 import(指向移动后的文件)。
    • 注册表修改(不推荐):WSL 注册信息存储在 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss,理论上修改 BasePath 可行,但风险较大,不建议操作。

社区镜像与自定义安装

推荐直接使用在线安装。如果需要使用社区镜像(如 openSUSE),可以手动下载并导入。

资源链接

手动导入示例

假设镜像文件位于 _images 目录:

1
2
# 语法:wsl --import <系统名> <安装目录> <镜像tar包路径>
wsl --import openSUSE-Leap-15.6 .\openSUSE-Leap-15.6\ .\openSUSE-Leap-15.6-15.6.x86_64.tar

其他命令 (Legacy / Global Config)

wslconfig 是较旧但依然有效的全局配置工具:

1
2
3
4
5
# 列出当前已安装系统(包含详细信息)
wslconfig /l

# 切换默认的系统
wslconfig.exe /setdefault openSUSE-Leap-16.0
打赏
打赏提示信息
分享
分享提示信息