Διαδικασία εκκίνησης και περιορισμοί σκληρού δίσκου των Windows NT

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 114841 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Αυτό το άρθρο, στο παρελθόν ήταν δημοσιευμένο με αριθμό GR114841
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Περίληψη

Αυτό το άρθρο περιγράφει τους περιορισμούς μεγέθους σκληρού δίσκου στα Windows NT και στον Windows NT Advanced Server. Για να κατανοήσετε αυτούς τους περιορισμούς, είναι απαραίτητο να κατανοήσετε τόσο τις δομές δεδομένων που καθορίζουν τα διαμερίσματα δίσκων όσο και τις αλληλεπιδράσεις μεταξύ των Windows NT και της διασύνδεσης BIOS του συστήματος που χρησιμοποιείται κατά τη διαδικασία εκκίνησης του υλικού και του λειτουργικού συστήματος.

Περισσότερες πληροφορίες

Ο πίνακας διαμερισμάτων



Η δομή δεδομένων που περιγράφει τα διαμερίσματα του σκληρού δίσκου είναι γνωστή ως πίνακας διαμερισμάτων. Αποτελείται από τέσσερις καταχωρήσεις (μέγιστος αριθμός) των 16 byte. Κάθε καταχώρηση έχει 10 πεδία που περιγράφουν τα εξής χαρακτηριστικά ενός διαμερίσματος:
   ΠΕΔΙΟ               ΜΕΓΕΘΟΣ
   -----------------   --------
   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

System Indicator



Το πεδίο System Indicator χρησιμοποιείται για να καθορίσει τον τύπο του συστήματος αρχείων που περιέχεται στο διαμέρισμα. Ορισμένες συνηθισμένες τιμές περιλαμβάνουν:
   ΤΙΜΗ    ΣΥΣΤΗΜΑ ΑΡΧΕΙΩΝ
   -----   ---------------
   0x0B    Κύρια διαμερίσματα Fat32 έως 2047 GB
   0x0C    Ίδια με την 0x0B, χρησιμοποιεί επεκτάσεις Logical Block Address Int 0x13
   0x0E    Ίδια με την 0x06, χρησιμοποιεί επεκτάσεις Logical Block Address Int 0x13
   0x0F    Ίδια με την 0x05, χρησιμοποιεί επεκτάσεις Logical Block Address Int 0x13
   0x05    Εκτεταμένο διαμέρισμα
   0x06    Μορφή πίνακα εκχώρησης αρχείων (FAT) BIGDOS.
   0x07    Installable File System (IFS), π.χ.: HPFS και NTFS
Όταν το διαμέρισμα αποτελεί τμήμα ενός συνόλου ανεκτικού σε σφάλματα (Fault Tolerant - FT), τα Windows NT ορίζουν το υψηλό bit του πεδίου System Indicator, προκειμένου να ξεχωρίζει από το διαμέρισμα του ιδίου τύπου που δεν είναι FT. Για παράδειγμα, ένα διαμέρισμα FAT ανεκτικό σε σφάλματα έχει τιμή πεδίου System Indicator 0x86 και ένα διαμέρισμα NTFS ανεκτικό σε σφάλματα έχει τιμή πεδίου System Indicator 0x87.

Όταν το μέλος ενός συνόλου FT έχει απενεργοποιηθεί, τα Windows NT ορίζουν τα δύο υψηλότερα bit. Για παράδειγμα, ένα απενεργοποιημένο διαμέρισμα FAT έχει τιμή πεδίου System Indicator 0xC6 και ένα απενεργοποιημένο διαμέρισμα NTFS ανεκτικό σε σφάλματα έχει τιμή πεδίου System Indicator 0xC7.

Boot Flag



Το πεδίο Boot Flag υποδεικνύει ποιο διαμέρισμα είναι ενεργό ή έχει δυνατότητα εκκίνησης. Μόνο ένα διαμέρισμα σε ένα δίσκο μπορεί να είναι ενεργό. Η τιμή του πεδίου Boot Flag για το ενεργό διαμέρισμα έχει οριστεί σε 0x80. Σε άλλα διαμερίσματα του δίσκου έχει οριστεί η τιμή 0x00. Το Master Boot Record (βασική εγγραφή εκκίνησης) (περιγράφεται παρακάτω λεπτομερώς) αναζητά αυτήν τη σημαία, για να εντοπίσει τον ενεργό τομέα εκκίνησης.

Starting και Ending Side, Cylinder και Sector



Τα πεδία Starting και Ending Side, Cylinder και Sector είναι πολύ σημαντικά όσον αφορά τον τρόπο με τον οποίο τα Windows NT αλληλεπιδρούν με το δίσκο.

Ο μέγιστος αριθμός πεδίων Side (κεφαλές ανάγνωσης/εγγραφής) που είναι δυνατό να αναπαρασταθεί με 1 byte είναι 256. Ο μέγιστος αριθμός πεδίων Cylinder που είναι δυνατό να αναπαρασταθεί με 10 bit είναι 1024. Ο μέγιστος αριθμός πεδίων Sector που είναι δυνατό να αναπαρασταθεί με 6 bit είναι 63, διότι τα πεδία Sector αρχίζουν να μετρούν από το 1 (σε αντίθεση με τα πεδία Cylinder και Side που αρχίζουν να μετρούν από το 0).

Η τιμή του πεδίου Cylinder, η οποία αναπαριστάται από 10 bit, είναι πάρα πολύ μεγάλη για να χωρέσει σε ένα μόνο byte. Για την αποθήκευση 10 bit, λαμβάνονται δύο bit από το byte στο οποίο αποθηκεύεται η τιμή Sector των 6 bit.

Με τυπικό μέγεθος τομέα 512 byte, τα 24 bit που χρησιμοποιούνται για την εγγραφή των διευθύνσεων του τομέα έναρξης και λήξης μεταφράζονται σε μέγιστο δυνατό μέγεθος διαμερίσματος 7.8GB (8,455,716,864 byte), που είναι δυνατό να περιγραφεί με αυτά τα πεδία. Αυτό είναι ιδιαίτερα σημαντικό, διότι τα ίδια μεγέθη πεδίου χρησιμοποιούνται από τη διασύνδεση INT 13 BIOS, η οποία καθορίζει τον τρόπο με τον οποίο το BIOS του συστήματος αλληλεπιδρά με τον σκληρό δίσκο.

Relative Sectors



Το πεδίο Relative Sectors αναπαριστά τη μετατόπιση από την αρχή του πίνακα διαμερισμάτων έως την αρχή του διαμερίσματος, μετρώντας ανά τομείς.

Number of Sectors



Το πεδίο Number of Sectors αναπαριστά το συνολικό αριθμό τομέων του διαμερίσματος.

ΣΗΜΕΙΩΣΗ: Τα πεδία Relative Sectors και Number of Sectors έχουν το καθένα μέγεθος 32 bit. Στις περισσότερες περιπτώσεις, περιέχουν μαζί τις ίδιες πληροφορίες με τις τιμές των πεδίων Starting και End Side, Cylinder και Sector που αναπαριστώνται συνολικά με 24 bit για το πεδίο Starting και 24 bit για το πεδίο Ending.

Διαδικασία εκκίνησης των Windows NT



Στους υπολογιστές που βασίζονται σε Intel, το BIOS του συστήματος ελέγχει την αρχική διαδικασία εκκίνησης του λειτουργικού συστήματος. Μετά τους αρχικούς αυτόματους ελέγχους ενέργειας (Power On Self Test - POST), όταν τα στοιχεία υλικού έχουν προετοιμαστεί, το BIOS του συστήματος αναγνωρίζει τη συσκευή εκκίνησης. Συνήθως, πρόκειται για δισκέτα ή για σκληρό δίσκο. Στην περίπτωση του σκληρού δίσκου, το BIOS διαβάζει τον πρώτο φυσικό τομέα του δίσκου, που ονομάζεται Master Boot Sector, και φορτώνει στη μνήμη μια εικόνα του. Κατόπιν, το BIOS μεταφέρει την εκτέλεση σε αυτήν την εικόνα του Master Boot Sector.

Το Master Boot Record περιέχει τον πίνακα διαμερισμάτων και ένα μικρό τμήμα εκτελέσιμου κώδικα. Ο εκτελέσιμος κώδικας εξετάζει τον πίνακα διαμερισμάτων και αναγνωρίζει το διαμέρισμα που είναι ενεργό (ή που έχει δυνατότητα εκκίνησης). Κατόπιν, το Master Boot Record εντοπίζει τη θέση έναρξης του ενεργού διαμερίσματος στο δίσκο και φορτώνει στη μνήμη μια εικόνα του πρώτου τομέα του, που ονομάζεται Boot Sector. Κατόπιν, το Master Boot Record μεταφέρει την εκτέλεση σε αυτήν την εικόνα του Boot Sector.

Ενώ το Master Boot Record είναι γενικά ανεξάρτητο από το λειτουργικό σύστημα, το Boot Sector του ενεργού διαμερίσματος εξαρτάται και από το λειτουργικό σύστημα και από το σύστημα αρχείων. Στην περίπτωση των Windows NT και του Windows NT Advanced Server, το Boot Sector είναι υπεύθυνο για τον εντοπισμό του εκτελέσιμου αρχείου, του NTLDR, το οποίο συνεχίζει τη διαδικασία εκκίνησης. Οι μόνες υπηρεσίες δίσκου που είναι διαθέσιμες για τον κώδικα του Boot Sector σε αυτήν τη φάση εκκίνησης του συστήματος παρέχονται από τη διασύνδεση BIOS INT 13. Ο κώδικας του Boot Sector πρέπει να μπορεί να εντοπίσει τις δομές δεδομένων του αρχείου NTLDR και του συστήματος αρχείων, όπως τον ριζικό κατάλογο, τον πίνακα εκχώρησης αρχείων (FAT) στην περίπτωση τόμου FAT MS-DOS ή το Master File Table (κύριος πίνακας αρχείων) στην περίπτωση τόμου NTFS. Αυτές πρέπει να υπάρχουν στην περιοχή του δίσκου που μπορεί να απευθυνθεί η δομή 24 bit πλευράς, κυλίνδρου και τομέα που χρησιμοποιεί η διασύνδεση BIOS INT 13 και ο πίνακας διαμερισμάτων. Αυτό περιορίζει το μέγεθος των διαμερισμάτων συστήματος σε 7.8 gigabyte, ανεξάρτητα από το σύστημα αρχείων που χρησιμοποιείται.

ΣΗΜΕΙΩΣΗ: Ενδέχεται να ισχύουν άλλοι περιορισμοί, ανάλογα με το υλικό υπολογιστή και το σύστημα αρχείων. Ορισμένοι από αυτούς τους περιορισμούς εξετάζονται παρακάτω.

Προκειμένου να διευθετηθούν διαμερίσματα με μέγεθος μεγαλύτερο από 7.8 gigabyte, τα Windows NT αγνοούν τις τιμές στα πεδία διευθύνσεων Starting και Ending sector του πίνακα διαμερισμάτων, ευνοώντας τα πεδία Relative Offset και Number Of Sectors. Με αυτόν τον τρόπο παρέχονται οκτώ επιπλέον bit για την αναπαράσταση τομέων. Αυτά τα επιπλέον bit επιτρέπουν την περιγραφή των διαμερισμάτων με έως και 2^32 τομείς.

Με τυπικό μέγεθος τομέα 512 byte, τα 32 bit που χρησιμοποιούνται για να αναπαραστήσουν τα πεδία Relative Offset και Number of Sectors μεταφράζονται σε μέγιστο δυνατό μέγεθος διαμερίσματος 2 terabyte ή (2,199,023,255,552 byte).

Κατά τη δημιουργία διαμερισμάτων σε ένα δίσκο, τα Windows NT εγγράφουν τις σωστές τιμές στα πεδία του πίνακα διαμερισμάτων, όταν αυτό είναι δυνατό. Όταν ο συνολικός αριθμός τομέων ενός διαμερίσματος υπερβαίνει τον αριθμό που είναι δυνατό να περιγραφεί σε όσα αναφέρονται στα πεδία Side, Cylinder, Sector, τα Windows NT εγγράφουν τις μέγιστες επιτρεπόμενες τιμές σε αυτά τα πεδία στον πίνακα διαμερισμάτων. Αυτό δεν επιτρέπει στο BIOS του συστήματος να επιχειρήσει να υπολογίσει τις διευθύνσεις Starting και Ending βάσει εσφαλμένων δεδομένων.

Για παράδειγμα, ας υποθέσουμε ότι έχετε μια μονάδα δίσκου SCSI 3.5GB συνδεδεμένη σε ένα ελεγκτή SCSI της σειράς Adaptec 154x. Εάν η δυνατότητα εκτεταμένης μετάφρασης τομέα είναι απενεργοποιημένη στον προσαρμογέα, ενδεχομένως να αναφέρει τα εξής χαρακτηριστικά δίσκου στο BIOS του συστήματος:
   Cylinders: 1023, Sides: 64, Sectors: 32
που μεταφράζονται σε 1 gigabyte περίπου. Με ενεργοποιημένη την εκτεταμένη μετάφραση, πιθανόν να αναφερθεί ότι η συσκευή έχει τα εξής χαρακτηριστικά:
   Cylinders: 435, Sides: 255, Sectors: 63
που μεταφράζονται σε 3.5GB περίπου.

Όταν τα Windows NT αρχίσουν να λειτουργούν, χρησιμοποιούν τα προγράμματα οδήγησης SCSI για να έχουν άμεση αλληλεπίδραση με το δίσκο, χωρίς να χρησιμοποιούν τη διασύνδεση BIOS INT 13. Συνεπώς, στη διάρκεια της κανονικής λειτουργίας οι παράμετροι του BIOS δεν είναι καθόλου σημαντικοί. Ωστόσο, οι διαφορές είναι σημαντικές εάν ο δίσκος πρόκειται να διαμορφωθεί με ένα μόνο διαμέρισμα και να χρησιμοποιηθεί ως μονάδα δίσκου εκκίνησης.

Χωρίς εκτεταμένη μετάφραση, τα Windows NT διαπιστώνουν ότι ο δίσκος είναι μεγαλύτερος από ό,τι υποδεικνύουν οι παράμετροι του BIOS. Όταν τα Windows NT δημιουργούν διαμερίσματα στο δίσκο κατά την αρχική εγκατάσταση, οι διευθύνσεις του τομέα έναρξης και λήξης συμπληρώνονται με τις μέγιστες δυνατές τιμές. Αυτό δεν επιτρέπει στον κώδικα του Master Boot Record να λειτουργήσει σωστά, παρά το γεγονός ότι η μονάδα δίσκου είναι μικρότερη από 7.8 gigabyte.

Με την εκτεταμένη μετάφραση, τα Windows NT μπορούν να εγγράψουν έγκυρες τιμές για τις διευθύνσεις έναρξης και λήξης στον πίνακα διαμερισμάτων και έτσι το διαμέρισμα διατηρεί τη δυνατότητα εκκίνησης.

Ίσως να εμφανιστούν τα εξής μηνύματα λάθους, όταν η εκτεταμένη μετάφραση δεν είναι ενεργοποιημένη και το Master Boot Record δεν μπορεί να εντοπίσει το Boot Sector του ενεργού διαμερίσματος:
Error loading operating system.
-ή-
Missing operating system.

Συστήματα αρχείων



Τα συστήματα αρχείων FAT και HPFS έχουν εσωτερικά όρια 4 GB, επειδή χρησιμοποιούν πεδία 32 bit για την αποθήκευση μεγεθών αρχείων. Το σύστημα αρχείων NTFS χρησιμοποιεί πεδία 64 bit για όλα τα μεγέθη, επιτρέποντας στις δομές δεδομένων του να χειρίζονται τόμους έως και 2^64 byte (16 exabyte ή 18,446,744,073,709,551,616 byte).

Αυτή η τιμή είναι το θεωρητικό όριο του συστήματος αρχείων NTFS. Τα πρακτικά όρια που έχουν σχέση με το μέγιστο επιτρεπόμενο μέγεθος διαμερίσματος που περιγράφηκε παραπάνω περιορίζουν το μέγεθος ενός διαμερίσματος NTFS σε 2 terabyte περίπου. Επειδή τα πεδία 32 bit του πίνακα διαμερισμάτων αναφέρονται στον αριθμό τομέων του διαμερίσματος, οι δίσκοι με μεγαλύτερα μεγέθη τομέα μεταφράζονται σε μεγαλύτερα επιτρεπόμενα μεγέθη διαμερισμάτων. Σήμερα, τα Windows NT υποστηρίζουν μεγέθη τομέα έως και 4 Kilobyte. Με τομείς 4KB, τα Windows NT είναι δυνατό να υποστηρίξουν διαμέρισμα 16 terabyte. Καθώς γίνονται διαθέσιμοι νέοι συνδυασμοί υλικού ή λογισμικού, το σύστημα αρχείων NTFS θα είναι σε θέση να χειρίζεται σημαντικά μεγαλύτερα μεγέθη τόμου.

Τύποι μονάδων δίσκου και ελεγκτών



Οι μονάδες δίσκου IDE χρησιμοποιούν διαφορετική δομή δεδομένων για την αναπαράσταση του αριθμού των κυλίνδρων, κεφαλών και τομέων ανά αυλάκι από τη δομή που χρησιμοποιούν ο πίνακας διαμερισμάτων και η διασύνδεση BIOS INT 13. Σύμφωνα με τις προδιαγραφές IDE, ο μέγιστος αριθμός κυλίνδρων είναι 65536, ο μέγιστος αριθμός κεφαλών είναι 16 και ο μέγιστος αριθμός τομέων ανά αυλάκι είναι 255. Αυτό αποδίδει μέγιστο αριθμό 136.9 gigabyte, επειδή όμως η διασύνδεση BIOS/IDE έχει περιοριστεί στη χρήση του χαμηλότερου κοινού παρονομαστή, το αποτέλεσμα είναι ένα όριο περίπου 528MB για μια μονάδα δίσκου IDE σε έναν υπολογιστή με δίαυλο ISA που βασίζεται σε Intel. Υπάρχουν νέες μονάδες δίσκου και νέα προγράμματα οδήγησης, τα οποία χρησιμοποιούν έναν πίνακα Enhanced Drive Parameter Table για μετατροπή μεταξύ της λογικής διάταξης τομέα που βρίσκεται μέσα στη μονάδα δίσκου IDE και της λογικής διάταξης τομέα στην οποία μπορεί να απευθυνθεί η διασύνδεση BIOS INT 13. Αυτά τα προγράμματα οδήγησης και οι συσκευές είναι δυνατό να υποστηρίξουν μεγαλύτερους δίσκους. Το σύνολο εντολών SCSI II χρησιμοποιεί τη δική του φόρμα διευθύνσεων τομέα, η οποία προς το παρόν υποστηρίζει δίσκους μεγέθους 7 gigabyte περίπου.

Τόμοι ανεκτικοί σε σφάλματα (Fault Tolerant) των Windows NT



Μέσω της χρήσης συνόλων τόμων και συνόλων διαγραμμίσεων, τα Windows NT και ο Windows NT Advanced Server επιτρέπουν την κατασκευή λογικών τόμων από πολλαπλά διαμερίσματα φυσικού δίσκου. Αυτή η τεχνική επιτρέπει στα Windows NT να ξεπεράσουν τους φυσικούς περιορισμούς υλικού που επέβαλαν διάφοροι ελεγκτές δίσκου και να δημιουργήσουν έναν λογικό τόμο μεγαλύτερο από αυτόν που μπορεί να υποστηρίξει μόνος του ένας μόνο δίσκος.

ΣΗΜΕΙΩΣΗ: Ένας λογικός τόμος δημιουργείται έτσι ώστε να μοιάζει ακριβώς όπως ένα διαμέρισμα φυσικού δίσκου και πρέπει να συμφωνεί με τη διάταξη του πίνακα διαμερισμάτων που περιγράφεται παραπάνω. Αυτό σημαίνει ότι μια δομή ανεκτική σε σφάλματα, όπως ένα σύνολο τόμων, δεν πρέπει να έχει περισσότερους από 2^32 τομείς συνολικά (ή 2 terabyte στα 512 byte ανά τομέα).

Ιδιότητες

Αναγν. άρθρου: 114841 - Τελευταία αναθεώρηση: Τρίτη, 13 Ιανουαρίου 2004 - Αναθεώρηση: 3.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Windows NT Advanced Server 3.1
  • 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
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
Λέξεις-κλειδιά: 
master kbother ntfault τομέας διαμερισμάτων πίνακας ntboot sector ntfilesys KB114841

Αποστολή σχολίων

 

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