Re: Budowa master boot sectora

Autor: Grzegorz Szyszlo (znik_at_avalon.wbc.lublin.pl)
Data: Fri 16 Jul 1999 - 10:47:51 MET DST


zVision wrote:

> jezeli chodzi o PC, to MBR zawiera:
> 1. bootloader - w dowolnej formie (byle CPU zrozumial;), jezeli jest
> wiekszy niz 512 bajtow,
> to moze swoje dane doczytywac z innych sektorow. BIOS laduje MBR do
> pamieci i
> wykonuje skok do pierwszego bajtu w MBR, a co dalej, to juz zalezy
> od tego, co napisal
> bootloader :-)

hmmm.... dobrze wiedziec :) moze by tak nowego wirusa? :)))

a to co nizej mozna sobie "zsyntetyzowac" np. majac norton disk editor.
chociaz pare szczegolow by sie przydalo:

> 2. tablice partycji - rozpoczyna sie od offsetu 0x1BE w MBR, zawiera do
> czterech wpisow po
> 16 bajtow kazdy o formacie:
> +00 - (1 bajt) - znacznik partycji (0x80 - primary, 0x00 - extended)

sa inne mozliwosci? a co oznacza 0x81 ?
co do ponizszych wartosci, kiedys mialy one sens fizyczny. teraz
maja sens wylacznie logiczny, bo dysk i tak ukrywa przed sterownikiem
swoja fizyczna strukture. bo ktory dysk w komputerze domowym ma np. 128
glowic?
:)))))) zwykle maksimum to sa 4ry glowice, a typowo to tylko 2.

> +01 - (1 bajt) - numer glowicy poczatku partycji (ang. Head)

od jakiego numeru zaczynaja sie glowice? (wiem ze od 0)

> +02 - (2 bajty) - numer sektora i cylindra poczatku partycji (bity
> 0-9 - numer cylindra, bity
> 10-15 - numer sektora)

od jakiego numeru sie zaczynaja? (wiem ze sektory od 1 a cylindry od 0)

> +05 - (1 bajt) - numer glowicy konca partycji
> +06 - (2 bajty) - numer sektora i cylindra konca partycji
> +08 - (4 bajty) - numer logiczny sektora (liczac od poczatku dysku)
> poczatku partycji
> +12 - (4 bajty) - rozmiar partycji w sektorach

jest jeszcze kilka ograniczen. partycje nie moga sie zaczynac
od dowolnego miejsca. np. taki dos wymaga by partycja sie zaczynala
od pierwszego sektora zerowej glowicy, a konczyla na ostatnim
sektorze ostatniej glowicy. a co gorsza partycje musza sie zaczynac
od parzystych cylindrow. btw. poczatek partycji moze zaczynac sie
troszke dalej, jesli wczesniej zaczyna sie MBR.

i teraz jeszcze jedna ciekawostka.
partycja typu EXTENDED definiuje obszar zarezerwowany przez
wszystkie pozostale partycje logiczne.
wpis EXTENDED jak gdyby wycina kolejny obszar dysku, ktory ma
...... wlasny MBR (niewykorzystany) oraz wlasna tablice
partycji z kolejnymi 4rema rekordami. ale tu jest sztuczka
bo pierwszy rekord zawiera wlasciwa partycje ligiczna, a nastepny
kolejny wpis EXTENDED wycinajacy kolejny podfragment, jesli sa
zdefiniowane kolejne partycje logiczne.

to wszystko mozna sobie dokladnie obejrzec pod norton disk editor :)
aha. jeszcze jest wazna sprawa. o ile pierwsza partycja EXTENDED
(ta w glownym MBR) definiuje caly obszar zajety przez wszystkie
partycje logiczne, to kolejne EXTENDED definiuja jedynie rozmiar
nastepnej partycji logicznej.

to moze podam przyklad podzielenia dysku :)

    (MBR)
1.PRIMARY FAT C: (MBR2)
2.EXTENDED ------- LOGICAL FAT D: (MBR3)
3.nouse EXTENDED --------- LOGICAL FAT E:
4.nouse nouse nouse <-------tu moze byc
                   nouse nouse nastepna
                                      nouse extended

--
/===================================\    oOOo    W temperaturze zera
| http://avalon.wbc.lublin.pl/~znik/ \===\__/==\ bezwzglednego swiatlo
| Grzegorz Szyszlo   mailto:znik_at_wbc.lublin.pl | zmienia postac
\==============================================/ alotropowa  (by Znik)


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 18:46:33 MET DST