Volymstartkoden och diskparameterblocket är de två huvuddelarna som utgör volymstartposten/sektorn. Volymstartkoden anropas av huvudstartkoden och används för att starta starthanteraren, som börjar den faktiska laddningen av operativsystemet.
Volymstartkoden finns på varje partition där volymstartposten finns, vilket är varje formaterad partition. Den anropas dock bara av huvudstartkoden för den primära partitionen som är inställd som aktiv. Annars förblir volymstartkoden oanvänd för icke-aktiva partitioner.
Volymstartkoder är specifika för operativsystemet på den partitionen. Till exempel kan en volymstartkod för Windows 10 fungera annorlunda än en för en variant av Linux eller till och med en annan version av Windows som Windows XP eller Windows 7.
Volymstartkoden hänvisas ibland till med sin förkortning VBC.
Vad volymstartkoden gör
Masterstartposten söker efter en startbar enhet i vilken startsekvens/ordning som än ställs in av BIOS.
Se hur du ändrar startordningen i BIOS om du behöver hjälp med att ändra ordningen i vilken enhetens startkoder kontrolleras.
När en relevant enhet hittas, som en hårddisk, är volymens startkod ansvarig för att ladda de rätta filerna som startar operativsystemet. För Windows 10 till Windows Vista är det Windows Boot Manager (BOOTMGR) som faktiskt laddar operativsystemet.
För äldre versioner av Windows, som Windows XP, är det NT Loader (NTLDR) som volymens startkod använder för att starta operativsystemet.
I båda fallen hittar volymstartkoden rätt data för att föra startprocessen vidare. Du kan se här när volymstartkoden används i en typisk process där operativsystemet laddas från en hårddisk:
- POST körs för att kontrollera maskinvarufunktionalitet.
- BIOS laddar och kör kod från huvudstartposten som finns på hårddiskens första sektor.
- Masterstartkoden letar igenom huvudpartitionstabellen efter en startbar partition på den hårddisken.
- Ett försök görs att starta den primära, aktiva partitionen.
- Volymstartsektorn för den partitionen laddas in i minnet så att dess kod och diskparameterblock kan användas.
- Volymstartkoden inom den bootsektorn ges kontroll över resten av startprocessen, där den ser till att filsystemets struktur fungerar.
-
När volymstartkoden validerar filsystemet, körs BOOTMGR eller NTLDR.
- Som nämnts ovan laddas BOOTMGR eller NTLDR in i minnet och kontrollen överförs till dem så att rätt OS-filer kan köras och Windows kan starta norm alt.
Volym Boot Code Errors
Som du kan se ovan finns det många komponenter som utgör den totala processen under vilken operativsystemet till slut kan laddas. Det betyder att det finns många tillfällen då ett fel kan skapas, och därför olika problem som kan orsaka specifika felmeddelanden.
En korrupt volymstartkod resulterar vanligtvis i hal.dll-fel som:
- Kan inte hitta \Windows\System32\hal.dll
- Windows kunde inte starta eftersom följande fil saknas eller är korrupt: C:\Windows\system32\hal.dll. Installera om en kopia av filen ovan.
De här typerna av volymstartkodfel kan fixas med kommandot bootsect, ett av de många kommandotolken som är tillgängliga i Windows. Se hur du använder Bootsect för att uppdatera volymstartkoden till BOOTMGR om du behöver hjälp med det.
I steg 4 ovan, om försöket att hitta en aktiv partition misslyckas, kan du se ett felmeddelande som "Ingen startenhet." Det är tydligt när felet uppstår att det inte beror på volymens startkod.
Det är möjligt att det antingen inte finns en korrekt formaterad partition på den hårddisken eller att BIOS tittar på fel enhet, i så fall kan du ändra startordningen till rätt enhet som hårddisken (istället på en skiva eller extern hårddisk, till exempel).