"AlexMoreau" said:
Some motherboards come with an external SATA connector. Can these be used to
boot from? I'd like to be able to swap boot drives between boots.
Thanks,
Alex
The E-sata connector still connects to a controller chip, just
as if the drive was mounted inside the computer case. So, yes,
you can boot from it. It requires the "boot ROM" for the
controller chip, to exist in the BIOS, and be enabled. The
"boot ROM" provides INT 0x13 services, and is basically how
a controller chip is supported during the boot phase. At
a certain point, the OS starts using a driver file, to finish
the job. So you need a driver in the OS as well (F6 during
the Windows install, insert floppy with drivers etc.)
The BIOS on your motherboard, is actually a tiny file system,
and contains a set of code modules. For each separate
disk controller chip, the motherboard manufacturer will get
a code module from the disk controller manufacturer, and that
is added to the set of modules in the BIOS. With BIOS disassembly
tools, it is possible to see those modules, making it easier
to guess at whether support is there or not.
When you have a separate hard drive controller card, those
can also have a BIOS chip on the controller card. The motherboard
BIOS, finds the BIOS chip on the separate controller card and
loads the code from it, and that is how the BIOS manages to
get the necessary INT 0x13 services for the separate controller.
There is a limit to how many controller chips can be supported.
They use low memory for some of their memory requirements. The
low memory is provided on a first come first serve basis. If
you find, in a computer loaded with controllers, that some
don't offer the option to boot, disabling the boot ROM on the
ones not being used to boot, will allow the others to work.
On desktop motherboards, there is no effective interface
for inspecting/managing the problem. Usually people adding
SCSI cards, run into problems like that. The video card is
pretty greedy, and some video cards eat 64KB of low memory,
leaving very little for controller chip bios memory
requirements. Note that this is only an issue, if you
have a lot of hardware added to the system.
USB and Firewire booting are different, since that would
require the motherboard manufacturer to include the boot
code for those interfaces. It doesn't seem to be a separate
code module. I don't know of an easy way to check for those
features, and people keep asking for ways to find/determine
if a motherboard can do that. That is a much tougher question
to answer, and even the motherboard Tech Support phone line
may not know the answer to questions about USB or Firewire
booting. Generally the manuals are useless for answering the
question. While AMI/Award/Phoenix may have written code to
do the job, whether the code is bound into the BIOS is
something I don't know how to figure out.
Paul