MASTER  BOOT  RECORD
 

Al encender el equipo, el bios intenta leer el primer sector de la unidad de disco "A:" a la posición 0000h:7c00h. Si no hay disco insertado en la unidad "A:", el bios lee el "master boot record" (sector de arranque maestro, situado en el cilindro 0, cara cero, sector 1 del disco duro), que contiene un corto programa de arranque y la descripción de las particiones.

Una vez averiguada la partición activa se carga el sector de arranque correspondiente (que está situado en el primer sector de dicha partición) y se le transfiere el control.

El mbr ocupa 512 bytes (00h a 1ffh) y tiene dos partes básicas: el código de arranque maestro y la tabla de particiones:

OFFSET BYTES DESCRIPCION
000h 446  Código de arranque maestro
1beh 16 Formato de la primera partición
1ceh 16 Formato de la segunda partición
1deh 16 Formato de la tercera partición
1eeh 16 Formato de la cuarta partición
1feh 2 Firma. Si es 55aah, indica sector de arranque válido.

La tabla de particiones contiene cuatro entradas de 16 bytes. Cada entrada está dividida en varios campos que contienen los datos necesarios para describir una partición:

OFFSET BYTES DESCRIPCION NOTAS
1beh 1 Indicador de arranque (1)
1bfh 3 Comienzo de partición (2)
1c2h 1 Indicador de sistema operativo (3)
1c3h 3 Final de partición (2)
1c6h 4 Número de sectores anteriores (4)
1cah 4 Número de sectores totales (5)

1)

80h indica partición activa; 00h indica partición no-activa.

2)

El comienzo y el final de la partición viene indicado con tres bytes, que indican en qué cara, sector y cilindro se inician y terminan, utilizando un formato comprimido:
- El primer byte indica la cara o cabeza (head).
- Los dos primeros bits del segundo byte son los bits altos del número de cilindro. Los 6 bits siguientes indican el número de sector.
- El tercer byte contiene los bits bajos del número de cilindro.
De este modo, un cilindro se referencia con 10 bits. Los ocho bajos están contenidos en el tercer byte del indicador de partición y los dos altos son los bits 6 y 7 del segundo byte del indicador de partición. Por ejemplo, el indicador de final de partición de mi portátil contiene los bytes "3F BF 0B".
Así que, según hemos dicho, la cara se calcularía tomando los bits marcados en rojo, el cilindro con los bits marcados en verde y el sector con los bits marcados en blanco:

3FH = 00111111b
BFH = 10111111b
0BH = 00001011b

Por tanto:

Cara     = 00111111b   =  63 decimal.
Cilindro = 1000001011b = 523 decimal.
Sector   = 111111b     =  63 decimal.

La numeración de caras y cilindros comienza en cero; la de los sectores en 1. En este ejemplo, tendríamos 64 caras (0-63), 524 cilindros (0-523) y 63 sectores (1-63).

3)

Las claves de indicador de sistema operativo son las siguientes:

00h Vacío
01h Dos con fat de 12 bits
02h Xenix root
03h Xenix user
04h Dos con fat de 16 bits
05h Dos 3.3+ extendida
06h Dos 3.31+ 
07h Qnx
07h OS/2 Hpfs
07h Windows NT NTFS
07h Unix avanzado
08h AIX arrancable
09h AIX datos
09h Coherent filesystem
0ah OS/2 gestor de arranque
0ah Coherent swap
0bh Windows 95 Fat32
0ch Windows 95 Fat 32 (LBA)
0eh Windows 95 Fat 16 (LBA)
0fh Windows 95 Extendida
10h OPUS
11h OS/2 Boot manager hidden 12 bit fat
12h Compaq diagnostics partition
14h OS/2 Boot manager hidden sub 32-M 16 bit fat
16h OS/2 Boot manager hidden over 32-M 16 bit fat
17h OS/2 Boot manager hidden HPFS
18h AST special windows swap file
24h Nec MS-DOS 3.x
3ch PowerQuest PartitionMagic recovery partition
40h Venix 80286
42h SFS (Secure file system)
50h Disk manager r/o
51h Disk manager r/w
51h Novell
52h CP/M
52h Microport System V/386
56h GoldenBow VFeature
61h SpeedStor
63h Unix SysV /386
63h Mach
63h GNU Hurd
64h Novell Netware
65h Novell Netware 3.11
70h DiskSecure multi-boot
75h PC/IX
80h Minix 1.1
81h Minix 1.4b+
81h Linux
81h Mitac
82h Linux swap partition
83h Linux native file system
84h OS/2 renumbered type 04h partition
93h Amoeba
94h Amoeba bbt
a5h FreeBSD
b7h BSDI
b8h BSDI
c1h Dr-Dos 6 de 12 bits
c4h Dr-Dos 6 de 16 bits
c6h Dr-Dos 6 ampliada
c7h Cyrnix boot
dbh CP/M, Concurrent CP/M, Concurrent DOS
dbh CTOS (Convergent Technologies OS)
e1h SpeedStor de 12 bits
e4h SpeedStor de 16 bits
f2h DOS 3.3+, secundaria
f4h SpeedStor
feh LANstep
ffh Xenix, bloques dañados
4)

Número de sectores que preceden a la partición.

5)

Longitud de la partición en sectores. 

5)

Longitud de la partición en sectores.



Counter

Accesos desde el 20/04/98


This page hosted by Get your own Free Home Page
1