Ändern Sie die DMG-Kapazität

20

Beim Wechseln der Mac-Festplatte zu einer SSD trat folgendes Problem auf:

Ich habe ein DMG-Image meiner alten Festplatte mit einer Kapazität von 320 GB erstellt. Die DMG-Datei hat die Kapazität im Image gespeichert, und das Problem ist, dass meine SSD nur 120 GB groß ist. Die DMG kann also nicht verwendet werden, wenn ich die Kapazität nicht irgendwie verringern kann.

BEARBEITEN : Der gesamte belegte Speicherplatz auf dem Bild beträgt nur 15 GB.

Ich habe es mir angesehen, hdiutilaber ich bin eigentlich ein Ruby on Rails-Entwickler, also verstehe ich dieses Zeug nicht wirklich.

Können sie mit dieser oder einer anderen Verwendung die Kapazität der DMG verringern?

Vielen Dank!

Tim Baas
quelle

Antworten:

39

Es gibt keinen guten Weg über die GUI, den ich gesehen habe, um dies zu tun - Sie müssen verwenden, hdiutilwie Sie gefragt haben. Es ist ein schneller Befehl. So ändern Sie die Größe (ändern Sie 25G nach Belieben):

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

Eine andere Möglichkeit zum Komprimieren besteht darin, das Festplatten-Image in ein Sparsebundle zu klonen und dann das Sparsebundle zu komprimieren. Dies kann funktionieren oder auch nicht, abhängig davon, wie viel Komprimierung stattfindet.

Erstellen Sie zunächst das Disk-Image, das Ihr altes Disk-Image widerspiegelt:

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

Dann kompaktiere das resultierende Sparseimage:

hdiutil compact /PATH/TO/NEWIMAGE.sparseimage

Wenn diese Befehle nicht funktionieren, hat dies etwas mit Ihrem Festplattenimage und / oder Ihren Berechtigungen zu tun.

Ich habe viel Zeit damit verbracht, damit zu spielen, hdiutilund es ist alles andere als makellos - ich habe Fehler in Snow Leopard gefunden und eingereicht, die in Mountain Lion noch nicht behoben wurden abstoßend sein!

also fliege
quelle
Ich habe es versucht, aber das Größenänderungsverb wirft ein Berechtigungsproblem auf. Ich erstelle jetzt ein RW-Image von, um zu sehen, ob das funktioniert.
Tim Baas
Mit meinem RW-Image konnte ich das Größenänderungsverb verwenden und das Image auf 120 G verkleinern. Dies führte zu einer Kapazität von 128,85 GB. Das ist also der richtige Weg, aber es reicht immer noch nicht aus, um auf meine SSD zu passen. Das Kompaktverb funktioniert nicht, heißt es compact failed - function not implemented.
Tim Baas
@TimBaas Ein bisschen spät, aber wenn Sie Berechtigungsprobleme haben (vielleicht haben Sie keinen Schreibzugriff auf die DMG), können Sie verwenden sudo hdiutil resize -size 25G /PATH/TO/DISK/IMAGE.dmg. Ich habe es gerade mit meinem Time Machine-Backup-Image gemacht, und es hat anscheinend keine Berechtigungen verletzt.
Sudo
Ich habe mit Ihrem zweiten Befehl in ein spärliches Bild konvertiert, aber dann würden weder das compactnoch das daran resizearbeiten. compactsagte, es hat 0 Bytes abgeschnitten, aber ich habe 40GiB frei. convertsagte, die Größe ist zu klein. Das Volume ist Mac OS Extended (Journaled).
Sudo
1

Probier diese:

hdiutil compact image.dmg

Aber wie Sie im hdiutil-Handbuch sehen können :

Depending on the location of files in the hosted filesystem, compact may or may not shrink the image.
klocek
quelle
Vielen Dank für Ihre Reaktion. Wenn ich diesen Befehl ausführe, bekomme ich die Antwort, dass es ein Berechtigungsproblem gibt. Wahrscheinlich, weil das dmg ein schreibgeschütztes Image ist. Ich habe jetzt Carbon Copy Cloner, der eine Kopie über FireWire erstellt.
Tim Baas
Sie können das Mac OS X-Festplatten-Dienstprogramm verwenden, um ein Ro- in ein RW-Bild zu konvertieren.
Ich habe es mit CCC zum Laufen gebracht, trotzdem danke für Ihre Hilfe!
Tim Baas
1

Nachdem cjc darauf hingewiesen hatte, die Frage unter apple.stackexchange.com zu stellen, tat ich es. Als ich die Frage stellte, kam ich zu einer verwandten Frage, die von jemandem beantwortet wurde, der sagte, ich solle Carbon Copy Cloner ausprobieren.

Carbon Copy Cloner hat die Dateien über FireWire auf meine SSDisk geklont, ohne Frage, und alles ist so, wie es sein sollte.

Hier ist die Frage, auf die ich mich beziehe:

System von DMG wiederherstellen (Original-Quelldatenträger größer als Ziel)

Für diejenigen unter Ihnen, die ein Disk-Image in der Größe ändern möchten:

Machen Sie Ihr Festplatten-Image im Mac-Festplatten-Dienstprogramm schreibgeschützt:

Hängen Sie den Datenträger ein, wählen Sie ihn aus und klicken Sie auf Neues Datenträgerabbild. Wählen Sie in der Dropdown-Liste "Disk-Image-Struktur" die Option "Lese- / Schreibzugriff" und klicken Sie auf "Speichern". (Mein Betriebssystem ist niederländisch, das sind also meine eigenen Übersetzungen).

Verwenden Sie hdiutildiese Option, um die Größe des Datenträgerabbilds zu ändern:

Im Terminal: hdiutil resize -size 100G /location/of/disk.dmg. Sie können 100G durch die gewünschte Größe ersetzen.

Optional (hat bei mir nicht funktioniert), können Sie versuchen, es zu komprimieren:

Im Terminal: hdiutil convert /location/of/disk.dmg -format UDSP -o /location/of/NEW/disk.dmg.

Dies erzeugt ein spärliches Bild.

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

Dadurch wird versucht, Speicherplatz auf dem Festplatten-Image freizugeben. Wenn dies funktioniert, müssen Sie möglicherweise die Größe Ihres DMG erneut ändern, um die Kapazität zu verringern (ich bin nicht sicher).

Tim Baas
quelle
0

Versuchte dies alles ohne Erfolg; Mit hdiutil konnte ich die Größe nicht unter einen bestimmten Schwellenwert (viel niedriger als OP) ändern.

Einfache antwort:

  1. Erstellen Sie eine neue DMG-Datei in der gewünschten Größe.
  2. Kopieren Sie alle Dateien von der alten DMG
  3. Schließen Sie das neue DMG, öffnen Sie es erneut und überprüfen Sie, ob alles in Ordnung ist
  4. Müll / Backup / Archivieren der alten DMG.
Guest_8675309
quelle
Ich bin mir nicht sicher, wie ich das beim Kopieren eines Systems machen soll. cpgibt mir Unmengen von Fehlern für spezielle Dateien.
Sudo