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中, 并且创建文件系统(第一次挂载)
wsl --mount <DiskPath>  --bare
  1. 查找到对应的磁盘
wsl lsblk
  1. 创建ext4文件系统
wsl sudo mkfs.ext4 /dev/sdX
  1. 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

GitHub 加速计划 / ws / WSL
17.09 K
797
下载
Issues found on WSL
最近提交(Master分支:1 个月前 )
86fa5afa 2 个月前
e899d0b7 2 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐