Как заполнять нулями виртуальный диск'ы свободного пространства на Windows для лучшего сжатия?
Как заполнять нулями виртуальный диск'ы свободного пространства на Windows для лучшего сжатия?
Я хотел как простой инструмент с открытым исходным кодом (или, по крайней мере бесплатно) для этого. Надо, наверное, написать как можно большим файлом, полный `0 ' и стереть его потом. Только один проход (это не из соображений безопасности, но и для сжатия, мы резервное копирование виртуальных машин).
Должен работать из Windows, а не с диска.
На Linux я делаю это, как это (как пользователь):
cd
mkdir wipe
sudo sfill -f -l -l -z ./wipe/
Редактировать 1: я решил использовать программа из принятого ответа. Я взглянул на Программа'ы помочь:
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
Это старая версия. Я использовал переключатель-C от 2-го вызова, и это было довольно быстро (синтаксис только для старых версий до версии v1.6):
c:\>sdelete -c c: (OUTDATED!)
У меня такое впечатление, это то, что я хочу. Инструмент программа проста в использовании и легко получить.
Редактировать 2: Как scottbb указал в своем ответе ниже, произошел в сентябре 2011 года изменение к инструменту (версия 1.6)- C и-Z опции изменились смыслы. Правильное использование от 1.6 и далее
c:\>sdelete -z c:
Редактировать 3: Есть версия 2.0 SDelete и sdelete64. Они, кажется, глючит при пристрелке. Он будет застрял на 100% за чрезвычайно длительное время. Некоторые люди сообщают о 10 - 40 раз больше. Старая версия 1.61 не имеют этой проблемы. См https://social.technet.microsoft.com/Forums/en-US/2ffb2539-34ba-4378-aa8a-941d243f117e/sdelete-hangs-at-100?forum=miscutils
Редактировать 4: Теперь там's вопрос от динамически выделяемой виртуального дискового пространства. Если у вас есть диск с 100 Гб, что не является полным и использует только 30 Гб на хост, обнуление не следует резко увеличивать размер диска, потому что это противоречит цели динамическое размещение. Ответ для виртуальных машин Oracle VirtualBox для` https://superuser.com/q/907196/44402 - но на другие стеки, такие как VMware и Xen, XenServer С и т. д. это надо ответить отдельно.
На Windows использовать средства Sysinternals программа, чтобы обнулить все пустое пространство. Команду, которую вы хотите, будет выглядеть эта программа SDelete -Z и с:`.
в <предварительно> Использование: программа SDelete [-п проходит] [-с] [-м] <файл или каталог> ... программа SDelete [-п пасует] [-з|-с] [буква диска] ... -снять атрибут только для чтения. -с чистого свободного пространства. -п пассов определяет количество перезаписи проходит (по умолчанию-1). -вопрос Не'ошибки печати Т (тихо). -ы или-R рекурсивно в подкаталогах. -з ноль свободного пространства (хорошо для оптимизация виртуального диска). </пред>
Для Linux я предлагаю вам использовать zerofree.
В Windows уже есть встроенный инструмент командной строки, который делает это: шифра. Посмотреть ее параметр /W.
Поэтому полная команда будет: cipher /б:с: (замените ° с:_ с фактическое букву)
(он пишет нули в свободное пространство, тогда как 0xFF, так что вы должны смотреть его и остановить его с помощью ctrl-c, когда он начинает писать, как 0xFF - не идеал, но она бесплатна и уже доступна в Windows начиная с XP по крайней мере)
В этом случае не будет обнулить пространство для сжатия виртуального диска. Программа начинается с обнуления свободного пространства, но затем заполняет его с 0xFF, а затем случайными байтами см. Как подготовить виртуальный сервер 2005 файл виртуального жесткого диска, чтобы отправить в службу поддержки продуктов Microsoft о том, как создать виртуальный жесткий диск для уплотнения
Precompact.exe может быть трудно найти по каким-то причинам. Я нашел отдельно загружаемую копию здесь. Однако, если у вас Windows виртуальный компьютер вы можете также сделать это из %programfiles(х86)%\Windows в виртуальных ПК\интеграция Components\Precompact.iso
команду fsutil
это'т открытым исходным кодом, но это не поставляются с ОС Windows и, следовательно, не'т ничего лишнего. Я использовал его до нуля свободного места на пустой накопитель WD 250 Гб 7200 об / мин привод (Ф:
). Здесь's то, что я бежал из командной строки:Что показал этот отчет:
Я использовала всего воспользоваться бесплатной байты в следующие команды:
Это заняло около 4 часов, чтобы написать 250ГБ нулей.
Я тоже искал способ, используя шифр, чтобы писать только от 0x00 затем выйти, когда начинают писать 0xFF чтобы свободное пространство. Это позволит максимально освободить пространство, чтобы быть сжаты. Я придумал следующие основные задания PowerShell
замените D:\ диск
Что касается Симон
Если вы используете VMware, гораздо эффективнее использовать средства, встроенные в VMware, чтобы освободить неиспользуемое пространство на виртуальном диске.
Я использовал это, чтобы уменьшить размер виртуального диска из 28 ГБ до 13 Гб. Ваш пробег может варьироваться.
Когда я попытался с помощью `программы SDelete -Z на диск C:, он на самом деле повышение размер виртуальных дисков до 30 гигабайт, который был его максимальный размер.
Смотрите на веб-сайте VMware и сжатие виртуального жесткого диска, который является Под помощью русификатора > настройка и управление устройствами > настройка и поддержка виртуального жесткого диска.
Обновление ##
Иногда, графического средства не столь надежны, как инструменты командной строки. Я столкнуться с проблемами, где графические инструменты, но инструменты командной строки работает просто отлично. Здесь представлены варианты для VMware для настольных 10`:
Вот пример сжатие диска. Эта командная строка работала, несмотря на ту же команду из графического интерфейса не работает:
Сообщение об ошибке начиная с
VizDiskLib
нового в VMware Desktop 10 и можно игнорировать.Гугл-до ластик 5.8.8 32-битных Работает хорошо даже на ОС Windows XP с пакетом обновления 3!
МИТ
Я обнаружил, что Симон'скрипт с помощью PowerShell сделал именно то, что вам нужно, без проблем версий программа. (выключатели делать разные вещи в разных версиях)
Это была одна проблема, что Сайфер продолжал бежать, но я исправил это.
Я изменил скрипт для очистки папки Temp:
Вам нужно заменить на F:\ с диска в обоих местах.
Почему сторонние инструменты, когда Windows уже содержит все, что вам'будете когда-нибудь понадобится, для "на свободе" и как это вообще может быть:
в формате X: /ФС:ХХХХ /П:#
, гдеX
- это буква диска;ХХХХ
- это файловая система,Yeither и#
- это число проходов;программа diskpart команду
очистить
: http://technet.microsoft.com/library/cc766465.aspx, http://support.microsoft.com/kb/300415;Кстати, вы Дон'т нужно больше, чем один проход, либо - утверждать обратное-это либо устаревшая информация по устаревшим диск красный/записи стратегий, люди толкаются продукты, паранойи, или БС передается на как "советы экспертов и".
Редактировать: НВМ, пропустили свободное место часть...