The Windows Boot Process

windows-829948_1920

While lying in bed last night, the topic came up as to what I’m going to write about next. And when you are writing a blog about computers, or electronics in general… you really have a broad range! And I guess it would be quite easy to be overwhelmed because there are a lot of topics in this ever growing field of computers technology. But what is interesting, and what isn’t? So, I asked my wife, “What would you want to read about, or learn about?”

Her response, “Well, what happens when you push the button?”

Me, being the smartass I can be, replied with the most direct answer… “Well sweetie, it turns the computer on.” Not the answer she wanted to such a good question. What really does happen though when you push the power button? What does it take to get to that Windows splash screen that we hope to see every time we push that button? Many people don’t even think about this, they just expect it to happen because that is what it is supposed to do. So, how does this whole boot process work?

Note: In this post I will actually be covering a BIOS boot up, and not UEFI. I know UEFI is the new thing, but I see that as more for advanced users and on brand new systems, and there are many systems that still use BIOS. I will do a UEFI boot in a later post though as it is also important.

In order to tell this in the most simplistic form without that ‘deer caught in the headlight’ look, let me define a couple important things.

First, you have the BIOS, or Basic Input/ Output Services. The BIOS contains numerous small services which allow the CPU to communicate with basic input /output hardware, such as a mouse or keyboard, whose information will rarely ever change. Take for example your keyboard.  There are basic protocols for your keyboard loaded in to BIOS.  The BIOS software allows the operating system to interact with your keyboard on a basic level, giving you basic functionality, before requiring a more complex driver that knows how to control full functionality of your keyboard.

You also have CMOS, which stands for Complementary Metal-Oxide Semiconductor. CMOS stores settings needed for hardware whose information may sometimes change. If you want a password to be entered before the computer starts Windows, CMOS would remember that. CMOS is also responsible for keeping track of the time and date, CPU settings, and in which order you want your system to start (called the boot order or boot sequence). If you want your hard drive to be checked first for an operating system, then you would change your hard drive to the highest priority in the boot sequence, followed by your optical drive, floppy drive, and so on.

Next, you have ROM, or read-only memory, which is a small chip on the motherboard that contains the system BIOS, as well as a portion of code used to communicate with CMOS, and the power-on self-test, or POST. We will get to the POST in a second.

Hopefully you’re still with me here and that I didn’t lose you.

So, you just pushed that power button, which is connected to a wire that goes to the motherboard, which in turn is connected to the power supply. The power supply then tests for proper voltage (good power) and then sends a signal down a wire called the power good wire, which “wakes up” the CPU.

Now that the CPU is awake, it sends out a special instruction for a program called the power-on self-test, or POST. What is does is sends out a command to every device on the computer which tells those devices to run its own self-test to determine its status. During startup you might see some things on the screen such as the memory count, and some hardware status checks. This is the POST doing its job.  If all goes well, after the POST completes, it hands over control to what is called the bootstrap loader, which is responsible for finding the operating system.

During this stage, the BIOS is executing the first sector of the hard disk that has the highest priority that was configured in the boot sequence. Remember we discussed how this is configured in CMOS? This is usually the hard disk containing your operating system. On the first sector of the hard disk is the Master Boot Record, or MBR. This is also where the bootstrap loader resides. When the bootstrap loader is called to find the operating system, it is loaded in to random access memory, or RAM, which is your main memory. Once the bootstrap loader finds and initializes the operating system, it hands over control and removes itself from memory. The operating system then takes over. This is the point where you would see the splash screen telling you Windows is loading.

And there you have it. Please do know that this is a very broad overview of the boot process. And I tried to make it as simple as possible for those who are new to this process or to computers in general. There are many things going on behind the scenes. But as far as the main portions are concerned, this is pretty much how it gets from Point A to Point B.

Thank you for reading, and if you have any questions, corrections, or advice for me then please don’t hesitate to contact me! Thanks again, and hope you stick around!


Gestern Abend lagen wir im Bett und irgendwie kam das Thema ‘Blog’ auf und worüber ich als nächstes Schreiben werden. Und wenn man einen Blog über Computer oder Elektronik schreibt, dann gibt es wirklich eine große Auswahl an möglichen Theme. Man ist schnell mal überfordert, da dieses Gebiet auch so schnell wächst. Und was ist denn auch wirklich interessant? Worüber möchte man lesen und worüber nicht? Ich habe also mein Frau gefragt: “Was würdest du lesen wollen? Oder worüber würdest du gerne lernen?”

Ihre Antwort: “Ganz einfach! Was passiert, wenn ich den Knopf drücke?”

Ich kann ein richtiger Klugscheißer sein und antwortete frech: “Süße, dann dreht sich der Computer auf!” Das war natürlich nicht die Antwort, die sie erwartete. Aber nun mal im Ernst, was passiert, wenn ich den Power-Knopf drücke? Was braucht man eigentlich, um das Windows Start-Symbol am Bildschirm zu sehen? Viele Menschen denken darüber gar nicht nach. Sie erwarten einfach nur, dass es passiert, denn immerhin ist das ja die Aufgabe eines Computer. Aber wie funktioniert der ganze Boot-Prozess?

Eine kleine Notiz am Rande: Hier in diesem Posting schreibe ich über den BIOS Boot-Prozess und nicht UEFI. UEFI ist neu und deshalb sehe ich das eher für fortgeschrittene User oder nagelneue Rechner. Es gibt immer noch viele Systeme, die BIOS verwenden, weshalb ich hier mit BIOS beginne und in einem späteren Post über UEFI berichten werde.

Immer, wenn ich meiner Frau von Computern erzähle und sie etwas nicht versteht, sieht sie mich fragend mit großen Rehaugen an – deshalb vorab ein paar wichtige Definitionen.

Erstens, BIOS. BIOS steht für Basic Input/Output Services. Das BIOS beinhaltet viele, kleine Services, die es der CPU erlauben mit wesentlicher Input/Output Hardware – wie zum Beispiel einer Maus oder einer Tastatur – zu kommunizieren. Von dieser Art von Hardware ändert sich zum Beispiel die Treiber-Information nur sehr selten und deshalb gibt es von Tastaturen die grundlegenden Protokolle und Informationen bereits im BIOS. Und das BIOS erlaubt es dem Betriebssystem mit der Tastatur zu interagieren. Es erlaubt eine grundlegende Funktionalität der Tastatur, bevor dann weitere, komplexere Treiber benötigt werden, um eine komplette Funktionalität der Tastatur zu ermöglichen.

CMOS. CMOS steht für Complementary Metal-Oxide Semiconductor. Das CMOS speichert Einstellungen sowie Informationen von Hardware, die sich manchmal ändern. Gibt es also beispielsweise ein Passwort, dass vor dem Start von Windows eingegeben werden muss, dann würde sich CMOS diese Informationen merken. CMOS ist auch dafür zuständig, sich Datum und Uhrzeit zu merken, sowie CPU Einstellungen und in welcher Reihenfolge das System starten soll (‘Boot Order‘). Wenn man also will, dass die Festplatte zuerst nach einem Betriebssystem durchsucht wird, dann hat die Festplatte auch die höchste Priorität in der ‘Boot Order‘ und alle anderen (Optisches Laufwerk, Diskettenlaufwerk, USB, usw.) folgen darauf – CMOS merkt sich diese Information.

Und ROM. ROM steht für Read-Only Memory. ROM ist ein kleiner Chip am Motherboard, das BIOS, sowie einen Teil des Codes, der es erlaubt mit CMOS zu kommunizieren, sowie den POST. POST steht für Power-On Self-Test. Auf POST komme ich gleich noch zu sprechen!

Alles klar soweit oder gibt es fragen von deiner Seite?

Du hast also den Power Knopf gedrückt. Und was passiert dann? Vom Power Button geht ein Kabel zum Motherboard, von dort geht ein kleineres Kabel zum Netzteil und dann führt natürlich auch ein Kabel weiter in die Steckdose. Das Netzteil überprüft auf passende Stromspannung und sendet dann ein Signal über das Power Good Kabel, welches die CPU ‘aufweckt’.

Die CPU ist nun ‘wach’ und bereit zum Arbeiten. Deshalb sendet die CPU Instruktionen an ein Programm, dass sich eben POST nennt. Wie oben schon erwähnt, POST steht für Power-On Self-Test und ist ein Einschalt-Selbsttest. POST sendet dann einen Befehl an alle anderen Einheiten des Computers. Der Befehl lautet: Starte einen Selbsttest um bestimme deinen Status! Auf dem Bildschirm sieht man während des Startens verschiedenste Dinge, wie zum Beispiel einen Speicherzähler oder Hardware-Statusüberprüfungen. Das zeigt dir, dass POST gerade arbeitet. Wenn alle Einheiten den Status überprüft haben und alles gut lief, hat POST seine Aufgabe erfüllt und übergibt an das Urladeprogramm (bootstrap loader), was wiederum dafür zuständig ist, das Betriebssystem zu finden.

Das Urladeprogramm befindet sich am Master Boot Record, kurz MBR. Erinnerst du dich an CMOS und die Boot Order? Gut! Im nächsten Schritt lädt nämlich das BIOS das System in der Reihenfolge beginnend mit der höchsten Priorität. Nehmen wir nun an, dass die Festplatte die höchste Priorität hat. Im ersten Sektor der Festplatte befindet sich der Master Boot Record – hier befindet sich also das Urladeprogramm. Wird also das Urladeprogramm damit beauftragt, das Betriebssystem zu finden, wird es vorübergehend in den Arbeitsspeicher (RAM, kurz für Random Access Memory) geladen. Sobald das Urladeprogramm, das Betriebssystem findet und eröffnet, hat es seine Aufgaben erfüllt und gibt die Kontrolle an der Betriebssystem über. Das Urladeprogramm löscht sich selbst aus dem Arbeitsspeicher. Jetzt ist auch der Moment gekommen, in dem das Windows-Logo am Bildschirm erscheint. Geschafft!

Bitte beachte, das es sich hier nur um einen groben, einfach dargestellten Überblick über den Boot-Prozess handelt. Es soll vor allem denjenigen helfen, die gerade erst beginnen, sich mit Computern oder den einzelnen Prozessen zu beschäftigen. Hinter den ‘Kulissen’ laufen wesentlich mehr Dinge ab, aber im Allgemeinen kann man sagen, DAS passiert, wenn du den Power-Knopf drückst.

Danke für’s Mitlesen! Solltest du Fragen haben oder vielleicht einen Fehler entdecken, melde dich einfach. Auch, wenn du eine noch einfachere Erklärung für den Boot-Prozess hast, freue ich mich von dir zu lesen.

Bis bald!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s