Move and expand an HFS volume onto a bigger disk
From Hexten
Mac OS can dynamically resize a volume - even if it's mounted. However that might not work if you've copied the volume onto a larger physical device. Here's how to move your Mac's filesystem onto a larger device and grow it to fit.
[edit] Copy the whole disk
Image the smaller (original) disk onto the new (larger) disk. I put the Mac into Firewire target mode and use a handy Linux box running ddrescue to do the copy. Alternatively you can boot the Mac from a Linux CD and use dd or ddrescue. The Mac OS dd seems to be very slow.
[edit] Fix partition table
Now you need to fix up the partition table. I used a spare Mac to do this. Once you can see the new disk follow these instructions. Note that if you're working with your boot disk there will be more than one partition; recreate all the partitions in ascending order. You'll also need to use gpt's -t switch to specify the partition type:
gpt add -b 40 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk1 gpt add -b 409640 -s 624208520 -t 48465300-0000-11AA-AA11-00306543ECAC /dev/disk1
[edit] Resize volume
Now reboot from the new disk. You should find that Disk Utility can resize the volume (even though it's mounted) to fill the space on the new device.

