Khi làm việc với 1 máy ảo VirtualBox, theo thời gian dung lượng máy ảo sẽ tăng theo thời gian sử dụng. Sau đó dù chúng ta có free dung lượng trong máy ảo nhưng dung lượng chiếm dụng trên máy Host cài VirtualBox vẫn không bị thay đổi. Vì vậy trong bài viết này mình sẽ hướng dẫn các bạn đưa dung lượng máy ảo về đúng giá trị sử dụng của nó.
Chúng ta cần xử ly file vdi của máy ảo VirtualBox, Các bạn hãy thực hiện các bước sau đây:
Trên Máy ảo Windows Guest
Đầu tiên chúng ta sử dụng công cụ “Defragment and Optimise Dirve” để chống phân mảnh ổ đĩa.
Sau khi mở công cụ chọn ổ đĩa gán với file vdi của máy ảo. => Chọn [ Optimise ]
Sau khi quá trình chống phân mảnh kết thúc. Các bạn download SDelete , để null hết các dữ liệu free.
Download file trên, giải nến và chạy command sau:
sdelete.exe c: -z
c: chính là ổ địa chúng ta chống phân mảnh ở trên.
Trên máy ảo Linux guest
Các bạn chạy command sau:
dd if=/dev/zero of=/var/tmp/bigemptyfile bs=4096k ; rm /var/tmp/bigemptyfile
Hoặc cài công cụ zerofree,
VD: trên Ubuntu cài bằng lệnh
sudo apt install zerofree
Sau đó chúng ta tiến hành free space của máy ảo Linux
telinit 1 mount -o remount,ro /dev/sda1 zerofree -v /dev/sda1
Chú ý /dev/sda1 là phân vùng mount của file vdi, bạn chạy lệnh df -h để xác nhận phân vùng mount tới thư mục root / của hệ điều hành.
Các bạn tham khảo thêm bài viết này về cách sử dụng zerofree: Giảm dung lượng ổ đĩa máy ảo Linux trên VirtualBox
Trên máy Host cài VirtualBox
Trên Windows chạy lệnh
VBoxManage.exe modifymedium --compact c:\path\to\thedisk.vdi
Trên Linux chạy lệnh
vboxmanage modifymedium --compact /path/to/thedisk.vdi
Trên Mac chạy lệnh
VBoxManage modifymedium --compact /path/to/thedisk.vdi
Trên Mac, đường dẫn VBoxManage là: /Applications/VirtualBox.app/Contents/MacOS/VBoxManage
Nguồn: vinasupport.com