在window上打造一个顺手的开发环境:将 WSL 文件系统移动到另一个驱动器

前记: 最近公司要求所有人必须使用公司的电脑来办公(为了安全),这个大家都懂的。所以公司给每个人配了一台window系统的台式机(个人电脑一律不再允许使用)。对于一个用了很多年mac系统的我当然就是 win 上面的各种软件的不顺手,以及一些按键的别扭。所以就开始了折腾,一时不折腾就不顺心 😭

将 WSL 文件系统移动到另一个驱动器

如果我们在使用 widows 遇到了C:驱动器空间不足的情况下,或者我们希望将文件放在与操作系统不同的磁盘上,我们可以通过以下几个步骤将WSL2文件系统移动到另一个空间比较足的驱动器。

前提条件

如果我们使用的用户名 不是root用户,那么我们需要知道它当前用户是谁,在WSL端运行以下linux命令:

bash 复制代码
 # Linux Terminal
 whoami

另外,我们需要知道发行版名称和 WSL版本,在 PowerShell(Windows 端)上运行命令:

css 复制代码
 #PowerShell
 wsl --list --verbose

知道用户名: equiman,linux发行版: Ubuntu,并确认我们正在使用的WSL2 版本,我们就可以准备去了

移动

所有后续步骤都需要在 PowerShell(Windows 端)上完成。

首先,我们需要关闭所有正在使用 WSL 的终端,然后将其关闭以避免运行命令时数据损坏。

perl 复制代码
 # PowerShell
 wsl --shutdown

接下来,我们将从UbuntuLinux 发行版创建备份。

bash 复制代码
 # PowerShell
 mkdir D:\backup
 wsl --export Ubuntu D:\backup\ubuntu.tar

如果你没有看到进度指示器,请不要担心。这可能需要一段时间,具体取决于你备份的数据量。也许这个时候是"一杯茶、一包烟、一个 bug 改一天"的时候了,如果可以早下个班也是可以的🤪。

完成后,首先,更重要的是确保D:\backup\ubuntu.tar文件存在。然后我们需要从C:驱动器中取消注册 linux 发行版。它还将释放 WSL 占用的磁盘空间。

⚠️ 请注意,WSL 驱动器上存储的所有内容都将丢失,并且该命令不会要求确认,因此请确保先备份所需的所有内容!

bash 复制代码
 # PowerShell
 wsl --unregister Ubuntu

然后,再次将其导入到我们的新磁盘上。我将使用D:磁盘作为示例。

arduino 复制代码
 # PowerShell
 mkdir D:\WSL
 wsl --import Ubuntu D:\WSL\ D:\backup\ubuntu.tar

"如果路径有空格,请使用(双引号)字符将路径括起来

默认情况下,Ubuntu 将用作root默认用户,要切换到我们的用户,我们需要运行这些命令。

bash 复制代码
 # PowerShell
 cd $env:USERPROFILE\AppData\Local\Microsoft\WindowsApps
 ubuntu config --default-user equiman

同样如果我们想使用 root 作为默认的用户登录,我们需要执行以下命令:

arduino 复制代码
 # PowerShell
 wsl config --default-user root
 # 或者
 ubuntu config --default-user root

确保更换equiman是你自己的登录账户。

通过运行以下命令重新启动 WSL:

bash 复制代码
# PowerShell
wsl --distribution Ubuntu

恢复

如果在此过程中出现问题,请不要担心,我们可以从备份中恢复我们的 WSL 磁盘。

执行恢复之前,那必须有备份文件。参考上面的备份数据步骤!!!

备份后重复上述步骤即可。


折腾使你进步!!! 🤪

相关推荐
文心快码BaiduComate2 分钟前
CCF程序员大会码力全开:AI加速营决赛入围名单揭晓,12月6日大理见!
前端·百度·程序员
申阳18 分钟前
Day 20:开源个人项目时的一些注意事项
前端·后端·程序员
500佰27 分钟前
解读NotebookLM基于AI的PTT生成 程序化处理方法
前端·google·程序员
天天进步201543 分钟前
UFO 源码实战 (3):它怎么“点”鼠标的?通过源码掌握 Windows 自动化控制
windows·自动化
石像鬼₧魂石1 小时前
Windows 靶机渗透完整流程(新手版)
windows
Jing_Rainbow1 小时前
【LeetCode Hot 100 刷题日记(22/100)】160. 相交链表——链表、双指针、哈希表📌
算法·面试·程序员
herinspace1 小时前
管家婆软件中如何运用商品副单位
运维·服务器·数据库·windows·电脑
橙子味de巧克力4492 小时前
【DataGrip】JetBrains 专业数据库 IDE!全流程管理 + 永久补丁(详细安装指南)
ide·windows
CodeSheep2 小时前
裁员为什么先裁技术人员?网友一针见血
前端·后端·程序员
IDOlaoluo2 小时前
RedisStudio-en-0.1.5.exe 安装步骤 详细教程(附安装包)
windows