To make the drive bootable, there must be boot code (eg GRUB) in the MBR. I am familiar only with GRUB. When GRUB gets installed to the MBR, it is "hard-coded" to point to the /boot directory where it will find its stage files, config file, etc.
If you install GRUB using the shell, the commands are:
grub...............starts the GRUB shell
root (hdX,Y).......tells GRUB the partition where it will find /boot
setup (hdZ)........installs GRUB in the MBR of disk Z
These parameters need to be as they will appear when the disk is put in the new machine. For example, suppose that Linux (/boot) is on the first partition of the drive, and there is only one drive in the new (target) system. The commands would be: