欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

WSL(Windows10子系统)移到非C盘文件夹

程序员文章站 2022-03-05 08:04:41
...


本文参考Move WSL (Bash on Windows) root filesystem to another hard drive?,由于本人水平有限,文中难免有遗漏或错误之处,还请谅解和指正。

环境描述

名称 环境描述
操作系统 Windows10专业工作站版 ,版本号1909
WSL Ubuntu 16.04.6 LTS

问题描述

Windows10下安装了子系统Ubuntu,但是默认安装位置是在C盘,后期可能会安装各种各样的编译环境和软件,导致占用C盘空间,所以将子系统Ubuntu移到其他硬盘。更改WSL安装位置的方法有很多,比如LxRunOffline,但是根据教程操作发现并没有解决,报错提示是WSL的一个文件目录没有权限,继续参考教程提示是在program下已经存在一个文件,删除该文件也无用,只好另外寻找一种方法,在Stac overflow网站上找到本方法。

所需工具

下载链接:Move WSL,感谢该作者提供的帮助,请Star。

前提条件

已经正确安装了WSL

步骤

  1. 在硬盘任意位置新建一个文件夹,这个文件夹是要移动WSL的目标文件夹。
  2. 下载完成后,在解压的文件目录下,按住shift键,点击鼠标右键,有右键菜单中选择Windows PowerShell,在弹出的窗口中输入./move-wsl.ps1并回车,显示如下,会让你选择要移动的WSL。如果这里输入命令有报错的话,请右键屏幕左下角win10的图标,选择Windows PowerShell(管理员)然后输入命令运行。如果还是出现其他错误,请根据错误信息自行搜索处理。
    WSL(Windows10子系统)移到非C盘文件夹
  3. 直接输入数字1并回车,如果有多个WSL的话,请根据使用情况进行选择。会出现Enter WSL target directory: 这里是提示,输入要移动到的目的文件路径。
  4. 在弹出的提示:Move Ubuntu-16.04 to “D:\linux”? (Y|n): 输入Y,这个时候就开始移动WSL了。
  5. 稍等片刻,就移动完成了

注意事项

  1. 移动WSL时,默认用户已经切换到了root用户,通过将以下配置添加到WSL中,在WSL中设置默认用户/etc/wsl.conf。
[user]
default=YOUR_USERNAME

如果文件不存在,请手动创建。然后退出WSL,终止它(wsl -t YOUR_DISTRO),然后重新启动。有关更多选项,请参阅Microsoft Docs
2. 其他问题,请参考Move WSL