Ok, I'm no means your average user but I've never came across this problem before...
I have to computers, one missing a HDD and another perfectly good condition PC.
I've bought a second hand HDD, though you can't boot and install something to the HDD. The HDD drive works, it's detected in the BIOS.
At this stage I moved the HDD into my work computer to perform some tests, the issue was that it wasn't being assigned a driver letter by default (for example your C:\ drive). Note the HDD wasn't view able in "My Computer" at this stage. I then assigned the HDD a letter (H:\) and the formatted it to NTFS. This made the drive visible in Windows and useable, I decide to put the HDD back in the other PC and try to boot (Trying to install windows via USB, no CD-ROM in PC). Still couldn't boot, after fiddling for a bit and getting annoyed I put the HDD back into this computer (working). I then install Vista straight onto from CD, the installation completes.
I can boot Vista or W7, W7 installed on the C:\ and Vista on the newly purchased HDD (H:\). Both boot fine, so I decide to put it back in the other PC. Again it won't boot, assuming it's back to square one. So I've installed ubuntu to my USB and I am running it on the old computer with the HDD installed. Though again, the HDD is being detected in the BIOS but not on the OS. So I need to assign a letter to HDD but I have no idea how to do this on Ubuntu.
tl;dr
Want to know how to do this on ubuntu instead of windows
See
here, the post by JKatwyopc fixed it in Windows for me. How would I do this in Ubuntu though?