当前位置: 首页 > news >正文

wsl安装的系统更换路径

📚问题

wsl安装的系统默认在C盘,越来越大,空间紧张😰。

在 Windows 11(包括家庭版)里,WSL 默认会把 Linux 发行版安装到系统盘(C 盘)用户目录下,路径类似:

C:\Users\<你的用户名>\AppData\Local\Packages\<发行版包名>\LocalState\

或者:

C:\Users\用户名\AppData\Local\wsl

如果你想自定义 WSL 系统的安装路径(比如放到 D 盘或 SSD 专用分区),需要用 导出 / 导入 的方式来实现,因为 wsl --install 本身没有直接指定路径的参数


🔍 详细查看已安装系统

查看WSL2下安装了哪些Linux子系统很简单。你可以使用Windows终端(如PowerShell或命令提示符)来快速查看。下面是一些常用命令的总结,方便你根据需要选用:

命令功能描述备注
wsl --list --verbose

wsl -l -v
查看已安装的所有子系统,并显示详细信息(名称、状态、WSL版本)这是最常用、信息最全面的命令125
wsl --list

wsl -l
查看已安装的所有子系统,只显示名称列表
wsl --list --online

wsl -l -o
查看可以从应用商店安装的可用Linux发行版列表显示的是未安装的系统35

☯️ 命令详解及示例

在 PowerShell 或命令提示符 (CMD) 中输入以下命令:

bash

wsl --list --verbose

或者使用简写:

bash

wsl -l -v

输出示例

bash

NAME            STATE           VERSION
Ubuntu-22.04    Stopped         2
Debian          Running         2
kali-linux      Stopped         2

在这个结果里:

  • NAME 告诉你子系统叫什么。

  • STATE 告诉你这个系统现在是正在运行 (Running) 还是已经停止 (Stopped)。

  • VERSION 明确告诉你这个子系统用的是 WSL1 还是 WSL218。用户询问WSL2下的系统,但一个Windows环境下可以同时存在WSL1和WSL2的子系统,此命令可以区分它们。

🔧 其他常用WSL管理命令

掌握上面说的命令就能搞定查看了,这里再额外送你几个管理WSL时经常会用到的命令:

  • 设置默认子系统:如果你安装了多个子系统,可以指定一个作为默认启动的。

    bash

    wsl --set-default <发行版名称>

    例如 wsl --set-default Debian 之后,直接输入 wsl 命令就会进入Debian57。

  • 关闭所有子系统:这会终止所有正在运行的WSL发行版和WSL2的轻量级实用工具虚拟机。

    bash

    wsl --shutdown

    在需要重启WSL 2虚拟机环境时(例如更改了内存使用限制或.wslconfig文件后)可能需要使用此命令15。

  • 终止特定子系统:如果你只想关闭某一个特定的子系统,可以使用。

    bash

    wsl --terminate <发行版名称>

    例如 wsl --terminate Ubuntu-22.0415。

💡 重要提醒:命令执行位置

请注意,上述所有命令(以 wsl 开头的)都需要在 PowerShell 或命令提示符 (CMD) 中运行,而不是在WSL的Linux发行版内部5。


📂 WSL2系统的物理存储位置

WSL2的每个Linux发行版通常都存储在一个名为ext4.vhdx虚拟硬盘文件中。这个.vhdx文件包含了该Linux发行版的整个文件系统(根文件系统)。

默认情况下,这些文件位于你Windows用户目录下的特定文件夹中:

  • 基本路径结构C:\Users\<你的Windows用户名>\AppData\Local\Packages\<发行版包名>\LocalState\ext4.vhdx

请注意<发行版包名>会因你安装的具体发行版而异,通常包含发行版提供商的名称。

⚠️技巧:用命令查看安装系统的物理位置比较费劲,用everything搜一下ext4.vhdx,更直接哈。


💼方法:导出 + 导入到指定路径

假设你要安装 Ubuntu-20.04 到 D:\WSL\Ubuntu20.04

1. 安装发行版(先用默认路径)

先用商店或命令安装:

powershell/DOS

wsl --install -d Ubuntu-20.04

首次启动完成用户配置后退出。

2. 导出当前发行版到一个压缩包

powershell/DOS

wsl --export Ubuntu-20.04 D:\WSL\ubuntu20.04.tar
  • Ubuntu-20.04 是发行版名称,可用 wsl -l -v 查看。

  • 这个 .tar 文件就是整个 Linux 根文件系统。

3. 注销原发行版(删除默认路径版本)

powershell/DOS

wsl --unregister Ubuntu-20.04

⚠️ 这会删除原安装的 Linux 数据,所以导出一定要先完成。

4. 导入到新路径

powershell/DOS

wsl --import Ubuntu-20.04 D:\WSL\Ubuntu20.04 D:\WSL\ubuntu20.04.tar --version 2
  • 第一个 Ubuntu-20.04 是新发行版的名字(可自定义)。

  • D:\WSL\Ubuntu20.04 是你想存放的路径。

  • --version 2 指定使用 WSL2。

5. 设置默认启动用户(可选)

导入后默认是 root 用户,可以改成你原来的用户名:

powershell/DOS

ubuntu2004 config --default-user <你的用户名>

ubuntu2004 是导入后生成的命令名,可在开始菜单或 wsl -l 中查看。

👇额外建议

  • 备份方便:这种导入路径的方式,整个 WSL 系统就是一个文件夹,直接复制即可备份。

  • 性能考虑:建议放在 SSD 分区,尤其是做编译、AI 推理等 I/O 密集任务。

  • 多发行版管理:可以用不同文件夹存放多个版本(如 D:\WSL\Ubuntu20.04D:\WSL\Debian),互不影响。

http://www.dtcms.com/a/352480.html

相关文章:

  • 【Modbus-TCP】linux为主机—PC为从机通信
  • 8.26 支持向量机
  • GD32和STM32的区别在哪里?
  • Python训练营打卡 DAY 48 随机函数与广播机制
  • 摩尔信使MThings V0.8.1更新要点
  • flume监控目录文件实战:三种 Source 方案对比与配置指南
  • vue新增用户密码框自动将当前用户的密码自动填充的问题
  • Windows server 2019安装wsl2
  • Python3.11升级到高版本-aioredis兼容问题
  • 洛谷: CF632D Longest Subsequence-普及+/提高
  • 下载python离线安装包,在无网络机器安装方法
  • DeepSeek用C编写的支持Zstandard 压缩的 ZIP 工具
  • 2020-2022年 CLES村庄、农户调查问卷、清理和审核报告相关数据
  • 【RAGFlow代码详解-25】HTTP 接口
  • VGG改进(5):基于Multi-Scale Attention的PyTorch实战
  • 解析xml文件并录入数据库
  • 给高斯DB写一个函数实现oracle中GROUPING_ID函数的功能
  • 分布式锁;Redlock
  • 【世纪龙科技】职业院校汽车职业体验中心建设方案
  • imx6ull-驱动开发篇43——I.MX6U 的 I2C 驱动分析
  • 如何在ubuntu下制作linux镜像
  • 深度学习之卷积神经网络原理(cnn)
  • AT_abc401_f [ABC401F] Add One Edge 3
  • Rocky9配置完VMware桥接模式后没有自动获取IP
  • 系统架构设计师-【2025上半年论文题目分享】
  • 六足机器人系统设计与实现cad+设计说明书+电路原图模式+装配图+电路图
  • Java设计模式之《状态模式》
  • 从根源解决 VMware 每次重启 Windows 系统后无法进行复制文件等操作的问题
  • 矩阵的秩几何含义
  • openssh 版本回退