扩展WSL2虚拟硬盘的大小
1、在 Windows PowerShell 中终止所有 WSL 实例
wsl --shutdown
2、查看 WSL 实例运行状态,确认关闭,并记住发行版的名称
wsl -l -v
如果没有更改移动过发行版安装包位置,那么可以通过以下方法查找到发行版的安装包位置:
/*
* distro 是分发版的名称,例如:
* Get-AppxPackage -Name "*<distro>*" | Select PackageFamilyName
*/
Get-AppxPackage -Name "*Ubuntu20.04*" | Select PackageFamilyName
可以通过 PackageFamilyName 查找 WSL 2 安装使用的 VHD 文件完整路径,即 pathToVHD,一般如下所示:
/*
* <PackageFamilyName> 即上方查到的安装包名
* <disk> 一般是 ext4
*/
%LOCALAPPDATA%\Packages\<PackageFamilyName>\LocalState\<disk>.vhdx
3、打开diskpart
diskpart
在DISKPART 下
如果没有移动过位置,即上方查找到发行版的安装包位置(pathToVHD)。如果移动过,即为移动后的位置。
/*
* 未移动过WSL的安装包,命令为:
* Select vdisk file="%LOCALAPPDATA%\Packages\<PackageFamilyName>\LocalState\<disk>.vhdx"
* 移动过WSL的安装包,命令为:
* Select vdisk file="E:\ubuntu2004\ext4.vhdx"
*/
Select vdisk file="<pathToVHD>"
显示安装包信息:
detail vdisk
其中输出包含虚拟大小的值。 这是当前的最大值。需要将此值转换为兆字节。 如果“虚拟大小: 256 GB”,请将此转换为 256000。
输入的新值必须大于此原始值。 例如,若要将上述虚拟大小设置为512G,可输入值 512000。 确定要为新大小(以 MB 为单位)设置的数字后执行:
/*
* 例如:
* expand vdisk maximum=512000
*/
expand vdisk maximum=<sizeInMegaBytes>
退出diskpart:
exit
4、打开 WSL 发行版的终端
sudo mount -t devtmpfs none /dev
mount | grep ext4
5、设置新的大小
/*
* /dev/sdX(X 表示任何其他字符)
* <sizeInMegabytes>即上方确定的新大小
* 例如:
* sudo resize2fs /dev/sdc 512000M
*/
sudo resize2fs /dev/sdX <sizeInMegabytes>M
的新大小
- 例如:
- sudo resize2fs /dev/sdc 512000M
*/
sudo resize2fs /dev/sdX M
![img](https://img-blog.csdnimg.cn/img_convert/f648dd9517f77cf2c3e4ddf7dbd0bb1f.webp?x-oss-process=image/format,png)