I'm guessing it's the GRUB bootloader.
When this error happens, during the install, the USB will register as /dev/sda and the internal drive will assigned /dev/sdb something.
The bootloader is installed to point to the necessary bits on /dev/sdb (because that is where it is).
BUT, but when you re-boot to the installation, the internal hard drive (with the goodies) is /dev/sda, because the drive is with the right assignment.
However, the GRUB bootloader tells the machine to look for the boot information on /dev/sdb...but it isn't there because machines are stupid.
For the longest time I've searched for the magic formula that usually ended in tears on scribbled notes as another dead end had been uncovered.
The best way I have learned to fix this problem is to download this package
http://wadda.org/dropbag/grub-customizer_2.5.7.1-0ubuntu1~ppa1l_i386.debThis is an old version, but uncomplicated version. Install it on the USB.
Code:
sudo gdebi ~/Downloads/grub-customizer_2.5.7.1-0ubuntu1~ppa1l_i386.deb
Find it under Menu> System Tools when finished.
Run it.
Read the directions and walk though the wizard. Think through your options. If your internal drive has multiple partitions it is helpful to know which partition is which for your
root.
The wizard is pretty good, you can poke around.
Then you install to the MBR, which should be
/dev/sda Reboot without the LiveCD.
Good Luck.