WSL и Docker съели диск
WSL2 и Docker Desktop держат свои линукс-миры в файлах виртуальных дисков - ext4.vhdx и docker_data.vhdx. Эти файлы растут по мере надобности и сами не сжимаются никогда: удалите 30 ГБ внутри Linux - Windows всё равно видит тот же огромный файл. На машинах разработчиков это регулярно самые большие объекты на C:.
Сначала найти
Они прячутся глубоко в AppData\Local\Packages (по дистрибутивам) и AppData\Local\Docker. На карте диска их не пропустить: один гигантский файловый сектор там, где системные файлы должны быть мелкими. В CleanMyWin иконка образа диска помечает .vhdx - если видите такой на 80 ГБ, эта статья про вас.
Ужать правильно
Сначала освободите место внутри виртуальной машины (docker system prune -a внутри Docker, мусор внутри дистрибутива), потом сожмите файл со стороны Windows:
- wsl --shutdown - сначала всегда всё остановить.
- Docker Desktop: Settings - Resources - Advanced управляет размером диска; встроенный purge data сбрасывает файл целиком.
- VHDX дистрибутива: wsl --manage <дистрибутив> --set-sparse true на свежем WSL - файл начнёт отдавать место сам.
- Старые системы: diskpart - select vdisk file="...ext4.vhdx" - compact vdisk.
Чтобы не повторялось
- docker system prune по расписанию - неиспользуемые образы и есть главный наполнитель.
- Большие датасеты держите на диске Windows, смонтированном в WSL (/mnt/d/...), а не внутри VHDX.
- Sparse-режим (выше) на свежем WSL почти закрывает проблему целиком.
Частые вопросы
Почему ext4.vhdx огромный, хотя я удалил файлы в WSL?
Виртуальный диск растёт по надобности, но сам место Windows не возвращает. Включите sparse-режим или сожмите diskpart-ом после wsl --shutdown.
Можно ли удалить docker_data.vhdx руками?
Только через purge/reset самого Docker Desktop - удаление файла вручную ломает его состояние. Локальные образы и контейнеры пропадут в любом случае.
Источники и официальная документация: Microsoft: Free up drive space in Windows, Microsoft: Storage Sense, Microsoft: WSL disk space, DaisyDisk, WizTree, WinDirStat, TreeSize
Посмотрите, куда ушли терабайты
Одно сканирование - минута. Первые 24 часа бесплатно.
Скачать для Windows