De volume-opstartcode en het schijfparameterblok zijn de twee belangrijkste onderdelen waaruit het volume-opstartrecord/-sector bestaat. De volume-opstartcode wordt aangeroepen door de master-opstartcode en wordt gebruikt om de opstartmanager te starten, die het daadwerkelijke laden van het besturingssysteem begint. De volume-opstartcode bestaat op elke partitie waar het volume-opstartrecord bestaat, wat elke geformatteerde partitie is. Het wordt echter alleen aangeroepen door de master-opstartcode voor de primaire partitie die als actief is ingesteld. Anders blijft voor niet-actieve partities de volume-opstartcode ongebruikt. Volume-opstartcodes zijn specifiek voor het besturingssysteem op die specifieke partitie. Een volume-opstartcode voor Windows 10 kan bijvoorbeeld anders werken dan een voor een smaak van Linux of zelfs een andere versie van Windows zoals Windows XP of Windows 7.
Wat de volume-opstartcode doet
Het hoofdopstartrecord zoekt naar een opstartbaar apparaat in de opstartvolgorde/volgorde die door het BIOS is ingesteld. Zie De opstartvolgorde wijzigen in het BIOS als u hulp nodig hebt bij het wijzigen van de volgorde waarin de opstartcodes van het apparaat worden gecontroleerd. Zodra een relevant apparaat is gevonden, zoals een harde schijf, is de volume-opstartcode verantwoordelijk voor het laden van de juiste bestanden waarmee het besturingssysteem wordt gestart. Voor Windows 10 tot en met Windows Vista is het de Windows Boot Manager (BOOTMGR) die het besturingssysteem daadwerkelijk laadt. Voor oudere versies van Windows, zoals Windows XP, is het de NT Loader (NTLDR) die de volume-opstartcode gebruikt om het besturingssysteem te starten. In beide gevallen vindt de volume-opstartcode de juiste gegevens om het opstartproces verder te brengen. U kunt hier zien wanneer de volume-opstartcode wordt gebruikt in een typisch proces waarbij het besturingssysteem wordt geladen vanaf een harde schijf:
-
POST wordt uitgevoerd om de hardwarefunctionaliteit te controleren.
-
BIOS laadt en voert code uit van het master-opstartrecord dat zich op de eerste sector van de harde schijf bevindt.
-
De master-opstartcode doorzoekt de masterpartitietabel voor een opstartbare partitie op die harde schijf.
-
Er wordt geprobeerd de primaire, actieve partitie op te starten.
-
De volume-opstartsector van die partitie wordt in het geheugen geladen, zodat de code en het schijfparameterblok kunnen worden gebruikt.
-
De volume-opstartcode binnen die opstartsector krijgt controle over de rest van het opstartproces, waarbij het ervoor zorgt dat de structuur van het bestandssysteem in goede staat is.
-
Zodra de volume-opstartcode het bestandssysteem valideert, wordt de BOOTMGR of NTLDR uitgevoerd.
-
Zoals hierboven vermeld, wordt de BOOTMGR of NTLDR in het geheugen geladen en wordt de besturing naar hen overgebracht, zodat de juiste OS-bestanden kunnen worden uitgevoerd en Windows normaal kan starten.
Volume opstartcode fouten
Zoals je hierboven kunt zien, zijn er veel componenten die het totale proces vormen waarin het besturingssysteem uiteindelijk kan worden geladen. Dit betekent dat er veel gevallen zijn waarin een fout kan worden gegenereerd, en daarom verschillende problemen die specifieke foutmeldingen kunnen veroorzaken. Een corrupte volume-opstartcode resulteert meestal in hal.dll-fouten zoals:
- Kan WindowsSystem32hal.dll niet vinden
- Windows kan niet starten omdat het volgende bestand ontbreekt of beschadigd is: C:Windowssystem32hal.dll. Installeer een kopie van het bovenstaande bestand opnieuw.
Dat soort fouten in de volume-opstartcode kunnen worden opgelost met de bootsect command, een van de vele Command Prompt-commando’s die beschikbaar zijn in Windows. Zie Bootsect gebruiken om de volume-opstartcode bij te werken naar BOOTMGR als u daarbij hulp nodig hebt. Als in stap 4 hierboven de poging om een actieve partitie te vinden mislukt, ziet u mogelijk een fout als “Geen opstartapparaat.” Het is duidelijk dat op het moment dat de fout optreedt, dit niet te wijten is aan de volume-opstartcode. Het is mogelijk dat er geen correct geformatteerde partitie op die harde schijf is of dat het BIOS naar het verkeerde apparaat kijkt. In dat geval kunt u de opstartvolgorde wijzigen in het juiste apparaat, zoals de harde schijf (in plaats van een schijf of externe harde schijf bijvoorbeeld).