Jump to content











Photo

The boot process: a step by step approach to booting.


  • Please log in to reply
259 replies to this topic

#1 LeMOGO

LeMOGO

    Frequent Member

  • Advanced user
  • 240 posts
  •  
    United States

Posted 22 January 2011 - 01:49 AM

This discussion is an attempt to clarify the steps involved in the boot process in a language that enable newcomers and students to become familiar with the elements of the boot process on x86 computers.

This topic was partly discussed in a few posts starting here.

The topic will be subdivided in a few major components:
  • BIOS: role of the BIOS in the boot process, BIOS requirements to achieve UFD booting, solutions and configuratin advice for booting with UFDs
  • MBR: role of the MBR in the booting process, software used to manipulate the MBR, configuration settings in the MBR and advice for configurations related to UFDs.
  • PBR: same as above (MBR).
  • Software that boots your computer:
    • the boot loader: location, role and operation.
    • the bootstrap loader: location, role and operation.
    • the boot manager: location, role and operation.
    • the OS loader: location, role and operation.
    • the kernel: location, role and operation.

  • How to control the boot process
  • Error messages during the boot process, their source, meanings and solutions
  • Operating system and the boot process:
    • Operating systems boot time components
    • Difference in Micro$oft generations
    • Difference in *nix/Linux distros
    • Difference between Microsoft OSes and *nix/Linux distros

  • Links and references
Anyone reading this topic should become familiar with the magic art of controlling the boot process.
Please contribute.

Edited by LeMOGO, 22 January 2011 - 01:49 AM.


#2 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1568 posts
  •  
    American Samoa

Posted 22 January 2011 - 04:59 PM

That's a useful general topic, though it was discussed for as long as ppl boot their systems. :unsure:

There are some interesting Guides available, to mention a few:

A Guide to the Multiboot Process
Understanding MultiBooting and Booting Windows from an Extended Partition

#3 LeMOGO

LeMOGO

    Frequent Member

  • Advanced user
  • 240 posts
  •  
    United States

Posted 22 January 2011 - 08:35 PM

sambul61, thank you for your input.

Like the title suggests, the aim of this topic is to form a step by step guide to the thinking process involved in following the booting process on your personal computer. It's aim is to provide a one stop page through which any newcomer would comfortably be able to intelligently take control of the booting process and use the tools available to accomplish that.

Any input is welcomed and will be taken into consideration. I started the topic because despite my involvement with computers for a number of years, it was too much jumping around forums and applications to come up with enough understanding to make my decisions. Seeing that I have a little bit of experience in the matter, I can't imagine what it would be like for someone of a different background to jump on the bandwagon. I had to read entire forums (some of them 60 pages long) to end up with more questions with the answers provided. There are simply too many assumptions on those forums, and most of them are really specific to given applications rather than guides to "booting".
This is an attempt to simplify the language and provide a comprehensive thinking process that can be emulated (in other words, transferring knowledge/expertise to future students of the subject).
The first link you provided is a good example of what I'd like to achieve, but it is mainly geared towards windows and is not as comprehensive as I would like it to be. I will refer to it in the posts to come. It does address a good number of the bullets in the objectives. Thank you for it.

I would like compile a useful one stop page that can be used as a guide. It will include the product of all the discussions that have been going on all these years in a concize simple but yet comprehensive easy to follow guide.

If you or any one you know can provide anything of value, please do so. It may be something I already know, but I am not the only one interested in the subject, this for the community out there. Any input is welcomed. Keep it coming.

Let's compile!

Thank you.

Edited by LeMOGO, 22 January 2011 - 08:36 PM.


#4 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1568 posts
  •  
    American Samoa

Posted 22 January 2011 - 09:00 PM

That's a Nobel task, but I found that not too many frequent & qualified members of such forums are eager to contribute in such generic topics. Usually most cite or presume time constrains, while actual reason is in misunderstanding of methodical approach to knowledge consumption and no interest in educating others in contrast with sharing own accomplishments. Good undertaking! :bounce8:

#5 LeMOGO

LeMOGO

    Frequent Member

  • Advanced user
  • 240 posts
  •  
    United States

Posted 22 January 2011 - 09:58 PM

Thank you, sambul61. That is encouraging.
Please keep the contributions coming. They do not have to be lengthy. Please share with your friends, and once again, thank you for your contribution. It is appreciated. Thank you for taking the time. :bounce8:

Edited by LeMOGO, 22 January 2011 - 10:00 PM.


#6 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1568 posts
  •  
    American Samoa

Posted 23 January 2011 - 01:23 AM

Since most ppl start thinking about boot details only after they can't boot anymore, it may be a good idea to start a journey not from theoretical aspects of booting, but by introducing students to a very popular and easy to use boot manager EasyBCD, showing them how to add a capability to boot from a service ISO image to regular Windows boot. Once they play with it and realize the practical benefit (assuming its not a specialized university class, but general education oriented), one can move forward to more complex boot topics and examples.

#7 LeMOGO

LeMOGO

    Frequent Member

  • Advanced user
  • 240 posts
  •  
    United States

Posted 23 January 2011 - 03:30 AM

Thank you sambul61.
People should not start thinking about boot problems "after" they can't boot! They should know what is involved in the booting process and be ready because it is not a matter of if, but when they will encounter a computer that would not start. It is useful to have an understanding of the booting process when it is time to perform repairs. Also, it is necessary to know in order to have the tools needed to perform the necessary repairs when things go wrong because you have to multiboot different tools.

In a forum, you are either a student or a teacher. I don't believe in any 3rd category. You either learn, or explain (some people just express their feelings, which is some times good but often inappropriate and useless). Even when you are a user having a problem, you explain your problem, then people that can help you learn about it so they can in turn explain to you what to do, at which point, you revert to the role of learner one more time. This is the ongoing dynamic of forums.

In this particular topic, we are interested in what has to go on in one's mind when approaching boot issues. At some point or the other, the rubber has to meet the road and generate some traction. Applications need to be mentioned and counsel given as to the benefits, strengths, weaknesses and application of the various software introduced to the readers.
You are proposing that EasyBCD is an easy to use tool that can help in the early stages of learning because of its ease of use. I will encourage readers to consider this suggestion.
I will also encourage you to carry your thinking to the end and share why you feel it is a practical solution to resolve boot problems (share your experience). It will be used in a thread related to applications.
The last bullet above titled "Links and references" will be a section that will point readers to the right places, including the applications pages. We will sum all links posted during the course of the discussion in an easy to follow menu form.

Since most ppl start thinking about boot details only after they can't boot anymore, it may be a good idea to start a journey not from theoretical aspects of booting, but by introducing students to a very popular and easy to use boot manager EasyBCD

If you fall in this category, please continue searching on the forum for a solution to your specific problem.

If you are reading in search of understanding, please continue reading, mark this topic so you can follow along as it develops (on the top right of the page next to the blue "f like" button - you will need to register if you haven't, it takes 30 seconds), and come back to check on its progress as it is being developed. You can also bookmark the topic.
Please contribute what you can, and lets create something useful together.

Thank you all.

Edited by LeMOGO, 23 January 2011 - 03:42 AM.


#8 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1568 posts
  •  
    American Samoa

Posted 23 January 2011 - 04:12 AM

You might be overly optimistic about development of this very useful topic. Of course this forum needs a wiki like reference supplemented by links to particular tools discussions. As I said it may be a noble task to move this ahead. :bounce8:

Btw, in WinVBlock thread Sha0 posted recently many insightful things about the boot process that might be of interest to you, possibly starting from this post forward. Yes, we all tend to wear severals hats all the time simultaneously.

#9 LeMOGO

LeMOGO

    Frequent Member

  • Advanced user
  • 240 posts
  •  
    United States

Posted 23 January 2011 - 04:23 AM

Believe me sambul61, it will land somewhere valuable. Come back and check!
Thank you for the links.

#10 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 23 January 2011 - 05:57 AM

You might have to divide into architectural categories. I would assume that the architectures spawned by the Intel 8086 might be the "most interesting" to folks in here, but some other interesting cases for me include the Open Firmware on Apple Macintosh and EFI boot processes, too. Something to consider, possibly.

Wikipedia has a lot of good stuff, and even has an article about booting.

Here's a tiny little skeleton list that someone might enjoy:
  • Power-on.
  • BIOS.
  • POST, possibly including:
    • Video BIOS / video option ROM.
    • Non-volatile configuration data being observed and interpreted.
    • Model-(system-)specific initialization.
    • Memory checks.
    • Extension ROMs, option ROMs, BIOS modules, PnP ROMs: BCVs (like SCSI) and BEVs (like PXE) initialization routines.
  • Prompts for entering BIOS setup and boot order selection.
  • Interpretation of device boot order and boot-device-specific boot routines called. Floppy, PXE, El Torito CD/DVD, HDD, etc.
  • On an HDD, MBR is read from disk using INT 0x13 and its code is run.
  • Traditional MBR code reads its partition table and reads boot sector (with INT 0x13) from active partition, then runs it. Other MBR boot code strategies are possible; perhaps notably Syslinux' GPT code and GRUB's MBR method.
  • A partition's boot sector's code typically loads more sectors (with INT 0x13) of boot code from somewhere on the partition. This could be a "hard-coded, known range of sectors."
  • This boot-code is typically filesystem-specific and can understand the partition filesystem.
  • This boot-code might load (with INT 0x13) an OS or might load (with INT 0x13) another, stronger boot-loader (like Windows' NTLDR).
  • A boot-loader might load (with INT 0x13) an OS or present further options. It might read configuration files from disk (with INT 0x13).
  • Loading an OS from a disk typically consists of reading files from a filesystem on a partition on a disk (with INT 0x13) into memory, tying things together so the OS will know which files have been copied where, then hands control to the kernel.
  • The kernel initializes the system for the entire OS, such as setting security/privileges, arranging virtual address space(s), initializing lists for various subjects like processes, files, and devices.
  • The kernel might process commands handed to it by the boot-loader.
  • The kernel invokes drivers; either/both built-in or loaded previously by the boot-loader.
  • The kernel typically establishes a root filesystem. However it intends to access the root filesystem, it uses OS drivers to do so.
  • Once critical facilities including the root filesystem are established, an "initial process" is invoked.
  • The initial process then causes "user-mode" services/daemons to be invoked, possibly by reading service configuration from /etc/ or from the Registry.
  • When the initial process is comfortable with system readiness, it can present users with interfaces to access the system.
  • <- You are here.


#11 LeMOGO

LeMOGO

    Frequent Member

  • Advanced user
  • 240 posts
  •  
    United States

Posted 23 January 2011 - 07:25 AM

Sha0, why did you take so long to respond?
Where have you been all my life? (kidding)

Thank you for your input.
You are presenting me with a challenge. I was so focused on the other topic (USB booting: how to create a UFD that will boot on most machines) that this had fallen to the back of my mind. Now I realize I have to pull both at the same time. Oh well, I will just have to work a little more.

The above list has addressed the following objectives:
  • BIOS: role of the BIOS in the boot process

  • POST, possibly including:
    • Video BIOS / video option ROM.
    • Non-volatile configuration data being observed and interpreted.
    • Model-(system-)specific initialization.
    • Memory checks.
    • Extension ROMs, option ROMs, BIOS modules, PnP ROMs: BCVs (like SCSI) and BEVs (like PXE) initialization routines.
  • Prompts for entering BIOS setup and boot order selection.
  • Interpretation of device boot order and boot-device-specific boot routines called. Floppy, PXE, El Torito CD/DVD, HDD, etc.
  • On an HDD, MBR is read from disk using INT 0x13 and its code is run.


It also has partly addressed the following:
  • MBR: role of the MBR in the booting process, software used to manipulate the MBR, configuration settings in the MBR and advice for configurations related to UFDs.
  • PBR: same as above (MBR).
  • Software that boots your computer:
  • the boot loader: location, role and operation.
  • the bootstrap loader: location, role and operation.
  • the boot manager: location, role and operation.
  • the OS loader: location, role and operation.
  • the kernel: location, role and operation.

It also clearly lays out the boot sequence. This is a good map to follow as the computer boots.

-------------------------------------------------------------------------------------------------------------------------------



some other interesting cases for me include the Open Firmware on Apple Macintosh and EFI boot processes, too. Something to consider, possibly.

If you know about the other cases and are willing to help us with it or know someone who can be of help, by all means, please DO help. The objective is to follow a computer along as it boots and know where the problem lies when a problem occurs during the boot process and have enough information to take the appropriate corrective action.
At some point in time, we will need to turn these lists into landmarks that can serve as signals that guide us in the selection of tools and methods to apply.
Part of the objectives include:

  • Operating system and the boot process:

  • Operating systems boot time components
  • Difference in Micro$oft generations
  • Difference in *nix/Linux distros
  • Difference between Microsoft OSes and *nix/Linux distros

Seeing that MACs today are *nix at their core, your "other interesting cases" are actually included in the plan. Feel free to contribute in your area of expertise.
I was thinking about covering EFI as part of the BIOS discussion. If that is a bad idea, please let me understand why and make a suggestion on how to proceed.

The Wikipedia article falls short of TOO MANY of the listed objectives. It has some basics that will of necessity end up being covered anyhow, but if you are of those reading along for the purpose of learning, please read it and come back to resume the process here. It is a simple article that covers the boot sequence, some historical facts, and a good bit of vocabulary relevant to the topic. It is a good place to understand the jargon. Do read it. As Sha0 puts it, it

has a lot of good stuff


I am currently chewing on how to present the information in a way that it is not too windy and technical, but yet satisfies those of us who are professionals. I would like to be as comprehensive as to not need too many jumps away from this forum except for the desire to learn more (links will be provided). This stop should be enough for anyone to see the light and become dangerous.
Please keep the suggestions coming.

Edited by LeMOGO, 23 January 2011 - 07:59 AM.


#12 LeMOGO

LeMOGO

    Frequent Member

  • Advanced user
  • 240 posts
  •  
    United States

Posted 23 January 2011 - 07:30 AM

What can we do to turn the the above list into a set of landmarks we can place in a document and follow the computer as it boots?
Anyone has some thoughts?

Edited by LeMOGO, 23 January 2011 - 07:31 AM.


#13 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 23 January 2011 - 11:44 AM

In a forum, you are either a student or a teacher.


Or a critic (3). :confused1:

Which can be divided in three categories:
  • critics that critic other people work and nothing else
  • critics that critic other people work and continuosly hint about other people's shortcomings and still contribute nothing
  • critics that critic other people work and try to produce something (not necessarily related to the critics made)

:dubbio:
Wonko

#14 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 23 January 2011 - 02:48 PM

And speaking of criticisms, here's a favourite nit-pick of mine:
  • MAC : Media Access Control . . (i. e. "MAC address")
  • Mac : Apple Macintosh . . . . . . (i. e. "Look at the shiny Mac")
What Wikipedia yields.

The Open Firmware boot processes I'd mentioned are relevant for PowerPC Macs. The modern, so-called "Intel Macs" use EFI, if I'm not mistaken.

#15 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1568 posts
  •  
    American Samoa

Posted 23 January 2011 - 03:43 PM

critic other people work and continuously hint about other people's shortcomings and still contribute nothing

Nice contribution to The Boot Process thread! :confused1: What's still missing is some links to fulfill the style entirely. :dubbio:

#16 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 23 January 2011 - 03:44 PM

And speaking of criticisms, here's a favourite nit-pick of mine:

  • MAC : Media Access Control . . (i. e. "MAC address")
  • Mac : Apple Macintosh . . . . . . (i. e. "Look at the shiny Mac")
What Wikipedia yields.

The Open Firmware boot processes I'd mentioned are relevant for PowerPC Macs. The modern, so-called "Intel Macs" use EFI, if I'm not mistaken.


..and a better sounding yet very dangerous mac:
http://en.wikipedia..../Mack_the_Knife
and the actual "Macintosh" Mac (the Knife):
http://en.wikipedia....i/Mac_the_Knife

...and yes talking of sharks, this is waaaay off topic :confused1:, so while I'm here I will also supply for NO apparent reason a LOLCAT:
Posted Image


:dubbio:
Wonko

#17 LeMOGO

LeMOGO

    Frequent Member

  • Advanced user
  • 240 posts
  •  
    United States

Posted 23 January 2011 - 07:46 PM

Or a critic. :dubbio:

Which can be divided in three categories:

  • critics that critic other people work and nothing else
  • critics that critic other people work and continuosly hint about other people's shortcomings and still contribute nothing
  • critics that critic other people work and try to produce something (not necessarily related to the critics made)

:cheers:
Wonko

Part of a teacher's role is to critique the learner's progress and point him/her in the right direction, or force him/her to think through.

Like I hinted in a previous post, the other people fall in a 3rd category: one that just waste space and time and therefore should not exist :confused1:
You should contribute something or be polite and let others learn (granted, a bit of humor in the midst of technical brain frying subjects does help refresh the mind).

Edited by LeMOGO, 23 January 2011 - 08:28 PM.


#18 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1568 posts
  •  
    American Samoa

Posted 24 January 2011 - 07:27 AM

The other people fall in a 3rd category: one that just waste space and time and therefore should not exist :cheers:

No-one can be a judge of that. In fact, world history shown that all self-proclaimed "visionary" dictators eventually face nirvana.

Wonko is one of most knowledgeable members of the community, often the first to help others for years, but as many of us, with somewhat complex and a bit difficult character IMHO that at times backfires. :whistling:

#19 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 24 January 2011 - 11:47 AM

This may interest you:
Posted Image
From:
http://hi.baidu.com/...d49d8204f0.html
http://translate.goo...6ofRRy1FKZOp2LQ
(the article is however and IMHO actually too technical to be of use for the proposed goal)

:whistling:
Wonko

#20 LeMOGO

LeMOGO

    Frequent Member

  • Advanced user
  • 240 posts
  •  
    United States

Posted 24 January 2011 - 11:49 AM

In all fairness, wonkon tends to "break the ice", but contributes:

often the first to help others for years

He deserves his credits.

ALL of us are complex in character: we are human beings.

  • When someone teaches you something you don't know, you pay attention and learn the best you can.
  • When you know what someone else doesn't, you teach him the best you can.
  • When you are on a reading on a forum, you have to exercise judgment.
    For some, a forum is a hanging spot.
    For "most", it's a classroom, as as in other classrooms, there are "characters" that tend to create disturbance.
    When the teacher is the "character", or cracks a joke in class, he is not teaching, nor learning, but simply having fun. He can afford to do so, having already learned. His objective with his jokes is to have fun or make fun. You just keep your focus and achieve YOUR objective: LEARN.
Like I said before, you can have several roles: teacher, student, distraction. For the purpose of the learner, the 3rd category is completely useless. People have hobbies for that, but then again, some people's hobby is to distract, so, who knows?
I guess one just has to keep his/her focus.

Edited by LeMOGO, 24 January 2011 - 11:55 AM.


#21 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 24 January 2011 - 04:12 PM

The existing two parts of the trilogy of four :thumbsup: articles by the NTDEBUGging blog:
http://blogs.msdn.co...art-1-of-4.aspx
http://blogs.msdn.co...the-second.aspx

and - to be fair - also:
http://blogs.msdn.co...shuts-down.aspx

:thumbsup:
Wonko

#22 LeMOGO

LeMOGO

    Frequent Member

  • Advanced user
  • 240 posts
  •  
    United States

Posted 25 January 2011 - 12:54 AM

Thank you wonko, I'm taking notes (already added links to the map) and organizing.
Please stand by...

Edited by LeMOGO, 25 January 2011 - 12:57 AM.


#23 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 25 January 2011 - 11:51 AM

MBR vs. GPT related:
http://reboot.pro/11600/page__st__32

:rofl:
Wonko

#24 LeMOGO

LeMOGO

    Frequent Member

  • Advanced user
  • 240 posts
  •  
    United States

Posted 25 January 2011 - 02:40 PM

MBR vs. GPT related:
http://reboot.pro/11600/page__st__32

:rofl:
Wonko


I can only read/add but so fast, ...
Thank you for the resource.

#25 LeMOGO

LeMOGO

    Frequent Member

  • Advanced user
  • 240 posts
  •  
    United States

Posted 29 January 2011 - 10:43 AM

Most of the necessary information on the boot process has now be integrated in the map.
Read the post on Booting via USB also.
Do not let yourself be mislead by the look of it. A lot of work has gone into it. Please expand ALL the branches and look @ what's underneath. I have tried to be as exhaustive as necessary.

Edited by LeMOGO, 29 January 2011 - 10:44 AM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users