1

Команду cipher /w Windows можно использовать для безопасного удаления свободного места на жестком диске без использования сторонних инструментов или графического интерфейса пользователя:

cipher работает, создавая папку с именем EFSTMPWP в корне целевого диска; внутри этой папки она последовательно заполняет три временных файла нулями, единицами и случайными числами, соответственно, один за другим, до размера свободного места, оставшегося на диске.

К тому времени, когда файл занимает все свободное место на диске, он фактически вынуждает файловую систему перезаписывать все данные, хранящиеся в его свободном пространстве, вновь записанными данными файла, делая любые ранее сохраненные данные без возможности восстановления.

Я понимаю, что Windows, как правило, не предоставляет пользователям доступ к необработанному диску, как это делает Linux, но я не совсем понимаю, почему собственные утилиты Windows решили косвенно записывать данные в файлы и подвергаться узким местам дискового ввода-вывода. в процессе, вместо простой записи на сам сырой диск.

Есть ли какая-то особая причина, по которой он стирает диски, используя файлы вместо записи на сырой диск, или это, скорее всего, просто упущение дизайна?

1 ответ1

2

Глядя на cipher /? из командной строки я вижу, что команда / приложение cipher делает гораздо больше, чем просто операции, выполняемые при использовании параметра /w . Как указано в справке, он используется для отображения и изменения шифрования каталогов и файлов на разделах NTFS .

Мне кажется, что ключ /w с этой командой - просто простая функция, которая работает с файлами и папками только на разделах NTFS в соответствии с описанием его основных функций через chipher /? ,

cipher /?

Displays or alters the encryption of directories [files] on NTFS partitions.

/W        Removes data from available unused disk space on the entire
          volume. If this option is chosen, all other options are ignored.
          The directory specified can be anywhere in a local volume. If it
          is a mount point or points to a directory in another volume, the
          data on that volume will be removed.

Несколько конкретных вещей, на которые следует обратить внимание в публикации Microsoft «Как использовать Cipher.exe для перезаписи удаленных данных в Windows ~», касающейся специфических функций этого инструмента. , ,

  1. Эта команда / приложение, очевидно, была разработана во времена Windows 2003 (возможно, она даже старше), поэтому рассмотрите возможность использования другого инструмента, если его недостаточно для ваших задач / задач.

  2. есть упомянутое затруднение с опцией /w с файлами размером менее 1 КБ, поэтому, если для вас важны файлы размером менее 1 КБ, используйте другой инструмент.

  3. в нем говорится, что для завершения может потребоваться много времени, если требуется перезаписать много свободного пространства, поэтому не похоже, что они утверждают, что этот инструмент - эффективный зверь ввода-вывода с необработанным диском - используйте другой инструмент, если это является проблемой для ваших нужд.


Зная все это, кажется, что дополнительные издержки ввода-вывода и риски узких мест, о которых вы упомянули, не имели никакого значения или беспокойства при разработке этой функциональности.

Этот инструмент не делает ничего особенного с этой функциональностью (работа с файлами и папками на разделах NTFS), чего не мог сделать другой собственный метод Windows; эта конкретная функциональность не является надежной.

См. Статью «Как обнулить свободное пространство на виртуальном диске в Windows для лучшего сжатия» и ответ там о fsutil для другого собственного метода Windows, чтобы обнулить свободное пространство.

  • FSUTIL

    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 ГБ нулей.

    Источник


Дополнительные ресурсы

  • cipher.exe

    /w:PathName

         Remove data from unused portions of a volume.
         PathName can indicate any directory on the desired volume.
         Cipher does not obtain an exclusive lock on the drive.
         This option can take a long time to complete and should only be used when necessary.
    
  • Как использовать Cipher.exe для перезаписи удаленных данных в Windows ~

    Примечание. Команда cipher /w не работает с файлами размером менее 1 КБ. Поэтому обязательно проверьте размер файла, чтобы убедиться, что он меньше 1 КБ. Эту проблему планируется исправить в Longhorn.

    Данные, которые не распределены по файлам или папкам, перезаписываются. Это навсегда удаляет данные. Это может занять много времени, если вы перезаписываете много места.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .