ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

拯救被WSL占满的C盘

2021-11-26 13:30:46  阅读:473  来源: 互联网

标签:占满 Windows Image WSL wsl C盘 Linux


拯救被WSL占满的C盘

适用场景

1、使用Windows 10做为开发平台,并且C盘空间不是特别富裕。

2、使用Windows自带的Windows Subsystem for Linux(WSL)默认将Liunx子系统安装在了C盘。

3、因为在Linux中下载安装各种软件、Docker Image,运行多个Docker Container 导致C盘空间严重不足。

将WSL从系统盘移到其他盘

这里我们使用 Move WSL 这个工具。

1、首先下载 Move WSL 工具包,并解压。

2、管理员身份运行Windows PowerShell。

3、在PowerShell中运行如下命令,停止正在运行的Linux子系统。

> wsl --shutdown

4、在PowerShell中进入刚刚解压的目录,运行

> cd d:\move-wsl-master
D:\move-wsl-master> .\move-wsl.ps1

此时会出现如下提示,让我们选择要移动的目标

可以选择要移动的目标,比如移动Ubuntu-18.04,则输入 1 并回车,然后会提示让我们输入移动的目标路径

这里输入目标路径如 D:\WSL 然后回车,便会执行移动。根据移动目标的大小,时间可长可短,请耐心等待。

移动过程中,可以看到脚本会先将移动目标导出到一个tar文件,然后再将tar文件导入到 ext4.vhdx 文件中。

移动完成后,脚本会删掉原来C盘中的相应内容,释放C盘空间。下面可以运行命令重新启动Linux子系统

> wsl

回收Docker环境中的空间

Docker用久了会残留很多无用的Image。这些Image文件少则几十上百兆,多则几个G,给本就捉襟见肘的磁盘空间造成巨大浪费, 这时可以删掉不需要的Image文件。但你可能愕然发现,即使删掉了好几个Image,磁盘依然没有苗条下来。

这是因为ext4.vhdx磁盘空间会根据加载的数据自动增长,但是无法自动回收。下面是手动回收的步骤。

1、仍然是现在Windows PowerShell中停止正在运行的Linux子系统。

> wsl --shutdown

2、运行diskpart释放空间

# open window Diskpart
> diskpart
# 选择虚拟机文件执行瘦身
> select vdisk file="D:\WSL\docker-desktop-data\ext4.vhdx"
> attach vdisk readonly
> compact vdisk
> detach vdisk
> exit

标签:占满,Windows,Image,WSL,wsl,C盘,Linux
来源: https://blog.csdn.net/tuxiang79/article/details/121557798

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有