Hello Dankgai,
hope thats Your name :-)
I've read Your very nice and helpful article concerning backup/restore 
with Mac OSX and I wanna give You some informations about my experiences 
with 'dd'.

1. it works :-)
2. the backup disc and the replace drive must not have the exact same 
size as the source drive. They should be at least equal, better bigger.
3. the 'dd' works for all partitions, if You select the whole disc.
4. I tested this with my G4/400 using the internal IDE drive and an 
external firewire drive.
5. its possible that the replace drive is smaller (maybe a few bytes) 
though its the same brand and model. You can handle this, if You create 
a litte spare partition at the end of the source disk. The 'dd' will 
fail, but the restored drive works.
6. its interesting, that the firewire drive directly works. So, its 
possible to move the drive physically (from the firewire case to the 
internal bay). Thats the  quicker way for restoring of very big 
drives :-)

so long

Eberhard Knechtel
ebi@structur.de

The Recipe

  1. open Terminal
  2. "df" then return. Check your current disk configuration.
  3. Filesystem              512-blocks     Used    Avail Capacity  Mounted on
    /dev/disk0s10              8387838  3398621  4989217    40%    /
    devfs                           90       90        0   100%    /dev
    fdesc                            2        2        0   100%    /dev
    <volfs>                       1024     1024        0   100%    /.vol
    /dev/disk0s9               8387800  3633400  4754400    43%    /Volumes/MacOS_9
    /dev/disk0s14              2097117    17688  2079429     0%    /Volumes/HFS
    /dev/disk0s15              2032116       24  1930488     0%    /Volumes/UFS
    /dev/disk2s9              11730240    19562 11710678     0%    /Volumes/extbay
    automount -fstab [262]           0        0        0   100%    /Network/Servers
    automount -static [262]          0        0        0   100%    /automount
    
    In the example above, the root volume is on /dev/disk0s10 and the external disk is on /dev/disk2s9.
  4. Unmount the destination volume for safety if possible (dd does work even on mounted target disk but it is way too dangerous!). Usually you simply drag the drive icon to the trash can. If your destination drive is ejectable media, well, go to next step hoping no process will touch the destination drive.

    CAVEAT: you can't use use umount command via Terminal because any disk that appears on the desktop is considered 'busy'

  5. Now the moment of the truth. Here is the command you issue.
    dd if=src of=dst
    Where src is source device and dst is the desitination device. In this particular example, the whole command would be;
    dd if=/dev/rdisk0s10 of=/dev/rdisk2s9
    Notice the "r" before "disk". "r" is for "raw" device which you specify when you want to treat disk as a stream of data.
  6. Wait for a long time. How long it takes depends many factors. When I tried on PowerBook G3 (pismo) from internal HDD to expansion bay, the transfer rate was about 500kBytes/s. Sounds fast enough? It means it takes 2000 seconds to transfer 1GB. More than two hours to fill a DVD. You can actually double the figure by increasing block size. by adding 'ibs=1m' to dd command the figure doubled. You should leave obs untouched unless you are sure what you are doing.