Aktualna dokumentacja (i wersja programu 2.01):
-c
: Wyczyść wolne miejsce. Określ opcjonalną ilość miejsca, które ma pozostać wolne do wykorzystania przez działający system.
-z
: Zero wolnego miejsca (dobre do optymalizacji dysków wirtualnych).
Ale w starszych wersjach było odwrócone:
-c
: Zero wolnego miejsca (dobre do optymalizacji dysków wirtualnych).
-z
: Wyczyść wolne miejsce.
Ale co oni robią?
Wyczyść tworzy największy plik, jaki może, i wypełnia go losowymi danymi, a następnie wypełnia zerami. To, co większość ludzi uważa za wycieranie , to przesada.
Minusem jest to, że jeśli używasz dysku wirtualnego, maszyny wirtualnej lub działasz na przestrzeni dyskowej: bazowy system pamięci będzie zmuszony przydzielić zasoby, aby przechowywać losowe dane, a następnie utrzymywać zero. Mamy nadzieję, że wtedy bazowy system pamięci zda sobie sprawę, że całe miejsce, które właśnie zostało przydzielone na dysk, można odzyskać, ponieważ wszystkie te sektory po prostu zawierają zera.
-z Zero: po prostu zapisuje zera we wszystkich sektorach. Jest to pożądana opcja z wielu powodów:
- wycieranie losowymi danymi jest nadmierne (odczyt danych nie jest praktycznie możliwy, tj. jeden bit na raz, chociaż mikroskop nie jest możliwy)
- niektóre dyski SSD mogą wykryć, że zapisujesz zero w sektorze, i mogą go użyć, aby oznaczyć sektor jako wolny (podobny do TRIM)
- większość wirtualnych systemów pamięci masowej (VMWare, Hyper-V, Windows Virtual Disks, Storage Spaces) zdaje sobie sprawę, że piszesz cały sektor zer i korzystasz z okazji, aby odzyskać miejsce w podstawowym pliku pamięci
- Dyski SSD nie będą wiedziały, że Twoim ostatecznym celem jest w gruncie rzeczy uwielbiana TRIM, i (podobnie jak dyski wirtualne) są zmuszane do wypełniania sektorów, które już zawierały zera zerami, tylko po to, abyś ponownie wypełnił je zerami. To okropne dla twoich SSD.
Źródło : Zainstalowano wirtualny dysk twardy i obserwowałem operacje we / wy, które sdelete wykonało w obu trybach.
tl; dr: Użyj opcji -z Zero. Jest szybszy, lepszy, bezpieczniejszy.