wsl 默认的硬盘是256G的, 大部分场景下够用了,搞大型的项目开发或者数据存储的时候也会难免出现空间不够的情况,这个时候需要的是1. 扩大现有的磁盘的大小,2 添加额外的硬盘
扩大现有的磁盘的大小
- 使用 wsl --shutdown 命令终止所有 WSL 实例
- 查找你的分发版安装包名称(“PackageFamilyName”)
使用 PowerShell(其中,“distro”是分发版名称)输入以下命令:
Get-AppxPackage -Name "*<distro>*" | Select PackageFamilyName
找到 WSL 2 安装使用的 VHD 文件 fullpath,这将是你的 pathToVHD:
%LOCALAPPDATA%\Packages\<PackageFamilyName>\LocalState\<disk>.vhdx
- 通过完成以下命令调整 WSL 2 VHD 的大小:
以管理员权限打开 Windows 命令提示,然后输入:
diskpart
Select vdisk file="<pathToVHD>"
expand vdisk maximum="<sizeInMegaBytes>"
sizeInMegaBytes为更改后的大小,单位MB
- 启动 WSL 分发版(例如 Ubuntu)。
通过从 Linux 分发版命令行运行以下命令,让 WSL 知道它可以扩展其文件系统的大小:
sudo mount -t devtmpfs none /dev
mount | grep ext4
复制此项的名称,该名称类似于:/dev/sdXX(X 表示任何其他字符)
sudo resize2fs /dev/sdXX
参考:https://www.wuyifei.cc/wsl-vdisk-expand/
添加额外的硬盘
New-VHD -Path c:\base.vhds -SizeBytes 100GB
Write-Output "\\.\PhysicalDrive$((Mount-VHD -Path <pathToVHD> -PassThru | Get-Disk).Number)"
GET-WMIOBJECT -query "SELECT * from Win32_DiskDrive"
wsl --mount <DiskPath> --bare
- 查找到对应的磁盘
wsl lsblk
- 创建ext4文件系统
wsl sudo mkfs.ext4 /dev/sdX
- umount磁盘
wsl --umount <DiskPath>
wsl --mount <DiskPath>
参考资料: https://docs.microsoft.com/zh-cn/windows-server/virtualization/hyper-v/manage/create-vhdset-file https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-mount-disk
|