Modifier la capacité DMG

20

Lors du changement de mon disque dur mac en SSD, j'ai rencontré le problème suivant:

J'ai créé une image DMG de mon ancien disque dur d'une capacité de 320 Go. Le fichier DMG s'est souvenu et a enregistré la capacité de l'image, et le problème est que mon SSD n'est que de 120 Go .. Donc, le DMG ne peut pas être utilisé si je ne peux pas diminuer la capacité d'une manière ou d'une autre ..

EDIT : La quantité totale d'espace utilisé sur l'image n'est que de 15 Go.

J'ai regardé hdiutilmais je suis en fait un développeur ruby ​​on rails donc je n'ai pas vraiment ce genre de choses ..

Est-ce qu'ils ont un moyen avec ceci ou une autre utilité pour diminuer la capacité du DMG?

Merci!

Tim Baas
la source

Réponses:

39

Il n'y a pas de bon moyen via l'interface graphique que j'ai vu pour faire cela - vous devez utiliser hdiutilcomme vous l'avez demandé. C'est une commande rapide. Pour redimensionner (changez 25G en ce que vous voulez),

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

Une autre façon de le compresser est de cloner votre image disque dans un sparsebundle, puis de compresser le sparsebundle. Cela peut ou non fonctionner, selon la quantité de compression effectuée.

Tout d'abord, créez l'image disque qui reflète votre ancienne image disque:

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

Ensuite, compactez l'image dispersée résultante:

hdiutil compact /PATH/TO/NEWIMAGE.sparseimage

Si ces commandes ne fonctionnent pas, cela a quelque chose à voir avec votre image disque et / ou vos autorisations.

J'ai passé beaucoup de temps à jouer avec hdiutilet c'est loin d'être parfait - j'ai trouvé et soumis des bugs dans Snow Leopard qui n'ont toujours pas été corrigés dans Mountain Lion, donc si vous obtenez un peu de comportement étrange, ne le faites pas soyez rebuté!

donc vole
la source
J'ai essayé cela, mais le verbe redimensionner pose un problème d'autorisation, je suis en train de créer une image de disque RW pour voir si cela fonctionne.
Tim Baas du
Avec mon image de disque RW, j'ai pu utiliser le verbe redimensionner et réduire l'image à 120G, ce qui a entraîné une capacité de 128,85 Go. C'est donc la bonne façon, mais ce n'est toujours pas suffisant pour tenir sur mon SSD .. Le verbe compact ne fonctionne pas, dit-il compact failed - function not implemented.
Tim Baas
@TimBaas Un peu tard, mais si vous rencontrez des problèmes de permissions (peut-être que vous n'avez pas accès en écriture sur le DMG), vous pouvez utiliser sudo hdiutil resize -size 25G /PATH/TO/DISK/IMAGE.dmg. Je viens de le faire avec mon image de disque de sauvegarde Time Machine, et il ne semble pas briser les autorisations.
sudo
J'ai converti en une image clairsemée avec votre deuxième commande, mais alors ni le compactni le resizene fonctionneraient dessus. compactdit qu'il a coupé 0 octet, mais j'ai 40 Go de libre. convertdit que la taille est trop petite. Le volume est Mac OS étendu (journalisé).
sudo
1

Essaye celui-là:

hdiutil compact image.dmg

Mais comme vous pouvez le voir dans le manuel hdiutil :

Depending on the location of files in the hosted filesystem, compact may or may not shrink the image.
klocek
la source
Merci pour votre réaction .. Lors de l'exécution de cette commande, j'obtiens la réponse que c'est un problème d'autorisation .. Probablement parce que le dmg est une image disque formatée en lecture seule .. J'ai maintenant Carbon Copy Cloner créant une copie via FireWire ..
Tim Baas
Vous pouvez utiliser Mac OS X Disk Utility pour convertir une image ro en rw.
Je l'ai fait travailler avec CCC, merci pour votre aide de toute façon!
Tim Baas
1

Après que cjc ait indiqué de poser la question sur apple.stackexchange.com, je l'ai fait. En posant la question, je suis arrivé à une quête connexe à laquelle quelqu'un a répondu d'essayer Carbon Copy Cloner.

Carbon Copy Cloner a cloné les fichiers via FireWire sur mon SSDisk sans poser de question, et tout est comme ça devrait être ..

Voici la question à laquelle je fais référence:

Restaurer le système à partir de DMG (disque source d'origine plus grand que la destination)

Pour ceux d'entre vous qui souhaitent redimensionner une image disque:

Faites votre image disque en lecture-écriture dans l'utilitaire de disque de Mac:

Montez le disque, sélectionnez-le et cliquez sur une nouvelle image disque. Sélectionnez lecture-écriture dans la liste déroulante de la structure de l'image disque et cliquez sur enregistrer. (Mon OS est néerlandais, donc ce sont mes propres traductions).

Utilisez hdiutilpour redimensionner l'image du disque:

Dans le terminal: hdiutil resize -size 100G /location/of/disk.dmg. Vous pouvez remplacer 100G par la taille souhaitée.

Facultatif (ne fonctionnait pas pour moi), vous pouvez essayer de le compacter:

Dans le terminal: hdiutil convert /location/of/disk.dmg -format UDSP -o /location/of/NEW/disk.dmg.

Cela crée une image clairsemée.

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

Cela va essayer de libérer de l'espace sur l'image du disque .. Si cela fonctionne, je suppose que vous devrez peut-être redimensionner à nouveau votre DMG pour réduire la capacité (je ne suis pas sûr) ..

Tim Baas
la source
0

J'ai essayé tout cela en vain; hdiutil ne me laisserait pas redimensionner en dessous d'un certain seuil (bien inférieur à OP).

Réponse simple:

  1. Créez un nouveau fichier DMG à la taille souhaitée.
  2. Copiez tous les fichiers de l'ancien DMG
  3. Fermez et rouvrez le nouveau DMG et vérifiez que tout va bien
  4. Corbeille / sauvegarde / archivage de l'ancien DMG.
Guest_8675309
la source
Je ne sais pas comment faire cela lors de la copie d'un système. cpme donne des tonnes d'erreurs pour les fichiers spéciaux.
sudo