J'ai appris de cet article à utiliser sdelete comme étape pour réduire le fichier VDI:
sdelete -c c:
Mais que signifie le -c
("Espace libre" décrit dans son aide)? N'écrit-il pas d'espace libre avec zéro? Et que dire de -z
(zéro espace libre)? Quelle est la différence entre sdelete -c et -z?
J'ai essayé l'étape de l'article mentionné précédemment, mais je n'ai pas réussi à réduire la taille du fichier .vid
. Ensuite, j'ai suivi cet article de superutilisateur et modifié l'option -c
en -z
, et j'ai réussi.
Il semble donc que -z
écrit des zéros pour libérer de l'espace, et -c
écrit autre chose (éventuellement des bits aléatoires).
Je pense que c'est une erreur commune. Peut-être que l'option -z n'était pas disponible dans les versions précédentes. SDelete 1.61 dit
-z Zero free space (good for virtual disk optimization)
Notez que cela étendra d'abord votre disque dur à la taille complète. Ce n’est que lors du processus de contraction de VMWare qu’il redeviendra plus petit.
Un test rapide sur ma machine:
-z took 1:01 minutes
-c took 2:11 minutes
Ce qui indique que -z n’écrit que des zéros simples alors que -c est l’effacement standard militaire DoD 5220.22-M tel qu’il est écrit sur le SDelete site web .
Documentation actuelle (et version du programme 2.01):
-c
: Nettoyer l'espace libre. Spécifiez une quantité d'espace à laisser libre pour une utilisation par un système en cours d'exécution.-z
: Zéro espace libre (bon pour l'optimisation de disque virtuel).Mais dans , les versions précédentes étaient inversées:
-c
: Zéro espace libre (bon pour l'optimisation de disque virtuel).-z
: Nettoyer l'espace libre.Nettoyer crée le fichier le plus volumineux possible, le remplit de données aléatoires , puis le remplit de zéros. C’est ce que la plupart des gens considèrent comme un effacement , et c’est exagéré.
L'inconvénient est que si vous utilisez un disque virtuel, ou dans une machine virtuelle, ou si vous l'exécutez sur un espace de stockage: le système de stockage sous-jacent sera obligé d'allouer des ressources pour stocker des données aléatoires, puis à zéro. Espérons que le système de stockage sous-jacent se rendra compte que tout l’espace qui vient d’être alloué à votre lecteur peut être récupéré, car tous ces secteurs contiennent simplement des zéros.
- z Zero: Écrit simplement des zéros dans tous les secteurs. C'est l'option que vous voulez, pour plusieurs raisons:
Source : monté un disque dur virtuel et regardé les opérations d'E/S que sdelete a prises dans les deux modes.
tl; dr: utilisez -z zéro. C'est plus rapide, mieux, plus sûr.
Cela aurait dû être posté de manière plus appropriée en tant que commentaire sur la réponse de Thomas, mais comme je ne peux pas le faire pour le moment, je le publie ici.
Mélanger les options "-z" et "-c" est probablement une "erreur commune", car SDelete a modifié le comportement de ces options au fil des ans. En regardant les références fournies ci-dessous, il semble que SDelete ait d’abord une option "-z" qui effectue le "balayage standard militaire", puis une option "-c" pour la réduction à zéro de l’espace libre, puis quelque part entre v1.51 et v1. 61 a basculé ce comportement vers le comportement actuel.
Références: sysinternals.com Forum et ancienne page d’accueil de SDelete sur Microsoft TechNet via archive.org.