Use dd to copy an HFS+ volume in linux

1

I have a friend's HFS+ external drive from her Macbook. We created a new similarly-sized partition on a different external drive, also using the Macbook. From everything I understand about dd, it is filesystem agnostic, so I should be able to simply:

dd if=/dev/sda1 of=/dev/sdb1 bs=4096 conv=notrunc,noerror,sync

to copy the contents from old to new partition, correct? This seems much easier than trying to mess with hfsplus and mounting as read/write. (I'm doing this on my desktop since I can mount the drives directly as SATA; she has only a single FireWire 800 and USB2.)

FWIW, I disabled journaling on the new drive from the Macbook before disconnecting it.

The partition is about 500GB; how long should I expect this to take? (Obviously, just a rough order of magnitude here.. hours, days, weeks?)

Tobias J

Posted 2014-08-27T04:11:41.840

Reputation: 990

1This may be easier to do from the MacBook. FireWire is daisy-chainable, so if either of the external drives has two FW800 ports, you're in business. Just use the "Restore" functionality in OS X's Disk Utility. – Spiff – 2014-08-27T04:26:12.020

@Spiff Aaaahhh yes, I hadn't even thought of that. I have virtually no experience with FireWire and so the chainable aspect hadn't occurred to me. The problem is that her Macbook didn't seem to want to read the old drive at all; I think maybe the bus wasn't supplying enough power (even though it said an AC adapter shouldn't be needed). I'll give it a try if dd fails, thanks. – Tobias J – 2014-08-27T04:49:41.397

Answers

0

Judging from my experience, this probably won't work. I actually tried to do this once, not with dd per se, but with GNU ddrescue, which is very similar. Read about it here: Can you successfully clone a Mac OS X boot volume directly to another larger volume with ddrescue?

I'd love it if you tried it anyway to see if it works in your situation, and report back.

How long it will take primarily depends on the sustained write speed of the destination disk. For traditional hard disk drives, that's almost always the bottleneck. Source drive read speeds and SATA bus speeds usually far outperform the sustained write speed of the destination drive.

Spiff

Posted 2014-08-27T04:11:41.840

Reputation: 84 656

Thanks for the input... judging by your linked question, and the fact that the partitions are slightly different between the two anyway, I think I'm going to try cloning the entire drive instead of just the partition. I'll let you know how it goes... – Tobias J – 2014-08-27T04:52:01.517

well I went ahead & did the full-disk dd (or rather, dcfldd since it easily reports progress to STDERR), and at first blush it appears to have worked. I can mount the partition read-only in Linux & everything looks fine. I kinda wish I'd had time to try just the partition copy but I needed to get it done.. I'll update once we hook it to the Macbook! – Tobias J – 2014-08-27T15:11:38.907