Encendido del Sistema: Boot Sector o Registro de Arranque - ProfesorPonce (Sección Alumnos)

Breaking

Profesional Review Magazine

lunes, 17 de octubre de 2011

Encendido del Sistema: Boot Sector o Registro de Arranque

.
Figura 1
Boot Sector o Registro de Arranque y Encendido del Sistema:


El sistema de archivos de un disco está formado por algunas secciones principales.

En el primer sector de la partición se encuentra el Boot Sector, que puede estar formado (dependiendo del sistema de almacenamiento) por uno o varios sectores del disco. Al Boot Sector le sigen la FAT (File Allocation Table o Tabla de Alojamiento de Archivos), el Directorio Raíz y la Zona de Datos.



Es importante aclarar que en la bibliografía técnica se hace referencia al Boot Sector con estas terminologías:

  • Boot Sector
  • Sector de Booteo
  • Sector de Inicio del Sistema de Archivos
  • Registro de Arranque
  • Primer Sector Físico de un Volúmen Lógico
  • En la bibliografía en inglés, puede usted encontrarlo con el nombre de Volume Boot Record

Antes de continuar, necesito hacer algunas aclaraciones.

Lamentablemente mucha bibliografía técnica en español (incluso de editoriales prestigiosas) se confunden conceptos por falta de conocimientos de inglés técnico de los autores y de los correctores.

La primera aclaración que se debe hacer es que Boot Sector, Registro de Arranque o Volume Boot Record NO TIENE NADA QUE VER CON Master Boot Record ( MBR ) o Registro Maestro de Arranque, algo que los técnicos latinos suelen confundir con facilidad por la mala formación que reciben de los institutos de capacitación laboral que están más interesados en cobrar sus cuotas que en controlar la calidad de sus profesores.

Boot Sector y Master Boot Record SOLO COMPARTEN la palabra Boot, pero son elementos diferentes. Del mismo modo Registro de Arranque y Registro Maestro de Arranque SOLO COMPARTEN las palabras Registro y Arranque, pero SON CONCEPTOS DIFERENTES.

Incluso la bibliografía técnica en español suele estar MAL TRADUCIDA. Tenga cuidado incluso con los artículos de la Wikipedia. Algunos artículos de esta enciclopedia on-line estaban mal redactados y/o traducidos a Setiembre del 2011. ¡CUIDADO! Porque muchos técnicos que no saben inglés estudian directamente de la Wikipedia, y en la Wikipedia NO SE CONTROLA LA CALIDAD TÉCNICA DE LOS ARTICULOS.

Si es Técnico Profesional (o pretende serlo), por favor, ESTUDIE DIRECTAMENTE DEL INGLÉS los artículos técnicos avanzados.

Aclarado el tema, continúo con la exposición.

Algunos autores cuando se refieren al Boot Sector, hablan de "Primer Sector Físico de un Volúmen Lógico" y es importante en este caso, diferenciar la exposición cuando nos referimos a Disquetes o Discos Duros:

  • En los Discos Duros, el primer sector físico absoluto es el Master Boot Record ( MBR ), que contiene la tabla de particiones. El MBR también se conoce como Registro de Inicio Maestro. Para aclarar el tema, lea mi artículo Disco Rígido y Particiones ( http://hepika.blogspot.com/2010/09/disco-rigido-y-particiones.html).
  • Los disquetes no tienen tabla de partición y carecen de MBR. En ellos, el primer sector físico absoluto es el Sector de Booteo.
Cuando se habla de Sector de Booteo de un Disco Duro, los autores técnicos solemos referirnos a él diciendo que es el primer sector físico en un volúmen lógico.

En los Discos Rígidos, las particiones pueden trabajar individualmente o agruparse de a dos o más particiones en lo que se conoce como Volúmenes o Volúmenes Lógicos.
  • Un volumen lógico puede estar formado por una Partición Primaria, una Unidad Lógica de una Partición Extendida o un agrupamiento de Dos o Más Particiones.
  • Un Volúmen Lógico tiene un sólo Sector de Booteo, aún cuando esté formado por más de una partición.
El Sector de Booteo tiene un tamaño que  depende del sistema de almacenamiento de archivos que se use para formatear en alto nivel a la partición. Como mínimo ocupa un sector de 512 bytes, pero está contemplado que pueda ocupar más de un sólo sector.

La función principal del Boot Sector es mantener un programa mínimo escrito en código máquina que inicia el proceso de arranque del sistema operativo, localizando dentro de una partición al cargador del sistema.

Este programa de arranque o encendido, es lo suficientemente pequeño como para caber en algunos pocos bytes. En caso de que la partición no contenga un sistema operativo preparado para encender el equipo, el programa es lo suficientemente listo como para advertirle al usuario que está intentando arrancar a partir de un disco o una partición que no ha sido formateada como disco o partición de sistema.

Es importante que recuerde que el Registro de Arranque está presente en cada partición formateada, incluso en aquellas que no contienen un sistema operativo.

Si bien esta es la función más conocida, no es la única, porque el Boot Sector contiene además elementos importantes para el sistema operativo. Estos elementos pueden variar dependiendo del sistema operativo y de la versión analizada.

Veamos la Figura 1 para entender cómo está organizada la información en el Sector de Booteo:

Como el Boot Sector contiene un programa y además es usado para grabar información escencial para el sistema operativo, está organizado de esta manera:

Lo primero que encontramos es una orden de salto que lleva directamente al programa de inicio. Cuando el POST busca el Sector de Booteo, gracias a esta instrucción es redireccionado directamente al Programa de Inicio.

Ahora dscribiré la información guardada por el Sector de Booteo y al final de la nota detallaré como el POST esa capaz de iniciar el encendido del sistema operativo.

La información se guarda en forma de bloques. Veamos esos bloques de información.

Instrucción de salto al programa de inicio
  • Es una instrucción escrita en código máquina ( ejecutable ) cuya función es re-dirigir al POST al bloque que contiene el Programa de Inicio, saltando de ese modo todos los bloques de datos.
Si esta instrucción no estuviera, el POST intentaría ejecutar datos como instrucciones y el sistema no podría ser iniciado.

Bloque de Parámetros del Bios

  • Bytes por sector: indica el tamaño del sector del disco. El tamaño más común es de 512 bytes
  • Sectores por clúster: indica la cantidad de sectores que forman un cluster en el sistema operativo. Este valor depende de varios factores, principalmente del tamaño del volúmen. Lo común es que sea alguno de estos valores 1, 2, 4, 8, 16, 32, 64 y 128.
  • Sectores reservados: representa los sectores que el sistema reserva antes de escribir la FAT, incluyendo al propio Sector de Booteo. El valor mínimo es de 1. Puede variar en el futuro, dependiendo de las necesidades de los sistemas operativos de modificar la estructura de los discos o ampliar algunos sectores destinados a cierta información crítica.
  • FAT: indica el número de copias de la FAT. Usualmente se guarda la tabla original y una copia, por lo que el valor actual es 2. Esto puede variar en el futuro, dependiendo del sistema operativo usado
  • Entradas de root: Indica la cantidad de nombres de archivo que pueden almacenarse en el root. En otras palabras, es el límite de entradas que pueden crearse en el root del volúmen. Usualmente es de 512. Como la etiqueta de volúmen ocupa un lugar, la cantidad de entradas reales es de 511.
  • Small sectors: Alamacena la cantidad de sectores direccionados por la FAT si el volúmen  es pequeño. En volúmenes grandes el sistema operativo almacena cero y lee Big Sectors.
  • Media descriptor: el byte almacenado en este campo le indica al sistema operativo que tipo de dispositivo es el Volumen actual. Esta tabla puede variar en el futuro, pero actualmente los sistemas operativos interpretan:
F0     2.88 MB    3.5-inch, 2-sided, 36-sector
F0     1.44 MB    3.5-inch, 2-sided, 18-sector
F9     720 KB     3.5-inch, 2-sided, 9-sector
F9     1.2 MB     5.25-inch, 2-sided, 15-sector
FD     360 KB     5.25-inch, 2-sided, 9-sector
FF     320 KB     5.25-inch, 2-sided, 8-sector
FC     180 KB     5.25-inch, 1-sided, 9-sector
FE     160 KB     5.25-inch, 1-sided, 8-sector
F8     -----      Fixed disk

  • Sectores por FAT: es el número de sectores que ocupa cada copia de FAT. Pueden variar dependiendo de los requerimientos de los sistemas de archivos usados.
  • Sectores por pista: depende del hardware del fabricante.
  • Cabezas: depende del hardware del fabricante.
  • Sectores ocultos: contiene la cantidad de sectores usados para calcular en dónde se encuentra el directorio raíz y el área de datos.
  • Big sectors: si Small Sectors es cero, contiene el total de sectores direccionados por la FAT en el volúmen.

Bloque de Parámetros del Bios Extendido

Es un conjunto organizado de datos que le sigue al Bloque de Parametros del Bios. Contiene:
  • Physical Drive Number: es el número de unidad física asignado por el Bios al Volumen actual 
  • Current Head: en sistemas operativos viejos, se almacenaba la pista en la que se encontraba el registro de inicio. Actulamente windows divide el byte de este campo en dos grupos de 4 bits. Un grupo es usado por el sistema operaivo para indicarse a sí mismo si debe iniciar el sistema operativo chequeando el volúmen actual. Esto sucede cuando el sistema operativo no cierra correctamente el sistema durante el apagado (específicamente si no se usó la opción Inicio / Apagar Sistema o si se cerró abruptamente). El otro grupo es usado para indicar si el encendido debe además realizar un a exploración de superficie del volúmen actual
  • Signature: es una firma digital para que windows reconozca el bloque de parámetros como válido.
  • ID: es un indicador aleatorio que se genera al darle formato al disco. Es usado para identificar un volúmen de otro.
  • Volume Label: En algunos sistemas operativos es usado para guardar la etiqueta del volúmenlos sistemas. Las versiones actuales de windows guardan la etiqueta de volúmen como una entrada especial del directorio raíz y estos datos nose utilizan.
  • System ID: campo de identificación que varía con el sistema de archivos usado por el sistema operativo
Programa de inicio

En un volúmen en el que haya instalado correctamente un sistema operativo que pueda iniciar el encendido de la computadora, contiene un conjunto de instrucciones ejecutables, escrito en código máquina cuya función es encontrar el programa Cargador del sistema operativo instalado en el volúmen actual.

Es el programa buscado por el POST. Cuando el POST termina el chequeo del sistema, reliza las siguientes acciones
  • Busca en el Bios el disco configurado para encender el equipo
  • Lee el Master Boot Record para determinar cuál es la Partición Activa o Volúmen definido en ese disco para encender el sistema
  • Busca el Sector de Booteo de la Partición o Volúmen que encenderá al sistema
  • Lee la Instrucción de Salto al Programa de Inicio para saber cuántos bytes tiene que saltar para encontrar el Programa de Inicio en ese Volúmen
  • Ejecuta el programa de inicio que tiene la indicación de buscar y encontrar el cargador del sistema operativo.
  • Transfiere el control al programa cargador del sistema operativo.

Firma

La firma sólo es usada para validar al sector de booteo, pero algunos sistema operativos simplemente la ignoran. Los caracteres guardados en la firma actualmente están estandarizados para todos los sistemas operativos, pero en algún momento, algún fabricante de sistemas opertivos puede variar esos caracteres.
  • Caracteres hexadecimales 0x55 0xAA

( Este artículo forma parte de los Seminarios Técnicos y del Libro "Reparación Avanzada de Computadoras PC", de Ricardo Ponce )

Temas Relacionados