Sektor rozruchowy

Z Wikipedii, wolnej encyklopedii

Sektor rozruchowy – konkretny obszar obejmujący najczęściej pierwsze 512 bajtów dysku twardego, dyskietki, podobnego nośnika danych lub samej partycji. Zawiera kluczowe informacje potrzebne do rozpoczęcia procesu rozruchu systemu operacyjnego.

Każda partycja posiada sektor rozruchowy, natomiast cały dysk posiada główny sektor rozruchowy (MBR). Sektor rozruchowy partycji może posiadać własny program rozruchowy, co wykorzystuje program NT OS Loader służący do uruchamiania systemów operacyjnych z rodziny Windows NT starszych niż Windows Vista. Program rozruchowy zawarty w sektorze rozruchowym partycji może zostać wykonany tylko po przekazaniu mu sterowania przez program rozruchowy zawarty w MBR-ze, ponieważ BIOS umie uruchamiać program rozruchowy tylko z MBR-u.

Sektory rozruchowe często były wykorzystywane przez różnego rodzaju wirusy. Wirus zmieniał adres programu rozruchowego systemu na adres swojego kodu, wykonywał się i automatycznie instrukcją w assemblerze JMP FAR oddawał sterowanie programowi wczytującemu system. Celem tej operacji było uruchomienie wirusa przed uruchomieniem systemu.

Po uruchomieniu sektora rozruchowego rejestry mogą mieć wartość:

Rejestr USB Pendrive NT OS Loader
EAX 7D3DBCC1h 0000001Eh
ECX 18F00000h 0000FFFEh
EDX 00000080h 00000080h
EBX 00563EB5h 00063000h
ESP 00007BF0h 00000100h
EBP 00937C00h 00000000h
ESI 1EAD7C0Bh 00000000h
EDI 00107BF0h 00000000h
ES 0000h 0000h
CS 0000h 0000h
SS 2000h 001Eh
DS 2000h 0000h
FS F000h
GS 0661h
EIP 00000000h 00007C00h

Przy starcie z DVD ds=0700h, program jest wrzucany podobnie jak z dyskietki w adres 00007C00h.