I’m a huge fan of SuperDuper! and I’ve used it for years. “Fan” because it’s saved my bacon several times. When a drive dies, I just remove it and use the SuperDuper “clone” and I’m up and running in under 5 minutes.
That said, it’s a “file-level” clone, fully bootable of course, but it’s not an absolutely identical clone, block-for-block.
To do that, you need to do a “block-level” clone. Such a clone ignores the contents of a drive and simply duplicates every low-level block from one drive to the other. You could have one file on the drive or a 15 million; makes no difference – it will take the same amount of time to clone the drive either way.
Carbon Copy Cloner does this, as does DriveGenius and a few others. My personal choice is CopyCatX, since it adds the feature of not requiring the drives to be exactly the same size. (Think about it: if you’re copying all the blocks on one drive, to another drive, that destination drive had better have _exactly_ the same number of blocks as the source, or things are going to get wonky.)
(I believe that if the drives are the exact same size, Disk Utility’s “restore” will also do a block level copy.)
CopyCatX will do a block level clone to a larger destination drive, and then apply the proper resize information to the boot block so that the drive is seen at full size, and not the size of the source.
One quick word here. You’ll often see blanket statements on the internet that “block-level copies are faster than file copies.”
Nonsense. Take a simple example: if you’re copying a 750 GB drive, it will take about 4.5 hours to copy all the blocks. If the source drive has one file on it, a file-level copy will take a few seconds, so the blanket statement that “block-level copies are faster” simply doesn’t hold water. The theory is that the OS has to read the file system and write directories and etc on a file-by-file basis, and that will slow it down. Yeah… but.. these days that adds millionth’s of a second per file. Look: if it takes 4.5 hours to block-level copy a given drive, it will always take 4.5 hours. Period.
The only time a block-level copy will be faster than a file level copy is when the source drive is nearly full… and that refers only to when the destination drive is empty.
If you’re doing a file-level copy using SuperDuper, and the destination already has most of the files from the source (as it would if you’re using SD for backups) then the update of the destination is going to take minutes, not hours.
So: why would you want to do a block-level copy?
1) because it will preserve the exact state of the drive. If you have a drive disaster, the first thing to do is a block-level copy of the damaged drive. Then do your repair attempts on one of them, leaving the other alone. If your repairs only make the situation worse; clone again, and try again.
2) because it will preserve authorizations on that annoying software that uses “activations” and similar approaches. I do this with my daily backup drives. That is: I first do a block-level clone to the destination drive… and from then on, I use SuperDuper to do file-level copies for daily backups. Having done the block-level first insures that the activations are properly copied, and file-level copies won’t alter them.
Finally this tip: why don’t I use Carbon Copy Cloner instead of SuperDuper? Because SuperDuper is nearly twice as fast for file-level clones.