Cómo comprimir un archivo muy grande que contiene solo unos pocos datos

Cómo comprimir un archivo muy grande que contiene solo unos pocos datos

Compré un SSD de 250 GB, ejecuté un formato completo en él, instalé Win10, cloné todo el disco usando elddcomando en una terminal Linux para tener una copia de seguridad en caso de que mi SSD se rompa en algún momento, así que ahora tengo un archivo de imagen de disco con un tamaño de aprox. 250 GB que se ve así:

| --- some data (approx. 17 GB) --- | ------ no data at all, only nulls ------ |

Comencé a comprimir el archivo usandocremalleray esperaba quecremalleraSería lo suficientemente inteligente como para darme una.cremallerade aprox. 17 GB de tamaño, pero después de horas de comprimir y mi.cremalleraAl llegar a más de 50 GB, interrumpí el proceso y vine aquí para preguntarle si hay otras formas potenciales de hacerlo.

Respuesta1

¿Está seguro de que la parte vacía del disco contiene solo valores nulos? Probablemente haya mucha basura eliminada por ahí. Sin duda, el material del paquete de distribución se almacenó comprimido. Fue descomprimido para la instalación y luego los archivos fueroncopiadoa sus objetivos, luego toda la basura temporal se eliminó cuando estuvo hecho. Por lo tanto, esperaría encontrar datos eliminados al menos tan grandes como el tamaño de la instalación: el espacio que ocupan los archivos de intercambio.

Más allá de eso, cuando se trata de datos altamente comprimibles, he descubierto que, en casos realmente graves, comprimir el archivo lo reducirá aún más. La mayoría de los compresores tienen una longitud máxima para un elemento de diccionario, cuando la redundancia en su archivo excede ampliamente esto (como sería si su problema fuera lo que pensaba) termina con ejecuciones del código para la entrada del diccionario que se comprimen. (Y tenga en cuenta que también he visto un pequeño beneficio al comprimir un archivo que contenía una gran cantidad de archivos pequeños: los archivos ya no se comprimían, pero los datos de mantenimiento sí.)

Dicho esto, lo que debe hacer aquí es copiar su partición, luego reducir la partición copiada lo más pequeña que pueda (destruya sus archivos de intercambio e hiberne si puede), luego haga lo que hizo con el resultado.

Respuesta2

No se puede asumir que cualquier espacio vacío en un disco contenga sólo ceros o datos completamente consistentes. Eliminar un archivo no escribe automáticamente ceros en el área del disco que ocupaba, simplemente marca cualquier puntero a esos datos como no válido y espera a que algo más necesite escribir datos en ese espacio. Mientras tanto, técnicamente los datos que había todavía están allí, pero es más difícil acceder a ellos.

Tampoco se puede suponer que un nuevo disco se pondrá a cero; es muy posible que los datos sean basura completamente aleatoria de los procedimientos de fabricación y prueba.

Si es absolutamente necesario generar una imagen de disco de esta manera, primero debe llenar ese espacio vacío con datos consistentes.

En Windows puedes descargar una herramienta llamadaeliminary tiene una opción para llenar correctamente un disco a cero:sdelete -z

Esto llevará muchísimo tiempo en discos más grandes y podría llevar horas o incluso días dependiendo del tamaño de su disco.

La opción más inteligente es utilizar herramientas que comprendan el formato del disco y solo almacenen los datos que realmente necesitan almacenarse para empezar e ignoren el espacio "en blanco" en el disco.

  • Macrio Reflejo
  • clonezilla
  • Acronis Trueimage

Estos son algunos, pero existen muchos más softwares de imágenes de disco.

información relacionada