I've used a program called CopyWipe to move everything from one HDD to
another. It automatically deals with the partitions and everything. I've
tested several of these types of programs and this was the best.
I'm not sure how well it works with Linux. I think I tried it once, but
can't remember.
http://www.terabyteunlimited.com/copywipe.php