¿Por qué cipher / w llena archivos temporales en lugar de escribir en el disco sin formato?

0

El comando de Windows cipher /wse puede usar para limpiar de forma segura el espacio libre de un disco duro sin el uso de herramientas de terceros o GUI:

ingrese la descripción de la imagen aquí

cipherfunciona creando una carpeta llamada EFSTMPWPen la raíz de la unidad de destino; dentro de esta carpeta, llena sucesivamente tres archivos temporales con ceros, unos y números aleatorios, respectivamente, uno tras otro, hasta el tamaño del espacio vacío que queda en la unidad.

En el momento en que un archivo ha ocupado todo el espacio vacío de la unidad, está forzado efectivamente al sistema de archivos a sobrescribir todos los datos almacenados en su espacio libre con los datos recién escritos del archivo, lo que hace que los datos previamente almacenados allí sean irrecuperables permanentemente.

ingrese la descripción de la imagen aquí

Entiendo que Windows no suele otorgar a los usuarios acceso a la unidad sin formato como lo hace Linux, pero estoy confundido acerca de por qué las propias utilidades de Windows elegirían escribir datos indirectamente en archivos de esta manera y estar sujetos a cuellos de botella de E / S de disco en el proceso, en lugar de simplemente escribir en el disco sin procesar.

¿Hay alguna razón particular por la que borra discos usando archivos en lugar de escribir en el disco sin formato, o es probable que esto sea solo un descuido del diseño?

Hashim
fuente
1
Avíseme si realmente está buscando una respuesta lógica o si esto fue solo para examinar Microsoft y / o esta herramienta diseñada por sus desarrolladores o lo que sea. Puedo sacar una conclusión lógica en función de los detalles que MS nos proporciona para leer, y un poco de sentido común.
Pimp Juice IT
1
@PimpJuiceIT Una inferencia lógica de una mezcla de documentación de MS y conocimiento técnico es precisamente lo que estoy buscando, y su respuesta se ajusta perfectamente. Tenga en cuenta que he revertido cualquier edición que haya realizado a la pregunta que difería de la pregunta original que estaba haciendo. Si la pregunta está cerrada, que así sea, pero prefiero no cambiar drásticamente el núcleo de lo que estoy pidiendo solo para asegurarme de que permanezca abierto. Si se cierra, haré un hilo Meta para él, ya que he visto preguntas con un formato similar y estoy convencido de que, según el Centro de ayuda, es sobre el tema.
Hashim

Respuestas:

3

Al mirar cipher /?desde la línea de comandos, veo que el ciphercomando / aplicación hace mucho más que las operaciones que ocurren cuando se usa la /wopción. Como se indica en la ayuda, se utiliza para mostrar y modificar el cifrado de directorios y archivos en particiones NTFS .

Me parece que el /wcambio con este comando es solo una función simple que funciona con archivos y carpetas solo en particiones NTFS según su descripción de funcionalidad central a través de 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.

Algunas cosas específicas para señalar en la publicación de Microsoft "Cómo usar Cipher.exe para sobrescribir los datos eliminados en Windows ~" con respecto a la funcionalidad específica de esta herramienta. . .

  1. Este comando / aplicación aparentemente fue diseñado en los días de Windows 2003 (tal vez es incluso más antiguo), así que considere usar otra herramienta si no es suficiente para sus necesidades de tarea / operación.

  2. hay un gotcha mencionado con la /wfuncionalidad de la opción con archivos de menos de 1 KB, por lo que si los archivos de menos de 1 KB son importantes para usted, use otra herramienta.

  3. indica que puede llevar mucho tiempo completarlo si hay mucho espacio libre para sobrescribirse, por lo que no es como si afirman que esta herramienta es una bestia de E / S de disco sin procesar eficiente; use otra herramienta si eso es un problema para sus necesidades.


Sabiendo todo esto, parece que la sobrecarga de E / S adicional y los riesgos de cuello de botella que usted menciona no fueron de importancia o preocupación cuando se diseñó esta funcionalidad.

Esta herramienta no hace nada especial con esta funcionalidad (trabajar con archivos y carpetas en particiones NTFS) que otro método nativo de Windows no podría hacer; Esta funcionalidad específica no es robusta.

Consulte la publicación "Cómo rellenar a cero el espacio libre de un disco virtual en Windows para una mejor compresión" y la respuesta sobre fsutilotro método nativo de Windows para rellenar a cero el espacio libre.

  • FSUTIL

    fsutil volume diskfree f:
    

    Que mostró este informe:

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

    Utilicé el número total de bytes libres disponibles en los siguientes comandos:

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

    Tomó alrededor de 4 horas escribir 250 GB de ceros.

    Fuente


Recursos adicionales

  • 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.
    
  • Cómo usar Cipher.exe para sobrescribir los datos eliminados en Windows ~

    Nota El comando cipher / w no funciona para archivos de menos de 1 KB. Por lo tanto, asegúrese de verificar el tamaño del archivo para confirmar si es menor a 1 KB. Este problema está programado para solucionarse en Longhorn.

    Los datos que no se asignan a archivos o carpetas se sobrescriben. Esto elimina permanentemente los datos. Esto puede llevar mucho tiempo si sobrescribe una gran cantidad de espacio.

Pimp Juice IT
fuente
Del usuario AlienDrew : Ese "problema" que menciona Pimp Juice IT solo se aplica a versiones inferiores a Windows Vista. Si lee el artículo que Microsoft tiene sobre Cipher, encontrará que estaba programado para corregir ese error de archivo de 1 kg en Longhorn (nombre en clave de Windows Vista). Por lo tanto, el uso cipher /wdebería estar bien en Windows Vista, 7 y 10. (continuación)
fixer1234
1
Descargué la versión cipher.exe que se incluía con Vista (6.0.6002.18005), y la probé en una unidad propia que consta de muchos archivos de prueba de 1 kb y más pequeños. Puedo concluir que, de hecho, el error ya no está allí.
Fixer1234
0

¿Hay alguna razón particular por la que borra discos usando archivos en lugar de escribir en el disco sin formato, o es probable que esto sea solo un descuido del diseño?

Escribir en un disco sin formato mientras está montado es increíblemente arriesgado: si otro proceso crea o agrega un archivo, cipherpodría sobrescribir esos datos. Peor aún, si el sistema de archivos crea datos (como entradas de directorio), cipherpodría terminar sobrescribiéndolo también, causando corrupción en el sistema de archivos.

Sobrescribir el espacio libre utilizando un archivo normal (aunque muy grande) elimina este riesgo, ya que el controlador del sistema de archivos se asegurará de que el espacio asignado a este archivo no se utilizará para otros fines.

al anochecer
fuente