Almost all read-only DMGs are actually compressed (UDZ0
-- see the hdiutil(1)
man page), so their file format doesn't support simply "flipping a bit" to make them writable.
You could use Disk Utility or
hdiutil imageinfo filename.dmg
...to see what format your disk image is in. Then you could use Disk Utility or something like
hdiutil convert filename.dmg -format UDSP -o filename.sparseimage
...to convert it to a read-write format. Note that the conversion does not happen in-place, so you'll have to tell it to put the output file on a filesystem that has enough room for an uncompressed copy of all the data from your .dmg
.
The .dmg
extension does not guarantee that the image is actually compressed, but that's by far the most likely possibility.
There are several other possibilities available to you with hdiutil
. For instance, if your .dmg
is actually uncompressed read-only (UDRO
), it might be possible to force it to mount read-write. Also, if you want to leave your .dmg
compressed but still want to mount it in a writable fashion, you can mount it with a "shadow file"; all writes actually get written to the shadow file.
Update: Other Answers on this Question seem to think .dmg
always means UDZ0
which just isn't true. From the hdiutil(1)
man page, here are the list of internal formats a .dmg
can have (note that a couple of these can have different default filename extensions like .sparseimage
, but I'm pretty sure that's not a hard-and-fast rule either).
UDRW - UDIF read/write image
UDRO - UDIF read-only image
UDCO - UDIF ADC-compressed image
UDZO - UDIF zlib-compressed image
UDBZ - UDIF bzip2-compressed image (OS X 10.4+ only)
UFBI - UDIF entire image with MD5 checksum
UDRo - UDIF read-only (obsolete format)
UDCo - UDIF compressed (obsolete format)
UDTO - DVD/CD-R master for export
UDxx - UDIF stub image
UDSP - SPARSE (grows with content)
UDSB - SPARSEBUNDLE (grows with content; bundle-backed)
RdWr - NDIF read/write image (deprecated)
Rdxx - NDIF read-only image (Disk Copy 6.3.3 format)
ROCo - NDIF compressed image (deprecated)
Rken - NDIF compressed (obsolete format)
DC42 - Disk Copy 4.2 image
1Hey this helped alot, thanks! I found a super easy way to do this, take a look at my answer. Would love to hear your thoughts. – M.W. Felker – 2014-09-02T17:45:07.203
1@MaxFelker Glad my suggestion of using a shadow file helped you. Thanks for spelling out one good way of doing it. – Spiff – 2014-09-02T20:22:17.590
Super useful, +1 my dude! – M.W. Felker – 2014-09-03T20:41:08.097
I didn't assume UDZ0, but all of the types except UDRW, and UDSP (maybe UDxx UDSB or UDT0) are read only. I assumed that all dmgs were compressed with SOMETHING, and so not writable... I've never knowingly come across a NON-compressed DMG... – Brian Postow – 2010-05-27T18:51:40.917
@Brian - I use an encrypted UDSP routinely for storing sensitive information on my laptop (passwords, bank info, etc). – KeithB – 2010-05-27T19:57:25.887