> The dd command will make an exact copy of the input disk onto the
> output disk regardless of the number of partitions, it copies boot
> loaders and hidden partitions. it makes a bit-exact copy of the input
> hard disk, which is why I use it when I perform an upgrade, replace the
> gronked disk with the backup disk, boot and go. 
> About the only caveat is that the output disk needs to be *no smaller*
> than the input disk.

That is exactly right, which is why I said it is great for Windows backups
and NOT dealing with the bootlaoder, and also that one needs to be careful
with fragmentation.

Perhaps what I should have made more clear is that any Linux user who can
read manual pages and howtos can take care of boot-loaders easily on their
own in a transfered installation. And the key aspect here is that the bootloader
needs to know the exact location of the kernel on the disk from whcih it is
booting; installing LILO or GRUB does just that.

Really, there are limitless possibilities of how one can boot a Linux system.
A combination of GRUB/LILO and also PXE (network booting) with RD (ramdisks)
can take one very far. This is how admins of large centralized installations
like to do things. In a nutshell, they have pre-prepared images that are
essentially dropped on fresh disks. Those images are stored on network drives
that are exported. The target hardware is setup by booting as a "thin client"
from a networked bootpd-serving server, partitioning, dropping an image or
tarball, and installing a bootloader.

I am guessing there are several webpages with instructions on doing this.

But my favourite part is yanking an image of a hybernated Windows machine,
changing the drive with new hardware, and rebooting the new harware from
hybernation. Done that with Windows XP. What would Windows do without Linux...