Processo di avvio di Windows NT e vincoli del disco rigido

Traduzione articoli Traduzione articoli
Identificativo articolo: 114841 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo Ŕ stato precedentemente pubblicato con il codice di riferimento I114841
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

Questo articolo descrive i vincoli di dimensione del disco rigido presenti in Windows NT e Windows NT Advanced Server. Per capire tali vincoli, Ŕ necessario capire sia le strutture di dati che definiscono le partizioni dei dischi, sia le interazioni tra Windows NT e l'interfaccia BIOS del sistema utilizzata durante il processo di avvio del sistema operativo e dell'hardware.

Informazioni

Tabella delle partizioni

La struttura dei dati che descrive le partizioni del disco rigido Ŕ nota con il nome di tabella delle partizioni. ╚ composta da un massimo di quattro voci a 16 bit, ciascuna delle quali dispone di 10 campi che descrivono i seguenti attributi di ogni partizione:
   CAMPO               DIMENSIONE
   -----------------   --------
   Boot Flag           1  byte
   Starting Side       1  byte
   Starting Cylinder   10 bit
   Starting Sector     6  bit
   System Indicator    1  byte
   Ending Side         1  byte
   Ending Cylinder     10 bit
   Ending Sector       6  bit
   Relative Sectors    4  byte
   Number of Sectors   4  byte

System Indicator

Il campo System Indicator Ŕ utilizzato per specificare il tipo di file system contenuto nella partizione. Di seguito sono riportati alcuni valori comuni:
   VALORE  FILE SYSTEM
   -----   -----------
   0x0B    Partizioni Fat32 primarie fino a 2047 GB
   0x0C    Come 0x0B, utilizza le estensioni 0x13 Int dell'indirizzamento logico dei blocchi
   0x0E    Come 0x06, utilizza le estensioni 0x13 Int dell'indirizzamento logico dei blocchi
   0x0F    Come 0x05, utilizza le estensioni 0x13 Int dell'indirizzamento logico dei blocchi
   0x05    Partizione estesa
   0x06    Formato FAT BIGDOS
   0x07    IFS, ad esempio, HPFS e NTFS
   0x1C    Partizione di ripristino IBM
Quando una partizione appartiene a un insieme FT (Fault Tolerant), Windows NT imposta il bit massimo di System Indicator per distinguerlo da partizioni non FT dello stesso tipo. Ad esempio, una partizione FAT FT ha un valore di System Indicator di 0x86, mentre una partizione NTFS FT ha un valore di System Indicator di 0x87.

Quando un membro di un insieme FT Ŕ disabilitato, Windows NT imposta i due bit pi¨ elevati. Ad esempio, una partizione FAT disabilitata ha un valore di System Indicator di 0xC6, mentre una partizione NTFS FT ha un valore di System Indicator di 0xC7.

Boot Flag

Il campo Boot Flag indica quale partizione Ŕ attiva o di avvio. Pu˛ essere attiva una sola partizione per disco. Il valore di Boot Flag per la partizione attiva Ŕ impostato a 0x80. Altre partizioni del disco sono impostate a 0x00. Il record di avvio principale, descritto di seguito nel dettaglio, cerca questo flag per individuare il settore di avvio attivo.

Starting ed Ending Side, Cylinder e Sector

I campi Starting ed Ending Side, Cylinder e Sector sono molto importanti in relazione al modo in cui Windows NT interagisce con il disco.

Il numero massimo di facce (testine di lettura/scrittura) che possono essere rappresentate con 1 byte Ŕ 256. Il numero massimo di cilindri che possono essere rappresentati con 10 bit Ŕ 1024. Il numero massimo di settori che possono essere rappresentati con 6 bit Ŕ 63 in quanto i settori iniziano dal numero 1, mentre i cilindri e i lati iniziano dal numero 0.

Il valore Cylinder, rappresentato da 10 bit, Ŕ troppo elevato per essere contenuto in un unico byte. Per memorizzare 10 bit, due bit vengono prelevati dal byte in cui viene memorizzato il valore Sector a 6 bit.

Con una dimensione di settore standard di 512 byte, i 24 bit utilizzati per registrare gli indirizzi del record di avvio e fine si traducono in una partizione della larghezza massima di 7,8 GB (8.455.716.864 byte) che pu˛ essere descritta con questi campi. Si tratta di un dato particolarmente importante in quanto le stesse dimensioni di campo vengono impiegate dall'interfaccia BIOS INT 13 che definisce in che modo il BIOS del sistema interagisce con il disco rigido.

Relative Sectors

Il campo Relative Sectors rappresenta lo scarto in settori dall'inizio della tabella delle partizioni all'inizio della partizione.

Number of Sectors

Il campo Number of Sectors rappresenta il numero totale di settori della partizione.

NOTA: i campi Relative Sectors e Number of Sectors hanno ciascuno una dimensione di 32 bit. Nella maggior parte dei casi, insieme contengono le stesse informazioni dei campi Starting ed End Side, Cylinder e Sector che sono rappresentate con un totale di 24 bit per l'inizio e 24 bit per la fine.

Processo di avvio di Windows NT

Nei computer che dispongono di processori Intel, il processo di avvio del sistema operativo Ŕ controllato dal BIOS del sistema. Dopo il test POS (Power On Self Test) iniziale, quando vengono inizializzati i componenti hardware, il BIOS del sistema identifica la periferica di avvio. Si tratta solitamente di un disco floppy o di un disco rigido. Nel caso di un disco rigido, il BIOS legge il primo settore fisico del disco, denominato record di avvio principale, ne carica un'immagine in memoria e quindi trasferisce tale immagine al settore di avvio principale.

Il record di avvio principale contiene la tabella delle partizioni e il codice eseguibile necessario per esaminare la tabella e identificare la partizione attiva. Il record di avvio principale trova quindi sul disco la posizione di partenza della partizione attiva e carica in memoria un'immagine di tale primo settore, denominato settore di avvio, quindi trasferisce l'esecuzione a tale immagine.

Mentre il record di avvio principale Ŕ generalmente indipendente dal sistema operativo, il settore di avvio della partizione attiva dipende sia dal sistema operativo che dal file system. Nel caso di Windows NT e Windows NT Advanced Server, il settore di avvio Ŕ responsabile di identificare il file eseguibile NTLDR, che continuerÓ il processo di avvio. Gli unici servizi di dischi disponibili al codice del settore di avvio in questa fase del processo di avvio del sistema sono forniti dall'interfaccia INT 13 del BIOS. Il codice del settore di avvio deve essere in grado di trovare il file NTLDR e le strutture di dati del file system, quali la directory principale, la tabella di allocazione dei file (FAT) nel caso di un volume FAT MS-DOS o la tabella dei file principale nel caso di un volume NTFS. Tali tabelle devono essere presenti all'interno dell'area del disco indirizzabile dalla struttura faccia, cilindro e settore a 24 bit utilizzata dall'interfaccia INT 13 del BIOS e dalla tabella delle partizioni. Questo limita la dimensione della partizione di sistema a 7,8 gigabyte indipendentemente dal file system utilizzato.

NOTA: a seconda del file system e dell'hardware del computer, possono venire applicati altri vincoli. Alcuni di questi vincoli sono descritti di seguito.

Per poter gestire partizioni superiori a 7,8 gigabyte, Windows NT ignora gli indirizzi contenuti nei campi Starting ed Ending Sector della tabella delle partizioni a favore dei valori dei campi Relative Offset e Number of Sectors. Questo rende disponibili altri 8 bit per rappresentare i settori, che consentono alle partizioni di essere descritte fino a un massimo di 2^32 settori.

Con una dimensione di settore standard di 512 byte, i 32 bit utilizzati per rappresentare i valori Relative Offset e Number of Sectors si traducono in una partizione della dimensione massima di 2 terabyte ovvero 2.199.023.255.552 byte.

In fase di partizionamento di un disco, Windows NT scrive i valori corretti nei campi della tabella delle partizioni ogni volta che Ŕ possibile. Quando il numero totale di settori di una partizione supera il numero che pu˛ essere descritto nella notazione faccia, cilindro, settore, Windows NT scrive nella tabella delle partizioni i valori massimi consentiti per questi campi. Questo impedisce al BIOS del sistema di tentare di calcolare gli indirizzi iniziali e finali sulla base di dati errati.

Ad esempio, si supponga di disporre di un'unitÓ SCSI da 3,5 GB collegata a un controller SCSI Adaptec serie 154x. Se la funzione di traduzione del settore esteso Ŕ disabilitata nella scheda, potrebbe riportate le seguenti caratteristiche di disco nel BIOS del sistema:
   Cilindri: 1023, Facce: 64, Settori: 32
che si traducono in 1 gigabyte. Con la funzione di traduzione estesa abilitata, la periferica potrebbe essere segnalata con le seguenti caratteristiche:
   Cilindri: 435, Facce: 255, Settori: 63
che si traducono in 3,5 GB.

Una volta che Windows NT Ŕ in esecuzione, utilizza i propri driver SCSI per interagire direttamente con il disco senza utilizzare l'interfaccia INT 13 del BIOS. Pertanto, durante le normali operazioni i parametri del BIOS sono sostanzialmente inutili. Le differenze diventano fondamentali se il disco deve essere formattato con una sola partizione e utilizzato come unitÓ di avvio.

Senza traduzione estesa, Windows NT nota che il disco Ŕ di dimensioni superiori rispetto ai parametri indicati dal BIOS. Quando Windows NT partizionerÓ l'unitÓ durante l'installazione iniziale, gli indirizzi dei settori iniziale e finale verranno completati con i rispettivi valori massimi consentiti. Questo rende possibile per il record di avvio principale funzionare correttamente nonostante l'unitÓ sia inferiore a 7,8 gigabyte.

Con la traduzione estesa, Windows NT sarÓ in grado di scrivere valori validi per gli indirizzi iniziale e finale nella tabella delle partizioni e pertanto la partizione rimarrÓ avviabile.

I seguenti messaggi di errore potrebbero essere visualizzati quando la traduzione estesa non Ŕ abilitata e il record di avvio principale non Ŕ in grado di individuare il settore di avvio della partizione attiva:
Errore durante il caricamento del sistema operativo.
Oppure
Sistema operativo mancante.

File System

FAT e HPFS dispongono entrambi di limiti interni di 4 GB dettati dal fatto che utilizzano campi a 32 bit per memorizzare le dimensioni dei file. NTFS utilizza campi a 64 bit per tutte le dimensioni, permettendo alle proprie strutture di dati di gestire volumi fino a 2^64 byte ovvero 18.446.744.073.709.551.616.

Questo valore Ŕ il limite teorico per il file system NTFS. I limiti pratici hanno invece a che vedere con la dimensione massima della partizione descritta sopra, che limita la dimensione di una partizione NTFS a circa 2 terabyte. PoichÚ i campi a 32 bit della tabella delle partizioni si riferiscono al numero di settori della partizione, i dischi con dimensioni di settore superiori consentono partizioni di dimensione superiore. Attualmente Windows NT supporta settori della dimensione massima di 4 kilobyte. Con settori di questa dimensione, Windows NT Ŕ in grado di supportare una partizione di 16 terabyte. Via via che verranno resi disponibili nuovi modelli hardware o software, NTFS sarÓ in grado di gestire volumi di dimensioni considerevolmente superiori.

Tipi di unitÓ e di controller

Le unitÓ IDE utilizzano una struttura di dati diversa per rappresentare il numero di cilindri, testine e settori per traccia rispetto alla tabella delle partizioni e all'interfaccia INT 13 del BIOS. In base alle specifiche IDE, il numero massimo di cilindri Ŕ 65.536, il numero massimo di testine Ŕ 16 e il numero massimo di settori per traccia Ŕ 255. Questo si traduce in una dimensione massima di 136,9 gigabyte, ma poichÚ l'interfaccia BIOS/IDE Ŕ vincolata all'utilizzo del minimo comune denominatore, il risultato Ŕ un limite di circa 528 MB per un'unitÓ IDE in un computer bus ISA basato su processore Intel. Ci sono nuove unitÓ e driver che utilizzano una tabella di parametri di unitÓ avanzata per eseguire la traduzione tra il layout dei settori logici interno all'unitÓ IDE e il layout dei settori logici indirizzabile dall'interfaccia INT 13 del BIOS. Questi driver e queste periferiche supportano dischi di dimensioni superiori. L'insieme dei comandi SCSI II utilizza la propria forma di indirizzamento di settori, la quale attualmente supporta dischi di circa 7 gigabyte.

Volumi di Windows NT a tolleranza d'errore

Attraverso l'utilizzo di insiemi di volumi e di stripe, Windows NT e Windows NT Advanced Server permettono la creazione di volumi logici da partizioni multiple di dischi fisici. Questa tecnica permette a Windows NT di superare i limiti fisici dell'hardware imposti dai vari controller di disco e crea un volume logico superiore rispetto a quello che potrebbe supportare un singolo disco.

NOTA: un volume logico viene creato in modo da assomigliare esattamente a una partizione di disco fisico oltre a dover essere conforme al layout della tabella delle partizioni descritta in precedenza. Questo significa che un costrutto di tolleranza d'errore, ad esempio un insieme di volume, non deve avere oltre 2^32 settori (o 2 terabyte di 512 byte per settore).

ProprietÓ

Identificativo articolo: 114841 - Ultima modifica: martedý 9 novembre 2004 - Revisione: 2.2
Le informazioni in questo articolo si applicano 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
Chiavi:á
kbtshoot kbother KB114841
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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