De volume-opstartcode en het schijfparameterblok zijn de twee belangrijkste onderdelen die het volume-opstartrecord/-sector vormen. 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.
De volume-opstartcode wordt soms aangeduid met de afkorting VBC.
Wat de volume-opstartcode doet
Het master-opstartrecord zoekt naar een opstartbaar apparaat in de opstartvolgorde/volgorde die door het BIOS is ingesteld.
Zie Hoe u de opstartvolgorde in het BIOS kunt wijzigen als u hulp nodig heeft 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 de master boot record die zich op de eerste sector van de harde schijf bevindt.
-
De master-opstartcode zoekt in de masterpartitietabel naar een opstartbare partitie op die harde schijf.
- Er is een poging gedaan om 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 overgedragen zodat de juiste OS-bestanden kunnen worden uitgevoerd en Windows normaal kan starten.
Fouten met volume-opstartcode
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 \Windows\System32\hal.dll niet vinden
- Windows kan niet starten omdat het volgende bestand ontbreekt of beschadigd is: C:\Windows\system32\hal.dll. Installeer een kopie van het bovenstaande bestand opnieuw.
Dit soort fouten in de volume-opstartcode kunnen worden opgelost met het bootsect-commando, 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.
In stap 4 hierboven, als de poging om een actieve partitie te vinden mislukt, ziet u mogelijk een fout zoals "Geen opstartapparaat". Op het moment dat de fout optreedt, is het duidelijk dat dit niet te wijten is aan de opstartcode van het volume.
Het is mogelijk dat er geen correct geformatteerde partitie op die harde schijf is of dat het BIOS naar het verkeerde apparaat kijkt, in welk geval je de opstartvolgorde kunt wijzigen in het juiste apparaat zoals de harde schijf (in plaats daarvan van een schijf of externe harde schijf, bijvoorbeeld).