VirtualBox - cara membebaskan tempat disk VDI yang tidak digunakan?

14

Jadi jika saya memiliki penyimpanan dinamis di tamu virtualbox, bagaimana saya bisa mengurangi ukuran VDI, jika ada banyak tempat yang tidak digunakan di tamu?

Jadi maksud saya, saya tahu tamu virtualbox di reallity sekitar ~ 3 GByte's besar, tetapi file VDI adalah 10 GByte, karena sesekali tamu itu sebesar itu. Tapi sekarang hanya 3 GByte. Bagaimana saya bisa mengurangi ukuran VDI? Sehingga hanya 3 GByte saja? (dan tidak, tidak ada foto tentang tamu)

LanceBaynes
sumber

Jawaban:

15

Lihatlah modifikasi vboxmanage : memungkinkan Anda membuat gambar lebih kompak.

Dengan opsi --compact, dapat digunakan untuk memadatkan gambar disk, yaitu menghapus blok yang hanya berisi angka nol. Ini akan menyusutkan gambar yang dialokasikan secara dinamis lagi; itu akan mengurangi ukuran fisik gambar tanpa mempengaruhi ukuran logis disk virtual. Kompaksi berfungsi baik untuk gambar dasar dan untuk gambar berbeda yang dibuat sebagai bagian dari foto.

Agar operasi ini efektif, diperlukan ruang kosong di sistem tamu terlebih dahulu untuk dihilangkan dengan menggunakan alat perangkat lunak yang sesuai. Untuk tamu Windows, Anda dapat menggunakan alat sdelete yang disediakan oleh Microsoft. Jalankan sdelete -c pada guest untuk mengosongkan ruang disk kosong sebelum mengompresi gambar disk virtual. Untuk Linux, gunakan utilitas zerofree yang mendukung sistem file ext2 / ext3.

Karolos
sumber
1
Gunakan sdelete -z bukan -c! Lihat superuser.com/questions/747820/… - opsi -c hanya menimpa dengan data acak untuk "penghapusan aman" (sedikit memakai SSD).
Luc
6

Hati-hati - MS mengubah arti "-c" (bersih) dan "-z" (nol) di beberapa titik. Agar aman, jalankan "sdelete /?" untuk melihat opsi mana yang harus Anda gunakan:

C:\> sdelete /?

SDelete - Secure Delete v1.6
Copyright (C) 1999-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

usage: sdelete [-p passes] [-s] [-q] <file or directory> ...
       sdelete [-p passes] [-z|-c] [drive letter] ...
   -a         Remove Read-Only attribute
   -c         Clean free space
   -p passes  Specifies number of overwrite passes (default is 1)
   -q         Don't print errors (Quiet)
   -s or -r   Recurse subdirectories
   -z         Zero free space (good for virtual disk optimization)
hornlo
sumber
1
Opsi -c menimpa dengan data acak (lihat superuser.com/questions/747820/… ), yang sedikit memakai SSD. Gunakan -z untuk mem-zeroing.
Luc