Malware Removal Information

Ga naar de inhoud

Hoofdmenu

Master Boot Record

Informatie

Inleiding.

Bij het opstarten van de computer is er geen informatie beschikbaar in het geheugen om uit te voeren, en hierdoor weet de processor niet wat hij moet doen.
Daarom is de processor zodanig geprogrammeerd dat hij steeds gaat kijken naar het BIOS ROM om daar de opstartcode uit te voeren. Deze opstartcode is geprogrammeerd op het einde van het systeemgeheugen. Deze bevat slechts 16 bytes tot het eind van het systeemgeheugen. Dit is niet veel maar wel voldoende om de processor te kunnen laten weten waar hij het eigenlijke opstartprogramma van het BIOS kan vinden.
Het BIOS opstartcode wordt uitgevoerd. Het BIOS voert de power-on self test uit (POST). Worden hier fouten (fatal errrors) waargenomen dan stopt het bootproces onmiddellijk. Indien er zich geen fatal errors voordoen roept het BIOS interrupt 19 op en gaat het zoeken naar hardware die op het moederbord aangesloten is.
Als eerst wordt gezocht naar de videokaart en indien deze gevonden wordt zal het BIOS-programma van de videokaart uitgevoerd worden.
Wanneer deze uitgevoerd is, en de videokaart is ingeschakeld, wordt gezocht naar andere apparaten met een eigen BIOS.
Dit zijn (vroeger) de floppy drive en de harde schijf. De code van hun BIOS wordt uitgevoerd en indien er nog andere apparaten zijn met een eigen BIOS wordt ook deze code uitgevoerd.
Het BIOS toont zijn opstartscherm, de geheugentelling wordt uitgevoerd en ook allerlei systeeminformatie kan op het scherm verschijnen.
Wanneer het BIOS-programma gedaan heeft wat het moet doen, zoekt het naar een bootable opstartmedia. De volgorde waarin het zoekt hangt af van de BIOS-instellingen.
Vindt het een harde schijf dan zoekt het in cylinder 0, head 0 en sector 1 (eerste sector van de harde schijf) naar een Master Boot Record (MBR). (op andere media zoekt het ook op dezelfde plaats naar 'Volume Boot Code')
Eenmaal die gevonden gebruikt HET BIOS de info / code gevonden in de MBR om het besturingssysteem te laden.
Het BIOS stopt, het besturingssysteem wordt opgestart en neemt de controle over.

Verschillende delen

De Master Boot Record is een plaats op de harde schijf waar de informatie is opgeslagen die het BIOS kan aanspreken om te bepalen hoe het bootprocess moet verlopen en hoe het besturingsysteem moet geladen worden.
De MBR bevindt zich altijd op cylinder 0, head 0, en sector 1 (eigenlijk de sector 0) en is 512 bytes groot.

De MBR bestaat uit de volgende delen:

  • de Master Boot Code (446 bytes) (rode deel)

  • de Master Partition Table (64 bytes) (oranje deel)

  • de bootsignature 0xAA55 (2 bytes) (groene deel)




De Master Boot Code.

De Master Boot Code is verantwoordelijk voor het localiseren van de actieve partitie in de master partition table. (zie hieronder)
Wordt een Master Boot Record gevonden dan wordt de info daar aanwezig geladen in het geheugen. Interrupt 19 springt naar deze geheugenlocatie. De master boot code wordt uitgevoerd waardoor de actieve partitie wordt gelocaliseerd. Nu wordt op de actieve partitie de bootloader aangesproken zodat het besturingssysteem opgestart kan worden. (Op NT-gebaseerde machines is dit NTLDR.)


De Master Partition Table

De Master Partition Table, of de partitietabel, omschrijft de indeling van de harde schijf. De grootte ervan is beperkt en juist genoeg om 4 partities te definiëren.
Dit is ook de reden waarom je maximum 4 primaire partities kan aanmaken. Indien je meerdere partities wil maken dan kan dit maar dan moeten het logische stations zijn. Logische station kan je aanmaken binnen een primaire partitie.

De partitietabel bestaat uit 4 keer 16 bytes, juist voldoende dus om 4 partities te definiëren.
Laten we even kijken naar de partitietabel, de eerste 16 bytes zijn in het rood gemarkeerd.



Byte 0: 00 wil zeggen een niet-actieve partitie, indien 80 wil dit zeggen dat het een actieve partitie is.

Byte 1: eerste head voor de partitie
Byte 2: eerste sector voor de partitie
Byte 3: eerste cylinder voor de partitie
Byte 4: duidt aan hoe de partitie geformatteerd is: 0B = FAT32, 07 = NTFS, 0F = uitgebreide partitie
Byte 5: laatste head van de partitie
Byte 6: laatste sector van de partitie
Byte 7: laatste cylinder van de partitie
Byte 8 - byte 11: geeft de eerste sector aan waar de partitie begint
Byte 12 - byte 15: Geeft het aantal sectoren aan voor de partitie



De rest van de partitietabel is opgevuld met 0. Dit betekent dat er geen andere partities noch logische stations gedefinieerd werden.


Bootsignature 0xAA55

Dit wordt aan het einde van de MBR toegevoegd zodat het BIOS weet dat dit het einde is van de MBR en dat het hier om een geldige bootloader gaat.


Terug naar de inhoud | Terug naar het hoofdmenu