侧边栏壁纸
博主头像
怪客のBlog 博主等级

行动起来,活在当下

  • 累计撰写 35 篇文章
  • 累计创建 1 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

扩展 WSL 2 中 Ubuntu 22.04 的磁盘大小

怪客
2024-06-08 / 0 评论 / 0 点赞 / 228 阅读 / 0 字

如何扩展 WSL 2 中 Ubuntu 22.04 的磁盘大小

WSL 2(Windows Subsystem for Linux 2)是一个强大的工具,允许你在 Windows 上运行 Linux 环境。然而,默认的磁盘大小可能不足以满足某些需求。在这篇文章中,我们将详细介绍如何扩展 WSL 2 中 Ubuntu 22.04 的磁盘大小,并确保虚拟硬盘文件不会固定占用指定的最大大小。

步骤 1:启用 Hyper-V 功能

首先,你需要确保你的 Windows 系统已启用 Hyper-V 功能,因为我们将使用 Resize-VHD 命令来扩展虚拟硬盘文件。

  1. 打开 PowerShell 以管理员身份运行

    • 在开始菜单中搜索 “PowerShell”,右键点击 “Windows PowerShell” 并选择 “以管理员身份运行”。
  2. 启用 Hyper-V

    dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V-All /all /norestart
    
  3. 重启计算机

    • 在启用 Hyper-V 功能后,重启计算机以使更改生效。

步骤 2:扩展虚拟硬盘文件

  1. 打开 PowerShell 以管理员身份运行

  2. 导入 Hyper-V 模块(如果尚未自动导入):

    Import-Module Hyper-V
    
  3. 扩展虚拟硬盘文件

    • 使用 Resize-VHD 命令扩展 .vhdx 文件的大小。假设你要扩展到 1000GB:
      Resize-VHD -Path "D:\Application\WSL\Ubuntu22.04\ext4.vhdx" -SizeBytes 1000GB
      

步骤 3:调整文件系统大小

扩展虚拟硬盘文件后,你需要在 WSL 2 内部调整文件系统的大小。

  1. 启动 WSL 2

    • 打开 Windows Terminal 或 PowerShell,然后启动 WSL 2:
      wsl
      
  2. 进入你的 Ubuntu 22.04 发行版

  3. 调整文件系统大小

    • 在 WSL 2 中,使用 resize2fs 工具来调整文件系统的大小:
      sudo resize2fs /dev/sdb
      
  4. 验证调整结果

    • 使用以下命令查看文件系统大小:
      df -h
      

步骤 4:确保虚拟硬盘文件不会固定占用最大大小

WSL 2 的虚拟硬盘文件(.vhdx)是动态分配的,它会根据你在 WSL 2 内部实际使用的空间动态增长,而不是立即占用你指定的最大大小。你可以通过以下步骤回收未使用的空间:

  1. 在 WSL 2 内部填充零空间

    • 使用 dd 命令创建一个全零文件来填充未使用的空间:
      dd if=/dev/zero of=zerofile bs=1M
      
  2. 删除全零文件

    • 一旦空间填满,删除全零文件:
      rm zerofile
      
  3. 使用 PowerShell 压缩 .vhdx 文件

    • 打开 PowerShell 以管理员身份运行,并使用 Optimize-VHD 命令:
      Optimize-VHD -Path "D:\Application\WSL\Ubuntu22.04\ext4.vhdx"
      

总结

通过以上步骤,你可以成功扩展 WSL 2 中 Ubuntu 22.04 的磁盘大小,并确保虚拟硬盘文件不会固定占用指定的最大大小。这使得你能够更灵活地管理和使用 WSL 2 的磁盘空间。如果你在操作过程中遇到任何问题,请确保你以管理员权限运行相关命令,并且你的 Windows 版本支持 Hyper-V。


希望这篇博客文章对你有所帮助!如果你有任何问题或建议,请在评论区留言。

0

评论区