Disk Utility

Chris Murphy <lists-zXQU9YWDTqjmlV4oE/1sFAC/[email protected]> Thu, 26 Apr 2012 01:47:32 -0600
Newsgroups gmane.comp.macosx.admin
Message-ID <[email protected]>
Does anyone have a really clear idea of how Disk Utility / asr creates and restores multi-partition disk images?

In the simple case of making an image of a JHFS+/X volume, I expect I can restore it to a partition of a different size and the volume is resized to match the partition size. I'm pretty sure I've done this a few times. I'm a little vague on whether these were block copy based images or file copy based images. I don't know if it matters with the most recent version of asr, maybe even for some time.

Not clear to me is whether a single disk image, across multiple partitions (e.g. Mac OS + Windows using a BCA created partition) produces a mixed "file copy" and "block copy" image? Surely asr isn't going to file copy the Windows partition, rather it would be block copied, but then it can't do a block copy for the live Mac OS system that's running this Disk Utility event. So? What happens?

I know you could boot off some other disk, and then easily do a block copy of the entire source. But then the questions I have are:

a.) Isn't the resulting image file, without compression, exactly as big as the entire source disk? i.e. it would functionally be the same as using dd on a block level device: you get an image file with exactly the same number of sectors in on the source. Right?

b.) When restoring a block copy image, it doesn't seem possible to restore to a smaller disk. Just like you can't do this with a dd based image. There's no means for the resizing to occur until all sectors are restored. What about going to a bigger disk? Seems like you're stuck because the typical sequence of the restored partitions (which will be restored in their original state from source in every way):

EFI System partition
Mac OS
Recovery HD
Windows NTFS
<Unallocated>

That unallocated space as a result of the replacement disk being larger, isn't accessible. Since it doesn't butt up against Recovery HD, the resizevolume nor mergepartition options in diskutil from the command line aren't going to work. Which means there isn't a GUI option either from within Disk Utility. I can cobble together a solution (to this hypothetical situation) using a combination of gpt and gdisk, but it appears Disk Utility isn't really a practical solution for backup and restore of a disk that contains multiple partitions including Windows Boot Camp partitions.

And I'm wondering if I'm wrong because when I read the asr man page it says something rather confuzzling:

"In addition to geometry requirements for supporting block copies, asr requires that the
    source and destination filesystems be compatible.  A non-HFS+ source can only be used
    to perform a file copy."

I don't understand how asr will do a file copy from NTFS to NTFS when we don't have read/write NTFS by default (or even officially supported if you change this behavior). Or why asr couldn't do a block/sector copy of NTFS to a disk image - it's just data, it doesn't have to understand it.

Alright this is long enough...

Chris Murphy

Chris Murphy
Color Remedies (TM)
New York, NY
----------------------------------------------------------------------
Co-author "Real World Color Management, 2nd Ed"