next up previous index
Következő: 4.2.6 A partíció típuskódja Fel: 4.2 A partícionálás technikai Előző: 4.2.4 A partíció helye   Index

4.2.5 A boot flag

Ennek a byte-nak az értéke 0 (inaktív) vagy 0x80 (aktív) lehet. Az MBR-ben lévő boot program (illetve programocska) ebből tudja azt, hogy a 4 közül melyik az a partíció, amit el kell indítania. Pontosabban az eredeti (egyszerűsítve fogalmazva: DOS-os) boot program viselkedik így. Ha lecseréljük valamilyen boot manager-re, vagy egy másik operációs rendszer (pl. Linux) betöltő programjára, az szedheti ezt az információt máshonnan is, így nem kell a boot flag-ben feltétlenül 0x80-as értéknek lennie a bootolandó partíciónál. A DOS viszont nem csak bootoláskor használja ezt a flag-et, hanem később is ebből tudja, hogy melyik is az a partíció, ahol saját maga van, és amiből a C: drive kell legyen, tehát DOS-os partíciónál (ha azt akarjuk boot-olni) akkor is be kell állítani ezt a flag-et, ha maga a boot program (pl. a linuxos lilo) ezt nem kívánja. Az előzőek azt is jelentik, hogy lehetséges a partíciós táblába több DOS partíciót is tenni (ezek közül az lesz a C: drive, amelyiknek a boot flag-je aktív), illetve nem feltétlenül az első partíciónak kell lennie a DOS-os partíciónak. Nagy kapacitású lemezek esetében van azonban egy korlát, aminél nagyobb címen nem kezdődhet olyan DOS partíció, amiről boot-olni akarunk: a DOS partíció első szektora (az úgynevezett boot record) szintén tartalmaz egy adatstruktúrát, és azon kívül egy kis programocskát. Ennek a programocskának része egy szubrutin, ami lineáris címből C/F/S címet számít ki. Ebben a rutinban van egy ,,bug'' (programhiba), aminek eredményeként nem boot-ol (,,Non-System disk'' hibát jelez) a rendszer, hogyha a betöltendő szektor (IO.SYS első 3 szektora) címében C*F értéke 65535-nél nagyobb lenne. Ha például nagy kapacitású SCSI lemezünk van (tipikusan XX/255/63-as geometriával), akkor az IO.SYS kezdete legfeljebb a 257-es cilinderen lehet, tehát 2015 MegaByte-nál (1.96 GigaByte-nál) korábban kell a DOS partíciót kezdeni. (IDE lemez esetén más geometriával, de hasonló címre (2016 MegaByte) adódik a határ.) A probléma megoldására csináltam egy patch-et, hogyha szükséged van rá, szóljál. Ezen patch lehetővé teszi 2 GigaByte-nál magasabb címen kezdődő DOS partíció boot-olását is. (A Windows 95 installálása módosítja a boot programot is, és abban más módszerrel számítják ki a C/F/S címet, itt már nincs az előbb említett programhiba.)


next up previous index
Következő: 4.2.6 A partíció típuskódja Fel: 4.2 A partícionálás technikai Előző: 4.2.4 A partíció helye   Index

1999-09-17