扩展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 

                ![[算法]选择排序](https://img-blog.csdnimg.cn/8d8a9e9a817442f4b9717b3e950bc90f.png)


















