Co sprawia, że ​​nośnik startowy jest bootowalny?

10

Co z ciekawości sprawia, że ​​nośnik można uruchomić? Doceniamy linki do wyjaśnień.

fakedrake
źródło

Odpowiedzi:

5

Być może kilka szczegółów na temat organizacji nośnika startowego może pomóc zdefiniować „co sprawia, że ​​nośnik startowy jest uruchamialny”.

Procedura uruchamiania różni się w zależności od architektury, więc pozostanę przy standardowym komputerze PC (tj. Architekturze x86).

Po pierwsze, aby zostać skutecznie „uruchomionym”, BIOS musi wybrać nośnik po późniejszym autoteście po włączeniu zasilania (POST). Aby tak się stało, nośnik musi być oznaczony jako bootowalny , co oznacza, że ​​musi mieć sygnaturę rozruchową w swoim pierwszym sektorze. Jest to pierwsza rzecz, która sprawia, że ​​średni bootowalny.

Następnie BIOS ładuje się i podaje rękę temu sektorowi rozruchowemu (cokolwiek tam jest przechowywane ... więc może to być bezpośrednio odpowiedni program w trybie rzeczywistym, ale trzymajmy się „normalnego” schematu). Tak więc, aby można było uruchomić system, nośnik musi mieć taki działający sektor rozruchowy .

Jeśli nośnik jest podzielony na partycje, w tym sektorze jest instalowany główny rekord rozruchowy (MBR). Ten kod będzie odpowiedzialny za sprawdzenie tablicy partycji i znalezienie partycji z ustawioną flagą rozruchową . Następnie MBR załaduje pierwszy sektor tej partycji, który zawiera tak zwany woluminowy rekord rozruchowy (VBR). Należy zauważyć, że w przypadku niepartycjonowanego nośnika VBR znajduje się w pierwszym sektorze nośnika i dlatego jest bezpośrednio wywoływany przez BIOS.

VBR zawiera program ładujący . Ten program musi zainicjować maszynę (tj. Aktywację rozszerzonej pamięci przez bramkę A20, przełączyć z trybu rzeczywistego do trybu chronionego itp.), Aby ustawić środowisko odpowiednie do uruchomienia „nowoczesnego” kodu, załadować ten kod do pamięci, a następnie „przeskoczyć” „do tego. Wyżej wymieniony kod może być albo jądrem systemu operacyjnego w przypadku programu ładującego, albo systemem wielobootowym (np. GRUB, LILO) w przypadku ładowania łańcucha. W każdym razie, aby uruchomić nośnik, potrzebny jest kod wykonywalny do uruchomienia.

To, co następuje (np. Dekompresja jądra, początkowe montowanie ramdysku, ładowanie modułów w przypadku jąder hybrydowych lub serwerów zaczynających się na mikrojądrach itp.) Nie jest ściśle istotne z punktu widzenia organizacji nośnika startowego.

Uwaga: opisałem proces tworzenia dysków twardych i dyskietek. Przypadek płyt CD jest jednak bardzo podobny. Ponadto, aby można było uruchomić komputer, płyta CD musi być zgodna ze specyfikacją El-Torito, która stanowi rozszerzenie standardu ISO9660. Oryginalnie, CD wymagało umieszczenia obrazu dyskietki rozruchowej (właściwie obrazu 1,44M), który został potraktowany przez BIOS jako dyskietka i został odpowiednio uruchomiony. Nowszy sprzęt umożliwia bezpośrednie uruchomienie bez tego obejścia.

Christian Vincenot
źródło
9

To, co czyni bootowalnym medium bootowalnym, to

  • standardy dla nośników startowych, które definiują takie rzeczy jak:
    • platforma sprzętowa, do której ma zastosowanie moduł ładujący.
    • lokalizacja na nośniku oprogramowania rozruchowego.
    • proces, w którym to oprogramowanie zostanie załadowane.
  • wdrożenie tych standardów w sprzęcie, do którego można podłączyć nośnik.

Wikepedia ma artykuł opisujący proces uruchamiania.

RedGrittyBrick
źródło