Restricciones de disco duro y del proceso de inicio de Windows NT

Seleccione idioma Seleccione idioma
Id. de artículo: 114841 - Ver los productos a los que se aplica este artículo
Este artículo se publicó anteriormente con el número E114841
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo se describen las restricciones de disco duro en Windows NT y Windows NT Advanced Server. Para comprender estas restricciones, es necesario entender las estructuras de datos que definen las particiones de disco y las interacciones entre Windows NT y la interfaz de BIOS del sistema que se emplea durante el proceso de inicio del hardware y del sistema operativo.

Más información

La tabla de particiones

La estructura de datos que describe las particiones del disco duro se conoce como tabla de particiones. Consta de un máximo de cuatro entradas de 16 bytes. Cada entrada tiene 10 campos que describen los atributos siguientes de una partición:
 
FIELD 		SIZE 
------------- ------------- 
Boot Flag  1 byte 
Starting Side 1 byte 
Starting Cylinder 10 bits 
Starting Sector 6 bits 
System Indicator 1 byte 
Ending Side 1 byte 
Ending Cylinder 10 bits 
Ending Sector 6 bits 
Relative Sectors 4 bytes 
Number of sectors 4 bytes

Indicador de sistema

El Indicador de sistema se emplea para especificar el tipo de sistema de archivos que contiene la partición. Entre los valores comunes se incluyen:
 
VALUE FILE SYSTEM 
----- ----------- 
0x0B Primary Fat32 Partitions up to 2047 GB 
0x0C Same as 0x0B, uses Logical Block Address Int 
0x13 extensions 
0x0E Same as 0x06, uses Logical Block Address Int 
0x13 extensions 
0x0F Same as 0x05, uses Logical Block Address Int 
0x13 extensions 
0x05 Extended partition 
0x06 BIGDOS File Allocation Table (FAT) format. 
0x07 Installable File System (IFS), eg: HPFS and NTFS
Cuando una partición forma parte de un grupo con tolerancia a errores (FT), Windows NT establece el bit superior del Indicador de sistema para distinguirla de una partición del mismo tipo sin tolerancia a errores. Por ejemplo, una partición FAT con tolerancia a errores tiene un valor de Indicador de sistema de 0x86 y una partición NTFS con tolerancia a errores tiene un valor de Indicador de sistema de 0x87.

Cuando se desactiva un miembro de un grupo con tolerancia a errores, Windows NT establece los dos bits superiores. Por ejemplo, una partición FAT desactivada tiene un valor de Indicador de sistema de 0xC6 y una partición NTFS con tolerancia a errores desactivada tiene un valor de Indicador de sistema de 0xC7.

Indicador de inicio

El Indicador de inicio muestra qué partición está activa o se puede iniciar. En un disco sólo puede haber una partición activa. En la partición activa, el valor de Indicador de inicio se establece en 0x80. Las otras particiones del disco se establecen en 0x00. El registro de inicio principal (que se describe posteriormente con más detalle) busca este indicador para localizar el sector de inicio activo.

Cara de inicio y de fin, Cilindro y Sector

Los campos Cara de inicio y de fin, Cilindro y Sector son muy importantes en lo relativo a cómo Windows NT interactúa con el disco.

El número máximo de caras (cabezales de lectura y escritura) que se puede representar con 1 byte es 256. El número máximo de cilindros que se puede representar con 10 bits es 1024. El número máximo de sectores que se puede representar con 6 bits es 63 porque el recuento de sectores se inicia en 1 (mientras que el recuento de cilindros y caras se inicia en 0).

El valor de Cilindro, representado por 10 bits, es demasiado grande para ajustarse en un único byte. Para almacenar 10 bits, se toman dos bits del byte que almacena el valor de Sector de 6 bits.

Con un tamaño de sector estándar de 512 bytes, los 24 bits que se utilizan para registrar las direcciones de sector de inicio y de fin se traducen en un tamaño máximo posible de partición de 7,8 GB (8.455.716.864 bytes), que se pueden describir con estos campos. Esto es especialmente importante debido a que la interfaz de BIOS INT 13 que define cómo interactúa el BIOS del sistema con el disco duro emplea los mismos tamaños de campos.

Sectores relativos

El campo Sectores relativos representa el desplazamiento desde el inicio de la tabla de particiones hasta el inicio de la partición, contando por sectores.

Número de sectores

El Número de sectores representa el número total de sectores de la partición.

NOTA: los campos Sectores relativos y Número de sectores tienen un tamaño de 32 bits cada uno. En la mayor parte de los casos, ambos juntos contienen la misma información que los valores de Cara de inicio y de fin, Cilindro y Sector, que se representan con un total de 24 bits para Inicio y 24 bits para Fin.

Proceso de inicio de Windows NT

En los equipos basados en Intel, el BIOS del sistema controla el proceso de inicio del sistema operativo. Tras la comprobación automática durante el encendido (POST, Power On Self Test) inicial, cuando se inicializan los componentes del hardware, el BIOS del sistema identifica el dispositivo de inicio. Normalmente se trata de un disquete o un disco duro. En el caso del disco duro, el BIOS lee el primer sector físico del disco, denominado sector de inicio principal, y carga su imagen en memoria. Después, el BIOS transfiere la ejecución a esa imagen del sector de inicio principal.

El Registro de inicio principal contiene la tabla de particiones y una pequeña parte de código ejecutable. El código ejecutable examina la tabla de particiones e identifica la partición activa (o de inicio). A continuación, el registro de inicio principal busca la ubicación de inicio de la partición activa en el disco y carga en memoria una imagen de su primer sector, denominado Sector de inicio. Después, el registro de inicio principal transfiere la ejecución a esa imagen del sector de inicio.

Mientras que el registro de inicio principal suele ser independiente del sistema operativo, el sector de inicio de la partición activa depende del sistema operativo y del sistema de archivos. En el caso de Windows NT y Windows NT Advanced Server, el sector de inicio es el responsable de localizar el archivo ejecutable, NTLDR, que continúa el proceso de inicio. La interfaz de BIOS INT 13 proporciona los únicos servicios de disco disponibles para el código del sector de inicio en esta fase del inicio del sistema. El código del sector de inicio debe ser capaz de buscar NTLDR y estructuras de datos de archivos de sistema como el directorio raíz y la Tabla de asignación de archivos (FAT) en el caso de un volumen FAT de MS-DOS o la Tabla de archivos principal en el caso de un volumen NTFS. Éstas deben estar presentes en el área del disco a la que apunta la estructura de caras, cilindros y sectores de 24 bits que utiliza la interfaz de BIOS INT 13 y la tabla de particiones. Esto limita el tamaño de la partición de sistema a 7,8 gigabytes, independientemente del sistema de archivos que se utilice.

NOTA: puede que se apliquen otras restricciones dependiendo del hardware y el sistema de archivos del equipo. Algunas de esas restricciones se describen a continuación.

Para poder acomodar particiones mayores de 7,8 gigabytes, Windows NT omite los valores de los campos de dirección del sector de inicio y de fin de la tabla de particiones y utiliza los campos Desplazamiento relativo y Número de sectores. Esto proporciona ocho bits adicionales para representar los sectores. Estos bits adicionales permiten describir particiones de hasta 2^32 sectores.

Con un tamaño de sector estándar de 512 bytes, los 32 bits que se utilizan para representar el Desplazamiento relativo y el Número de sectores se traducen en un tamaño máximo posible de partición de 2 terabytes o 2.199.023.255.552 bytes.

Al crear particiones en un disco, Windows NT escribirá los valores correctos en los campos de la tabla de particiones siempre que sea posible. Cuando el número total de sectores de una partición supera el número que se puede describir en la notación de cara, cilindro y sector, Windows NT escribe los valores máximos permitidos de estos campos en la tabla de particiones. Esto impide que el BIOS del sistema trate de calcular direcciones de inicio y de fin basadas en datos incorrectos.

Por ejemplo, suponga que utiliza una unidad SCSI de 3,5 GB conectada a un controlador SCSI Adaptec serie 154x. Si la característica de traducción de sectores extendida está desactivada en el adaptador, podría informar de las siguientes características de disco al BIOS del sistema:
 Cylinders: 1023, Sides: 64, Sectors: 32
que se traduce en 1 gigabyte, aproximadamente. Con la traducción extendida activada, se podría informar de las siguientes características del dispositivo:
 Cilindros: 435, Caras: 255, Sectores: 63
que se traduce en 3,5 GB, aproximadamente.

Una vez que Windows NT se ha iniciado y está en ejecución, utiliza sus controladores SCSI para interactuar directamente con el disco sin utilizar la interfaz de BIOS INT 13. Por lo tanto, durante el funcionamiento normal los parámetros del BIOS no son importantes. Sin embargo, las diferencias son críticas si se va a dar formato al disco con una sola partición que se utilizará como unidad de inicio.

Sin la traducción extendida, Windows NT observa que el disco es mayor de lo que indican los parámetros del BIOS. Cuando Windows NT crea particiones en el disco durante la instalación inicial, las direcciones de sector de inicio y de fin se rellenan con los valores máximos posibles. Esto hace imposible que el código del registro de inicio principal funcione correctamente a pesar de que la unidad tiene un tamaño inferior a 7,8 gigabytes.

Con la traducción extendida, Windows NT será capaz de escribir valores válidos para las direcciones de inicio y de fin en la tabla de particiones y, por lo tanto, será posible iniciar la partición.

Los mensajes de error siguientes pueden aparecer cuando no está activada la traducción extendida y el registro de inicio principal es capaz de localizar el sector de inicio de la partición activa:
Error al cargar el sistema operativo.
O bien
No se encuentra el sistema operativo.

Sistemas de archivos

FAT y HPFS tienen límites internos de 4 GB debido a que utilizan campos de 32 bits para almacenar tamaños de archivo. NTFS utiliza campos de 64 bits para todos los tamaños, lo que permite que sus estructuras de datos manipulen volúmenes de hasta 2^64 bytes (16 exabytes o 18.446.744.073.709.551.616 bytes).

Este valor es el límite teórico para el sistema de archivos NTFS. En la práctica, los límites se ven afectados por el tamaño máximo de partición permitido que se describió anteriormente, lo que disminuye el tamaño de una partición NTFS a 2 terabytes aproximadamente. Como los campos de 32 bits de la tabla de particiones hacen referencia al número de sectores de la partición, los discos con tamaños de sector más grandes se traducen a los mayores tamaños de partición permitidos. Actualmente, Windows NT admite tamaños de sector de hasta 4 Kilobytes. Con sectores de 4 KB, Windows NT puede admitir una partición de 16 terabytes. A medida que haya nuevos esquemas de hardware o software disponibles, NTFS será capaz de controlar tamaños de volúmenes bastante más grandes.

Tipos de unidades y controladores

Para representar el número de cilindros, cabezales y sectores por pista, las unidades IDE utilizan una estructura de datos diferente de la tabla de particiones y la interfaz de BIOS INT 13. Según las especificaciones de IDE, el número máximo de sectores es de 65536, el número máximo de cabezales es de 16 y el número de sectores por pista es de 255. Esto da como resultado un máximo de 136,9 gigabytes, pero debido a la restricción de que la interfaz de BIOS/IDE utilice el mínimo común denominador, el resultado es un límite de unos 528 MB para una unidad IDE de un equipo con bus ISA basado en Intel. Existen unidades y controladores nuevos que utilizan una "Tabla de parámetros de unidades mejorada" para traducir entre la distribución de sectores lógicos interna del controlador IDE y la distribución de sectores lógicos a los que apunta la interfaz de BIOS INT 13. Estos controladores y dispositivos pueden admitir discos más grandes. El comando SCSI II establece usos de su propia forma de direccionamiento de sectores que actualmente admite discos de aproximadamente 7 gigabytes.

Volúmenes de Windows NT con tolerancia a errores

A través del uso de grupos de volúmenes y conjuntos de bandas, Windows NT y Windows NT Advanced Server permiten la construcción de volúmenes lógicos a partir de múltiples particiones de disco físico. Esta técnica permite a Windows NT superar las limitaciones físicas del hardware que imponen diversos controladores de disco y construir un volumen lógico mayor de lo que puede admitir un único disco por sí mismo.

NOTA: un volumen lógico se construye de forma que tenga la misma apariencia que una partición de disco físico y debe ajustarse a la distribución de la tabla de particiones descrita anteriormente. Es decir, una construcción con tolerancia a errores, por ejemplo un grupo de volúmenes, no debe tener más de 2^32 sectores en total (o 2 terabytes a 512 bytes por sector).

Propiedades

Id. de artículo: 114841 - Última revisión: miércoles, 14 de enero de 2004 - Versión: 3.0
La información de este artículo se refiere a:
  • Microsoft Windows NT Advanced Server 3.1
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Workstation 3.1
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Advanced Server 3.1
Palabras clave: 
kbother KB114841

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com