Physically install the hard drive in the box and make sure bios recognises the drive. I will assume it is hooked up on ide1 as slave which Linux will call /dev/hdb. Alter to fit how you install the drive. Boot into your Linux user's account in a gui if you wish and open an x terminal and give these commands:
[phil@fancypiper phil]$ su -
[root@fancypiper root]# fdisk /dev/hdb
Some people prefer cfdisk.
Create your partition scheme. For a home Linux box, I like primary partitions:
/boot - 20 - 100 mb, not necessary if you use ext3/3 fs for /
swap - 128 mb
/ 3-5 gig depending on software wanted
/home - the rest of the drive
Save the partition table by exiting with w
. Wipe the first part of each partition to make sure it is cleaned of extraneous microsoft stuff
[root@fancypiper root]# dd if=/dev/zero of=/dev/hdxy bs=1K count=1
Make your filesystems with the mkfs commands
mke2fs /dev/hdXX fot ext2fs
mke2fs -j /dev/hdXX fof ext3fs
mkreiserfs dev/hdXX - reiserfs
mkfs.xfs dev/hdXX - xfs
Next/ make 2 directorys, say /mnt/source and /mnt destination
Mount your current os on /mnt/source
Mount the newly partitioned drive on /mnt destination, making the needed sub directories to mount the partitions.
Next, clone the system by piping over with tar
[root@fancypiper root]# cd /mnt/source
[root@fancypiper root]# tar cf - . | (cd /mnt/destination && tar xBfp -)
When finished, you can use that drive installed in the original position.
Next, install a bootloader on the mbr of the drive if it is installed as /dev/hda
Installing a bootloader
If installed somewhere else, edit /etc/fstab and /boot/grub/grub.conf to reflect your changes.
Try that with Windows!