Jak zera wypełnić wolne miejsce na dysku wirtualnym w systemie Windows, aby uzyskać lepszą kompresję?
Chciałbym do tego proste narzędzie typu open source (lub przynajmniej bezpłatne). Prawdopodobnie powinien napisać pełny tak duży plik, jak to możliwe, 0
a następnie go usunąć. Tylko jeden przebieg (nie ze względów bezpieczeństwa, ale ze względu na kompresję, wykonujemy kopię zapasową maszyn wirtualnych).
Powinien być uruchamiany z okien systemu Windows, a nie z dysku.
W systemie Linux robię to tak (jako użytkownik):
cd
mkdir wipe
sudo sfill -f -l -l -z ./wipe/
Edycja 1: Zdecydowałem się użyć sdelete z zaakceptowanej odpowiedzi. Rzuciłem okiem na pomoc sdelete:
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
To jest stara wersja. Użyłem przełącznika -c od 2. wywołania i było to dość szybkie (składnia jest poprawna tylko dla starszych wersji wcześniejszych niż 1.6):
c:\>sdelete -c c: (OUTDATED!)
Mam wrażenie, że robi to, co chcę. Narzędzie sdelete jest łatwe w użyciu i łatwe do zdobycia.
Edycja 2: Jak wskazał scottbb w swojej odpowiedzi poniżej, we wrześniu 2011 r. Nastąpiła zmiana narzędzia (wersja 1.6). Opcje -c i -z zmieniły znaczenie. Prawidłowe użycie od wersji 1.6 to
c:\>sdelete -z c:
Edycja 3: Istnieje wersja 2.0 sdelete i sdelete64. Podczas zerowania wydają się być błędne. Wygląda na to, że utknął na 100% przez bardzo długi czas. Niektóre osoby zgłosiły 10 - 40 razy dłużej. Starsza wersja 1.61 nie ma tego problemu. Zobacz https://social.technet.microsoft.com/Forums/en-US/2ffb2539-34ba-4378-aa8a-941d243f117e/sdelete-hangs-at-100?forum=miscutils
Edycja 4: Teraz jest kwestia dynamicznie przydzielanego miejsca na dysku wirtualnym . Jeśli masz dysk 100 GB, który nie jest pełny i używa tylko 30 GB na hoście, wypełnienie zerem nie powinno radykalnie zwiększyć rozmiaru dysku, ponieważ jest to sprzeczne z celem dynamicznej alokacji . Istnieje odpowiedź na Oracle VM VirtualBox
https://superuser.com/q/907196/44402 - ale na innych stosach, takich jak VMWare, Xen, XenServer itp., Należy odpowiedzieć osobno.
sdelete
jest właściwym narzędziem do pracy, ale zmiana narzędzia z września 2011 r. (wersja 1.6) powoduje, że powyższe odpowiedzi są nieprawidłowe.-c
I-z
opcje zmieniły znaczenie. Prawidłowe użycie to terazsdelete -z c:\