TGViewer
WindowsITPro - winitpro.ru WindowsITPro - winitpro.ru @winitpro_ru · 9.31K subscribers
Post #1161 4.29K
🖴 При активном использовании Windows Subsystem for Linux (WSL2), файл виртуального диска дистрибутива Linux (ext4.vhdx) может вырасти до десятков гигабайт. При этом, удаление файлов внутри Linux дистрибутива не приводит к автоматическому уменьшению размера VHDX файла на файловой системе в Windows. Динамические VHDX-файлы могут увеличивать свой размер по мере записи в них новых данных, но такие не умеют сжиматься автоматически после удалении данных внутри них.  

⚠️ То есть может быть ситуация, когда файл ext4.vhdx на системном диске Windows занимает 50 ГБ, хотя внутри WSL фактически используется всего 3 Гб. Такие VHDX файлы можно сжать в оффлайне режиме вручную.

📌 Проверить фактически занятое место внутри WSL можно командой:
df -h /
Чтобы найти путь к VHDX файлу вашего дистрибутива WSL, сначала выведите список всех установленных WSL:
wsl.exe --list --verbose
Затем извлеките информацию о виртуальном диске указанного WSL образа из реестра:
$distro='Ubuntu-24.04'
$vhdx=(Get-ChildItem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | Where-Object { $_.GetValue("DistributionName") -eq $distro}).GetValue("BasePath") + "\ext4.vhdx"
Останавливаем запущенный образ:
wsl --shutdown
Сжимаем VHDX командой PowerShell:
Optimize-VHD -Path "C:\...\ext4.vhdx" -Mode Full
Или с помощью diskpart:
select vdisk file="C:\...\ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk

Аналогичным образом можно сжать VHDX файл Docker Desktop после удаления неиспользуемых образов и контейнеров:
Optimize-VHD -Path "$env:LOCALAPPDATA\Docker\wsl\disk\docker_data.vhdx" -Mode Full

📚 В статье разбираем, где хранятся VHDX диски WSL и Docker Desktop, как определить фактическое использование места, очистить данные и уменьшить размер виртуального диска через Optimize-VHD или diskpart. Также рассмотрен экспериментальный sparse-режим WSL2, который позволяет автоматически возвращать свободное место хостовой системе.

Как сжать виртуальный диск WSL2 или Docker Desktop в Windows?
  • 👍 57
More from @winitpro_ru
  1. Oct 9, 2026📚Новая статья: Используем легкую утилиту Simplewall для тотального контроля сетевой актив…
  2. Sep 28, 2026🔑 Пользователи, работающие удаленно с ресурсами в корпоративной сети через RDP/RDS сервер…
  3. Sep 23, 2026📚 Настраиваем Rclone в Windows для автоматизации резервного копирования/синхронизации в Я…
  4. Sep 21, 2026📚 MeshCentral - сервер для удаленного управления компьютерами и оказания ИТ-поддержки, ка…
  5. Sep 11, 2026⚠️ Вышедшие в сентябре 2026 обновления для Microsoft Excel могут сломать базовый функциона…
  6. Sep 4, 2026📚 Архив сайта: Команды DISM /Cleanup-Image /RestoreHealth и SFC: Проверка и восстановлени…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →