I was given a Windows 7 Toshiba Satellite laptop L750D which was not booting, but the HDD is still accessible once I boot via a CD or USB.
I was able to rescue the data and then tried various automatic repair utilities by trial and error.

As it seemed that I was not going to be able to repair the Windows 7 installation I installed Ubuntu 14.04 instead.

When you select (with the arrow keys) the "localboot" option that works for you in UBCD, and before you press "ENTER", please press "TAB". That action should show the Syslinux command line that would be used by that menu entry. Could you please post the exact command?

There are commands to boot a specific partition boot sector (instead of loading the boot code in the MBR, for example), but this is not our case.

The command is simply chain-loading to the MBR of your first HDD. Since the system successfully boots by using this code, this suggests that the BIOS recognizes such drive as the first HDD, which is not exactly the same as saying that this is the first device in the boot priority list.

This means either that your BIOS seems to be misconfigured, or that it has some bug, or some CMOS / battery issue.

As I said before, you might want to review the boot priority settings (which is not exactly the same as having this HDD as first / bootable one). For example, you might have the network (e.g. for network booting by means of pxelinux) with a higher priority than the first HDD, which is not what you want / need.

Another issue to consider (although, less likely in this case, I believe) would be whether your firmware is really a BIOS, or a UEFI one. That's a whole different matter.

Well! Thanks again for your advice.
I have it booting straight to the HDD now but I'm none the wiser really!

As I said before, you might want to review the boot priority settings (which is not exactly the same as having this HDD as first / bootable one). For example, you might have the network (e.g. for network booting by means of pxelinux) with a higher priority than the first HDD, which is not what you want / need.

The BIOS on this machine is very basic and there is only one place to set the boot order/priority. This was always set to look for the HDD first (see image link in my first post)
HOWEVER after your last reply I just tried tweaking some of the (very few) other options and found that changing the Boot Speed from [Normal] to [Fast] did the trick and you go straight in. Turn it back off though and the original problem returns.

FWIW, your system seems to be using an InsydeH20 firmware, which is not a BIOS but a UEFI one.

The tools in UBCD are mostly for BIOS, so you might have some "CSM" or "BIOS Legacy" mode or similar, somewhere (in the "advanced" tab maybe?, or in the "boot" one?). You wouldn't be able to boot UBCD at all (whether from USB, from optical media, or from anywhere else) without CSM.

BTW, Windows is expected to boot to an MBR in BIOS/CSM mode, or to GPT in UEFI mode. For other combinations, unofficial unsupported hacks are needed.

Hi there - it is unsatisfying not really understanding what caused the problem is and why setting the fast boot resolves it! I'm just going to leave well enough alone but I'll respond to your last post FWIW

I had seen when I googled that InsydeH2O is supposed to be UEFI but I assumed that the one I have here must just be a much older, non-UEFI version because there are very few options to change and absolutely nothing about CSM or BIOS legacy.

The only options in the Security tab are the ability to set user, supervisor and HDD passwords, none of which had been registered. I even tried registering passwords to see if that might make more setup options appear, but no.

The advanced tab, other than the 'fast boot' which resolved the problem, only has the options you will see in the attached screenshot and the Boot screen is a list of devices - of which there are only the HDD and ODD - whose order you can swap. Nothing else!

As you say there would be other nonstandard firmware fixes but thankfully I won't need to go there.