Из этой статьи я научился использовать sdelete в качестве шага для сжатия файла VDI:
sdelete -c c:
Но что означает -c
(«Чистое свободное пространство», как описано в его справочном тексте)? Разве это не записывает свободное место с нуля? А как насчет -z
(Ноль свободного пространства)? В чем разница между sdelete -c и -z?
редактировать
Я попытался выполнить шаг, упомянутый в статье, упомянутой ранее, но не смог уменьшить размер .vid
файла. Затем я последовал этому сообщению суперпользователя и изменил опцию -c
на -z
, и это удалось
Так что, кажется, -z
записывает нули в свободное пространство и -c
записывает что-то еще (возможно, случайные биты).
источник
Это должно было быть более уместно опубликовано в качестве комментария к ответу Томаса, но, поскольку я пока не могу этого сделать, я публикую его здесь.
Смешение опций «-z» и «-c», вероятно, является «распространенной ошибкой», поскольку SDelete изменила поведение этих опций за эти годы. Глядя на приведенные ниже ссылки, кажется, что SDelete сначала имел опцию "-z", которая выполняла "военную стандартную очистку", затем добавил опцию "-c" для обнуления свободного пространства, а затем где-то между v1.51 и v1. 61 переключил это поведение на текущее.
Ссылки: форум sysinternals.com и старая домашняя страница SDelete в Microsoft TechNet через archive.org.
источник
Текущая документация (и версия программы 2.01):
-c
: Чистое свободное пространство. Укажите опцию количества места, чтобы оставить свободным для использования работающей системой.-z
: Ноль свободного места (хорошо для оптимизации виртуального диска).Но в более старых версиях это было наоборот:
-c
: Ноль свободного места (хорошо для оптимизации виртуального диска).-z
: Чистое свободное пространство.Но что они делают?
Clean создает самый большой файл, который может, и заполняет его случайными данными, а затем заполняет его нулями. Это то, что большинство людей считают стиранием , и это излишне.
Недостатком является то, что если вы используете виртуальный диск, или внутри виртуальной машины, или запускаете его в пространстве хранения: базовая система хранения будет вынуждена выделять ресурсы для хранения случайных данных, а затем удерживать ноль. Надеемся, что тогда система хранения данных поймет, что все то пространство, которое было только что выделено для вашего диска, может быть возвращено, потому что все эти сектора просто содержат нули.
-z Zero: просто записывает нули во все сектора. Это вариант, который вы хотите, по многим причинам:
Источник : установил виртуальный жесткий диск и наблюдал за операциями ввода / вывода, которые sdelete выполнял в обоих режимах.
tl; dr: используйте -z Zero. Это быстрее, лучше, безопаснее.
источник