The (very veru basic) outline of the boot process is:
1) The machine is powered on and checks for basic hardware. This is called the POST
(Power On Self Test) and is controlled by the physical jumper settings on your motherboard and the motherboard's BIOS settings.
2) Once the machine knows what physical hardware (memory, ports, hard drives, removeable drives) it has connected, it begins the search for an OS to load. Since at this point all it knows is hardware, it seeks the first drive partition with a 'bootable' flag (usually the first primary partition of the master device on the primary IDE channel) in order to read the MBR
(Master Boot Record). The MBR is a loader which contains pointers, created by a bootloader
, to indicate where the bootloader should next look for the bulk of the information as to what OSes exist on the system and where each OSes boot files are located.
3) Once the bootloader has initialized, it then reads its own configuration file and presents a menu if necessary; when a choice is made from this menu, or if no menu is necessary because only one OS esixts on the system, it then loads the boot files referenced in the configuration file for that menu entry, or which are hard-coded ino the botloader itself in the case of Windows.
4) Now control is passed to the kernel of the booting OS, which initializes and detects the available hardware for use by the OS. When the hardware has been detected, any configuration for the individual parts is initialized, usually via a system service or daemon (sound services, USB services, network daemons such as DHCP, Samba file sharing, etc).
5) When that process is complete, it's pretty much time for the OS to get personal, and offer to log a user in, or do so automatically. Once a user is logged in, the personal desktop configuration files are read, and per-user services are started.
6) Finally, your desktop is presented to you in all its glory, and you can get on with computing.
Hope this helps-- any readers who see major gaps or errors in this text, please correct me. I was just testing my understanding of the boot process by typing this, so if my understanding is incomplete, I'm more than happy to learn