Cambiar la capacidad de DMG

20

Al cambiar mi disco duro mac a un SSD me encontré con el siguiente problema:

He creado una imagen DMG de mi viejo HDD que tiene una capacidad de 320GB. El archivo DMG recordó y guardó la capacidad en la imagen, y el problema es que mi SSD es de solo 120 GB. Por lo tanto, el DMG no se puede usar si no puedo disminuir la capacidad de alguna manera.

EDITAR : La cantidad total de espacio utilizado en la imagen es de solo 15 GB.

Lo he visto hdiutilpero en realidad soy un desarrollador de ruby ​​on rails, así que realmente no entiendo estas cosas ...

¿Hay alguna forma con esta u otra utilidad para disminuir la capacidad del DMG?

¡Gracias!

Tim Baas
fuente

Respuestas:

39

No hay una buena manera a través de la GUI que haya visto para hacer esto: debe usarlo hdiutilcomo lo solicitó. Es un comando rápido. Para cambiar el tamaño (cambie 25G a lo que quiera),

hdiutil resize -size 25G /PATH/TO/DISK/IMAGE.dmg

Otra forma de comprimirlo es clonar la imagen de su disco en un paquete disperso, luego comprimir el paquete disperso. Esto puede o no funcionar, dependiendo de cuánta compresión tenga lugar.

Primero, cree la imagen de disco que refleje su imagen de disco anterior:

hdiutil convert /location/of/disk.dmg -format UDSP -o /PATH/TO/NEWIMAGE.sparseimage

Luego, compacte la imagen dispersa resultante:

hdiutil compact /PATH/TO/NEWIMAGE.sparseimage

Si estos comandos no funcionan, entonces tiene algo que ver con su imagen de disco y / o permisos.

He pasado mucho tiempo jugando hdiutily está lejos de ser perfecto: he encontrado y enviado errores en Snow Leopard que aún no se han corregido en Mountain Lion, así que si tienes un comportamiento extraño, no lo hagas estar fuera de lugar!

Entonces, vuela
fuente
He intentado esto, pero el verbo redimensionar arroja un problema de permiso, ahora estoy creando una imagen de disco RW para ver si eso funciona.
Tim Baas
Con mi imagen de disco RW, pude usar el verbo redimensionar y reducir la imagen a 120G, esto resultó en una capacidad de 128,85 GB. Así que esa es la forma correcta, pero aún no es suficiente para caber en mi SSD. El verbo compacto no funciona, dice compact failed - function not implemented.
Tim Baas
@TimBaas Un poco tarde, pero si tienes problemas de permisos (tal vez no tienes acceso de escritura en el DMG), puedes usarlo sudo hdiutil resize -size 25G /PATH/TO/DISK/IMAGE.dmg. Simplemente lo hice con mi imagen de disco de respaldo de Time Machine, y no pareció romper ningún permiso.
sudo
Me convertí en una imagen dispersa con su segundo comando, pero luego ni el compactni el resizefuncionarían en él. compactdijo que recortó 0 bytes, pero tengo 40GiB libres en él. convertdijo que el tamaño es demasiado pequeño. El volumen es Mac OS Extended (registrado).
sudo
1

Prueba este:

hdiutil compact image.dmg

Pero como puede ver en el manual de hdiutil :

Depending on the location of files in the hosted filesystem, compact may or may not shrink the image.
klocek
fuente
Gracias por su reacción ... Al ejecutar este comando, recibo la respuesta de que es un problema de permiso ... Probablemente porque el dmg es una imagen de disco formateada de solo lectura ... Ahora tengo Carbon Copy Cloner creando una copia a través de FireWire ...
Tim Baas
Puede usar la Utilidad de disco de Mac OS X para convertir la imagen de ro a rw.
Lo conseguí trabajando con CCC, ¡gracias por tu ayuda de todos modos!
Tim Baas
1

Después de que cjc señaló hacer la pregunta en apple.stackexchange.com, lo hice. Al hacer la pregunta, llegué a una búsqueda relacionada respondida por alguien que dijo que probara Carbon Copy Cloner.

Carbon Copy Cloner clonó los archivos a través de FireWire en mi disco SSD sin preguntar, y todo es como debería ser ...

Aquí está la pregunta a la que me refiero:

Restaurar sistema desde DMG (disco de origen original más grande que destino)

Para aquellos de ustedes interesados ​​en cambiar el tamaño de una imagen de disco:

Haga que su imagen de disco lea y escriba en la Utilidad de Discos de Mac

Monte el disco, selecciónelo y haga clic en nueva imagen de disco. Seleccione lectura-escritura en el menú desplegable de estructura de imagen de disco y haga clic en guardar. (Mi sistema operativo es holandés, así que estas son mis propias traducciones).

Use hdiutilpara cambiar el tamaño de la imagen del disco:

En el terminal: hdiutil resize -size 100G /location/of/disk.dmg. Puede reemplazar 100G por el tamaño que desee.

Opcional (no funcionó para mí), puede intentar compactarlo:

En el terminal: hdiutil convert /location/of/disk.dmg -format UDSP -o /location/of/NEW/disk.dmg.

Esto crea una imagen dispersa.

Luego: hdiutil compact /location/of/SPARSE/disk.dmg.sparseimage

Esto intentará liberar espacio en la imagen del disco. Si funciona, supongo que es posible que deba cambiar el tamaño de su DMG nuevamente para reducir la capacidad (no estoy seguro).

Tim Baas
fuente
0

Intenté todo esto en vano; hdiutil no me dejaba cambiar el tamaño por debajo de cierto umbral (mucho más bajo que OP).

Respuesta simple:

  1. Cree un nuevo archivo DMG del tamaño que desee.
  2. Copie todos los archivos desde el antiguo DMG
  3. Cierre y vuelva a abrir DMG nuevo y verifique que todo esté bien
  4. Trash / backup / archive el antiguo DMG.
Invitado_8675309
fuente
No estoy seguro de cómo hacer esto al copiar un sistema. cpme da toneladas de errores para archivos especiales.
sudo