i remember reading the first tivo upgrade guides that had you partition correctly, then save the partition table of the destination drive using dd, copy over the source with dd, and then dd'ing back the partition table, and then running the checkdisk utility accordingly.

this assumes that you keep the eact partition sizes except the last partition, which you can grow to the maximum length. works especially well when there is only one partition to deal with.