编程笔记

lifelong learning & practice makes perfect

wsl2|管理磁盘-迁移ubuntu安装位置

为什么迁移

在商店安装的子系统默认放C盘,磁盘剩余空间不多了

准备和验证

查询已安装的子系统

1
2
3
4
5
6
wsl -l

# 适用于 Linux 的 Windows 子系统分发:
# Ubuntu-24.04 (默认)
# docker-desktop
# docker-desktop-data

查询wsl安装的Ubuntu24磁盘位置, “Ubuntu-24.04”为需要查询的子系统版本

1
(Get-ChildItem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | Where-Object { $_.GetValue("DistributionName") -eq 'Ubuntu-24.04' }).GetValue("BasePath") + "\ext4.vhdx"

结果如下,默认在C盘(使用微软商店安装的情况下)

C:\Users\用户名\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu24.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx

迁移

– move后指定目标位置,这里我放到d:\ubuntu下

1
wsl --manage Ubuntu-24.04 --move d:\ubuntu

验证

1
2
3
(Get-ChildItem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | Where-Object { $_.GetValue("DistributionName") -eq 'Ubuntu-24.04' }).GetValue("BasePath") + "\ext4.vhdx"

#d:\ubuntu\ext4.vhdx

参考

1
2
3
4
5
6
7
8
9
--manage <Distro> <Options...>
更改发行版特定选项。

选项:
--move <Location>
将分发移到新位置。

--set-sparse, -s <true|false>
将发行版的 vhdx 设置为稀疏,从而允许自动回收磁盘空间。

访问计数

programnotes.cn

欢迎关注我的其它发布渠道