Cara nol isi virtual disk yang's free space di windows untuk kompresi yang lebih baik?

Cara nol isi virtual disk yang's free space di windows untuk kompresi yang lebih baik?

Saya ingin yang sederhana open source tool (atau setidaknya gratis) untuk itu. Itu mungkin harus menulis yang sebesar-besarnya file yang penuh `0 ' dan menghapus setelah itu. Hanya satu lulus (ini bukan untuk alasan keamanan tetapi untuk kompresi, kita back up mesin virtual).

Harus lari dari dalam windows dan bukan dari disk.

Di Linux saya melakukannya seperti ini (sebagai pengguna):

cd
mkdir wipe
sudo sfill -f -l -l -z ./wipe/

Edit 1: aku memutuskan untuk menggunakan sdelete dari jawaban yang diterima. Saya telah melihat sdelete's membantu:

C:\WINDOWS\system32>sdelete /?

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

usage: sdelete [-p passes] [-s] [-q] <file or directory>
       sdelete [-p passes] [-z|-c] [drive letter]
   -c         Zero free space (good for virtual disk optimization)
   -p passes  Specifies number of overwrite passes (default is 1)
   -q         Don't print errors (Quiet)
   -s         Recurse subdirectories
   -z         Clean free space

Ini adalah versi lama. Saya menggunakan -c switch dari 2 doa dan ini cukup cepat (sintaks hanya berlaku untuk versi sebelumnya V1.6):

c:\>sdelete -c c: (OUTDATED!)

Saya memiliki kesan ini tidak apa yang saya inginkan. Sdelete alat ini mudah digunakan dan mudah untuk mendapatkan.

Edit 2: Sebagai scottbb menunjukkan dalam jawabannya di bawah ini, ada seorang September 2011 perubahan ke alat (versi 1.6)- c dan-z pilihan telah berubah makna. Pemakaian yang benar dari 1,6 dan seterusnya adalah

c:\>sdelete -z c:

Edit 3: Ada versi 2.0 dari sdelete dan sdelete64. Mereka muncul untuk menjadi kereta saat zeroing. Hal itu akan muncul untuk menjadi terjebak di 100% untuk waktu yang lama. Beberapa orang telah melaporkan 10 - 40 kali lebih lama. Versi 1.61 tidak memiliki masalah ini. Lihat https://social.technet.microsoft.com/Forums/en-US/2ffb2539-34ba-4378-aa8a-941d243f117e/sdelete-hangs-at-100?forum=miscutils

Edit 4: Sekarang ada's masalah dialokasikan secara dinamis virtual disk space. Jika anda memiliki 100GB disk yang tidak penuh dan hanya menggunakan 30GB pada host, nol mengisi tidak harus secara dramatis meningkatkan ukuran disk karena itu bertentangan dengan tujuan dari alokasi dinamis. Ada jawaban untuk Oracle VM VirtualBox https://superuser.com/q/907196/44402 - tapi pada tumpukan lain seperti VMWare, Xen, XenServer, dll., ini perlu dijawab secara terpisah.

Mengomentari pertanyaan (2)
Larutan

Di windows menggunakan sysinternals alat sdelete untuk nol semua ruang kosong. Perintah yang anda inginkan akan terlihat seperti ini sdelete -z c:.

Penggunaan: sdelete [-p lewat] [-s] [/q] <File atau direktori> ... 
sdelete [-p lewat] [-z|-c] [drive letter] ... 
-Menghapus atribut Baca-Saja. 
-c Membersihkan ruang bebas. 
-p melewati Menentukan jumlah menimpa berlalu (default adalah 1). 
-q Don't kesalahan cetak (Tenang). 
-s atau -r Recurse subdirektori. 
-z Nol ruang bebas (baik untuk virtual disk optimization).

Untuk Linux, saya sarankan anda menggunakan zerofree.

Komentar (3)

Windows sudah memiliki built-in command line tool yang ini: CIPHER. Melihat /W opsi.

Jadi perintah lengkap akan sama: cipher /w:c: (ganti c: aktual huruf drive)

(menulis nol untuk ruang yang tidak terpakai, kemudian 0xff, sehingga anda harus hati-hati dan berhenti dengan ctrl-c ketika ia mulai menulis 0xff - tidak ideal, tapi itu adalah gratis dan sudah tersedia di Windows sejak XP setidaknya)

Komentar (4)

SDelete tidak akan nol keluar ruang untuk pemadatan dari virtual disk. SDelete dimulai dengan penekanan free space, tapi kemudian mengisinya dengan 0xff dan kemudian random byte Melihat Bagaimana mempersiapkan sebuah Virtual Server 2005 hard disk virtual file untuk mengirim ke Layanan Dukungan Produk Microsoft Untuk cara mengatur VHD untuk pemadatan

Precompact.exe bisa sulit untuk menemukan untuk beberapa alasan. Saya menemukan terpisah download copy di sini. Namun jika anda memiliki windows virtual PC, anda juga bisa mendapatkannya dari %programfiles(x86)%\Windows Virtual PC\Integrasi Components\Precompact.iso

Komentar (7)

fsutil isn't open source, tapi tidak kapal dengan Windows dan oleh karena itu doesn't biaya apa-apa tambahan. Aku digunakan untuk nol ruang bebas pada kosong WD 250 GB 7200 RPM (F:). Berikut ini's apa yang saya lari dari baris perintah:

fsutil volume diskfree f:

Yang menunjukkan laporan ini:

Total # of free bytes        : 249899469856
Total # of bytes             : 249997291520
Total # of avail free bytes  : 249899469856

Saya menggunakan Total # avail gratis byte dalam perintah berikut:

fsutil file createnew F:\clear 249899469856
fsutil file setvaliddata F:\clear 249899469856
fsutil file setzerodata offset=0 length=249899469856 F:\clear
del f:\clear

Butuh waktu sekitar 4 jam untuk menulis 250GB dari nol.

Komentar (0)

Saya juga telah mencari cara untuk menggunakan Cipher untuk hanya menulis 0x00 kemudian keluar ketika mulai menulis 0xFF ke ruang bebas. Ini akan memungkinkan ruang bebas maksimum yang akan dikompresi. Saya telah datang dengan dasar sebagai berikut PowerShell pekerjaan

ganti d:\ dengan yang diperlukan drive

Function CipherFreeSpace
{
    $cipherjob = @()
    $Job = start-job -ScriptBlock {cipher /w:d:\ }
    while ($cipherjob -notcontains "Writing 0xFF")
    {
        Write-host "." -nonewline 
        Start-Sleep 2
        $cipherjob += $job | Receive-Job 
    }
    $Job | Stop-Job | Remove-Job -Force
}
CipherFreeSpace

Salam Simon

Komentar (0)

Jika anda menggunakan VMware, cara yang lebih baik adalah dengan menggunakan alat yang dibangun ke dalam VMware untuk merebut kembali setiap ruang yang tidak terpakai pada virtual drive.

Saya menggunakan ini untuk mengurangi ukuran virtual disk dari 28 gigabyte turun sampai 13 gigabyte. Anda mungkin berbeda.

Ketika saya mencoba menggunakan sdelete -z c:, itu benar-benar meningkat ukuran virtual hard disk 30 gb, yang ukuran maksimumnya.

Lihat website VMware dan Compact Hard Disk Virtual, yang berada di bawah Menggunakan VMware Workstation > Mengkonfigurasi dan Mengelola Perangkat > Mengkonfigurasi dan Memelihara Virtual Hard Disk.

Update

Kadang-kadang, GUI alat-alat yang tidak cukup dapat diandalkan sebagai alat baris perintah. Saya telah mengalami masalah di mana alat GUI gagal, tapi command line tools bekerja dengan baik. Berikut ini adalah pilihan untuk VMware Desktop 10:

C:\Program Files (x86)\VMware\VMware Workstation>vmware-vdiskmanager -h
Diskname or some other argument is missing.
VMware Virtual Disk Manager - build 1895310.
Usage: vmware-vdiskmanager.exe OPTIONS  | 
Offline disk manipulation utility
  Operations, only one may be specified at a time:
     -c                   : create disk.  Additional creation options must
                            be specified.  Only local virtual disks can be
                            created.
     -d                   : defragment the specified virtual disk. Only
                            local virtual disks may be defragmented.
     -k                   : shrink the specified virtual disk. Only local
                            virtual disks may be shrunk.
     -n      : rename the specified virtual disk; need to
                            specify destination disk-name. Only local virtual
                            disks may be renamed.
     -p                   : prepare the mounted virtual disk specified by
                            the mount point for shrinking.
     -r      : convert the specified disk; need to specify
                            destination disk-type.  For local destination disks
                            the disk type must be specified.
     -x     : expand the disk to the specified capacity. Only
                            local virtual disks may be expanded.
     -R                   : check a sparse virtual disk for consistency and attempt
                            to repair any errors.
     -e                   : check for disk chain consistency.
     -D                   : make disk deletable.  This should only be used on disks
                            that have been copied from another product.

Berikut adalah contoh menyusut disk. Baris perintah ini bekerja, terlepas dari perintah yang sama dari GUI gagal:

C:\Program Files (x86)\VMware\VMware Workstation>vmware-vdiskmanager.exe -k
 "H:\VMware\WindowsXP.vmdk"
  VixDiskLib: Invalid configuration file parameter.  Failed to read configuration file.
  Shrink: 100% done.

Pesan kesalahan dimulai dengan VizDiskLib baru untuk VMware Desktop 10 dan dapat diabaikan dengan aman.

Komentar (2)

Google-up Eraser 5.8.8 32-bit Bekerja dengan baik bahkan pada Windows XP SP3!

Komentar (0)

Mit,

Saya menemukan bahwa Simon's powershell script melakukan persis apa yang anda butuhkan, tanpa versioning masalah sdelete. (switch melakukan hal-hal yang berbeda dalam versi yang berbeda)

Itu satu masalah, yaitu cipher terus berlari, tapi aku tetap itu.

Aku dimodifikasi lebih lanjut script untuk pembersihan temp folder:

Anda akan perlu untuk mengganti F:\ dengan huruf drive di kedua tempat.

Function CipherFreeSpace
{
    $cipherjob = @()
    $Job = start-job -ScriptBlock {cipher /w:F:\ }
    while ($cipherjob -notcontains "Writing 0xFF")
    {
        Write-host "." -nonewline 
        Start-Sleep 2
        $cipherjob += $job | Receive-Job 
    }
    Stop-Process -processname cipher
    Start-Sleep -s 3
    Remove-Item -recurse F:\EFSTMPWP
    $Job | Stop-Job | Remove-Job -Force
}
CipherFreeSpace
Komentar (0)

Mengapa alat pihak ketiga, ketika Windows sudah mencakup semua yang anda'll ever need, untuk "gratis" dan secepat itu bisa menjadi:

  1. format X: /fs:XXXX /p:#, dimana X adalah huruf drive; XXXX adalah file sistem,Yeither dan # adalah jumlah lintasan;

  2. diskpart bersih perintah: http://technet.microsoft.com/library/cc766465.aspx, http://support.microsoft.com/kb/300415;

Btw, anda don't membutuhkan lebih dari satu lulus, baik - yang mengklaim sebaliknya adalah usang info usang disk merah/menulis strategi, orang-orang mendorong produk, paranoia didorong, atau bs diteruskan sebagai "saran ahli".

Edit: nvm, terjawab ruang bebas bagian...

Komentar (2)