For a one-time deal, you could just dd the boot drive to the new drive but only on a non-running instance I believe. E.g.: plug the original and new drive to a linux machine (possibly windoze with cygwin), fdisk -l to find their mount points, then
$this->bbcode_second_pass_code('', 'dd if=/dev/<original> of=/dev/<new>')
However, for actual backups without needing another machine or using a non-running instance, I use this.
$this->bbcode_second_pass_code('', 'tar -cvpzf POGO`date +%m%d%y`.tgz --exclude=/proc --exclude=/mnt --exclude=/sys --exclude=/dev --exclude=/lost+found --exclude=/media /media/Storage/Backups /')
For fear of HDD catastrophe, you would of course backup to a new drive. Your modified rootfs should be compressed to <700Mb if you keep your pacman clean, so you can use your 1gb flashdrive to hold 1 backup after you migrate to the HDD. I use a 4gb to hold the latest 5-6 backups.
When you need to extract it to a new drive you can from the same instance, but if the boot drive is the problem, slap it into a linux (cygwin?) machine and I run a simple script:
$this->bbcode_second_pass_code('', '# After formatting the destination drive
# AS ROOT! NOT "sudo". Use "sudo su" if you have to.
cd /<path>/<to>/<backup dir>/
tar -xvzpf POGO######.tgz -C /<path>/<to>/<destination drive>/
cd /<path>/<to>/<destination drive>/
mkdir media
mkdir mnt
mkdir proc
mkdir dev
mkdir sys')
Coincidentally I had done this last night

. Everything migrates perfectly.
Since you are switching to a new drive, though, there may come a problem with how quickly the drive comes up (causing the plug to not boot). Chances are low, but if you give this a shot and the plug isn't running, there is still a fix to this. I am not sure exactly as I have never run into this issue, but in the event of this happening, search the forums about "boot delay" or "blparam".
Hope that's your ticket!