What is Booting?
The term “Booting” is derived from another term, “Boot Strap”. This is as in the act of pulling yourself up by your own boot straps. In computing, Microprocessors only speak one language, binary or machine code. When you power up a computer, a microprocessor doesn’t know what you want, but usually a set of registers reads a piece of code, usually programmed into a non-volatile memory location, which gives the processor a place to look for instructions. (This is usually found in the BIOS (or basic input/output system) of the memory.
This larger piece of code usually points to something else, on the disk most of the time, and gives instructions on how to access it.
The processor (also known as the CPU or central processing unit) will receive this code, execute it, and locate the new code on disc, start the disc up, load the newer code, called a “Boot Loader”.
The Boot Loader, might be a windows boot loader, or it might be something called GRUB in linux. (GRUB stands for GRand Unified Bootloader) will then access some code, perhaps ask you a question (like if you wish to load linux, windows or some other operating system), allow testing, falling back to a safety mode in Linux, and perhaps a few other things.
Eventually, when you choose, or allow GRUB to time out, the system will load up the Operating System of your choice.
Only ONE OPERATING SYSTEM AT A TIME CAN RUN ON YOUR MACHINE.
Though you might hear people saying they run both, they most likely have a virtual environment of Linux running with Windows. (Windows feeds all your commands into and out of the Virtual Environment).
You might have a windows virtual machine running in a Linux Environment.
These methods are never optimum, but probably will allow you run Windows-based software in Linux.
By the way, when you start a program in any operating system, that is NOT called “Booting” the program. That is called launching the program. Booting is reserved for bringing a machine that is powered down to life, and giving it the commands required to load your operating system.
In the first days of Linux, we used a program called LILO as the boot loader. LILO stood for Linux Loader. It is still used today, but most distros now use GRUB as the standard.
If you are interested in digging deeper into GRUB, take a look at this article. It is a short tutorial on how-it-works.