Compact Docker WSL VHDX File on Windows
Đường dẫn mặc định đến file .vhdx:
C:\Users\Admin\AppData\Local\Docker\wsl\disk\docker_data.vhdx
Script này được thiết kế để thu gọn (compact) tệp VHDX mà Docker sử dụng trong Windows Subsystem for Linux (WSL). Các bước thực hiện:
🔧 Tác vụ chính:
- Tắt toàn bộ các phiên bản WSL đang chạy.
- Kiểm tra xác nhận tất cả đã dừng.
- Sử dụng
diskpartđể thu gọn file VHDX. - Xoá file tạm được tạo trong quá trình chạy.
✅ Yêu cầu
- Có quyền Administrator.
- Đã cài đặt Docker và WSL.
- Đường dẫn file
.vhdxtheo mặc định là:
C:\Users\Admin\AppData\Local\Docker\wsl\disk\docker_data.vhdx
Nếu bạn lưu file ở vị trí khác, hãy thay đổi lại đường dẫn trong script.
▶️ Cách sử dụng
- Mở Notepad hoặc trình soạn thảo văn bản bất kỳ.
- Dán đoạn script sau vào:
@echo off REM Shutdown all WSL instances wsl --shutdown REM Verify all instances are stopped wsl.exe --list --verbose REM Start diskpart and execute commands echo select vdisk file="C:\Users\Admin\AppData\Local\Docker\wsl\disk\docker_data.vhdx" > diskpart_script.txt echo compact vdisk >> diskpart_script.txt diskpart /s diskpart_script.txt REM Clean up del diskpart_script.txt echo VHDX file has been compacted. pause
- Lưu với phần mở rộng
.bat, ví dụ:compact_vhdx.bat. - Nhấn chuột phải vào file
.batvà chọn Run as administrator.
📝 Ghi chú
- Script sử dụng công cụ dòng lệnh
diskpartđể thực hiện thao tác nén file VHDX. - Đảm bảo không có tiến trình nào khác đang sử dụng file VHDX khi script chạy.
- Cuối cùng script sẽ dừng lại với lệnh
pauseđể bạn có thể xem kết quả.
❗ Khắc phục sự cố
- Nếu không thu gọn được VHDX:
- Đảm bảo toàn bộ WSL instances đã được tắt hoàn toàn.
- Kiểm tra lại đường dẫn tới file
.vhdx. - Xem các thông báo lỗi hiện ra trong cửa sổ dòng lệnh để biết thêm thông tin