Как заполнять нулями виртуальный диск'ы свободного пространства на 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 С и т. д. это надо ответить отдельно.

Комментарии к вопросу (2)
Решение

На Windows использовать средства Sysinternals программа, чтобы обнулить все пустое пространство. Команду, которую вы хотите, будет выглядеть эта программа SDelete -Z и с:`.

в <предварительно> Использование: программа SDelete [-п проходит] [-с] [-м] <файл или каталог> ... программа SDelete [-п пасует] [-з|-с] [буква диска] ... -снять атрибут только для чтения. -с чистого свободного пространства. -п пассов определяет количество перезаписи проходит (по умолчанию-1). -вопрос Не'ошибки печати Т (тихо). -ы или-R рекурсивно в подкаталогах. -з ноль свободного пространства (хорошо для оптимизация виртуального диска). </пред>

Для Linux я предлагаю вам использовать zerofree.

Комментарии (3)

В Windows уже есть встроенный инструмент командной строки, который делает это: шифра. Посмотреть ее параметр /W.

Поэтому полная команда будет: cipher /б:с: (замените ° с:_ с фактическое букву)

(он пишет нули в свободное пространство, тогда как 0xFF, так что вы должны смотреть его и остановить его с помощью ctrl-c, когда он начинает писать, как 0xFF - не идеал, но она бесплатна и уже доступна в Windows начиная с XP по крайней мере)

Комментарии (4)

В этом случае не будет обнулить пространство для сжатия виртуального диска. Программа начинается с обнуления свободного пространства, но затем заполняет его с 0xFF, а затем случайными байтами см. Как подготовить виртуальный сервер 2005 файл виртуального жесткого диска, чтобы отправить в службу поддержки продуктов Microsoft о том, как создать виртуальный жесткий диск для уплотнения

Precompact.exe может быть трудно найти по каким-то причинам. Я нашел отдельно загружаемую копию здесь. Однако, если у вас Windows виртуальный компьютер вы можете также сделать это из %programfiles(х86)%\Windows в виртуальных ПК\интеграция Components\Precompact.iso

Комментарии (7)

команду fsutil это'т открытым исходным кодом, но это не поставляются с ОС Windows и, следовательно, не'т ничего лишнего. Я использовал его до нуля свободного места на пустой накопитель WD 250 Гб 7200 об / мин привод (Ф:). Здесь's то, что я бежал из командной строки:

fsutil volume diskfree f:

Что показал этот отчет:

Total # of free bytes        : 249899469856
Total # of bytes             : 249997291520
Total # of avail free bytes  : 249899469856

Я использовала всего воспользоваться бесплатной байты в следующие команды:

fsutil file createnew F:\clear 249899469856
fsutil file setvaliddata F:\clear 249899469856
fsutil file setzerodata offset=0 length=249899469856 F:\clear
del f:\clear

Это заняло около 4 часов, чтобы написать 250ГБ нулей.

Комментарии (0)

Я тоже искал способ, используя шифр, чтобы писать только от 0x00 затем выйти, когда начинают писать 0xFF чтобы свободное пространство. Это позволит максимально освободить пространство, чтобы быть сжаты. Я придумал следующие основные задания PowerShell

замените D:\ диск

Function CipherFreeSpace
{
    $cipherjob = @()
    $Job = start-job -ScriptBlock {cipher /w:d:\ }
    while ($cipherjob -notcontains "Writing 0xFF")
    {
        Write-host "." -nonewline 
        Start-Sleep 2
        $cipherjob += $job | Receive-Job 
    }
    $Job | Stop-Job | Remove-Job -Force
}
CipherFreeSpace

Что касается Симон

Комментарии (0)

Если вы используете VMware, гораздо эффективнее использовать средства, встроенные в VMware, чтобы освободить неиспользуемое пространство на виртуальном диске.

Я использовал это, чтобы уменьшить размер виртуального диска из 28 ГБ до 13 Гб. Ваш пробег может варьироваться.

Когда я попытался с помощью `программы SDelete -Z на диск C:, он на самом деле повышение размер виртуальных дисков до 30 гигабайт, который был его максимальный размер.

Смотрите на веб-сайте VMware и сжатие виртуального жесткого диска, который является Под помощью русификатора > настройка и управление устройствами > настройка и поддержка виртуального жесткого диска.

Обновление ##

Иногда, графического средства не столь надежны, как инструменты командной строки. Я столкнуться с проблемами, где графические инструменты, но инструменты командной строки работает просто отлично. Здесь представлены варианты для VMware для настольных 10`:

C:\Program Files (x86)\VMware\VMware Workstation>vmware-vdiskmanager -h
Diskname or some other argument is missing.
VMware Virtual Disk Manager - build 1895310.
Usage: vmware-vdiskmanager.exe OPTIONS  | 
Offline disk manipulation utility
  Operations, only one may be specified at a time:
     -c                   : create disk.  Additional creation options must
                            be specified.  Only local virtual disks can be
                            created.
     -d                   : defragment the specified virtual disk. Only
                            local virtual disks may be defragmented.
     -k                   : shrink the specified virtual disk. Only local
                            virtual disks may be shrunk.
     -n      : rename the specified virtual disk; need to
                            specify destination disk-name. Only local virtual
                            disks may be renamed.
     -p                   : prepare the mounted virtual disk specified by
                            the mount point for shrinking.
     -r      : convert the specified disk; need to specify
                            destination disk-type.  For local destination disks
                            the disk type must be specified.
     -x     : expand the disk to the specified capacity. Only
                            local virtual disks may be expanded.
     -R                   : check a sparse virtual disk for consistency and attempt
                            to repair any errors.
     -e                   : check for disk chain consistency.
     -D                   : make disk deletable.  This should only be used on disks
                            that have been copied from another product.

Вот пример сжатие диска. Эта командная строка работала, несмотря на ту же команду из графического интерфейса не работает:

C:\Program Files (x86)\VMware\VMware Workstation>vmware-vdiskmanager.exe -k
 "H:\VMware\WindowsXP.vmdk"
  VixDiskLib: Invalid configuration file parameter.  Failed to read configuration file.
  Shrink: 100% done.

Сообщение об ошибке начиная с VizDiskLib нового в VMware Desktop 10 и можно игнорировать.

Комментарии (2)

Гугл-до ластик 5.8.8 32-битных Работает хорошо даже на ОС Windows XP с пакетом обновления 3!

Комментарии (0)

МИТ

Я обнаружил, что Симон'скрипт с помощью PowerShell сделал именно то, что вам нужно, без проблем версий программа. (выключатели делать разные вещи в разных версиях)

Это была одна проблема, что Сайфер продолжал бежать, но я исправил это.

Я изменил скрипт для очистки папки Temp:

Вам нужно заменить на F:\ с диска в обоих местах.

Function CipherFreeSpace
{
    $cipherjob = @()
    $Job = start-job -ScriptBlock {cipher /w:F:\ }
    while ($cipherjob -notcontains "Writing 0xFF")
    {
        Write-host "." -nonewline 
        Start-Sleep 2
        $cipherjob += $job | Receive-Job 
    }
    Stop-Process -processname cipher
    Start-Sleep -s 3
    Remove-Item -recurse F:\EFSTMPWP
    $Job | Stop-Job | Remove-Job -Force
}
CipherFreeSpace
Комментарии (0)

Почему сторонние инструменты, когда Windows уже содержит все, что вам'будете когда-нибудь понадобится, для "на свободе" и как это вообще может быть:

  1. в формате X: /ФС:ХХХХ /П:#, где X - это буква диска; ХХХХ - это файловая система,Yeither и # - это число проходов;

  2. программа diskpart команду очистить: http://technet.microsoft.com/library/cc766465.aspx, http://support.microsoft.com/kb/300415;

Кстати, вы Дон'т нужно больше, чем один проход, либо - утверждать обратное-это либо устаревшая информация по устаревшим диск красный/записи стратегий, люди толкаются продукты, паранойи, или БС передается на как "советы экспертов и".

Редактировать: НВМ, пропустили свободное место часть...

Комментарии (2)