I assembled my external drive from a case and a Seagate HDD. Because the HDD was a retail unit it came with a CD of software, including Seagate's Disk Wizard for setting up your new drive. One of its many functions is designed to copy absolutely everything from your old drive to your new one, including making the new one bootable if you choose. Obviously the tool you need to replace on old drive with a new one. The size of the new drive is NOT restricted by the size of your original old drive.
In doing this sort of thing, you have to watch our for the 137GB limit. Basically, your OS must support 48-bit LBA to use a drive over 137 GB in one volume. (A larger drive can always be partitioned into two or more volumes under 137GB each.) With Seagate's Disk Wizard run directly from the CD, it assumes you do NOT have 48-bit support and refuses to make a volume over 137GB. But if you install it first on your existing HDD AND it can use the large hard disks (Windows Vista can, and XP with Service Pack 1 or 2, and I think SP4 on Win2K), then the Wizard detects this and allows large HDD volumes.
Even if you don't buy the HDD as a retail pack with CD included, the software if a free download from Seagate's website. Now, if you HDD is not Seagate, most of the makers also have similar free downloadable tools. Many, however, will only work on their own drives. So if you have a Maxtor drive, or one from Fujitsu, go to the HDD maker's website for the tool.
In Win XP and others, there are tools in the hardware HDD Administration system to partition and format a new drive without using other software. However, I don't know a way to make a complete bootable copy of an existing drive onto the new HDD in Windows itself.