Linux - NewbieThis forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I'm a Linux newbie interested in learning more about the computer boot process. I've done a lot of research, but I'm having trouble understanding the process in detail.
What I've learned so far is this, please correct any assumptions I've made.
After a computer does a POST, the BIOS's instruction code (stored as firmware on the computer's motherboard) is executed. The BIOS transfers execution of the boot process to the computer's bootloader, which is found in the master boot record, or the MBR. To do this, the BIOS checks it settings to determine boot order, and will then check the boot device for the MBR. If it is a hard drive, the BIOS checks for partitions. If only one exists, the MBR is found at the beginning of the drive, or sector 0, and is 512 bytes. If multiple partitions exist, the MBR is found in the partition marked active. The MBR will then transfer execution to the kernel, which on a Linux systems executes init as its first process.
Do I understand the process properly? I get a little confused on the master boot record and the volume boot record. What are the differences? My understanding is that the volume boot record exists on each partition's first 512 bytes, but when it is utilized? Is the active partition's first 512 bytes the MBR?
In Linux, it does not matter if a partition is active. The bootloader (most commonly GRUB) will attempt to boot the partition named in its configuration file (typically /boot/grub/menu.lst)
What you call the "volume boot record" is also called the partition boot record (or partition boot sector). This and the MBR can have boot code, but the BIOS always sends control to the MBR, defined as the first sector of the drive.
If it is a hard drive, the BIOS checks for partitions.
No. The BIOS does not do anything with partitions. It just executes the code in the MBR.
Quote:
If multiple partitions exist, the MBR is found in the partition marked active.
Standard MS boot code in the MBR will transfer control to the boot sector of the active partition. The BIOS does not do that and typical Linux boot code in the MBR does not do that.
Typical Linux MBR code is hard wired with the location of the next stage of the boot code.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.