Cambia la capacità del DMG


20

Quando ho cambiato il mio mac HDD con un SSD ho riscontrato il seguente problema:

Ho creato un'immagine DMG del mio vecchio HDD che ha una capacità di 320 GB. Il file DMG ha ricordato e salvato la capacità nell'immagine, e il problema è che il mio SSD è solo 120GB .. Quindi il DMG non può essere usato se non riesco a ridurre la capacità in qualche modo ..

MODIFICA : la quantità totale di spazio utilizzato sull'immagine è di soli 15 GB.

Ho guardato hdiutilma in realtà sono uno sviluppatore di rubini su rotaie quindi non capisco davvero queste cose ..

Sono in qualche modo con questo o un altro util per ridurre la capacità del DMG?

Grazie!

Risposte:


39

Non c'è un buon modo tramite la GUI che ho visto per fare questo - devi usare hdiutilcome hai chiesto. È un comando rapido. Per ridimensionare (cambia 25G come preferisci),

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

Un altro modo per comprimerlo è clonare l'immagine del disco in uno sparsebundle, quindi comprimere lo sparsebundle. Questo potrebbe funzionare o meno, a seconda della quantità di compressione effettuata.

Innanzitutto, crea l'immagine del disco che rispecchia la tua vecchia immagine del disco:

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

Quindi, compatta l'immagine risultante:

hdiutil compact /PATH/TO/NEWIMAGE.sparseimage

Se questi comandi non funzionano, ha qualcosa a che fare con l'immagine del disco e / o le autorizzazioni.

Ho passato molto tempo a giocare hdiutiled è tutt'altro che impeccabile: ho trovato e inviato bug in Snow Leopard che non sono ancora stati corretti in Mountain Lion, quindi se hai un comportamento un po 'strano, non farlo essere scoraggiato!


Ho provato questo, ma il verbo di ridimensionamento genera un problema di autorizzazione, ora sto creando un'immagine del disco RW per vedere se funziona.
Tim Baas,

Con la mia immagine disco RW, sono stato in grado di utilizzare il verbo di ridimensionamento e ridurre l'immagine a 120G, questo ha portato a una capacità di 128,85 GB .. Quindi è la strada giusta, ma non è ancora abbastanza per adattarsi al mio SSD .. Il verbo compatto non funziona, dice compact failed - function not implemented.
Tim Baas,

@TimBaas Kinda in ritardo, ma se riscontri problemi con le autorizzazioni (forse non hai accesso in scrittura sul DMG), puoi usarlo sudo hdiutil resize -size 25G /PATH/TO/DISK/IMAGE.dmg. L'ho appena fatto con la mia immagine del disco di backup di Time Machine e non sembrava violare alcuna autorizzazione.
sudo,

Mi sono convertito in un'immagine sparsa con il tuo secondo comando, ma poi né il compactné il resizeavrebbe funzionato su di esso. compactdetto che ha tagliato 0 byte, ma ho 40GiB libero in esso. convertha detto che la dimensione è troppo piccola. Il volume è Mac OS Extended (Journaled).
sudo,

1

Prova questo:

hdiutil compact image.dmg

Ma come puoi vedere nel manuale di hdiutil :

Depending on the location of files in the hosted filesystem, compact may or may not shrink the image.

Grazie per la tua reazione .. Quando eseguo questo comando ottengo la risposta che è un loro problema di autorizzazione .. Probabilmente perché il dmg è un'immagine del disco formattata di sola lettura .. Ora ho Carbon Copy Cloner che crea una copia tramite FireWire ..
Tim Baas,

Puoi usare Utility Disco Mac OS X per convertire da ro a rw image.

Ho funzionato con CCC, grazie comunque per il tuo aiuto!
Tim Baas,

1

Dopo che cjc ha sottolineato di porre la domanda su apple.stackexchange.com, l'ho fatto. Quando ho posto la domanda sono arrivato a una missione correlata a cui qualcuno ha risposto per provare Carbon Copy Cloner.

Carbon Copy Cloner ha clonato i file tramite FireWire sul mio SSDisk senza fare domande, e tutto è come dovrebbe essere.

Ecco la domanda a cui mi riferisco:

Ripristina sistema da DMG (disco di origine originale più grande della destinazione)

Per quelli di voi interessati a ridimensionare un'immagine del disco:

Rendi la tua immagine del disco di lettura-scrittura nell'utilità disco del Mac:

Montare il disco, selezionarlo e fare clic sulla nuova immagine del disco. Seleziona lettura-scrittura nel menu a discesa della struttura dell'immagine del disco e fai clic su Salva. (Il mio sistema operativo è olandese, quindi queste sono le mie traduzioni).

Utilizzare hdiutilper ridimensionare l'immagine del disco:

Nel terminale: hdiutil resize -size 100G /location/of/disk.dmg. Puoi sostituire 100G con le dimensioni che desideri.

Opzionale (non ha funzionato per me), puoi provare a compattarlo:

Nel terminale: hdiutil convert /location/of/disk.dmg -format UDSP -o /location/of/NEW/disk.dmg.

Questo crea un'immagine sparsa.

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

Questo tenterà di liberare spazio sull'immagine del disco. Se funziona, suppongo che potrebbe essere necessario ridimensionare nuovamente il DMG per ridurre la capacità (non sono sicuro) ..


0

Ho provato tutto questo senza alcun risultato; hdiutil non mi permetterebbe di ridimensionare al di sotto di una certa soglia (molto inferiore a OP).

Risposta semplice:

  1. Crea un nuovo file DMG nella dimensione desiderata.
  2. Copia tutti i file dal vecchio DMG
  3. Chiudi e riapri il nuovo DMG e verifica che sia tutto a posto
  4. Cestino / backup / archiviazione del vecchio DMG.

Non sono sicuro di come eseguire questa operazione quando si copia un sistema. cpmi dà tonnellate di errori per file speciali.
sudo,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.