Κεφάλαιο – 3
Μια λογική προσέγγιση σε δίσκους και λειτουργικό σύστημα
Ένας σκληρός δίσκος δεν μπορεί να ελέγξει μόνος του το υλικό του και απαιτεί δύο κύρια προγράμματα για να εκτελέσει τις λειτουργίες του: BIOS (Βασικό σύστημα εισόδου/εξόδου) και DOS (ή Λειτουργικό Σύστημα). Το λειτουργικό σύστημα του δίσκου δεν αλληλεπιδρά απευθείας με το υλικό και τον σκληρό δίσκο του υπολογιστή, αλλά απαιτεί το BIOS μεταξύ τους. Αυτός είναι ο λόγος για τον οποίο το BIOS παίζει σημαντικό ρόλο σε έναν υπολογιστή.
BIOS
Το κύριο καθήκον του BIOS είναι να παρέχει μια τυπική διεπαφή μεταξύ του υλικού ή των συσκευών που είναι συνδεδεμένες στον υπολογιστή και του DOS. Το BIOS του συστήματος είναι η διεπαφή χαμηλότερου επιπέδου μεταξύ του υλικού του συστήματός σας και του λογισμικού που εκτελείται σε αυτό. Εκτελεί αρκετές σημαντικές λειτουργίες στη διαχείριση της πρόσβασης σε σκληρούς δίσκους, όπως π.χ
- Ρουτίνες διακοπής του BIOS
- Ανίχνευση και διαμόρφωση του σκληρού σας δίσκου
- Υποστήριξη λειτουργίας διασύνδεσης σκληρού δίσκου
Για να καταστεί δυνατή η διαλειτουργικότητα μεταξύ διαφορετικών προϊόντων υλικού και λογισμικού, το BIOS ενός συστήματος προσαρμόζεται στις ανάγκες του υλικού του και παρέχει έναν τυπικό τρόπο πρόσβασης λογισμικού στο υλικό. Ονομάζονται υπηρεσίες BIOS και χρησιμοποιούνται από πολλά λειτουργικά συστήματα και προγράμματα εφαρμογών. Παρέχουν μια ενιαία διεπαφή στο σκληρό δίσκο, επομένως οι εφαρμογές δεν χρειάζεται να γνωρίζουν πώς να μιλάνε με κάθε τύπο σκληρού δίσκου ξεχωριστά.
Οι τυπικοί σκληροί δίσκοι IDE/ATA διαμορφώνονται στο BIOS χρησιμοποιώντας διάφορες ρυθμίσεις BIOS. Τα σύγχρονα προγράμματα BIOS μπορούν να εντοπίσουν σύγχρονες μονάδες IDE/ATA, να καθορίσουν αυτές τις ρυθμίσεις και να τις διαμορφώσουν αυτόματα. Το BIOS ελέγχει τους τύπους λειτουργιών διασύνδεσης που μπορούν να χρησιμοποιηθούν με τον σκληρό δίσκο, δουλεύοντας με το chipset συστήματος στη μητρική πλακέτα και το δίαυλο I/O του συστήματος.
INT 13H Interface και INT 13H Extensions
Η κύρια διεπαφή στο BIOS είναι η διακοπή λογισμικού 13H, η οποία είναι κοινώς γνωστή ως INT 13H, όπου το INT σημαίνει διακοπή και το 13H είναι ο αριθμός 19 σε δεκαεξαδικό συμβολισμό.
Θα μελετήσουμε και θα συζητήσουμε τη χρήση των διακοπών στον προγραμματισμό λεπτομερώς κατά τη φάση προγραμματισμού αυτού του βιβλίου. Η διεπαφή Int13H υποστηρίζει μια ποικιλία διαφορετικών εντολών που μπορούν να δοθούν στο BIOS, το οποίο στη συνέχεια τις μεταβιβάζει στον σκληρό δίσκο. Το Interrupt 13H περιλαμβάνει τις περισσότερες από τις εργασίες που πρέπει να εκτελέσουμε στο δίσκο, όπως ανάγνωση, εγγραφή, μορφοποίηση κ.λπ.
Η χρήση και η εργασία με το Int13H απαιτεί από το πρόγραμμα κλήσης να γνωρίζει τις συγκεκριμένες παραμέτρους του σκληρού δίσκου και να παρέχει στις ρουτίνες ακριβείς διευθύνσεις κεφαλής, κυλίνδρου και τομέα για πρόσβαση στο δίσκο.
Το BIOS χρησιμοποιεί τη γεωμετρία του σκληρού δίσκου όπως έχει διαμορφωθεί στο πρόγραμμα εγκατάστασης του BIOS. Η διεπαφή Int13H εκχωρεί 24 bit για να καθορίσει τη γεωμετρία του δίσκου, που αναλύεται ως εξής:
- 10 bit για τον αριθμό του κυλίνδρου ή 1024 κύλινδροι συνολικά.
- 8 bit για τον αριθμό κεφαλής ή 256 κεφαλές συνολικά.
- 6 bit για τον αριθμό τομέα ή 63 τομείς συνολικά.
Έτσι, ο μέγιστος δυνατός αριθμός τομέων σε έναν δίσκο μπορεί να είναι
= 1024 * 256 * 63
= 16515072
Όπως μπορούμε να δούμε εδώ, η διεπαφή INT 13H μπορεί να υποστηρίξει μονάδες δίσκου που περιέχουν έως και 16515072 τομείς στα 512 byte ανά τομέα. Έτσι, το μέγιστο μέγεθος δίσκου μπορεί να είναι
= 16515072 * 512
= 8455716864 byte
~ 8.456 GB
Έτσι, η διεπαφή INT 13H μπορεί να υποστηρίξει μέγεθος δίσκου περίπου 8.456 GB (ή 7.875 GiB).
Σήμερα, οι περισσότεροι χρήστες υπολογιστών χρησιμοποιούν σκληρούς δίσκους με χωρητικότητα πολύ μεγαλύτερη από 8 GB, έτσι η διεπαφή INT 13H έφτασε επιτέλους στο τέλος της χρησιμότητάς της στα σύγχρονα συστήματα υπολογιστών και έχει αντικατασταθεί από μια νεότερη διεπαφή που ονομάζεται επεκτάσεις INT 13H. Ωστόσο, το INT 13H μπορεί να εξακολουθεί να χρησιμοποιείται από το DOS και ορισμένα άλλα παλαιότερα λειτουργικά συστήματα και για άλλους σκοπούς συμβατότητας.
Επεκτάσεις Int 13H
Είναι πραγματικά ενδιαφέρον ότι όταν σχεδιάστηκε η διεπαφή INT 13H, κανείς δεν περίμενε ότι θα είχε 8 GB αποθηκευτικού χώρου σε έναν σκληρό δίσκο. Ωστόσο, σήμερα μπορούμε να νιώσουμε ότι ο σκληρός δίσκος των 8 GB είναι πολύ μικρότερος σε χωρητικότητα, ακόμη και για έναν οικιακό προσωπικό υπολογιστή.
Το παλιό πρότυπο έχει έναν σημαντικό περιορισμό: χρησιμοποιεί 24 bit πληροφοριών διεύθυνσης και, επομένως, μπορεί να χειριστεί μόνο μονάδες δίσκου που περιέχουν έως και 16.515.072 τομείς στα 512 byte ανά τομέα, δίνοντας μέγιστη χωρητικότητα 8.456 GB (ή 7.875 GiB).
Επομένως, το πρόβλημα ήταν να διευρυνθεί η διαδρομή πρόσβασης από 24 bit σε κάτι μεγαλύτερο, αλλά δεν ήταν δυνατή η επέκταση της υπάρχουσας διεπαφής INT13H BIOS γιατί αν προσπαθήσουμε να το κάνουμε αυτό, πολύ παλαιότερο υλικό και λογισμικό θα σταματούσαν να λειτουργούν. Και πρακτικά, δεν υπάρχει ελπίδα να αποκτήσετε την αξιοσέβαστη θέση στον κόσμο των υπολογιστών με πολύ παλαιότερο υλικό και λογισμικό που δεν λειτουργούν με την ανάπτυξή σας.
Ως εκ τούτου, μια νέα διεπαφή αναπτύχθηκε για να αντικαταστήσει το Int13H. Αυτές οι ρουτίνες ονομάζονται επεκτάσεις Int13H. Αυτή η νέα διεπαφή χρησιμοποιεί 64 bit αντί για 24 bit για διευθυνσιοδότηση και επιτρέπει μέγιστο μέγεθος σκληρού δίσκου 9,4 * 10 21 byte που είναι 9,4 τρισεκατομμύρια gigabyte .
Θα μάθουμε τη χρήση και των δύο επεκτάσεων INT 13H και INT 13H στην ενότητα προγραμματισμού αυτού του βιβλίου. Υπάρχει ένας αριθμός άλλων περιορισμών μεγέθους που υπήρχαν τις προηγούμενες ημέρες. Μερικά από τα δημοφιλή λογικά και φυσικά όρια έχουν περιγραφεί παρακάτω:
Το όριο των 2,1 GB
Αυτό το όριο μεγέθους παρατηρήθηκε σε ορισμένα παλαιότερα BIOS που εκχωρούν μόνο 12 bit για το πεδίο στη μνήμη RAM CMOS που δίνει τον αριθμό των κυλίνδρων. Επομένως, αυτός ο αριθμός μπορεί να είναι το πολύ 111111111111B (Μέγιστος δυνατός δυαδικός αριθμός 12 bit) που ισοδυναμεί με 4095. Με αυτόν τον τρόπο το μέγιστο μέγεθος δίσκου με 16 κεφαλές, στο οποίο μπορείτε να έχετε πρόσβαση, θα είναι:
= 4095 * 16 * 63 * 512 Byte
= 2113413120 Byte είναι προσβάσιμα.
Το όριο των 33,8 GB
Αυτό το εμπόδιο μεγέθους σκληρού δίσκου παρατηρήθηκε στις αρχές του 1999. Οι μεγάλοι δίσκοι αναφέρουν 16 κεφαλές, 63 τομείς/τροχιά και 16383 κυλίνδρους. Πολλά BIOS υπολογίζουν έναν πραγματικό αριθμό κυλίνδρων διαιρώντας τη συνολική χωρητικότητα με 16*63.
Για δίσκους μεγαλύτερους από 33,8 GB, αυτό οδηγεί σε έναν αριθμό κυλίνδρων μεγαλύτερο από 65535. Στη συγκεκριμένη περίπτωση, ορισμένες εκδόσεις του Award BIOS δεν μπορούν να χειριστούν μονάδες που έχουν περισσότερους από 65.535 κυλίνδρους. Τώρα το BIOS κολλάει ή κολλάει. Δεδομένου ότι οι παράμετροι του σκληρού δίσκου χρησιμοποιούν συνήθως 16 κεφαλές και 63 τομείς, αυτό επιτυγχάνεται σε χωρητικότητα περίπου 33,8 GB ή 31,5 GiB πριν προκύψει πρόβλημα.
Η λύση είναι να αναβαθμίσετε το BIOS ή να χρησιμοποιήσετε ένα βραχυκυκλωτήρα για να κάνετε τον δίσκο να φαίνεται μικρότερος.
Προδιαγραφή ATA για δίσκους IDE - Το όριο των 137 GB
Η παλιά προδιαγραφή ATA δεν επιτρέπει την πρόσβαση σε δίσκο μεγαλύτερο από 137 GB. Στην πραγματικότητα, χρησιμοποιεί μόνο 28 bit για να καθορίσει έναν αριθμό τομέα. Ωστόσο, το ATA-6 ορίζει μια επέκταση με αριθμό τομέα 48-bit.
Το όριο του μεγέθους του δίσκου δημιουργήθηκε με τον συνδυασμό το πολύ 65536 κυλίνδρων που μετρούν από 0 έως 65535, 16 κεφαλές που μετρούν από 0 έως 15 και 255 τομείς ανά κομμάτι μετρώντας από 1 έως 255, τη μέγιστη συνολική χωρητικότητα του δίσκου,
= 65535 * 16 * 255 Τομείς
= 267386880 Τομείς
= 136902082560 Byte (Τομέας 512 Byte το καθένα)
~ 137 GB
Υποστήριξη BIOS IDE δύο και τεσσάρων δίσκων
Σήμερα τα περισσότερα από τα σύγχρονα προγράμματα BIOS υποστηρίζουν αυτόματη ανίχνευση σκληρού δίσκου, η οποία επιτρέπει στο BIOS να εξετάζει κάθε σκληρό δίσκο για να προσδιορίσει τη λογική του γεωμετρία, τους υποστηριζόμενους τρόπους μεταφοράς και άλλες πληροφορίες. Αυτό μπορεί να γίνει είτε κατά την εγκατάσταση είτε δυναμικά κάθε φορά που εκκινείται το μηχάνημα, ανάλογα με το BIOS.
Το BIOS του συστήματος παρέχει εγγενή υποστήριξη για σκληρούς δίσκους IDE/ATA, επομένως ενδέχεται να υπάρχει ένας αριθμός παραμέτρων που μπορούν να ρυθμιστούν ώστε να ενημερώνουν το BIOS ποιοι σκληροί δίσκοι υπάρχουν στο σύστημα και πώς να τους ελέγχουν. Κάθε σκληρός δίσκος στο σύστημα θα έχει τις δικές του ρυθμίσεις, επομένως υπάρχει ένα σετ για τον κύριο κύριο και ένα για τον κύριο υποτελή και ούτω καθεξής. Ωστόσο, οι σκληροί δίσκοι SCSI διαμορφώνονται μέσω του προσαρμογέα κεντρικού υπολογιστή και του ενσωματωμένου SCSI BIOS.
Δεδομένου ότι οι μονάδες σκληρού δίσκου μεγέθους άνω των 8 GB δεν μπορούν να περιγραφούν με χρήση παραδοσιακών παραμέτρων γεωμετρίας IDE/ATA BIOS, επομένως η δυναμική αυτόματη ανίχνευση είναι ο τυπικός τρόπος ρύθμισης σύγχρονων μονάδων δίσκου, ειδικά στην περίπτωση παλαιότερων συστημάτων υπολογιστών, ωστόσο ο χρήστης μπορεί να ορίσει ορισμένες παραμέτρους μονάδας με μη αυτόματο τρόπο.
Ακολουθούν οι ρυθμίσεις που βρίσκονται συνήθως στο πρόγραμμα εγκατάστασης του BIOS για τη διαμόρφωση των σκληρών δίσκων IDE/ATA. Αν και στα σύγχρονα συστήματα ορισμένες από τις παλαιότερες ρυθμίσεις συμβατότητας ενδέχεται να μην υπάρχουν πλέον:
- Τύπος δίσκου: αρχικά χρησιμοποιήθηκε για να επιτρέπει στο χρήστη να επιλέξει τον σκληρό του δίσκο από μια προκαθορισμένη λίστα, αλλά τώρα χρησιμοποιείται για τον έλεγχο της αυτόματης ή μη αυτόματης ρύθμισης παραμέτρων για τη μονάδα.
- Μέγεθος: Μέγεθος της μονάδας σκληρού δίσκου σε δεκαδικά megabyte. Υπολογίζεται από άλλες παραμέτρους όπως Κύλινδροι, Κεφαλές και Τομείς κ.λπ.
- Κύλινδροι: Ο αριθμός των λογικών κυλίνδρων στο δίσκο. Heads: Ο αριθμός των λογικών κεφαλών στο δίσκο.
- Τομείς: Ο αριθμός των λογικών τομέων καθένας από 512 byte, σε κάθε λογικό κομμάτι στο δίσκο. Συνήθως οι σύγχρονες μονάδες σκληρού δίσκου έχουν 63 τομείς σε ένα μόνο κομμάτι.
- Προκαταρκτική αντιστάθμιση εγγραφής: είναι μια ρύθμιση συμβατότητας που καθορίζει σε ποιες ρυθμίσεις εγγραφής αριθμού κυλίνδρων πρέπει να γίνονται για πολύ παλαιότερες μονάδες δίσκου.
- Ζώνη προσγείωσης (Κεφαλές στάθμευσης): Η ζώνη προσγείωσης είναι ο κύλινδρος όπου σταθμεύουν οι κεφαλές από το BIOS για να αποφευχθεί η απώλεια δεδομένων ή η δημιουργία Bad Sectors, όταν η μονάδα είναι απενεργοποιημένη. Καθώς οι σύγχρονοι σκληροί δίσκοι σταθμεύουν αυτόματα τα κεφάλια τους, σπάνια χρειάζεται σήμερα.
- Λειτουργία μετάφρασης: Η λειτουργία μετάφρασης του BIOS που χρησιμοποιείται για την υποστήριξη σκληρών δίσκων άνω των 504 MB.
- Λειτουργία αποκλεισμού: Για έλεγχο της ικανότητας του BIOS να εκτελεί μεταφορές δίσκου σε μπλοκ.
- Λειτουργία προγραμματισμένης εισόδου/εξόδου (DMA): Η προγραμματισμένη λειτουργία εισόδου/εξόδου ή η λειτουργία DMA που χρησιμοποιείται για την εκτέλεση μεταφορών από και προς τον σκληρό δίσκο.
- Λειτουργία μεταφοράς 32 bit: Ελέγχει τη χρήση μεταφορών δεδομένων 32 bit υψηλότερης απόδοσης.
Περιορισμοί σε Συστήματα Αρχείων
Κάθε σύστημα αρχείων υποστηρίζει μέγιστο μέγεθος τόμου, μέγεθος αρχείου και αριθμό αρχείων ανά τόμο.
Τώρα, για παράδειγμα, γενικά οι όγκοι FAT16 και FAT32 περιορίζονται στα 4 GB και 32 GB (Γενικά) αντίστοιχα. Υπάρχουν ορισμένοι περιορισμοί που σχετίζονται με τα συστήματα αρχείων FAT που πρέπει να γνωρίζετε, που δίνονται παρακάτω:
- FAT12: Οι τόμοι FAT μικρότεροι από 16 MB μορφοποιούνται ως FAT12. Είναι ο παλαιότερος τύπος FAT και χρησιμοποιεί ένα δυαδικό 12-bit για τη διατήρηση αριθμών συμπλέγματος. Ένας τόμος που έχει μορφοποιηθεί με χρήση FAT12 μπορεί να χωρέσει έως και 4.086 συμπλέγματα, που ισούται με 2 12 μείον μερικές δεσμευμένες τιμές που θα χρησιμοποιηθούν στο FAT. (Θα το συζητήσουμε λεπτομερώς στη λογική δομή του δίσκου που θα δοθεί στη συνέχεια σε αυτό το κεφάλαιο). Επομένως το FAT12 είναι το πλέον κατάλληλο για μικρότερους όγκους. Χρησιμοποιείται σε δισκέτες και διαμερίσματα σκληρού δίσκου μικρότερα από περίπου 16 MB.
- FAT16: Το FAT16 χρησιμοποιεί έναν δυαδικό αριθμό 16 bit για να συγκρατεί αριθμούς συμπλέγματος. Ένας τόμος που χρησιμοποιεί FAT16 μπορεί να χωρέσει έως και 65.526 συμπλέγματα, που ισούται με 2 16 μείον μερικές δεσμευμένες τιμές που θα χρησιμοποιηθούν στο FAT. (Θα το συζητήσουμε λεπτομερώς στη λογική δομή του δίσκου που θα δοθεί στη συνέχεια σε αυτό το κεφάλαιο). Το FAT16 χρησιμοποιείται για όγκους σκληρού δίσκου που κυμαίνονται σε μέγεθος από 16 MB έως 2.048 MB. Τόμοι FAT16 μεγαλύτεροι από 2 GB δεν είναι προσβάσιμοι από υπολογιστές με MS-DOS, Windows 95/98/ME και πολλά άλλα λειτουργικά συστήματα. Αυτός ο περιορισμός προκύπτει επειδή αυτά τα λειτουργικά συστήματα δεν υποστηρίζουν μεγέθη συμπλέγματος μεγαλύτερα από 32 KB, με αποτέλεσμα το όριο των 2 GB. (Δείτε το όριο συμπλέγματος που δίνεται στη συνέχεια σε αυτό το κεφάλαιο).
- FAT32: Θεωρητικά, οι μέγιστοι τόμοι FAT32 μπορεί να είναι έως και 2048 GB (περίπου 2 Terabyte). Το FAT32 υποστηρίζεται από την έκδοση OEM SR2 των Windows 95, καθώς και από τα Windows 98/ME. Το FAT32 χρησιμοποιεί έναν αριθμό δυαδικού συμπλέγματος 28-bit (Θυμηθείτε! όχι 32, επειδή 4 από τα 32 bit είναι "Δεσμευμένα"). Επομένως, θεωρητικά το FAT32 μπορεί να χειριστεί τόμους με περισσότερα από 268 εκατομμύρια συμπλέγματα (Στην πραγματικότητα 268.435.456 συμπλέγματα) και θα υποστηρίζει μονάδες δίσκου μεγέθους έως 2 TB. Ωστόσο, για να γίνει αυτό, το μέγεθος του FAT μεγαλώνει πολύ. (Θα το συζητήσουμε στα θέματα που δίνονται στη συνέχεια σε αυτό το κεφάλαιο).
Η σύγκριση των τύπων λίπους έχει δοθεί στη συνέχεια, στον πίνακα.
NTFS: Το NTFS σημαίνει New Technology File System. Χρησιμοποιείται από Windows 2000/XP. Θεωρητικά, το μέγιστο μέγεθος διαμερίσματος NTFS είναι (2 64 – 1) συμπλέγματα.
Η λεπτομερής περιγραφή του συστήματος αρχείων NTFS ξεπερνά το όριο αυτού του βιβλίου, ωστόσο ορισμένοι περιορισμοί του έχουν δοθεί στον παρακάτω πίνακα:
Περιγραφή
|
Οριο |
Μέγιστο μέγεθος αρχείου
|
16 Exabyte – 1 KB (2 64 Byte – 1 KB) |
Μέγιστο μέγεθος όγκου
|
(2 64 – 1) συστάδες |
Αρχεία (και Φάκελοι) ανά τόμο
|
4.294.967.295 (2 32 – 1 ) Μύγες και φάκελοι |
Σύμπλεγμα
Η μικρότερη μονάδα χώρου στον σκληρό δίσκο για εκχώρηση στην οποία μπορεί να έχει πρόσβαση οποιοδήποτε λογισμικό είναι ο τομέας , ο οποίος περιέχει 512 byte. Είναι δυνατό να υπάρχει ένα σύστημα εκχώρησης για το δίσκο όπου σε κάθε αρχείο εκχωρούνται όσοι μεμονωμένοι τομείς χρειάζεται. Για παράδειγμα, ένα αρχείο 1 MB θα απαιτούσε περίπου 2.048 μεμονωμένους τομείς για την αποθήκευση των δεδομένων του.
Στην περίπτωση του συστήματος αρχείων FAT ή μάλλον μπορούμε να πούμε στα περισσότερα συστήματα αρχείων, δεν χρησιμοποιούνται μεμονωμένοι τομείς. Υπάρχουν διάφοροι λόγοι απόδοσης για αυτό. Όταν το DOS εγγράφει ορισμένες πληροφορίες στον σκληρό δίσκο, δεν εκχωρεί τον τομέα χώρου, αντίθετα χρησιμοποιεί μια νέα μονάδα αποθήκευσης που ονομάζεται σύμπλεγμα.
Το FAT σχεδιάστηκε πριν από πολλά χρόνια και είναι ένα απλό σύστημα αρχείων και δεν είναι ικανό να διαχειρίζεται μεμονωμένους τομείς. Αυτό που κάνει το FAT είναι να ομαδοποιεί τους τομείς σε μεγαλύτερα μπλοκ που ονομάζονται συμπλέγματα ή μονάδες κατανομής.
Ένα σύμπλεγμα είναι η μικρότερη μονάδα χώρου στο δίσκο που μπορεί να εκχωρηθεί σε ένα αρχείο. Αυτός είναι ο λόγος που τα cluster ονομάζονται συχνά μονάδες κατανομής. Μπορεί να είναι πολύ δύσκολο να διαχειριστείτε το δίσκο όταν τα αρχεία είναι σπασμένα σε κομμάτια 512 byte.
Ένας όγκος δίσκου 20 GB που χρησιμοποιεί τομείς 512 byte που διαχειρίζονται μεμονωμένα θα περιέχει πάνω από 41 εκατομμύρια μεμονωμένους τομείς και η παρακολούθηση αυτών των πολλών πληροφοριών απαιτεί χρόνο και πόρους. Ωστόσο, ορισμένα λειτουργικά συστήματα κατανέμουν χώρο σε αρχεία ανά τομέα, αλλά απαιτούν προηγμένη ευφυΐα για να γίνει αυτό σωστά.
Τα συμπλέγματα είναι ο ελάχιστος χώρος που εκχωρείται από το DOS κατά την αποθήκευση οποιασδήποτε πληροφορίας στο δίσκο. Ακόμη και για την αποθήκευση πληροφοριών μήκους μόνο ενός byte στο δίσκο απαιτείται τουλάχιστον μία περιοχή συμπλέγματος στην επιφάνεια του δίσκου.
Εάν ένα σύμπλεγμα μπορεί να αποθηκεύσει 512 byte πληροφοριών, τότε για να αποθηκεύσετε 513 byte θα χρειαστείτε δύο συμπλέγματα. Σε κάθε αρχείο πρέπει να εκχωρηθεί ένας ακέραιος αριθμός συμπλεγμάτων. Αυτό σημαίνει ότι εάν ένας τόμος χρησιμοποιεί συμπλέγματα που περιέχουν 4.096 byte, τότε ένα αρχείο 610 byte θα χρησιμοποιήσει ένα σύμπλεγμα άρα 4.096 byte στο δίσκο, αλλά ένα αρχείο 4.097 byte χρησιμοποιεί δύο συμπλέγματα, άρα 8.192 byte στο δίσκο.
Αυτός είναι ο λόγος που το μέγεθος του συμπλέγματος είναι τόσο σημαντικό για να μεγιστοποιήσετε την αποτελεσματική χρήση του δίσκου. Έτσι μπορούμε να καταλάβουμε ότι όσο μεγαλύτερα μεγέθη συμπλέγματος έχουν ως αποτέλεσμα τόσο περισσότερο σπατάλη χώρου.
Το σχήμα που δίνεται στη συνέχεια δείχνει τις ιδιότητες ενός αρχείου με το όνομα BINARY.C και διευκρινίζει το γεγονός του χώρου που χρησιμοποιείται από το αρχείο στο δίσκο. Το πραγματικό μέγεθος του αρχείου είναι 610 byte, αλλά καθώς το μεμονωμένο σύμπλεγμα είναι 4.096 byte, το αρχείο χρησιμοποιεί ένα σύμπλεγμα (4.096 byte) στο δίσκο.
Ένα σύμπλεγμα μπορεί να αποτελείται από έναν ή περισσότερους τομείς. Εξαρτάται από τον τύπο του δίσκου που χρησιμοποιείται. Καθώς ένα σύμπλεγμα μπορεί να αποτελείται από περισσότερους από έναν τομείς, η χρήση συμπλεγμάτων ως μονάδα εκχώρησης μειώνει το μέγεθος του πίνακα εκχώρησης αρχείων που χρησιμοποιεί το DOS για να διατηρεί τις πληροφορίες του χρησιμοποιούμενου και κενού χώρου στο δίσκο.
Το μέγεθος του συμπλέγματος καθορίζεται κυρίως από το μέγεθος του όγκου του δίσκου. Αν όχι αυστηρά, γενικά μεγαλύτεροι όγκοι χρησιμοποιούν μεγαλύτερα μεγέθη συμπλέγματος. Για τόμους σκληρού δίσκου, κάθε σύμπλεγμα κυμαίνεται σε μέγεθος από 4 τομείς (2.048 byte) έως 64 τομείς (32.768 byte).
Οι δισκέτες χρησιμοποιούν πολύ μικρότερα συμπλέγματα και σε ορισμένες περιπτώσεις χρησιμοποιούν ένα σύμπλεγμα μεγέθους μόλις 1 τομέα. Οι τομείς σε ένα σύμπλεγμα είναι συνεχείς, επομένως κάθε σύμπλεγμα είναι ένα συνεχές μπλοκ χώρου στο δίσκο.
Το μέγεθος του συμπλέγματος και επομένως το μέγεθος του διαμερίσματος ή του τόμου επειδή σχετίζονται άμεσα, έχει σημαντικό αντίκτυπο στην απόδοση και τη χρήση του δίσκου. Το μέγεθος του συμπλέγματος προσδιορίζεται όταν ο όγκος του δίσκου διαμερίζεται.
Υπάρχουν ορισμένα βοηθητικά προγράμματα όπως το Partition Magic που μπορούν να αλλάξουν το μέγεθος του συμπλέγματος ενός υπάρχοντος διαμερίσματος εντός των ορίων συγκεκριμένων συνθηκών, αλλά για τις γενικές περιπτώσεις, αφού επιλεγεί το μέγεθος του διαμερίσματος και το μέγεθος του συμπλέγματος, διορθώνεται.
Όπως έχουμε συζητήσει προηγουμένως ότι ο αριθμός κυλίνδρου ή τροχιάς ξεκινά από το 0 και ο αριθμός του πρώτου τομέα λαμβάνεται πάντα ως 1 και ένα ακόμη πράγμα που πρέπει να θυμάστε είναι ότι ο αριθμός του πρώτου συμπλέγματος λαμβάνεται πάντα ως 2.
Μέγεθος συμπλέγματος
Τα συμπλέγματα χρησιμοποιούνται για την κατανομή της περιοχής αποθήκευσης μόνο για την περιοχή δεδομένων. Η περιοχή FAT και καταλόγου δεν εκχωρείται σύμφωνα με το μέγεθος του συμπλέγματος. Σε ένα δίσκο που χρησιμοποιεί τομείς 512 byte, ένα σύμπλεγμα 512 byte περιέχει έναν τομέα, ενώ ένα σύμπλεγμα 4 KB περιέχει 8 τομείς.
Οι παρακάτω πίνακες παραθέτουν τα προεπιλεγμένα μεγέθη συμπλέγματος που χρησιμοποιούνται από το DOS για διάφορες μορφές δίσκων. Ωστόσο, το μέγεθος του συμπλέγματος μπορεί να διαφέρει από το προεπιλεγμένο μέγεθος σε ορισμένες περιπτώσεις:
Μονάδα δισκέτας (FDD) |
Τύποι μονάδας δίσκου |
Τομείς/Cluster |
Συνολικό μέγεθος συμπλέγματος σε byte (Τομείς 512 byte έκαστος) |
5,25” 360Kb FDD |
2 τομείς |
1.024 |
5,25” 1,2 Mb FDD |
1 τομέας |
512 |
3,5” 720 Kb FDD |
2 τομείς |
1.024 |
3,5” 1,44 Mb FDD |
1 τομέας |
512 |
3,5” 2,88MB FDD |
2 τομείς |
1.024 |
Τα FAT16, FAT32 και NTFS χρησιμοποιούν διαφορετικά μεγέθη συμπλέγματος ανάλογα με το μέγεθος του διαμερίσματος και κάθε σύστημα αρχείων έχει έναν μέγιστο αριθμό συμπλεγμάτων που μπορεί να υποστηρίξει. Όσο μικρότερο είναι το μέγεθος του συμπλέγματος, τόσο πιο αποτελεσματικά ένας δίσκος αποθηκεύει πληροφορίες, επειδή ο αχρησιμοποίητος χώρος μέσα σε ένα σύμπλεγμα δεν μπορεί να χρησιμοποιηθεί από άλλα αρχεία.
Ο παρακάτω πίνακας δείχνει τα προεπιλεγμένα μεγέθη συμπλέγματος για το διαμέρισμα συστήματος αρχείων FAT16 , FAT32 και NTFS. Το FAT 32 επιτρέπει πολύ πιο αποτελεσματική αποθήκευση και χρήση μεγαλύτερων σκληρών δίσκων, το 32 bit FAT είναι συμβατό μόνο με Windows 95 OSR-2 και Windows 98/ME και. Το FAT 16 υποστηρίζεται από MS-DOS, Windows 3.1, Windows 95 και Windows NT. Τα λειτουργικά συστήματα Windows 2000/XP χρησιμοποιούν το σύστημα αρχείων NTFS.
Σημείωση : Εδώ έχει γραφτεί 1 KiB για 1 Binary Kilobyte που σημαίνει ότι 1 KiB είναι 1024 Byte ή μπορούμε να πούμε ότι δύο τομείς των 512 Byte είναι ισοδύναμοι με 1KiB.
Καθώς το μέγεθος του διαμερίσματος FAT16 αυξάνεται, αυξάνεται και η σπατάλη χώρου στο δίσκο. Η χρήση του FAT32 μειώνει τα μεγέθη των συμπλεγμάτων και έτσι παρέχει αποτελεσματική αποθήκευση. Ενώ το FAT32 επιτρέπει τη χρήση μεγαλύτερων σκληρών δίσκων και πολύ μειωμένων μεγεθών συμπλέγματος, υπάρχει μια σημαντική εκτίμηση απόδοσης στη χρήση του FAT32 ότι οι τεράστιοι σκληροί δίσκοι με δεκάδες gigabyte έχουν κάνει το FAT32 απαραίτητο για νεότερα συστήματα. Μάλλον μπορούμε να πούμε ότι συχνά δεν έχετε πλέον πρακτική επιλογή μεταξύ FAT16 και FAT32.
Ας εξετάσουμε ένα διαμέρισμα 2.048 MB, το μεγαλύτερο που μπορεί να υποστηρίξει το FAT16. Εάν αυτό το διαμέρισμα έχει ρυθμιστεί σύμφωνα με το FAT16, θα έχει ως αποτέλεσμα έναν πίνακα εκχώρησης αρχείων με 65.526 συμπλέγματα σε αυτόν, με κάθε σύμπλεγμα να καταλαμβάνει 32 KiB χώρου στο δίσκο.
Το μεγάλο μέγεθος συμπλέγματος θα οδηγήσει πράγματι σε μεγάλη σπατάλη χώρου στο δίσκο. Επομένως, συνιστάται η χρήση του FAT32 σε αυτό το διαμέρισμα, κάτι που θα έχει ως αποτέλεσμα τη μείωση του μεγέθους του συμπλέγματος από 32 KiB σε 4 KiB.
Στην πραγματικότητα, αυτό θα μειώσει τη χαλάρωση στο δίσκο κατά ένα τεράστιο ποσό που μπορεί να είναι έως και 30% και δυνητικά θα απελευθερώσει εκατοντάδες megabyte προηγουμένως χαμένου χώρου στο δίσκο. Συνήθως είναι το σωστό σε αυτή την περίπτωση. Ωστόσο, έχει και την άλλη πλευρά του. Δεν λαμβάνουμε αυτό το μειωμένο μέγεθος συμπλέγματος δωρεάν.
Δεδομένου ότι κάθε σύμπλεγμα είναι μικρότερο, πρέπει να υπάρχουν περισσότερα από αυτά για να καλύπτουν την ίδια ποσότητα δίσκου. Έτσι, αντί για 65.526 συμπλέγματα, θα έχουμε τώρα 524.208.
Επιπλέον, οι καταχωρήσεις FAT στο FAT32 έχουν πλάτος 32-bit (Κάθε καταχώρηση 4 Byte) ενώ οι καταχωρήσεις του FAT16 είναι 16-bit (Εισαγωγή 2 Byte η καθεμία). Το τελικό αποτέλεσμα είναι ότι το μέγεθος του FAT είναι 16 φορές μεγαλύτερο για το FAT32 από ότι για το FAT16. Ο παρακάτω πίνακας συνοψίζει:
FAT 16 και FAT 32 για όγκο δίσκου 2.048 MB |
Τύπος FAT |
FAT16 |
FAT32 |
Μέγεθος συμπλέγματος |
32 KiB |
4 KiB |
Αριθμός καταχωρήσεων FAT |
65.526 |
524.208 |
Μέγεθος ΛΙΠΟΥΣ |
131052 Byte
(~ 128 KiB) |
2096832 Byte
(~ 2 MiB) |
Εάν αυξήσουμε το μέγεθος του όγκου FAT32 από 2 GB σε μέγεθος σε 8 GB, το μέγεθος του FAT αυξάνεται από περίπου 2 MiB σε 8 MiB. Η σημασία αυτού δεν είναι το γεγονός ότι ο τόμος FAT32 θα πρέπει να σπαταλήσει αρκετά megabyte χώρου στο δίσκο για να κρατήσει το FAT. Επειδή μόνο με αυτόν τον τρόπο εξοικονομείτε πολύ περισσότερο χώρο από αυτόν μειώνοντας το μέγεθος του ΛΙΠΟΥΣ. Το πραγματικό πρόβλημα είναι ότι το FAT κρατά όλους τους δείκτες συμπλέγματος για κάθε αρχείο στον τόμο. Η μεγάλη αύξηση του μεγέθους του FAT μπορεί να επηρεάσει αρνητικά την ταχύτητα του συστήματος.
Για αυτόν τον λόγο, είναι σημαντικό να περιορίσετε το μέγεθος του πίνακα εκχώρησης αρχείων σε έναν αριθμό λογικού μεγέθους. Στην πραγματικότητα, στις περισσότερες περιπτώσεις είναι θέμα εύρεσης μιας ισορροπίας μεταξύ του μεγέθους του συμπλέγματος και του μεγέθους του FAT. Ένα καλό παράδειγμα αυτού είναι οι επιλογές μεγέθους συμπλέγματος που έγιναν από το ίδιο το FAT32.
Δεδομένου ότι το FAT32 μπορεί να χειριστεί περίπου 268 εκατομμύρια μέγιστα συμπλέγματα, το μέγεθος συμπλέγματος 4 KiB είναι εννοιολογικά ικανό να υποστηρίξει έναν όγκο δίσκου 1 TiB (1.024 GiB) σε μέγεθος, αλλά το πρόβλημα είναι ότι το μέγεθος FAT θα έφτανε τότε πάνω από 1 GB όπως σύμφωνα με 268 εκατομμύρια φορές 4 byte ανά καταχώρηση.
Για αυτόν τον λόγο, το FAT32 χρησιμοποιεί μόνο συστάδες 4 KiB για όγκους μεγέθους έως 8 GiB και, στη συνέχεια, χρησιμοποιούνται μεγαλύτερα συμπλέγματα όπως φαίνεται στον πίνακα που δόθηκε πριν, για Μεγέθη συμπλέγματος. Το μέγιστο μέγεθος διαμερίσματος που υποστηρίζεται από το FAT32, το οποίο δηλώνεται επίσημα είναι 2.048 GiB (2 TiB).
Λογική Δομή Σκληρού Δίσκου
Βασικά, μπορούμε να διαιρέσουμε τη λογική δομή του σκληρού δίσκου στους ακόλουθους πέντε λογικούς όρους:
- MBR (Κύριο αρχείο εκκίνησης)
- DBR (DOS Boot Record)
- FAT (Πίνακες κατανομής αρχείων)
- Κατάλογος ρίζας
- Περιοχή Δεδομένων
Το παρακάτω σχήμα αντιπροσωπεύει την εννοιολογική διάταξη αυτών των λογικών όρων που σχηματίζουν τη λογική δομή ενός σκληρού δίσκου:
Λογική Δομή Σκληρού Δίσκου
Το Master Boot Record (MBR) ή μερικές φορές αναφέρεται ως The master partition table (MPT), περιέχει ένα μικρό πρόγραμμα για τη φόρτωση και εκκίνηση του ενεργού (ή εκκινήσιμου) διαμερίσματος από τη μονάδα σκληρού δίσκου. Η κύρια εγγραφή εκκίνησης περιέχει πληροφορίες και για τα τέσσερα κύρια διαμερίσματα της μονάδας σκληρού δίσκου, όπως τον τομέα έναρξης, τον τομέα λήξης, το μέγεθος του διαμερίσματος κ.λπ.
Το MBR βρίσκεται στον Απόλυτο Τομέα 0 ή μπορούμε να πούμε στον κύλινδρο 0, στην κεφαλή 0 και στον τομέα 1 και αν υπάρχουν περισσότερα από ένα διαμερίσματα στο δίσκο, υπάρχουν Εκτεταμένες Κύρια Εγγραφές Εκκίνησης, που βρίσκονται στην αρχή κάθε εκτεταμένου τόμου διαμερίσματος (Δείτε την εικόνα που δίνεται Επόμενο).
Το MBR δημιουργείται στη μονάδα σκληρού δίσκου εκτελώντας την εντολή FDISK.EXE του DOS. Ωστόσο, υπάρχουν πολλά άλλα λογισμικά διαθέσιμα για να κάνουν την ίδια εργασία. Χρησιμοποιώντας το FDISK οποιοδήποτε από αυτά τα διαμερίσματα μπορεί να γίνει ενεργό ή εκκινήσιμο.
Αυτό επιτρέπει στον τομέα εκκίνησης του ενεργού διαμερίσματος να λάβει τον έλεγχο κατά την εκκίνηση του συστήματος. Δεδομένου ότι η δισκέτα δεν έχει κατατμήσεις σε αυτήν, επομένως δεν υπάρχει MBR σε μια δισκέτα.
Δεδομένου ότι το DOS χρησιμοποιεί ένα μόνο κεφαλαίο αλφάβητο για να ονομάσει ένα διαμέρισμα, ο μέγιστος αριθμός όλων των τύπων κατατμήσεων μαζί που επιτρέπεται από το DOS είναι 24, ξεκινώντας από το γράμμα μονάδας δίσκου C (C:) έως το γράμμα μονάδας δίσκου Z (Z:). Επομένως, εάν υπάρχουν ακόμη και περισσότερες από μία φυσικές μονάδες σκληρού δίσκου, ο συνολικός αριθμός των κατατμήσεων όλων των μονάδων δεν μπορεί να υπερβαίνει τα 24.
Μετά τον αυτόματο έλεγχο ενεργοποίησης (POST), το BIOS φορτώνει το MBR (Κύρια εγγραφή εκκίνησης) από τον σκληρό δίσκο στη μνήμη και στη συνέχεια το εκτελεί. Πρώτα το MBR ελέγχει τον σκληρό δίσκο για ενεργό διαμέρισμα, μετά φορτώνει το DOS Boot Record (DBR) στη μνήμη και μεταβιβάζει τον έλεγχο στον κωδικό εκκίνησης του λειτουργικού συστήματος και, στη συνέχεια, ο κωδικός εγγραφής εκκίνησης λειτουργικού συστήματος φορτώνει το υπόλοιπο λειτουργικό σύστημα στη μνήμη.
Κύρια μορφή εγγραφής εκκίνησης
Κύρια μορφή εγγραφής εκκίνησης
Ενδέχεται να διαιρέσουμε τη μονάδα σκληρού δίσκου σε πολλές λογικές μονάδες δίσκου στις οποίες γενικά εκχωρείται το δικό τους γράμμα μονάδας δίσκου από το DOS. Μόνο ένα διαμέρισμα κάθε φορά μπορεί να επισημανθεί ως ενεργό (ή εκκινήσιμο) διαμέρισμα.
Κύρια μορφή εγγραφής εκκίνησης
Το Master Boot Record έχει το όριο των τεσσάρων καταχωρήσεων στον πίνακα Master Partition. Ωστόσο, η θέση της εκτεταμένης κύριας εγγραφής εκκίνησης μπορεί να ληφθεί με τη βοήθεια της κύριας εγγραφής εκκίνησης που περιέχει εκτεταμένους πίνακες διαμερισμάτων, η μορφή των οποίων είναι ακριβώς η ίδια με αυτή του κύριου πίνακα διαμερισμάτων, εκτός του ότι δεν υπάρχει κωδικός εκκίνησης.
Στην εκτεταμένη κύρια εγγραφή εκκίνησης, αυτός ο χώρος των 446 Byte δεσμεύεται συνήθως για τον κωδικό εκκίνησης και παραμένει κενός. Όλα τα 512 Byte του The Master Boot Record έχουν σπάσει ως εξής, που δίνονται στον Πίνακα:
Οφσετ |
Περιγραφή |
Μέγεθος |
000H |
Αρχικό πρόγραμμα φόρτωσης (IPL), εκτελέσιμος κώδικας (Παρέχει την πρώτη εκκίνηση στον υπολογιστή) |
446 Byte |
1BEH |
Καταχώριση πρώτου διαμερίσματος (Δείτε τον επόμενο πίνακα) |
16 Byte |
1CEH |
Δεύτερη καταχώριση |
16 Byte |
1ΔΕΧ |
Καταχώριση Τρίτου Διαμερίσματος |
16 Byte |
1EEH |
Τέταρτη Καταχώριση |
16 Byte |
1FEH |
Εκτελέσιμος δείκτης ή υπογραφή τομέα εκκίνησης ή μαγικός αριθμός (AAH 55H) |
2 Byte |
Σύνολο = 512 Byte |
Όλα τα εκτεταμένα διαμερίσματα θα πρέπει να υπάρχουν εντός του χώρου που έχει δεσμευτεί από την καταχώρηση εκτεταμένου διαμερίσματος. Μόνο δύο από τα εκτεταμένα διαμερίσματα προορίζονται να χρησιμοποιηθούν, το πρώτο ως κανονικό διαμέρισμα και το δεύτερο ως άλλο εκτεταμένο διαμέρισμα εάν υπάρχει. Έτσι, με τη βοήθεια ενός Master Partition Table μπορούμε να βρούμε τη θέση ενός άλλου Extended Master Partition Table δίπλα του, εάν υπάρχει.
Μορφή καταχώρισης πίνακα κατατμήσεων
Η μορφή της καταχώρισης στον πίνακα διαμερισμάτων οποιουδήποτε Διαμερίσματος στο MBR έχει δοθεί στον επόμενο πίνακα. Κάθε Καταχώρηση Διαμερίσματος οποιουδήποτε MBR μπορεί να χωριστεί στα ακόλουθα byte με τις συγκεκριμένες έννοιές τους:
Ένδειξη τύπου εκκίνησης Byte (1 Byte): Εάν αυτό το byte είναι 00H, σημαίνει ότι το διαμέρισμα δεν είναι ενεργό και εάν το byte είναι 80H, σημαίνει ότι το διαμέρισμα είναι ενεργό διαμέρισμα ή διαμέρισμα με δυνατότητα εκκίνησης. Αν και η παρουσία οποιουδήποτε άλλου byte τότε δεν αναμένεται, ωστόσο, εάν υπάρχει κάποιο άλλο byte, μπορεί να οφείλεται σε καταστροφή του πίνακα διαμερισμάτων ή σε οποιαδήποτε επίθεση VIRUS στον πίνακα κατατμήσεων.
Κύλινδρος εκκίνησης – Κεφαλή – Αριθμός Τομέα του Διαμερίσματος (3 Byte): Όταν υπολογίζουμε το CHS (Κύλινδρος, Κεφαλή και Τομέας) οποιουδήποτε δίσκου, τα Φυσικά CHS υπολογίζονται ως εξής:
- Ο Φυσικός Τομέας προσμετράται από το 1.
- Η φυσική κεφαλή μετράται από το 0.
- Ο Φυσικός κύλινδρος υπολογίζεται από το 0 (Δείτε το προηγούμενο κεφάλαιο για λεπτομέρειες)
- Το Byte σε μετατόπιση 01H αντιπροσωπεύει τον αρχικό αριθμό κεφαλής σε δεκαεξαδικό σύστημα για το διαμέρισμα.
6 Λιγότερα σημαντικά Bit του Byte σε μετατόπιση 02H κάνουν τον Αρχικό Αριθμό Τομέα του διαμερίσματος και ο συνδυασμός των υπολοίπων 2 Bit (ως δύο Σημαντικότερα Bit) συν 8 Bit ενός άλλου Byte σε μετατόπιση 03H (Υπόλοιπο 8 ελάχιστα σημαντικά Bit του Αριθμού 10 Bit) κάνουν τον Αρχικό Αριθμό του Κυλίνδρου.
Οφσετ |
Εννοια |
Μέγεθος |
Περιγραφή |
00H |
Byte ένδειξης τύπου εκκίνησης |
1 Byte |
Εάν το Byte είναι 00H, το διαμέρισμα είναι ανενεργό και εάν το Byte είναι 80H , το διαμέρισμα είναι ενεργό (ή με δυνατότητα εκκίνησης) |
01 Ω |
Κεφαλή Αριθμός Αρχής του Διαμερίσματος |
1 Byte |
Αρχικός αριθμός Κεφαλής του Διαμερίσματος σε Δεκαεξαδικό Σύστημα |
02H |
Τομέας και αριθμός κυλίνδρου έναρξης του χωρίσματος |
2 Byte |
6 bit του πρώτου byte κάνουν τον αρχικό αριθμό τομέα και ο συνδυασμός των υπολοίπων 2 bit (ως δύο πιο σημαντικά μπιτ) συν 8 bit ενός άλλου byte (υπόλοιπο 8 λιγότερο σημαντικά bit του αριθμού 10-bit ) κάνουν τον αριθμό κυλίνδρου εκκίνησης του διαμερίσματος |
04Ω |
Ένδειξη συστήματος αρχείων Byte |
1 Byte |
Byte δείκτη συστήματος αρχείων σε δεκαεξαδικό σύστημα (Δείτε τον Πίνακα που δίνεται στη συνέχεια για τους δείκτες) |
05H |
Κεφαλή Αριθμός Τέλος του Διαμερίσματος |
1 Byte |
Τελικός αριθμός κεφαλής του διαμερίσματος σε δεκαεξαδικό σύστημα |
06Ω |
Αριθμός τομέα και κυλίνδρου στο τέλος του χωρίσματος |
2 Byte |
6 bit του πρώτου byte κάνουν τον τελικό τομέα και ο συνδυασμός των υπολοίπων 2 bit (ως δύο πιο σημαντικά μπιτ) συν 8 bit ενός άλλου byte (υπόλοιπο 8 λιγότερα σημαντικά bit του αριθμού 10-bit ) κάνουν τον τελικό αριθμό κυλίνδρου του διαμερίσματος |
08Ω |
Σχετικός Αριθμός Τομέα Αρχής Διαμέρισης |
4 Byte |
Αριθμός Τομέων Μεταξύ του MBR και του Πρώτου Τομέα στο Διαμέρισμα |
0CH |
Αριθμός Τομέων του Διαμερίσματος |
4 Byte |
Αριθμός Τομέων στο Διαμέρισμα |
Σύνολο = 16 Byte |
Η Κωδικοποίηση κυλίνδρου και τομέα έχει δοθεί στο παράδειγμα μιας δειγματικής μελέτης πίνακα διαμερισμάτων που πραγματοποιήθηκε στη συνέχεια.
Byte ένδειξης συστήματος αρχείων (1 Byte): Το Byte ένδειξης συστήματος αρχείων σε μετατόπιση 04H αντιπροσωπεύει το σύστημα αρχείων αυτού του διαμερίσματος. Ο πίνακας, που παραθέτει το Byte ένδειξης συστήματος αρχείων για διάφορα συστήματα αρχείων, δίνεται στη συνέχεια σε αυτό το κεφάλαιο.
Τελικός Κύλινδρος – Κεφαλή – Αριθμός Τομέα του Διαμερίσματος (3 Byte): Η κωδικοποίηση είναι ίδια όπως για τον Κύλινδρο έναρξης – Κεφαλή – Αριθμός Τομέα του Διαμερίσματος.
Σχετικός αριθμός Τομέα έναρξης του Διαμερίσματος (4 Byte): Αριθμός Τομέων μεταξύ του MBR και του Πρώτου Τομέα στο Διαμέρισμα σε Δεκαεξαδικό Σύστημα.
Αριθμός Τομέων του Διαμερίσματος (4 Bytes) : Αριθμός Τομέων στο Διαμέρισμα σε Δεκαεξαδικό σύστημα.
Θα πρέπει πάντα να θυμόμαστε ότι οι αριθμοί κυλίνδρου, κεφαλής και τομέα είναι αυτοί που πρέπει να περάσουν στο BIOS. Επομένως, εάν το BIOS χρησιμοποιεί μετάφραση (λειτουργία LBA ή Υποστήριξη επεκτάσεων INT 13H), οι τιμές ενδέχεται να μην αντιπροσωπεύουν τις φυσικές τιμές CHS. Για μεγάλους σκληρούς δίσκους (μεγαλύτερες από 8,4 GB) οι τιμές CHS ενδέχεται να μην είναι έγκυρες. Αυτές οι τιμές θα πρέπει γενικά να αγνοούνται και να χρησιμοποιούνται οι απόλυτες τιμές τομέα.
Το παρακάτω σχήμα δείχνει το MBR ενός δίσκου με κατατμήσεις FAT32. Η επισημασμένη περιοχή των 64 byte στο τέλος του σχήματος αντιπροσωπεύει τον Κύριο Πίνακα Διαμερισμάτων του MBR.
Η κωδικοποίηση για το CHS έναρξης και λήξης είναι η εξής:
- Στη μετατόπιση 00H, το 80 (Hex) αντιπροσωπεύει ότι το διαμέρισμα είναι ένα Ενεργό διαμέρισμα.
- Στη μετατόπιση 01H, το 01 (Hex) αντιπροσωπεύει τον αριθμό κεφαλής εκκίνησης = 1.
- Ο συνδυασμός δύο byte σε μετατόπιση 02H και 03H σχηματίζει τον τομέα έναρξης και τον αριθμό κυλίνδρου του διαμερίσματος σύμφωνα με την κωδικοποίηση που δίνεται παρακάτω:
MBR ενός δίσκου με κατατμήσεις FAT32
Έτσι Ξεκινώντας CHS του διαμερίσματος= 0-0-1.
Ομοίως, ο αριθμός κεφαλής για το τέλος του διαμερίσματος είναι FE (Hex), που είναι 254 και η κωδικοποίηση για τον τερματικό κύλινδρο και τον αριθμό τομέα του διαμερίσματος έχουν δοθεί στον επόμενο πίνακα:
Έτσι το Τελικό CHS του Διαμερίσματος = 701-254-63.
Το Byte 0B (Hex) σε μετατόπιση 04H είναι το Byte ένδειξης συστήματος αρχείων για το διαμέρισμα. Το Byte 0B (H) Αντιπροσωπεύει ότι το διαμέρισμα διαθέτει το σύστημα αρχείων FAT32. Ο πίνακας για διάφορα συστήματα αρχείων και τα byte δείκτη συστήματος αρχείων τους έχουν δοθεί στη συνέχεια:
Σύστημα αρχείων Δείκτη Byte σε δεκαεξαδικό |
Διαμέρισμα/Σύστημα αρχείων Περιγραφή |
00H |
Αχρησιμοποίητη/κενή καταχώριση πίνακα διαμερισμάτων
(Θυμηθείτε ότι δεν χρησιμοποιείται για τον προσδιορισμό της αχρησιμοποίητης περιοχής στο δίσκο, αλλά επισημαίνει μια καταχώριση πίνακα διαμερισμάτων που δεν χρησιμοποιείται) |
01 Ω |
DOS 12-bit fat
(Ο τύπος 01H είναι για διαμερίσματα έως 15 MB) |
02H |
XENIX: ριζικό σύστημα αρχείων |
03 Ω |
Σύστημα αρχείων XENIX /usr (απαρχαιωμένο)
(Το XENIX είναι ένα παλιό μέρος του Unix V7. Το Microsoft XENIX Operating System ανακοινώθηκε τον Αύγουστο του 1980. Ήταν μια φορητή και εμπορική έκδοση του λειτουργικού συστήματος Unix για τις Intel 8086, Zilog Z8000, Motorola M68000 και Ψηφιακό Εξοπλισμό PDP-11. Η Microsoft παρουσίασε το XENIX 3.0 για την πρώτη της έκδοση X83 SENCO9 τον Απρίλιο 8088/8086 το 1983.) |
04Ω |
16-bit FAT, DOS 3.0+ (Μέγεθος διαμερίσματος < 32M)
(Ορισμένες παλιές εκδόσεις DOS είχαν ένα σφάλμα που απαιτούσε να βρίσκεται αυτό το διαμέρισμα στο 1ο φυσικό 32 MB του σκληρού δίσκου ) |
05H |
DOS Extended ( DOS 3.3+ Extended Volume)
Υποστηρίζει δίσκους έως 8,4 GB. Με αυτόν τον τύπο 05H DOS/Windows δεν θα χρησιμοποιήσει την εκτεταμένη κλήση BIOS, ακόμα κι αν είναι διαθέσιμη.) |
06Ω |
16-bit FAT, DOS Big, DOS 3,31+ (Μέγεθος διαμερίσματος >= 32M)
(Τα διαμερίσματα είναι το πολύ 2 GB για DOS και Windows 95/98 με μέγιστο 65536 συμπλέγματα με κάθε σύμπλεγμα, το πολύ 32 KB. Τα Windows NT μπορούν να δημιουργήσουν έως και 4 GB partitions με χρήση του FAT6 KB4. |
07 Ω |
OS/2 IFS (Installable File System) (Το HPFS είναι το πιο γνωστό παράδειγμα αυτού του συστήματος αρχείων. Το OS/2 εξετάζει μόνο κατατμήσεις με ID 7 για οποιοδήποτε εγκατεστημένο IFS, αυτός είναι ο λόγος που το πακέτο EXT2 IFS περιλαμβάνει ένα ειδικό πρόγραμμα οδήγησης συσκευής "Linux partition filter" για να ξεγελάσει το OS/2 ώστε να πιστεύει ότι τα διαμερίσματα Linux 07 έχουν ID). |
07 Ω |
Προηγμένο Unix |
07 Ω |
Windows NT NTFS |
07 Ω |
QNX2.x (πριν το 1988)
(Για το πραγματικό σύστημα αρχείων τύπου partition 07H, θα πρέπει να επιθεωρηθεί η εγγραφή εκκίνησης του διαμερίσματος) |
08Ω |
OS/2 (μόνο έκδοση 1.0 έως έκδοση 1.3) |
08Ω |
Το διαμέρισμα εκκίνησης AIX
[AIX (Advanced Interactive Executive) είναι η έκδοση του Unix της IBM] |
08Ω |
SplitDrive |
08Ω |
Διαμέρισμα DELL που εκτείνεται σε πολλές μονάδες δίσκου |
08Ω |
Commodore DOS |
08Ω |
QNX 1.x και 2.x
("qny" σύμφωνα με τα διαμερίσματα QNX) |
09Η |
Διαμέρισμα δεδομένων AIX |
09Η |
Συνεκτικό σύστημα αρχείων
[Το Coherent ήταν ένα λειτουργικό σύστημα όπως το UNIX για τα συστήματα 286-386-486, που διατίθεται στο εμπόριο από την εταιρεία Mark Williams με επικεφαλής τον Bob Swartz. Ήταν γνωστό για την καλή τεκμηρίωσή του. Παρουσιάστηκε το 1980 και πέθανε την 1η Φεβρουαρίου 1995. Οι τελευταίες εκδόσεις είναι V3.2 για 286-386-486 και V4.0 (Μάιος 1992, χρησιμοποιώντας προστατευμένη λειτουργία) μόνο για 386-486. Πουλήθηκε για $99 το αντίτυπο και φημολογείται ότι έχουν πουληθεί 40000 αντίτυπα. Ένα συνεκτικό διαμέρισμα πρέπει να είναι πρωτεύον. ] |
09Η |
QNX 1.x και 2.x ("qnz" σύμφωνα με τα διαμερίσματα QNX ) |
0aH |
OS/2 Boot Manager
(Το OS/2 είναι το λειτουργικό σύστημα που σχεδιάστηκε από τη Microsoft και την IBM για να είναι ο διάδοχος του MS-DOS) |
0aH |
Συνεκτικό διαμέρισμα ανταλλαγής |
0aH |
OPUS
(Open Parallel Unisys Server) |
0bH |
WIN95 OSR2 32-bit FAT
(Το OSR2 σημαίνει "OEM Service Release 2" της Microsoft. Είναι για διαμερίσματα έως 2047 GB. Σχεδόν πάντα, τα Windows 95/98/ME έχουν το ίδιο σύστημα αρχείων που είναι το FAT-32, εντός των ίδιων ορίων κατατμήσεων) |
0cH |
Αντιστοιχισμένο με LBA WIN95 OSR2 32-bit FAT
(Χρησιμοποιεί L ogical B lock A dressing – λειτουργία επεκτάσεων Διακοπής 13H, επομένως μπορούμε να πούμε ότι αυτό είναι το Extended INT 13H ισοδύναμο του 0BH . Σχεδόν πάντα, τα Windows 95/98/ME έχουν τα ίδια όρια αρχείων FAT-3, τα οποία έχουν τα ίδια όρια FAT-3). |
0eH |
WIN95 με αντιστοίχιση LBA: DOS 16-bit FAT ή λογικό μπλοκ Διευθυνσιοδοτούμενο VFAT
(είναι ίδιο με το 06H , αλλά χρησιμοποιεί λειτουργία LBA του INT 13H) |
0fH |
WIN95 με αντιστοίχιση LBA: Εκτεταμένο διαμέρισμα ή λογικό μπλοκ Διευθυνσιοδοτούμενο VFAT
(Είναι ίδιο με το 05H , αλλά χρησιμοποιεί τη λειτουργία LBA του INT 13H. Τα Windows 95 χρησιμοποιούν 0EH και 0FH ως εκτεταμένα ισοδύναμα INT13H των 06H και 05H . Τα Windows NT δεν αναγνωρίζουν τους τέσσερις τύπους Windows 95/98/ME 0BH , 0CH , 0FHE ) |
10Η |
OPUS
(Οκταδικό σύστημα ενημέρωσης προγράμματος) |
11 Ω |
Κρυφό διαμέρισμα FAT 12-bit DOS ή OS/2 Boot Manager κρυφό διαμέρισμα FAT 12-bit ή DOS που εμφανίζεται από το OS/2 (Όταν ο διαχειριστής εκκίνησης OS/2 εκκινεί ένα διαμέρισμα DOS, θα αποκρύψει όλα τα κύρια διαμερίσματα του DOS εκτός από αυτό που εκκινείται, αλλάζοντας το αναγνωριστικό του και τα 01H , 01H , 04H και 01H , 06H , 04H , 14Η , 16Η και 17Η , αντίστοιχα. |
12Ω |
Διαμέρισμα Compaq Configuration/diagnostics
(Χρησιμοποιείται από την Compaq για το διαμέρισμα του βοηθητικού προγράμματος διαμόρφωσης. Είναι ένα διαμέρισμα συμβατό με FAT που ξεκινά στα βοηθητικά προγράμματα του και μπορεί να προστεθεί σε ένα μενού LILO σαν να ήταν MS-DOS. ) |
14Ω |
(Hidden DOS 16-bit FAT or OS/2 Boot Manager Hidden DOS 16-bit FAT) <32M Partition
(Το μέγεθος του διαμερίσματος είναι μικρότερο από 32M. Το ID 14H προκύπτει από τη χρήση Novell DOS 7.0 FDISK για τη διαγραφή του Linux Native partition. ) |
15Η |
Κρυφό DOS-Extended |
16Η |
(Hidden DOS 16-bit FAT or OS/2 Boot Manager hidden 16-bit FAT ) >=32M Partition |
17Η |
OS/2 Boot Manager κρυφό διαμέρισμα HPFS ή Hidden IFS (π.χ. HPFS) |
17Η |
Κρυφό διαμέρισμα NTFS |
18Ω |
Διαμέρισμα AST SmartSleep ή ειδικό αρχείο ανταλλαγής Windows AST (διαμέρισμα "Zero-Volt Suspend")
[AST Research, Inc. (ονομάστηκε από τα πρώτα αρχικά των ιδρυτών, Albert Wong, Safi Qureshey και Thomas Yuen). Οι φορητοί υπολογιστές Ascentia διαθέτουν "Zero – Volt Suspend Partition" ή "SmartSleep Partition" μεγέθους 2MB+μέγεθος μνήμης.] |
Σύστημα αρχείων Δείκτη Byte σε δεκαεξαδικό |
Διαμέρισμα/Σύστημα αρχείων Περιγραφή |
19Η |
Willowtech Photon COS
(Ο κωδικός 19H αξιώνεται για το Willowtech Photon COS από την Willow Schlanger. |
1bH |
Κρυφό διαμέρισμα WIN95 OSR2 32 bit FAT ή κρυφό διαμέρισμα Windows 95 FAT32 |
1cH |
Hidden WIN95 OSR2 32-bit FAT με αντιστοίχιση LBA
(Είναι κρυφό διαμέρισμα Windows95 FAT32 που χρησιμοποιεί τη λειτουργία LBA των επεκτάσεων INT 13H) |
1eH |
Κρυφό διαμέρισμα 16-bit FAT ή κρυφό διαμέρισμα LBA VFAT με αντιστοίχιση LBA |
1FH |
LBA αντιστοιχισμένο Hidden WIN95 Extended ή Hidden Extended LBA VFAT Partition |
20H |
OFSI
(Σύστημα αρχείων Willowsoft Overture) |
21 Ω |
Αναφέρεται επίσημα ως δεσμευμένο
(Επέκταση όγκου HP, παραλλαγή SpeedStor.) |
21 Ω |
FSO2
(Αξιώθηκε για FSO2 (Oxygen File System) από τον Dave Poirier) |
22Ω |
Εκτεταμένο διαμέρισμα FSO2
(Αξιώθηκε για εκτεταμένο διαμέρισμα με οξυγόνο από τον Dave Poirier) |
23 Ω |
Επισήμως καταχωρημένο ως δεσμευμένο |
24 Ω |
NEC DOS 3.χ |
26Ω |
Επισήμως καταχωρημένο ως δεσμευμένο |
31 Ω |
Επισήμως καταχωρημένο ως δεσμευμένο |
32 Ω |
NOS (Λειτουργικό Σύστημα Δικτύου)
( Το 32H χρησιμοποιείται από το λειτουργικό σύστημα NOS, που αναπτύχθηκε από την Alien Internet Services στη Μελβούρνη της Αυστραλίας. Το id 32H επιλέχθηκε όχι μόνο επειδή ήταν ένα από τα λίγα που έχουν απομείνει διαθέσιμα, αλλά και το 32k είναι το μέγεθος του EEPROM για το οποίο προοριζόταν αρχικά το λειτουργικό σύστημα. |
33Η |
Επισήμως καταχωρημένο ως δεσμευμένο |
34Ω |
Επισήμως καταχωρημένο ως δεσμευμένο |
35Η |
Το JFS σε OS/2 ή eCS
[ 35H χρησιμοποιείται από το OS/2 Warp Server για e-Business, το OS/2 Convenience Pack (γνωστό και ως έκδοση 4.5) και το eComStation (eCS, μια έκδοση OEM του OS/2 Convenience Pack) για την εφαρμογή OS/2 του JFS (IBM File System) AIX] |
36Η |
Επισήμως καταχωρημένο ως δεσμευμένο |
38Η |
THEOS v3.2 (διαμέρισμα 2 GB) |
39Η |
Διαμέρισμα σχεδίου 9
( Το Plan 9 είναι ένα λειτουργικό σύστημα που αναπτύχθηκε στα Bell Labs για πολλές αρχιτεκτονικές. Αρχικά το Plan 9 χρησιμοποιούσε ένα μη εκχωρημένο τμήμα στο τέλος του δίσκου. Η 3η έκδοση του Plan 9 χρησιμοποιεί διαμερίσματα τύπου 39H , υποδιαιρούμενα σε υποδιαιρέσεις που περιγράφονται στον πίνακα κατατμήσεων Plan 9 στον δεύτερο τομέα του διαμερίσματος.) |
39Η |
THEOS v4 εκτεινόμενο διαμέρισμα |
3aH |
THEOS v4 (διαμερισμός 4 GB) |
3bH |
THEOS v4 Extended partition
( Το THEOS είναι ένα λειτουργικό σύστημα πολλαπλών εργασιών για υπολογιστές που ιδρύθηκε από τον Timothy Williams το 1983.) |
3cH |
PartitionMagic διαμέρισμα ανάκτησης
(Όταν ένα προϊόν PowerQuest , όπως το Partition Magic ή το Drive Image, κάνει αλλαγές στο δίσκο, αλλάζει πρώτα τη σημαία τύπου σε 3CH, ώστε το λειτουργικό σύστημα να μην προσπαθήσει να το τροποποιήσει. Στο τέλος της διαδικασίας, αλλάζει ξανά σε αυτό που ήταν αρχικά. Επομένως, η μόνη φορά που μπορείτε να δείτε μια σημαία τύπου 3CH, είναι εάν η διαδικασία διακόπηκε με κάποιο τρόπο, αλλάξατε ξανά τον πίνακα με την τροφοδοσία, κλπ. ή οποιοδήποτε πρόγραμμα επεξεργασίας δίσκου τότε τις περισσότερες φορές όλα είναι εντάξει.) |
3dH |
Κρυφό NetWare |
40Η |
Venix 80286
(Είναι ένα πολύ παλιό λειτουργικό σύστημα που μοιάζει με Unix για υπολογιστές.) |
41 Ω |
Linux/MINIX (κοινόχρηστος δίσκος με DR-DOS)
(Το DR-DOS σημαίνει Digital Research-Disk Operating System.) |
41 Ω |
Προσωπική μπότα RISC |
41 Ω |
Διαμέρισμα εκκίνησης PPC PReP (Power PC Reference Platform). |
42Η |
Linux swap (κοινή χρήση δίσκου με DR-DOS) |
42Η |
SFS (Secure File System)
( Το SFS είναι ένα κρυπτογραφημένο πρόγραμμα οδήγησης συστήματος αρχείων για DOS σε 386+ υπολογιστές, γραμμένο από τον Peter Gutmann.) |
Σύστημα αρχείων Δείκτη Byte σε δεκαεξαδικό |
Διαμέρισμα/Σύστημα αρχείων Περιγραφή |
42Η |
Windows 2000 Dynamic Extended Partition Marker
(Εάν υπάρχει μια καταχώριση πίνακα διαμερισμάτων τύπου 42H στον πίνακα διαμερισμάτων παλαιού τύπου, τότε τα Windows 2000 αγνοούν τον πίνακα διαμερισμάτων παλαιού τύπου και χρησιμοποιούν έναν ιδιόκτητο πίνακα διαμερισμάτων και ένα ιδιόκτητο σχήμα διαμερισμάτων (LDM ή DDM). Η καθαρή δυναμική σύνδεση δεν περιέχει μόνο σκληρούς δίσκους διαμερισμάτων. καταχώρηση, πληκτρολογήστε 42H για να ορίσετε ολόκληρο τον δίσκο Οι δυναμικοί δίσκοι αποθηκεύουν τη διαμόρφωση του όγκου τους σε μια βάση δεδομένων που βρίσκεται σε μια ιδιωτική περιοχή 1 MB στο τέλος κάθε δυναμικού δίσκου.) |
43Η |
Εγγενές Linux (κοινόχρηστος δίσκος με DR-DOS) |
44Ω |
Διαμέρισμα GoBack
( Το GoBack είναι ένα βοηθητικό πρόγραμμα που καταγράφει τις αλλαγές που έγιναν στο δίσκο, επιτρέποντάς σας να προβάλετε ή να επιστρέψετε σε κάποια προηγούμενη κατάσταση. Αναλαμβάνει την είσοδο/έξοδο του δίσκου όπως θα έκανε ένας Διαχειριστής Δίσκων και αποθηκεύει τα αρχεία καταγραφής του στο δικό του διαμέρισμα.) |
45Η |
Boot-US boot manager
( Το Boot-US (Ulrich Straub) boot manager μπορεί να εγκατασταθεί σε MBR, ένα ξεχωριστό κύριο διαμέρισμα ή δισκέτα. Όταν εγκατασταθεί σε ένα κύριο διαμέρισμα, αυτό το διαμέρισμα λαμβάνει το ID 45H . Αυτό το διαμέρισμα δεν περιέχει σύστημα αρχείων, περιέχει μόνο τον διαχειριστή εκκίνησης και καταλαμβάνει έναν μόνο κύλινδρο (κάτω από 8 GB).4. |
45Η |
Κατευθείαν |
45Η |
EUMEL/Ανακοίνωση |
46Η |
EUMEL/Ανακοίνωση |
47Η |
EUMEL/Ανακοίνωση |
48Η |
EUMEL/Elan
( Το EUMEL , αργότερα γνωστό ως Ergos L3 , είναι τα συστήματα πολλαπλών εργασιών πολλών χρηστών που αναπτύχθηκαν από τον Jochen Liedtke στο GMD, χρησιμοποιώντας τη γλώσσα προγραμματισμού Elan . Χρησιμοποιήθηκε σε γερμανικά σχολεία για την εκπαίδευση στην επιστήμη των υπολογιστών.) |
4aH |
AdaOS Aquila |
4aH |
Ελαφρύ σύστημα αρχείων ALFS/THIN για DOS |
4cH |
Κατάτμηση Oberon |
4dH |
QNX4.χ |
4eH |
QNX4.x 2ο διαμέρισμα |
4fH |
QNX4.x 3ο διαμέρισμα
( Το QNX είναι ένα POSIX ( Portable Operating System Interface for Unix ) με πιστοποίηση, μικροπυρήνα, κατανεμημένο, ανεκτικό σε σφάλματα λειτουργικό σύστημα για το 386 και μεταγενέστερο, συμπεριλαμβανομένης της υποστήριξης για το 386EX σε ενσωματωμένες εφαρμογές.) |
4fH |
Κατάτμηση εκκίνησης/δεδομένων Oberon |
50Η |
OnTrack Disk Manager (παλαιότερες εκδόσεις), Διαμέρισμα μόνο για ανάγνωση ( Το Disk Manager είναι ένα πρόγραμμα του OnTrack που επιτρέπει στους χρήστες να χρησιμοποιούν δίσκους IDE που είναι μεγαλύτεροι από 504 MB στο DOS. Οι εκδόσεις του πυρήνα Linux παλαιότερες από 1.3.14 δεν συνυπάρχουν με το DM.) |
50Η |
Lynx RTOS (Λειτουργικό σύστημα σε πραγματικό χρόνο)
( Το Lynx RTOS δίνει στους χρήστες τη δυνατότητα να τοποθετήσουν έως και 14 διαμερίσματα των 2 GB το καθένα σε μονάδες δίσκου SCSI και IDE, για συνολικά έως 28 GB χώρου συστήματος αρχείων.) |
50Η |
Ιθαγενής Oberon |
51Η |
OnTrack Disk Manager (DM6.0 Aux1) , Διαμέρισμα ανάγνωσης/εγγραφής |
51Η |
Μυθιστόρημα |
52Η |
CP/M |
52Η |
Microport SysV/AT ή Microport System V/386 |
53Η |
OnTrack Disk Manager (DM6.0 Aux3), διαμέρισμα μόνο για εγγραφή |
54Η |
Επικάλυψη δυναμικής μονάδας OnTrack Disk Manager 6.0 |
55Η |
Διαμέρισμα EZ-Drive
( Το EZ-Drive είναι ένα άλλο πρόγραμμα διαχείρισης δίσκων που αναπτύχθηκε από τη MicroHouse το 1992. Τώρα διατίθεται στην αγορά από την StorageSoft .) |
56Η |
Χρυσός τόξος VFeature Διαχωρισμένος Τόμος.
(Αυτό είναι επίσης ένα λογισμικό διαχείρισης δίσκων όπως το βοηθητικό πρόγραμμα. Αυτός είναι ένας μη τυπικός τόμος DOS.) |
56Η |
Το DM μετατράπηκε σε EZ-BIOS |
57Η |
DrivePro
( Το DrivePro αναπτύχθηκε από τη MicroHouse το 1992. Τώρα διατίθεται στην αγορά από την StorageSoft .) |
57Η |
Διαμέρισμα VNDI |
5cH |
Priam EDisk Partitioned Volume
( Το Priam EDisk είναι βοηθητικό λογισμικό τύπου Disk Manager. Αυτός είναι ένας μη τυπικός τόμος DOS.) |
61Η |
SpeedStor
( Διαστάσεις αποθήκευσης SpeedStor Partitioned Volume. Αυτός είναι ένας μη τυπικός τόμος DOS. Είναι βοηθητικό λογισμικό τύπου Disk Manager.) |
63Η |
Unix System V/386, 386/ix, SCO, ISC Unix, UnixWare, Mach, MtXinu BSD 4.3 σε Mach, GNU Hurd |
64Η |
Novell NetWare 286, 2.xx |
Σύστημα αρχείων Δείκτη Byte σε δεκαεξαδικό |
Διαμέρισμα/Σύστημα αρχείων Περιγραφή |
64Η |
Προστατευμένο διαμέρισμα PC-ARMOUR
( Το 64H χρησιμοποιείται από την προστασία δίσκου PC-ARMOUR από τον Dr. A. Solomon, με σκοπό να διατηρήσει τον δίσκο απρόσιτο έως ότου δοθεί ο σωστός κωδικός πρόσβασης και στη συνέχεια φορτώθηκε ένα άγκιστρο INT 13H πάνω από την κορυφή της μνήμης που έδειχνε CHS = 0-0-2, με ένα αντίγραφο του πραγματικού πίνακα κατάτμησης 1, όταν ζητήθηκε-1). |
65Η |
Novell NetWare 3.86, 3.xx ή 4.xx
( Το Novell Netware 3.0 και οι νεότερες εκδόσεις χρησιμοποιούν ένα διαμέρισμα ανά μονάδα δίσκου. Κατανέμει λογικούς τόμους μέσα σε αυτά τα διαμερίσματα. Οι τόμοι μπορούν να χωριστούν σε πολλούς δίσκους. Το σύστημα αρχείων που χρησιμοποιείται ονομάζεται Turbo FAT και μοιάζει πολύ αόριστα με το σύστημα αρχείων DOS FAT. Το Novell Netware ήταν το κύριο Λειτουργικό Σύστημα Δικτύου Net18 ή το S398 . 68000, Netware 86 για μια Intel 8086 ή 8088. Το Netware 286 ήταν για μια Intel 80286 και υπήρχε σε διάφορες εκδόσεις που αργότερα συγχωνεύτηκαν στο Netware 2.2 . 3.10, 3.11 και 3.12 κ.λπ.) Ο διάδοχός του Netware 4.xx είχε τις εκδόσεις 4.00, 4.01, 4.02, 4.10 και 4.11. |
66Η |
Novell Netware SMS Partition
( το SMS σημαίνει Υπηρεσίες διαχείρισης αποθήκευσης. Δεν χρησιμοποιείται τώρα.) |
67Η |
Μυθιστόρημα |
68Η |
Μυθιστόρημα |
69Η |
Novell Netware 5+ και Novell Netware NSS Partition
( NSS σημαίνει Novell Storage Services.) |
70Η |
DiskSecure Multi-Boot |
71Η |
Επισήμως καταχωρημένο ως δεσμευμένο |
73Η |
Επισήμως καταχωρημένο ως δεσμευμένο |
74Η |
Επισήμως καταχωρημένο ως δεσμευμένο |
74Η |
Κατάτμηση Scramdisk
( Το Scramdisk είναι ένα λογισμικό κρυπτογράφησης δίσκου. Υποστηρίζει αρχεία κοντέινερ, ειδικά διαμερίσματα τύπου 74H και δίσκους κρυμμένους σε αρχεία ήχου WAV.) |
75Η |
IBM PC/IX |
76Η |
Επισήμως καταχωρημένο ως δεσμευμένο |
77Η |
Διαμέρισμα M2FS/M2CS |
77Η |
QNX 4.x |
78Η |
Σύστημα αρχείων XOSL
( σύστημα αρχείων φόρτωσης εκκίνησης XOSL ) |
78Η |
QNY 4.x |
79Η |
QNZ 4.χ |
7EH |
ΔΙΟΡΘΩΝΩ |
7Fh |
Alt-OS-Development Partition Standard |
80Η |
Παλιό MINIX, MINIX v1.1 έως v1.4a |
81Η |
MINIX 1.4b και αργότερα
( Το MINIX είναι ένα λειτουργικό σύστημα που μοιάζει με Unix που γράφτηκε από τον Andy Tanenbaum και φοιτητές στο Πανεπιστήμιο Vrije του Άμστερνταμ, γύρω στο 1989-1991. Τρέχει σε υπολογιστές (8086 και άνω), Macintosh, Atari, Amiga, Sparc. |
81Η |
Πρώιμο Linux |
81Η |
Mitac Advanced Disk Manager |
82Η |
Πρώτος |
82Η |
Solaris x86
( Το Solaris δημιουργεί ένα ενιαίο διαμέρισμα με ID 82H και στη συνέχεια χρησιμοποιεί ετικέτες δίσκου Sun μέσα στο διαμέρισμα για να το χωρίσει περαιτέρω.) |
82Η |
Διαμέρισμα Linux Swap |
83Η |
Linux Native Partition ή Linux εγγενές σύστημα αρχείων ή Linux Ext2fs
(Το Linux είναι ένα λειτουργικό σύστημα παρόμοιο με το Unix, γραμμένο από τον Linus Torvalds και πολλούς άλλους στο διαδίκτυο από το 1991. Εκτελείται σε υπολογιστές 386 και μεταγενέστερες και ποικίλο άλλο υλικό. Διανέμεται υπό GPL (Γενική δημόσια άδεια). 83 Ω .) |
84Η |
OS/2 hidden C: μονάδα δίσκου ή διαμέρισμα τύπου 04 με νέα αρίθμηση OS/2.
( Το διαμέρισμα τύπου 04h με επαναριθμημένο OS/2 σχετίζεται με την απόκρυψη μονάδας δίσκου DOS C:) |
84Η |
Διαμέρισμα αδρανοποίησης
(Αναφέρεται για διάφορα μοντέλα φορητών υπολογιστών, π.χ. χρησιμοποιείται σε Dell Latitudes (με Dell BIOS) που χρησιμοποιούν το βοηθητικό πρόγραμμα MKS2D.) |
85Η |
Εκτεταμένο διαμέρισμα Linux |
86Η |
Παλιό σούπερ μπλοκ διαμερίσματος RAID Linux |
86Η |
Σετ έντασης/λωρίδας FAT16 (Windows NT) ή σετ έντασης NTFS
(Είναι παλαιού τύπου τόμος FAT16 με ανοχή σφαλμάτων.) |
87Η |
HPFS Fault-Tolerant mirrored partition ή σετ τόμου NTFS ή σύνολο NTFS volume/stripe
(Legacy Fault Tolerant NTFS volume. HPFS Fault-Tolerant mirrored partition. ) |
8aH |
Κατάτμηση πυρήνα Linux
(Χρησιμοποιείται από το AiR-BOOT) |
Σύστημα αρχείων Δείκτη Byte σε δεκαεξαδικό |
Διαμέρισμα/Σύστημα αρχείων Περιγραφή |
8bH |
Ένταση παλαιού τύπου με ανοχή σφαλμάτων FAT32 |
8cH |
Ένταση παλαιού τύπου με ανοχή σφαλμάτων FAT32 με χρήση του BIOS Extended INT 13H. |
8dH |
Δωρεάν κρυφό διαμέρισμα FDISK Primary DOS FAT12
( Το Free FDISK είναι το FDISK που χρησιμοποιείται από το FreeDOS . Αποκρύπτει τους τύπους 01H , 04H , 05H , 06H , 0BH , 0CH , 0EH και 0FH προσθέτοντας δεκαδικό αριθμό 140 ) (8CH ) |
8eH |
Λογικό διαμέρισμα Linux Volume Manager |
90Η |
Δωρεάν κρυφό διαμέρισμα FDISK Primary DOS FAT16 |
91Η |
Δωρεάν εκτεταμένο διαμέρισμα FDISK κρυφό DOS |
92Η |
Δωρεάν κρυφό FDISK Primary DOS μεγάλο διαμέρισμα FAT16 |
93Η |
Κρυφό εγγενές διαμέρισμα Linux |
93Η |
Σύστημα αρχείων Amoeba |
94Η |
Amoeba bad block table
(Η Amoeba είναι ένα κατανεμημένο λειτουργικό σύστημα γραμμένο από τον Andy Tanenbaum, μαζί με τους Frans Kaashoek, Sape Mullender, Robert van Renesse και άλλους από το 1981. Λειτουργεί σε υπολογιστές (386 και άνω), Sun3, Sparc, 68030. Είναι δωρεάν για πανεπιστήμια για έρευνα και διδασκαλία) |
95Η |
Εγγενές διαμέρισμα MIT EXOPC |
97Η |
Δωρεάν κρυφό διαμέρισμα FDISK Primary DOS FAT32 |
98Η |
Δωρεάν κρυφό διαμέρισμα FDISK Primary DOS FAT32 (LBA) |
99Η |
Λογική μονάδα Mylex EISA SCSI ή DCE376
(Χρησιμοποιείται από τον προσαρμογέα Mylex DCE376 EISA SCSI για διαμερίσματα που είναι πέρα από τον κύλινδρο 1024 μιας μονάδας δίσκου.) |
9aH |
Δωρεάν κρυφό διαμέρισμα FDISK Primary DOS FAT16 (LBA) |
9bH |
Δωρεάν εκτεταμένο διαμέρισμα FDISK κρυφό DOS (LBA) |
9fH |
BSD/OS |
a0H |
Διαμέρισμα Phoenix NoteBIOS Power Management "Αποθήκευση σε δίσκο" ή διαμέρισμα αδρανοποίησης φορητού υπολογιστή
(Αναφέρεται για διάφορους φορητούς υπολογιστές όπως IBM Thinkpad , Phoenix NoteBIOS , Toshiba με ονόματα όπως διαμέρισμα αναστολής μηδενικού βολτ , διαμέρισμα αναστολής σε δίσκο , κατάτμηση αποθήκευσης σε δίσκο , διαμέρισμα εκκίνησης αποθήκευσης σε δίσκο , διαμέρισμα εκκίνησης αποθήκευσης σε δίσκο , ή στο τέλος της περιοχής του δίσκου.) |
a1H |
Διαμέρισμα αδρανοποίησης φορητού υπολογιστή
(Χρησιμοποιείται ως διαμέρισμα "Αποθήκευση σε δίσκο" σε φορητό υπολογιστή NEC 6000H. Οι τύποι A0H και A1H χρησιμοποιούνται σε συστήματα με Phoenix BIOS. Το βοηθητικό πρόγραμμα Phoenix PHDISK χρησιμοποιείται με αυτά.) |
a1H |
Επέκταση έντασης ήχου HP (παραλλαγή SpeedStor) |
a3H |
Επισήμως καταχωρημένο ως δεσμευμένο |
a4H |
Επισήμως καταχωρημένο ως δεσμευμένο |
a5H |
BSD/386, 386BSD, NetBSD, FreeBSD
(Το 386BSD είναι ένα λειτουργικό σύστημα που μοιάζει με Unix, μια θύρα 4.3BSD Net/2 στον υπολογιστή που έγινε από τον Bill Jolitz γύρω στο 1991.) |
a6H |
OpenBSD
(Το OpenBSD, με επικεφαλής τον Theo de Raadt, αποσχίστηκε από το NetBSD. Προσπαθεί να δώσει έμφαση στην ασφάλεια.) |
a7H |
NEXTSTEP
( Το NEXTSTEP βασίζεται σε Mach 2.6 και χαρακτηριστικά του Mach 3.0 . Είναι ένα πραγματικό αντικειμενοστραφή λειτουργικό σύστημα και περιβάλλον χρήστη. |
a8H |
Mac OS-X
( το OS-X της Apple χρησιμοποιεί αυτόν τον τύπο για το διαμέρισμα του συστήματος αρχείων του) |
a9H |
NetBSD |
aaH |
Olivetti Fat 12 Service Partition 1,44MB
(Περιέχει ένα γυμνό DOS 6.22 και ένα βοηθητικό πρόγραμμα για την ανταλλαγή τύπων 06H και AAH στον πίνακα κατατμήσεων.) |
abH |
Διαμέρισμα εκκίνησης Mac OS-X
(το OS-X της Apple (Darwin Intel) χρησιμοποιεί αυτόν τον τύπο για το διαμέρισμα εκκίνησης.) |
abH |
ΠΑΩ! χώρισμα |
νεκρός |
Σύστημα αρχείων ShagOS |
από τον Η |
Κατάτμηση ανταλλαγής ShagOS |
b0H |
BootStar Dummy
(Ο διαχειριστής εκκίνησης BootStar διαχειρίζεται τον δικό του πίνακα κατατμήσεων, με έως και 15 κύρια διαμερίσματα. Γεμίζει τις αχρησιμοποίητες εγγραφές στο MBR με τιμές BootStar Dummy.) |
b1H |
Επισήμως καταχωρημένο ως δεσμευμένο |
b3H |
Επισήμως καταχωρημένο ως δεσμευμένο |
b4H |
Επισήμως καταχωρημένο ως δεσμευμένο |
b6H |
Επισήμως καταχωρημένο ως δεσμευμένο |
B6H |
Windows NT mirror set (master), σύστημα αρχείων FAT16 |
b7H |
Σύστημα αρχείων BSDI (δευτερεύον swap), σύστημα αρχείων BSDI BSD/386 |
B7H |
Windows NT mirror set (master), σύστημα αρχείων NTFS |
Σύστημα αρχείων Δείκτη Byte σε δεκαεξαδικό |
Διαμέρισμα/Σύστημα αρχείων Περιγραφή |
b8H |
Κατάτμηση ανταλλαγής BSDI BSD/386 (δευτερεύον σύστημα αρχείων)
(BSDI (Berkeley Software Design, Inc.) ιδρύθηκε από πρώην μέλη του CSRG (UCB Computer Systems Research Group). Το λειτουργικό τους σύστημα, βασισμένο στο Net/2, ονομαζόταν BSD/386.) |
bbH |
Ο Οδηγός εκκίνησης είναι κρυφός |
Λοιπόν |
Κατάτμηση μπότας Solaris 8 |
c0H |
Ασφαλές διαμέρισμα DR-DOS/Novell DOS |
C0H |
CTOS |
c0H |
REAL/32 ασφαλές μικρό διαμέρισμα |
c0H |
Διαμέρισμα NTFT |
c1H |
Διαμέρισμα FAT 12 bit με ασφάλεια DR DOS 6.0 LOGIN.EXE |
c2H |
Με κράτηση για DR-DOS 7+ |
c2H |
Κρυφό Linux |
c3H |
Κρυφή εναλλαγή Linux |
c4H |
Διαμέρισμα FAT 16-bit με ασφάλεια DR DOS 6.0 LOGIN.EXE |
c5H |
DRDOS/ασφαλισμένο (Εκτεταμένο) |
c6H |
DRDOS/secured (FAT-16, >= 32M)
( Το DR-DOS 6.0 θα προσθέσει το C0H στον τύπο διαμερίσματος για ένα διαμέρισμα με ασφάλεια LOGIN.EXE, έτσι ώστε ο χρήστης να μην μπορεί να αποφύγει τον έλεγχο κωδικού πρόσβασης κάνοντας εκκίνηση από μια δισκέτα MS- DOS . Διαφορετικά φαίνεται ότι οι τύποι C1H , CH5H4H1 , CH5 , CH4H6 , Τα D5H , D6H χρησιμοποιούνται ακριβώς όπως τα 1H , 4H , 5H και 6H .) |
c6H |
Κατεστραμμένο σύνολο τόμου/λωρίδας FAT16 (Windows NT)
(Το NTFS θα προσθέσει το C0H στον τύπο διαμερίσματος για τα απενεργοποιημένα μέρη ενός συνόλου με ανοχή σφαλμάτων. Έτσι, λαμβάνουμε τους τύπους C6H , C7H .) |
c7H |
Τα Windows NT κατέστρεψαν το σύνολο τόμου/λωρίδας NTFS |
c7H |
Μπότα Syrinx |
c8H |
Επισήμως καταχωρημένο ως δεσμευμένο |
c9H |
Επισήμως καταχωρημένο ως δεσμευμένο |
caH |
Επισήμως καταχωρημένο ως δεσμευμένο |
cbH |
Προορίζεται για FAT32 με ασφάλεια DR-DOS |
ccH |
Με κράτηση για FAT32 με ασφάλεια DR-DOS (LBA) |
cdH |
CTOS Memdump |
ceH |
Με κράτηση για FAT16 με ασφάλεια DR-DOS (LBA) |
d0H |
REAL/32 ασφαλές μεγάλο διαμέρισμα
(το REAL/32 είναι συνέχεια του DR Multi-user DOS.) |
d1H |
Παλιό FAT12 με ασφάλεια DOS πολλών χρηστών |
d4H |
Παλιό FAT16 με ασφάλεια πολλαπλών χρηστών DOS <32M |
d5H |
Παλιό εκτεταμένο ασφαλές διαμέρισμα πολλαπλών χρηστών DOS |
d6H |
Παλιό πολλαπλών χρηστών DOS ασφαλισμένο FAT16 >=32M |
d8H |
CP/M-86 |
ήδη |
Δεδομένα μη FS |
dbH |
Ψηφιακή Έρευνα CP/M, Concurrent CP/M, Concurrent DOS |
dbH |
CTOS (Convergent Technologies OS - Unisys) |
dbH |
Εκκίνηση KDG Telemetry SCPU
(Το KDG Telemetry χρησιμοποιεί το ID DBH για να αποθηκεύσει μια δυαδική εικόνα προστατευμένης λειτουργίας του κώδικα που θα εκτελεστεί σε μια μονάδα SCPU (Supervisory CPU) που βασίζεται σε x86 από τη σειρά DT800.) |
ddH |
Κρυφό CTOS Memdump |
deH |
Βοηθητικά προγράμματα διακομιστή Dell PowerEdge (FAT) |
dfH |
Διαμέρισμα διαχείρισης εικονικών δίσκων DG/UX |
dfH |
BootIt EMBRM
(Ο διαχειριστής εκκίνησης BootIt διαχειρίζεται τον δικό του πίνακα κατατμήσεων, με έως και 255 κύρια διαμερίσματα.) |
e0H |
Με κράτηση από την ST Microelectronics για ένα σύστημα αρχείων που ονομάζεται ST AVFS. |
e1H |
Πρόσβαση στο DOS ή εκτεταμένο διαμέρισμα SpeedStor 12-bit FAT
(Είναι ένα διαμέρισμα SSTOR σε κυλίνδρους άνω των 1023.) |
E2H |
DOS Μόνο για ανάγνωση |
e3H |
Διαστάσεις αποθήκευσης |
e4H |
SpeedStor 16-bit FAT εκτεταμένο διαμέρισμα < 1024 κυλίνδρων |
e5H |
Επισήμως καταχωρημένο ως δεσμευμένο |
e5H |
Tandy DOS με λογικό τομέα FAT |
e6H |
Επισήμως καταχωρημένο ως δεσμευμένο |
ebH |
BeOS BFS (BFS1)
( Το BeOS είναι ένα λειτουργικό σύστημα που τρέχει σε Power PC) |
edH |
Με κράτηση για το Sprytix του Matthias Paul |
γεια |
Ένδειξη ότι αυτό το παλαιού τύπου MBR ακολουθείται από μια κεφαλίδα EFI |
αν Η |
Διαμέρισμα που περιέχει ένα σύστημα αρχείων EFI |
f0H |
Linux/PA-RISC boot loader |
f1H |
Διαστάσεις αποθήκευσης |
f2H |
Δευτερεύον διαμέρισμα DOS 3.3+ |
f2H |
Unisys DOS με λογικό τομέα FAT |
f3H |
Επισήμως καταχωρημένο ως δεσμευμένο |
f4H |
Μεγάλο διαμέρισμα SpeedStor |
F4H |
Πρόλογος μονότομο διαμέρισμα |
Σύστημα αρχείων Δείκτη Byte σε δεκαεξαδικό |
Διαμέρισμα/Σύστημα αρχείων Περιγραφή |
f5H |
Κατάτμηση πολλών τόμων προλόγου
(Το διαμέρισμα τύπου F4H περιέχει έναν τόμο και δεν χρησιμοποιείται πλέον. Το διαμέρισμα τύπου F5H περιέχει 1 έως 10 τόμους που ονομάζονται MD0 έως MD9 . Υποστηρίζει ένα ή περισσότερα συστήματα. Κάθε τόμος μπορεί να έχει ως σύστημα αρχείων το σύστημα αρχείων NGF ή το σύστημα αρχείων TwinFS . ) |
f6H |
Επισήμως καταχωρημένο ως δεσμευμένο |
F6H |
Διαστάσεις αποθήκευσης SpeedStor |
faH |
Εξομοιωτής Bochs x86 της MandrakeSoft |
fbH |
Κατάτμηση συστήματος αρχείων VMware |
fcH |
Κατάτμηση VMware Swap
(Το VMware προσφέρει εικονικές μηχανές στις οποίες μπορεί κανείς να τρέξει Linux , Windows , FreeBSD .) |
fdH |
Διαμέρισμα raid Linux με αυτόματη ανίχνευση χρησιμοποιώντας μόνιμο σούπερ μπλοκ |
feH |
SpeedStor περισσότεροι από 1024 κύλινδροι |
feH |
LANstep |
feH |
Διαμέρισμα IBM PS/2 IML (Initial Microcode Load)
(Βρίσκεται στο τέλος του δίσκου.) |
feH |
Κρυφό διαμέρισμα Windows NT Disk Administrator
(Το Windows NT Disk Administrator επισημαίνει κρυφά διαμερίσματα, δηλ. υπάρχουν αλλά δεν πρέπει να προσπελαστούν, ως τύπος FEH .) |
feH |
Λογικό διαμέρισμα Linux Volume Manager (παλιό) |
ffH |
Τραπέζι Bad Block XENIX |
Εγγραφή εκκίνησης DOS (DBR) / Τομέας εκκίνησης DOS
Μετά τον πίνακα διαμερισμάτων, το DOS Boot Record (DBR) ή μερικές φορές ονομάζεται DOS Boot Sector είναι η δεύτερη πιο σημαντική πληροφορία στον σκληρό σας δίσκο. Οι περισσότερες εμπορικές εφαρμογές για ανάκτηση δίσκου είναι ικανές να αναπαράγουν κατεστραμμένες εγγραφές εκκίνησης
Το DOS Boot Record (DBR) για το πρώτο διαμέρισμα σε έναν σκληρό δίσκο βρίσκεται συνήθως στον Absolute Sector 63 (ο 64ος τομέας στη μονάδα δίσκου) ή σε μορφή CHS μπορούμε να πούμε C–H–S = 0–1–1 για τις περισσότερες μονάδες δίσκου.
Ωστόσο, αυτή η τοποθεσία μπορεί να διαφέρει ανάλογα με το SPT (Sectors per Track) του Drive. Για παράδειγμα, σε μια παλιά μονάδα δίσκου 245 MB με μόνο 31 SPT, η εγγραφή εκκίνησης βρισκόταν στον 32ο τομέα (Absolute Sector 31).
Το DBR δημιουργείται από την εντολή FORMAT του DOS. Αυτό το πρόγραμμα μπορεί να εκτελεστεί από μια δισκέτα DOS (ή απευθείας από άλλο τόμο, ακολουθώντας ορισμένα όρια του λειτουργικού συστήματος) για τη δημιουργία του DBR αφού ολοκληρωθεί η κατάτμηση χρησιμοποιώντας την εντολή FDISK.
Ο τομέας στον οποίο βρίσκεται το DBR γίνεται λογικός τομέας 1 αυτού του συγκεκριμένου διαμερίσματος για το DOS. Ο αριθμός τομέα που χρησιμοποιείται από το DOS ξεκινά από τον φυσικό τομέα στον οποίο βρίσκεται το DBR.
Ο πρώτος λογικός τομέας κάθε διαμερίσματος DOS θα περιέχει ένα DOS Boot Record (DBR) ή DOS Boot Sector. Η δουλειά του DBR είναι να φορτώσει το λειτουργικό σύστημα από τη μονάδα σκληρού δίσκου στην κύρια μνήμη του υπολογιστή και να δώσει στα συστήματα τον έλεγχο του φορτωμένου προγράμματος.
Για να γίνει αυτό, το DBR περιέχει ένα μικρό πρόγραμμα το οποίο εκτελείται από το εκτελέσιμο πρόγραμμα Master Boot Record (MBR). Όλα τα διαμερίσματα DOS περιέχουν τον κωδικό προγράμματος για την εκκίνηση του μηχανήματος, δηλαδή τη φόρτωση του λειτουργικού συστήματος, αλλά μόνο σε αυτό το διαμέρισμα δίνεται ο έλεγχος από το Master Boot Record, το οποίο, όπως ορίζεται ως ενεργό διαμέρισμα, στην καταχώρηση του πίνακα κατατμήσεων.
Το πρόγραμμα εκκίνησης στο DBR αναζητά τα δύο αρχεία προγράμματος IBMBIO.COM ή IO.SYS και IBMDOS.COM ή MSDOS.SYS, στον ριζικό κατάλογο του διαμερίσματος. Το IBMBIO.COM και το IBMDOS.COM είναι δύο κρυφά αρχεία προγράμματος συστήματος στα συστήματα PC-DOS ή αυθεντικά συστήματα IBM. Ενώ το IO.SYS και το MSDOS.SYS είναι δύο κρυφά αρχεία προγράμματος συστήματος σε λειτουργικό σύστημα MS-DOS που παρέχεται με συστήματα συμβατά με IBM.
Μετά από αυτό, το πρόγραμμα IO.SYS (ή IBMBIO.COM) φορτώνει το πρόγραμμα MSDOS.SYS (ή IBMDOS.COM) και το πρόγραμμα COMMAND.COM. Αυτή η πλήρης διαδικασία ονομάζεται «εκκίνηση» του υπολογιστή. Εάν αυτά τα αρχεία συστήματος δεν είναι διαθέσιμα στον κατάλογο, τότε αυτό το πρόγραμμα MBR εμφανίζει μηνύματα σφάλματος όπως:
«Μη έγκυρος δίσκος συστήματος ή σφάλμα εισόδου/εξόδου δίσκου,
Αντικαταστήστε το δίσκο και, στη συνέχεια, πατήστε οποιοδήποτε πλήκτρο…”
Στην οθόνη και περιμένει ο χρήστης να βάλει ένα bootable disk με τα παραπάνω προγράμματα στη μονάδα δισκέτας και να πατήσει ένα πλήκτρο.
Εφόσον η δισκέτα δεν έχει κατατμήσεις επάνω της, επομένως δεν έχει MBR ή Master Partition Table στον απόλυτο τομέα 0, αντίθετα περιέχει το DBR στον πρώτο της τομέα.
Ο παρακάτω πίνακας δίνει έναν απλό χάρτη της διάταξης μιας δισκέτας 3½ ιντσών και 1,44 MB αφού έχει μορφοποιηθεί με το σύστημα αρχείων FAT12. Δείχνει πού βρίσκονται το Boot Record, και τα δύο αντίγραφα του FAT, ο Root Directory και η αρχή της περιοχής δεδομένων:
Λογικός χάρτης 3½ ιντσών, δισκέτα 1,44 MB, Μορφοποιημένος με το σύστημα αρχείων FAT12 και έχει 18 τομείς ανά κομμάτι, 80 ίχνη, 2 όψεις και 512 byte ανά τομέα (χρησιμοποιώντας 1 τομέα ανά σύμπλεγμα). |
Απόλυτοι Τομείς |
Περιεχόμενα |
0 |
Εγγραφή εκκίνησης |
1 – 9 |
ΛΙΠΟΣ 1 |
10 – 18 |
ΛΙΠΟΣ 2 |
19 – 32 |
Κατάλογος ρίζας |
33 – 2879 |
Περιοχή Δεδομένων |
Μπορείτε επίσης να δημιουργήσετε υποκαταλόγους στην περιοχή δεδομένων με αρχεία που φαίνεται να περιέχονται μέσα τους. Στην πραγματικότητα, οι υποκατάλογοι δεν είναι τίποτα άλλο από ένα ειδικό αρχείο που παραθέτει όλα τα αρχεία που φαινομενικά περιέχονται σε αυτόν τον κατάλογο και όλα τα σχετικά δεδομένα για κάθε αρχείο, όπως η θέση του συμπλέγματος εκκίνησης κάθε αρχείου, η ημερομηνία, η ώρα και το μέγεθος αρχείου κ.λπ.
Το DBR περιέχει επίσης ορισμένες σημαντικές πληροφορίες σχετικά με τη γεωμετρία του δίσκου. Αυτές οι πληροφορίες βρίσκονται στον πρώτο τομέα κάθε διαμερίσματος, όπως:
- Κωδικός μετάβασης + NOP
- Όνομα και έκδοση OEM
- Bytes ανά τομέα
- Τομείς ανά σύμπλεγμα
- Αποθεματικοί Τομείς
- Αριθμός αντιγράφων FAT
- Μέγιστες καταχωρήσεις καταλόγου ρίζας (αλλά δεν είναι διαθέσιμες για το FAT32)
- Αριθμός τομέων σε διαμέρισμα μικρότερο από 32 MB (επομένως δεν είναι διαθέσιμο για FAT32)
- Περιγραφέας πολυμέσων (F8h για σκληρούς δίσκους)
- Τομείς ανά λίπος (σε παλαιότερα συστήματα FAT και μη διαθέσιμοι για FAT32)
- Τομείς ανά διαδρομή
- Αριθμός Κεφαλών
- Αριθμός κρυφών τομέων στο διαμέρισμα
- Αριθμός Τομέων σε Κατάτμηση
- Αριθμός Τομέων ανά FAT
- Σημαίες περιγραφής πληροφοριών FAT
- Έκδοση μονάδας δίσκου FAT32
- Αριθμός συμπλέγματος της έναρξης του καταλόγου ρίζας
- Αριθμός Τομέα του Τομέα Πληροφοριών Συστήματος Αρχείων
- Αριθμός τομέα του τομέα εκκίνησης αντιγράφων ασφαλείας
- Ρεζερβέ
- Λογικός αριθμός διαμερίσματος μονάδας δίσκου
- Εκτεταμένη υπογραφή (29H)
- Σειριακός αριθμός διαμερίσματος
- Όνομα τόμου του διαμερίσματος
- FAT Όνομα
- Εκτελέσιμος κώδικας
- Εκτελέσιμος δείκτης ή μαγικός αριθμός (AAH 55H)
Τα πρώτα 3 Byte του DBR περιέχουν μια εντολή JMP για να παραλείψετε τις πληροφορίες και να κάνετε επεκτάσεις δυνατές επειδή το MBR φορτώνει αυτόν τον τομέα στη μνήμη και μεταφέρει την εκτέλεση σε αυτόν. Συνήθως αυτά τα τρία byte είναι δεκαεξαδικοί αριθμοί σε μορφή κάτι σαν E9 XX XX (Hex) ή EB XX 90 (Hex).
Ακολουθώντας την αρχική οδηγία JMP, το OEM ID είναι ένα πεδίο 8-bit που έχει δεσμευτεί από τη Microsoft για αναγνώριση OEM. Το OEM ID περιγράφει το πρόγραμμα που δημιούργησε την εγγραφή εκκίνησης. Αυτό είναι συχνά "MSWIN4.0" για Windows 95/98/ME, "IBM 20.0" για OS/2 και "MSDOS5.0" για MS-DOS 4.0 και μεταγενέστερες εκδόσεις.
Το τρίτο σημαντικό στοιχείο του τομέα εκκίνησης είναι το BIOS Parameter Block (BPB). Το μπλοκ παραμέτρων δίσκου είναι πολύ σημαντική περιοχή δεδομένων για το DOS. Βοηθά το DOS να βρει:
- Bytes ανά τομέα
- Τομείς ανά σύμπλεγμα
- Αποθεματικοί Τομείς
- Αριθμός FAT
- Αριθμός καταχωρήσεων καταλόγου ρίζας
Μορφή εγγραφής εκκίνησης FAT32 DOS |
Οφσετ |
Περιγραφή |
Μέγεθος |
00H |
Κωδικός μετάβασης + NOP |
3 Byte |
03 Ω |
Όνομα και έκδοση OEM |
8 Byte |
0BH |
Bytes ανά τομέα |
2 Byte |
0DH |
Τομείς ανά σύμπλεγμα |
1 Byte |
0EH |
Αποθεματικοί Τομείς |
2 Byte |
10Η |
Αριθμός αντιγράφων FAT |
1 Byte |
11 Ω |
Μέγιστες καταχωρήσεις καταλόγου ρίζας (αλλά δεν είναι διαθέσιμες για το FAT32) |
2 Byte |
13Η |
Αριθμός τομέων σε διαμέρισμα μικρότερο από 32 MB (επομένως δεν είναι διαθέσιμο για FAT32) |
2 Byte |
15Η |
Περιγραφέας πολυμέσων (F8H για σκληρούς δίσκους) |
1 Byte |
16Η |
Τομείς ανά λίπος (σε παλαιότερα συστήματα FAT και μη διαθέσιμοι για FAT32) |
2 Byte |
18Ω |
Τομείς ανά διαδρομή |
2 Byte |
1ΑΧ |
Αριθμός Κεφαλών |
2 Byte |
1CH |
Αριθμός κρυφών τομέων στο διαμέρισμα |
4 Byte |
20H |
Αριθμός Τομέων σε Κατάτμηση |
4 Byte |
24 Ω |
Αριθμός Τομέων ανά FAT |
4 Byte |
28Ω |
Σημαίες (Bits 0-4 Υποδεικνύουν Active FAT Copy) (Bit 7 Υποδεικνύει εάν ο κατοπτρισμός FAT είναι ενεργοποιημένος ή απενεργοποιημένος <Clear is Enabled>) (Εάν ο κατοπτρισμός FAT είναι απενεργοποιημένος, οι Πληροφορίες FAT γράφονται μόνο στο αντίγραφο που υποδεικνύεται από τα bits 0-4) |
2 Byte |
2AH |
Έκδοση μονάδας δίσκου FAT32 (High Byte = Major Version, Low Byte = Minor Έκδοση) |
2 Byte |
2CH |
Αριθμός συμπλέγματος της έναρξης του καταλόγου ρίζας |
4 Byte |
30Η |
Αριθμός τομέα του τομέα πληροφοριών συστήματος αρχείων (αναφέρεται από την αρχή του διαμερίσματος) |
2 Byte |
32 Ω |
Αριθμός τομέα του τομέα εκκίνησης αντιγράφων ασφαλείας (αναφέρεται από την αρχή του διαμερίσματος) |
2 Byte |
34Ω |
Ρεζερβέ |
12 Byte |
40Η |
Λογικός αριθμός διαμερίσματος μονάδας δίσκου |
1 Byte |
41 Ω |
Αχρησιμοποίητο (Μπορεί να είναι υψηλό Byte της προηγούμενης καταχώρισης) |
1 Byte |
42Η |
Εκτεταμένη υπογραφή (29H) |
1 Byte |
43Η |
Σειριακός αριθμός ή 32 – Bit Binary ID του Partition
(Δυαδικό ID 32 Bit που παρέχεται από το ίδιο το ΛΣ) |
4 Byte |
47Η |
Όνομα τόμου του διαμερίσματος |
11 Byte |
52Η |
Όνομα FAT (FAT32 σε αυτήν την περίπτωση) |
8 Byte |
5 ΑΧ |
Εκτελέσιμος κώδικας |
420 Byte |
1FEH |
Εκτελέσιμος δείκτης ή μαγικός αριθμός (AAH 55H) |
2 Byte |
- Σύνολο τομέων σε λογικό όγκο (Μικρός, για λογικό μέγεθος μικρότερο ή ίσο με 32 MB)
- Περιγραφέας πολυμέσων Byte
- Αριθμός Τομέων ανά ΦΑ
Αυτές οι πληροφορίες μας βοηθούν να βρούμε τη θέση του FAT και κάποιες άλλες σημαντικές τιμές. Η τοποθέτηση εσφαλμένων πληροφοριών εδώ ή η καταστροφή αυτών των τιμών καθιστά αδύνατη την εκκίνηση από τη μονάδα σκληρού δίσκου. Μερικές φορές η ύπαρξη λανθασμένων πληροφοριών στο μπλοκ παραμέτρων δίσκου θα αποτρέψει την εκκίνηση από τη μονάδα σκληρού δίσκου καθώς και από τη μονάδα δισκέτας.
Τα byte ανά τομέα είναι σχεδόν πάντα 512. Αν όχι ακόμα, τότε πρέπει να είναι ακέραιος αριθμός 2 (π.χ. 64, 128 και 256).
Ο αριθμός των Τομέων ανά cluster εξαρτάται από το μέγεθος του cluster. (Δείτε την ενότητα Ομάδες που δόθηκε σε αυτό το κεφάλαιο προηγουμένως). Ο αριθμός των αντιγράφων του FAT είναι σχεδόν πάντα 2.
Αριθμός καταλόγων ρίζας: Εξαρτάται από το σύστημα αρχείων και το μέγεθος του τόμου. (Δείτε τα Όρια συστήματος αρχείων που δόθηκαν πριν και την περιγραφή του καταλόγου ρίζας θα δοθεί στη συνέχεια).
Συνολικός αριθμός τομέων: Εξαιρούνται οι κρυφοί τομείς. Εάν είναι 0 στο BPB, χρησιμοποιείται το πεδίο στις πληροφορίες εκτεταμένης εγγραφής εκκίνησης και αντίστροφα. Σημειώστε ότι είναι δυνατό να προσδιοριστεί εάν οι εκτεταμένες πληροφορίες (DOS 4.0 και μεταγενέστερες) είναι διαθέσιμες εξετάζοντας το byte υπογραφής σε μετατόπιση 26H.
Όλοι οι τομείς πριν από τον τομέα εκκίνησης μιας λογικής μονάδας δίσκου DOS θεωρούνται "κρυφοί" τομείς. Το DOS δεν ερμηνεύει κρυφούς τομείς. Οι κανονικές μονάδες δισκέτας έχουν 0 κρυφούς τομείς. Τα διαμερίσματα του σκληρού δίσκου θα έχουν έναν αριθμό που αντικατοπτρίζει τη θέση τους στη μονάδα δίσκου. Σημειώστε ότι ολόκληρη η πρώτη κεφαλή του πρώτου κυλίνδρου συνήθως δεσμεύεται για τον πίνακα διαμερισμάτων, παρόλο που χρησιμοποιείται στην πραγματικότητα μόνο ο πρώτος τομέας.
Περιγραφέας πολυμέσων: Χρησιμοποιείται για να δώσει μια ένδειξη του μέσου ή του τύπου δίσκου. Οι κανονικές τιμές είναι 0 για εκτεταμένο διαμέρισμα DOS και F8H για σκληρό δίσκο. Οι τιμές των Byte του Περιγραφέα πολυμέσων έχουν δοθεί στον παρακάτω πίνακα.
Περιγραφείς μέσων |
Τύπος |
Ικανότητα |
Μέγεθος και τύπος |
F0H |
2,88 MB |
3,5", 2 όψεων, 36 τομείς ανά κομμάτι |
F0H |
1,44 MB |
3,5", 2 όψεων, 18 τομείς ανά κομμάτι |
F9H |
720 KB |
3,5", 2 όψεων, 9 τομείς ανά κομμάτι |
F9H |
1,2 MB |
5,25", 2 όψεων, 15 τομείς ανά κομμάτι |
FDH |
360 KB |
5,25", 2 όψεων, 9 τομείς ανά κομμάτι |
FFH |
320 KB |
5,25", 2 όψεων, 8 τομείς ανά κομμάτι |
FCH |
180 KB |
5,25", μονής όψης, 9 τομείς ανά κομμάτι |
FEH |
160 KB |
5,25", μονής όψης, 8 τομείς ανά κομμάτι |
F8H |
--------- |
Σταθερός δίσκος |
Αριθμός Τομέων FAT: Πρέπει να υπολογιστεί. Η μέθοδος υπολογισμού του μεγέθους του FAT έχει δοθεί στην περιγραφή του FAT που δίνεται στο κεφάλαιο.
Το DBR ενός συστήματος αρχείων FAT32 έχει δοθεί στο σχήμα που δίνεται παρακάτω:
Τομείς ΠΑΧΥ
Τομείς ανά διαδρομή (ή Τομείς ανά κεφαλή): Τομείς ανά κεφαλή είναι ο αριθμός των τομέων που ομαδοποιούνται κάτω από το ένα κεφάλι. Ομοίως, οι κεφαλές ανά κύλινδρο αντικατοπτρίζουν τον αριθμό των κυλίνδρων ανά κεφαλή. Εάν αυτό το διαμέρισμα είναι διαμέρισμα CHS, αυτές οι τιμές πρέπει να είναι ίδιες με αυτές που επιστρέφονται από το BIOS. Εάν δεν είναι τα ίδια, πρέπει να λάβετε υπόψη ότι ο δίσκος δεν έχει ρυθμιστεί σωστά και ότι το διαμέρισμα ενδέχεται να μην μπορεί να χρησιμοποιηθεί.
Hidden Sectors: Όπως έχουμε ήδη συζητήσει, αυτός είναι ο αριθμός των τομέων στον φυσικό δίσκο που προηγούνται της έναρξης του τόμου, πριν από τον ίδιο τον τομέα εκκίνησης. Χρησιμοποιείται κατά τη διάρκεια της ακολουθίας εκκίνησης για τον υπολογισμό της απόλυτης μετατόπισης στον ριζικό κατάλογο και τις περιοχές δεδομένων. Σκεφτείτε το ως τον αριθμό των τομέων μεταξύ της αρχής αυτού του διαμερίσματος και του ίδιου του πίνακα κατατμήσεων.
Αυτό το πεδίο πρέπει να είναι ίδιο με τον "αριθμός τομέων που προηγούνται του διαμερίσματος" στον πίνακα διαμερισμάτων. Σημειώστε ότι δεν είναι απαραίτητα η φυσική διεύθυνση LBA του πρώτου τομέα, καθώς ενδέχεται να υπάρχουν δευτερεύοντα διαμερίσματα.
Εάν οι κρυφοί τομείς δεν είναι ίδιοι με τον πίνακα διαμερισμάτων, μπορείτε να θεωρήσετε ότι ο τομέας εκκίνησης είναι κατεστραμμένος και το διαμέρισμα δεν μπορεί να χρησιμοποιηθεί. Σημειώστε επίσης ότι η λέξη high συνήθως περιέχει σκουπίδια σε παλιές εκδόσεις του DOS.
Εάν υποψιάζεστε ότι ένας τομέας εκκίνησης έχει καταστραφεί, μπορείτε να ελέγξετε πολλά από τα πεδία που αναφέρονται παραπάνω για να δείτε εάν οι τιμές που αναφέρονται εκεί έχουν νόημα.
Για παράδειγμα, τα Byte ανά τομέα θα είναι 512 στη συντριπτική πλειονότητα των περιπτώσεων. Μπορεί επίσης να περιμένετε να δείτε συμβολοσειρές κειμένου στην ενότητα εκτελέσιμου κώδικα του τομέα εκκίνησης που είναι κατάλληλες για το λειτουργικό σύστημα που μορφοποίησε το δίσκο.
Για παράδειγμα, οι τυπικές συμβολοσειρές κειμένου σε τόμους FAT που έχουν μορφοποιηθεί από το MS-DOS περιλαμβάνουν: "Μη έγκυρος δίσκος συστήματος.", "Σφάλμα εισόδου/εξόδου δίσκου". και "Αποτυχία εκκίνησης δίσκου σε τόμους FAT που έχουν διαμορφωθεί από τα Windows NT: Δεν είναι δυνατή (ή δεν ήταν δυνατή) η εύρεση του NTLDR", "Σφάλμα I/O κατά την ανάγνωση."
Αλλά να θυμάστε ότι δεν πρέπει να θεωρείτε αυτή τη λίστα ως all inclusive. Εάν βρείτε άλλα μηνύματα στον τομέα εκκίνησης, αυτό δεν σημαίνει απαραίτητα ότι υπάρχει πρόβλημα με τον τομέα εκκίνησης. Διαφορετικές εκδόσεις του MS-DOS και των Windows NT μπορεί μερικές φορές να έχουν ελαφρώς διαφορετικές συμβολοσειρές μηνυμάτων στους τομείς εκκίνησης.
Από την άλλη πλευρά, εάν δεν βρείτε κανένα κείμενο ή εάν το κείμενο σαφώς δεν σχετίζεται με το MS-DOS ή τα Windows NT, θα πρέπει να εξετάσετε την πιθανότητα ο τομέας εκκίνησης να έχει μολυνθεί από ιό ή να έχει σημειωθεί κάποια άλλη μορφή καταστροφής δεδομένων.
Για να ανακάμψετε από έναν τομέα εκκίνησης που έχει μολυνθεί από ιό, είναι συνήθως καλύτερο να χρησιμοποιήσετε ένα εμπορικό πρόγραμμα προστασίας από ιούς. Πολλοί ιοί και Trojans θα κάνουν πολλά περισσότερα από την απλή εγγραφή δεδομένων στον τομέα εκκίνησης, επομένως δεν συνιστάται η μη αυτόματη επιδιόρθωση του τομέα εκκίνησης, καθώς μπορεί να μην εξαλείψει πλήρως τον ιό ή τον Trojan και σε ορισμένες περιπτώσεις, μπορεί να κάνει περισσότερο κακό παρά καλό. Ωστόσο, θα ασχοληθούμε με το DBR στην ενότητα προγραμματισμού αυτού του βιβλίου.
Εάν υποψιάζεστε ότι ο τομέας εκκίνησης έχει καταστραφεί για κάποιο άλλο λόγο, ενδέχεται να είναι δυνατή η ανάκτηση από τη ζημιά του τομέα εκκίνησης χωρίς να επαναδιαμορφώσετε τη μονάδα δίσκου τροποποιώντας με μη αυτόματο τρόπο τα πεδία που περιγράφονται παραπάνω. Θα προσπαθήσουμε να ξεπεράσουμε τέτοια προβλήματα με τον προγραμματισμό σε τεχνικές προγραμματισμού ανάκτησης σε αυτό το βιβλίο.
Πίνακας κατανομής αρχείων (FAT)
Ακολουθούν DBR οι Πίνακες Εκχώρησης Αρχείων. Ο Πίνακας Εκχώρησης Αρχείων (FAT) εισήχθη το 1977 για την αποθήκευση δεδομένων σε δισκέτες για το αυτόνομο Disk Basic της Microsoft. Το FAT έχει τροποποιηθεί αρκετές φορές για να καλύψει τις αυξανόμενες ανάγκες. Αναπτύχθηκε για να πληροί τις απαιτήσεις ενός γρήγορου και ευέλικτου συστήματος για τη διαχείριση δεδομένων τόσο σε αφαιρούμενα όσο και σε σταθερά μέσα.
Το 1996, το FAT32 παρουσιάστηκε με Windows 95 OSR2. Όπως έχουμε συζητήσει νωρίτερα, τα Windows 98/ME υποστηρίζουν FAT32 με το μέγεθος των σκληρών δίσκων. Τώρα με αυτά τα λειτουργικά συστήματα χρησιμοποιείται συνήθως το σύστημα αρχείων FAT32.
Το πρώτο σύστημα αρχείων DOS FAT (DOS 1.x) χρησιμοποίησε σύστημα FAT 12-bit το οποίο χρησιμοποιείται ακόμα και σήμερα για δισκέτες. Το DOS 2.x πρόσθεσε υποστήριξη για σκληρούς δίσκους, μετατοπίστηκε σε καταχωρήσεις FAT 16-bit λόγω των μεγαλύτερων όγκων.
Γύρω στο 1987, το DOS 4.0 άλλαξε τον χειρισμό τομέα χαμηλού επιπέδου για να χρησιμοποιήσει παραμέτρους 32 bit για να ξεπεράσει το μεγάλο πρόβλημα υποστήριξης δίσκων, καθώς έχουμε ήδη συζητήσει τους περιορισμούς των συστημάτων αρχείων.
Το FAT διατηρεί έναν χάρτη ολόκληρης της επιφάνειας της μονάδας δίσκου έτσι ώστε, ποια περιοχή είναι ελεύθερη, ποια περιοχή είναι κακή, ποια περιοχή καταλαμβάνεται από ποιο αρχείο κ.λπ. Όταν πρόκειται να προσπελαστούν ορισμένα δεδομένα που είναι αποθηκευμένα στην επιφάνεια του δίσκου, το DOS συμβουλεύεται το FAT για να ανακαλύψει τις περιοχές της επιφάνειας του σκληρού δίσκου που περιέχει τα δεδομένα.
Ο τύπος του FAT που θα χρησιμοποιηθεί καθορίζεται από το πρόγραμμα FDISK κατά την κατάτμηση της μονάδας σκληρού δίσκου. Αλλά το πραγματικό FAT γράφεται από το πρόγραμμα FORMAT του DOS.
The FAT does not keep track of each and every sector on the disk surface instead it manages the disk area in a group of sectors called “cluster” or “allocation unit” (See the Cluster Discussed before, in the same chapter).
A cluster is the smallest unit of hard disk drive space that DOS allocates to a file, it consist of one or more sectors depending on the drive size. The cluster size is decided and fixed by the DOS FORMAT program during the high level formatting of the hard disk drive. (See the “size of clusters” discussion, given before)
Actually, the FAT is an index of the clusters of the entire volume. The FAT has one entry for each cluster. The first two entries in a FAT contain information about the FAT. The third and subsequent entries in the FAT are assigned to clusters of disk space, starting with the first cluster available for use by files
Because FAT is such an important item, DOS keeps two copies of the FAT, primary FAT or FAT1 and secondary FAT or FAT2 (there are normally two copies, however many new operating systems create more than two copies of FAT).
Each FAT occupies contiguous sectors on the disk, with the 2nd FAT immediately following the1st FAT does not make the DOS use 2nd FAT to correct the problem, instead when the 1st FAT is updated DOS copies it to the 2nd FAT, corrupting the 2nd FAT as well, in the process.
This updating is done every time DOS finds that the 1st and 2nd FAT does not match. So, in case of any corruption of the 1st FAT, one should immediately do the repair by using some disk editor software and comparing the 1st FAT with the 2nd FAT. This should be done before DOS copies the corrupted FAT to the second FAT.
With the introduction of FAT32, both the FAT entries and the sector numbering are now 32-bit. That means that there are now 4,294,967,296 distinct 32-bit values multiplied by 512 bytes per sector yielding 2 terabytes (2,199,023,255,552 bytes) as the maximum possible disk size under FAT32.
The size of the directory entry for each file in FAT 32 is 4 bytes to contain the value of the starting cluster of the file rather than the 2 bytes needed under FAT16. The larger value accommodates the larger number of possible clusters.
Traditionally, each directory entry is a 32-byte record, and this remains the same. In the middle of the directory record there is 10 bytes (bytes 12 to 21) that Microsoft has reserved for its own future use. Two of those bytes are now used to accommodate the extra bytes needed to specify the starting cluster under FAT32.
As we have already discussed that there have been 12 bit, 16 bit, and 32 bit versions of FAT. While 32 bit FAT allows much more efficient storage which may be up to 30% more efficient and use of larger hard drives.
When the File System of an Operating System is invoked by a program to find the contents of a file, the first cluster value, in the directory entry for that file, is read and used to find the FAT chain. The FAT chain is the list of clusters that contain data belonging to a file.
FAT32 Drive Layout |
Offset |
Description |
Start of Partition |
Boot Sector |
Start of Partition + Number of Reserved Sectors |
FAT Tables |
Start of Partition + Number of Reserved Sector + (Number of Sectors Per FAT * 2)
[Assuming that FAT Mirroring is Enabled, this is almost always true] |
Root Directory |
Start of Partition + Number of Reserved Sectors + (Number of Sectors Per FAT * 2) + Number of Sectors in root directory |
Data Area |
FAT entries can contain values that indicate:
- The next cluster in a FAT chain for a given file
- The Free clusters i.e., the clusters which are not in use by any file
- The information of Bad Sectors i.e., the cluster containing one or more sectors that are physically damaged & should not be used.
- The final cluster of a file
Entries of FAT Table |
Number (Hex.) |
Description |
0 |
Free cluster |
???? |
Cluster in use, next cluster in chain |
FF0-FF6 / FFF0-FFF6 |
Cluster is reserved |
FF7 /FFF7 |
Cluster contains bad sectors |
FF8-FFF / FFF8-FFFF |
End of file |
Each FAT entry represents a cluster address and contains a pointer to the next cluster address (FAT entry) for the file. The last FAT entry for a file contains the final cluster value instead of a pointer. The first two entries in a FAT contain information about the FAT. These Bytes of the FAT contain a media descriptor byte. This byte can be used to find the type of the disk media of which this FAT entry is.
The third and subsequent entries in the FAT are assigned to clusters of disk space, starting with the first cluster available for use by files. A FAT entry can have any of the values given in the above table, based on the information it wants to convey.
A 000H in 12–Bit FAT or 0000H in 16–Bit FAT indicates that the cluster corresponding to this FAT location is unallocated or is empty. Any value from FF8H to FFFH in 12–Bit FAT or FFF8H to FFFFH in 16 – Bit FAT indicates that this cluster is the last cluster in a chain of clusters of a file.
Value from FF0H to FF7H in 12 – Bit FAT indicates reserved clusters. An FF7H in a 12–Bit FAT or FFF7H in 16–Bit FAT indicates that the cluster corresponding to the location of the FAT is a bad cluster i.e. this is basically a cluster containing bad sectors. This cluster is not used for data storage.
Any other value in the FAT table is a pointer to the next cluster in the file allocation chain.
How Windows detects the Improper – Shutdown
Είναι πολύ συνηθισμένο πράγμα και ελπίζω να το έχετε παρατηρήσει πολλές φορές όταν χρησιμοποιείτε τα Windows ότι εάν υπάρχει ακατάλληλο – τερματισμός λειτουργίας στον υπολογιστή σας, για οποιονδήποτε λόγο όπως, διακοπή ρεύματος, καταστροφή λογισμικού, τυχαίο τερματισμό λειτουργίας κ.λπ., όταν κάνετε περαιτέρω επανεκκίνηση του υπολογιστή σας, εμφανίζεται στην οθόνη το μήνυμα ακατάλληλο – τερματισμός λειτουργίας κατά τη διαδικασία εκκίνησης και το Λειτουργικό Σύστημα Scan.
Τα επόμενα δύο σχήματα δείχνουν τα 256 Byte της αρχής ενός FAT 32-bit, ωστόσο χρειαζόμαστε μόνο αρχικά 8 byte για να το συζητήσουμε.
Στην πραγματικότητα, όταν τα λειτουργικά συστήματα Windows έχουν φορτωθεί στη μνήμη, δηλαδή τα Windows έχουν ξεκινήσει, το 8ο Byte (ή μετατόπιση 7H) του FAT γίνεται 07H ή F7H από 0FH ή FFH.
Η Microsoft χρησιμοποιεί το byte 0FH μόνο για τον τόμο που περιέχει το τρέχον λειτουργικό σύστημα και το byte FFH για οποιονδήποτε άλλο τόμο στον οποίο έχει πρόσβαση.
Μόλις ξεκινήσει η εκκίνηση των Windows, το 8ο Byte αλλάζει σε 07H ή F7H, το οποίο θα επανέλθει σε 0FH ή FFH μόνο εάν τα Windows τερματιστούν σωστά.
Εάν υπάρχει διακοπή ρεύματος ή ο διακόπτης τροφοδοσίας του υπολογιστή απενεργοποιηθεί κατά λάθος ή το σύστημα επανεκκινηθεί με μη αυτόματο τρόπο λόγω κάποιου προβλήματος λογισμικού, τότε αυτό το byte θα παραμείνει ως 07H ή F7H που ενημερώνει το λειτουργικό σύστημα των Windows κατά την επόμενη εκκίνηση ότι υπήρξε κάποιο είδος ακατάλληλου τερματισμού λειτουργίας και, στη συνέχεια, τα Windows χρησιμοποιούν το πρόγραμμα σάρωσης του δίσκου για να (Scans the disk).

Κατάλογος ρίζας
Μετά το τελευταίο FAT βρίσκεται ο Κατάλογος Root. Ο ριζικός κατάλογος είναι σαν ένας πίνακας περιεχομένων για τις πληροφορίες που είναι αποθηκευμένες στη μονάδα σκληρού δίσκου. Η θέση του καταλόγου ρίζας μπορεί εύκολα να καθοριστεί προσθέτοντας τις τιμές από την εγγραφή εκκίνησης, όπως τοποθετείται ακολουθώντας τα FAT.
Η περιοχή καταλόγου διατηρεί τις πληροφορίες σχετικά με το όνομα του αρχείου, την ημερομηνία και την ώρα της δημιουργίας του αρχείου, το χαρακτηριστικό αρχείου, το μέγεθος αρχείου και το αρχικό σύμπλεγμα του συγκεκριμένου αρχείου. Κάθε καταχώρηση καταλόγου που περιγράφει αυτές τις πληροφορίες για ένα αρχείο είναι μια πληροφορία 32 byte.
Ο ριζικός κατάλογος περιέχει πληροφορίες σχετικά με τα αρχεία και τους καταλόγους που διακλαδίζονται από τον ριζικό κατάλογο. Όλοι οι επιπλέον κατάλογοι αποθηκεύονται ως αρχεία, στην ίδια μορφή με τον ριζικό κατάλογο. Προηγουμένως, ο ριζικός κατάλογος είχε καθοριστεί σε μέγεθος και βρισκόταν σε μια σταθερή θέση στο δίσκο, αλλά τώρα είναι ελεύθερος να αναπτυχθεί όσο χρειάζεται, όπως τώρα αντιμετωπίζεται ως αρχείο.
Ο αριθμός των αρχείων που μπορεί κανείς να αποθηκεύσει στον ριζικό κατάλογο εξαρτάται από τον τύπο FAT που χρησιμοποιείται. Για παράδειγμα, για μια δισκέτα 3½ ιντσών 1,44Mb με FAT 12-Bit, περιορίζεται σε 224 καταχωρήσεις, εάν κάποιος προσπαθήσει να αποθηκεύσει το 225ο αρχείο, το DOS θα εμφανίσει ένα "Σφάλμα δημιουργίας αρχείου". Όταν χρησιμοποιείται ένα FAT 16-bit, μπορεί κανείς να έχει συνολικά 512 καταχωρήσεις στον ριζικό κατάλογο. Κάθε κύριος κατάλογος σε δισκέτα ή σκληρό δίσκο, λειτουργεί επίσης ως καταχώρηση ριζικού καταλόγου.
Ο παρακάτω πίνακας παραθέτει τα όρια των καταχωρήσεων root για διαφορετικά μέσα και FAT:
Περιγραφή πολυμέσων και συστήματος αρχείων |
Μέγιστες καταχωρήσεις καταλόγου ρίζας |
Μονής όψης 5¼ ιντσών 180K FDD |
64 |
Διπλής όψης 5¼ ιντσών 320K FDD |
64 |
Διπλής όψης 5¼ ιντσών 360K FDD |
112 |
Διπλής όψης 3½ ιντσών 720K FDD |
112 |
Διπλής όψης FDD 5¼ ιντσών 1,2 megabyte |
224 |
Διπλής όψης FDD 3½ ιντσών 1,44 megabyte |
224 |
Δίσκοι διπλής όψης 3½ ιντσών 1,68 megabyte μορφής DMF (Αυτός είναι ο λόγος που η Microsoft δημιούργησε τα Αρχεία CAB!) |
16 |
Διπλής όψης FDD 3½ ιντσών 2,88 megabyte |
240 |
Σκληροί Δίσκοι (FAT12 & FAT16) |
512 |
Σκληροί Δίσκοι με FAT 32 (Καθώς αντιμετωπίζει τον κατάλογο διαδρομής ως αρχείο) |
65.536 |
Αυτό δεν σημαίνει ότι με 16-bit FAT περιορίζεται στην αποθήκευση μόνο 512 αρχείων στη μονάδα σκληρού δίσκου. Κάποιος μπορεί να χρησιμοποιήσει υποκαταλόγους για την αποθήκευση οποιουδήποτε αριθμού αρχείων που περιορίζεται μόνο από το μέγεθος της μονάδας δίσκου.
Θυμηθείτε ότι η ετικέτα τόμου για μια δισκέτα συνήθως αποθηκεύεται στον τομέα εκκίνησης, αλλά η ετικέτα τόμου για έναν σκληρό δίσκο αποθηκεύεται ως καταχώρηση ριζικού καταλόγου και ο χώρος που έχει δεσμευτεί στον τομέα εκκίνησης αφήνεται κενός με κενά. Η εντολή DIR του DOS επιστρέφει αυτή στον κατάλογο εάν υπάρχει ή αυτή στον τομέα εκκίνησης εάν όχι.
Οι καταχωρήσεις καταλόγου περιέχουν την είσοδο στην αλυσίδα των συμπλεγμάτων και το όνομα αρχείου. Επομένως, οι πιο σημαντικές Εγγραφές Καταλόγου είναι του ριζικού καταλόγου, επειδή περιέχει ευρετήρια συμπλέγματος που παραπέμπουν σε όλους τους Υποκαταλόγους.
Όλοι οι κατάλογοι περιέχουν δύο καταχωρήσεις, "." για Τρέχον κατάλογο (Αυτός ο υποκατάλογος) και ".." για γονικός κατάλογος (Γονικός κατάλογος αυτού του υποκαταλόγου). Μπορούμε να παρακολουθήσουμε αυτές τις εγγραφές εύκολα καθώς θα τοποθετούνται πάντα στην αρχή ενός συμπλέγματος εάν το σύμπλεγμα περιέχει έναν κατάλογο. Ο παρακάτω πίνακας δείχνει τη μορφή μιας καταχώρησης καταλόγου στον κατάλογο ρίζας. Ο πίνακας που δίνεται στη συνέχεια Δείχνει πώς τεμαχίζονται τα 32 Byte καταχώρισης καταλόγου ενός αρχείου στον Κατάλογο ρίζας για να αποθηκεύονται οι διάφορες πληροφορίες σχετικά με αυτό:
Οφσετ |
Μέγεθος |
Περιγραφή |
00H |
8 Byte |
Όνομα αρχείου
(Δείτε επίσης τον επόμενο πίνακα για την ειδική σημασία του πρώτου χαρακτήρα του ονόματος αρχείου) |
08Ω |
3 Byte |
Επέκταση |
0BH |
1 Byte |
Χαρακτηριστικά αρχείου (Δείτε τον Πίνακα με τα χαρακτηριστικά του αρχείου) |
0CH |
10 Byte |
Ρεζερβέ |
16Η |
2 Byte |
Ώρα Δημιουργίας ή Τελευταία Ενημέρωση (Δείτε Πίνακα Μορφής Ημερομηνίας-Ώρας) |
18Ω |
2 Byte |
Ημερομηνία δημιουργίας ή τελευταίας ενημέρωσης (Δείτε τον Πίνακα Μορφής Ημερομηνίας-Ώρας) |
1ΑΧ |
2 Byte |
Έναρξη ή Πρώτο σύμπλεγμα αρχείου
(Η τιμή 0000H χρησιμοποιείται στις καταχωρήσεις του Γονικού Καταλόγου (' .. ') για να υποδείξει ότι ο Γονικός Κατάλογος είναι ο ριζικός κατάλογος) |
1CH |
4 Byte |
Μέγεθος αρχείου σε Bytes. |
Το όνομα αρχείου περιέχει το όνομα με κεφαλαία και εάν το μέγεθος του ονόματος αρχείου είναι μικρότερο από τους 8 χαρακτήρες, τα κενά συμπληρώνονται με χαρακτήρες διαστήματος του ASCII Number 32. Το πεδίο επέκτασης περιέχει την επέκταση του αρχείου, με κεφαλαία.
Εάν το Όνομα αρχείου είναι μεγαλύτερο από τους 8 χαρακτήρες, τα Windows δημιουργούν ένα σύντομο όνομα αρχείου από ένα μεγάλο, περικόπτοντάς το σε έξι κεφαλαίους χαρακτήρες και προσθέτοντας "~1" στο τέλος του ονόματος αρχείου βάσης.
Εάν υπάρχει ήδη ένα άλλο όνομα αρχείου με τους ίδιους πρώτους έξι χαρακτήρες, ο αριθμός αυξάνεται. Η επέκταση διατηρείται η ίδια και κάθε χαρακτήρας που ήταν παράνομος σε προηγούμενες εκδόσεις των Windows και του DOS αντικαθίσταται με μια υπογράμμιση.
Τα μεγάλα ονόματα αρχείων αποθηκεύονται σε ειδικά διαμορφωμένες καταχωρήσεις καταλόγου 32-Byte Long File Name (LFN) που επισημαίνονται με byte χαρακτηριστικών που έχουν οριστεί σε 0FH. Για ένα δεδομένο αρχείο ή υποκατάλογο, μια ομάδα από μία ή περισσότερες καταχωρήσεις καταλόγου ονόματος αρχείου μεγάλου μήκους προηγείται αμέσως της μεμονωμένης καταχώρησης καταλόγου 8.3 στο δίσκο.
Κάθε καταχώρηση καταλόγου LFN περιέχει έως και 13 χαρακτήρες του ονόματος αρχείου μεγάλου μήκους και το λειτουργικό σύστημα συνδυάζει όσες χρειάζεται για να περιλαμβάνει ένα ολόκληρο μεγάλο όνομα αρχείου.
Αυτός είναι ο λόγος για τον οποίο τα μεγάλα ονόματα αρχείων μειώνουν τον μέγιστο δυνατό αριθμό καταχωρήσεων ριζικού καταλόγου σε ένα σύστημα αρχείων. Πώς τα Windows υποστηρίζουν μεγάλα ονόματα αρχείων, θα συζητήσουμε λεπτομερώς αργότερα σε αυτό το κεφάλαιο.
Το πρώτο Byte του ονόματος αρχείου μπορεί επίσης να περιέχει ορισμένες σημαντικές πληροφορίες σχετικά με το αρχείο. Οι πληροφορίες που δίνονται από αυτό το byte μπορεί να είναι μία από αυτές που δίνονται στον παρακάτω πίνακα:
Πρώτος χαρακτήρας ονόματος αρχείου |
Αξία |
Εννοια |
00H |
Υποδεικνύει ότι αυτή η καταχώρηση καταλόγου δεν χρησιμοποιείται. |
05H |
Υποδεικνύει ότι ο 1ος χαρακτήρας του ονόματος αρχείου είναι ο χαρακτήρας E5H, αλλά στην πραγματικότητα το αρχείο δεν έχει διαγραφεί. (Δείτε την έννοια του E5H) |
E5H |
Το αρχείο έχει διαγραφεί και αυτή η καταχώρηση καταλόγου είναι η καταχώρηση καταλόγου ενός διαγραμμένου αρχείου. Η περιοχή δεδομένων που καταλάμβανε προηγουμένως αυτό το αρχείο είναι τώρα ελεύθερη για εκχώρηση για άλλο νέο αρχείο. |
2EH |
Αυτός είναι ένας Υποκατάλογος. Το πεδίο αριθμού συμπλέγματος αυτής της καταχώρησης θα περιέχει τον αριθμό συμπλέγματος του καταλόγου. |
2EH 2EH |
Δύο 2EH σε μια καταχώρηση καταλόγου υποδεικνύουν την καταχώρηση γονικού καταλόγου ενός Υποκαταλόγου. Ο αριθμός συμπλέγματος αυτής της καταχώρησης θα περιέχει τον αριθμό συμπλέγματος του γονικού καταλόγου αυτού του καταλόγου. Ο αριθμός συμπλέγματος θα είναι μηδέν 0000H εάν ο γονικός κατάλογος είναι ριζικός κατάλογος. |
Τα χαρακτηριστικά είναι ένα δυαδικό κωδικοποιημένο πεδίο 8-bit. Ο παρακάτω πίνακας λέει για την Κατάσταση για τη σημαία των χαρακτηριστικών για το δεδομένο αρχείο:
Bits χαρακτηριστικών |
Ιδιότης |
Κομμάτι |
Δυάδικος |
Γοητεύω |
Σημαία αρχείου μόνο για ανάγνωση |
0 |
.......; |
01 Ω |
Σημαία κρυφού αρχείου |
1 |
......?. |
02H |
Σημαία αρχείου συστήματος |
2 |
.....?.. |
04Ω |
Σημαία ετικέτας τόμου
(Δηλώνει ότι η καταχώριση είναι ετικέτα τόμου) |
3 |
.....;... |
08Ω |
Υποκατάλογος
(στην ίδια μορφή με τον κατάλογο) |
4 |
...?.... |
10Η |
Bit αρχειοθέτησης
(Αρχείο τροποποιήθηκε από το τελευταίο αντίγραφο ασφαλείας) |
5 |
..;...... |
20H |
Κράτηση (Περιέχει 0) |
6 |
.0...... |
- |
Κράτηση (Περιέχει 0) |
7 |
0....... |
- |
Ένα Αρχείο μπορεί να έχει πολλαπλά χαρακτηριστικά. Για παράδειγμα, ένα μεμονωμένο αρχείο μπορεί να είναι αρχείο μόνο για ανάγνωση καθώς και κρυφό ή ένα μεμονωμένο αρχείο μπορεί να έχει και τα δύο χαρακτηριστικά, The System–File και The Hidden–File. (Δείτε το Παράδειγμα που δίνεται στη συνέχεια για την Κωδικοποίηση των Εγγραφών Καταλόγου).
Η ώρα και η ημερομηνία είναι ένα ειδικά κωδικοποιημένο πεδίο 32-bit (16-bit της ώρας και 16-bit για την ημερομηνία). Η διαίρεση αυτών των Bit που κωδικοποιούν για τη σύνθεση της Ώρας δημιουργίας ή της τελευταίας ενημέρωσης και της Ημερομηνίας δημιουργίας ή τελευταίας ενημέρωσης για ένα Αρχείο, έχει δοθεί στον ακόλουθο πίνακα:
Η καταχώρηση για το Time of Create ή Last Update of file, που είναι το 16ο και το 17ο Byte στην καταχώρηση του καταλόγου, έχει τη μορφή που δίνεται στον παραπάνω πίνακα. Η κωδικοποίηση έχει ως εξής:
- Το H είναι δυαδικός αριθμός για ώρα, που μπορεί να κυμαίνεται από 0 έως 23
- Το M είναι ένας δυαδικός αριθμός για λεπτό, που μπορεί να κυμαίνεται από 0 έως 59
- Το S είναι ένας δυαδικός αριθμός για δευτερόλεπτα σε προσαύξηση 2 δευτερολέπτων
- Η καταχώρηση για Δεδομένα Δημιουργίας ή Τελευταία Ενημέρωση Αρχείου, που είναι η 18η και
- Το 19ο Byte στην καταχώρηση καταλόγου, έχει την ακόλουθη μορφή:
- Το Y είναι δυαδικός αριθμός μεταξύ 0 και 127 ή έτους 1980 έως 2107
- Το M είναι δυαδικός αριθμός για το μήνα, μπορεί να κυμαίνεται από 1 έως 12
- Το D είναι ένας δυαδικός αριθμός για την ημερομηνία, μπορεί να κυμαίνεται από 1 έως 31
Αυτή η καταχώρηση καταλόγου συνδέεται με την καταχώρηση FAT με βάση την πρώτη τιμή συμπλέγματος. Μόλις το DOS έχει την αρχική τιμή συμπλέγματος οποιουδήποτε αρχείου από τον Κατάλογο, το DOS μπορεί να βρει το πλήρες αρχείο χρησιμοποιώντας το FAT. Το Entry Cluster στην αλυσίδα είναι το πρώτο σύμπλεγμα που συνθέτει το αρχείο. Εάν έχει οριστεί η σημαία καταλόγου των χαρακτηριστικών, αυτό το πεδίο οδηγεί σε μια νέα καταχώρηση καταλόγου.
Η καταχώρηση του μεγέθους αρχείου είναι 4 Byte. Με αυτό μπορούμε να υπολογίσουμε πώς το FAT32 υποστηρίζει το μέγιστο μέγεθος ενός αρχείου έως και 4.294.967.295 Byte που είναι περίπου 4 GiB. Τα 4 Byte έχουν 32 Bit και το μέγιστο δυνατό μέγεθος αρχείου που αποτελείται από οποιοδήποτε δυαδικό 32-bit θα μπορούσε να είναι:
= 11111111 11111111 11111111 11111111 (B) Byte
= 4.294.967.295 (D) Byte
~ 4 GiB
Έτσι, το FAT32 υποστηρίζει το μέγιστο μέγεθος αρχείου έως και 4 GiB.
Καταχώριση καταλόγου ρίζας
Το Μέγεθος αρχείου και το αρχικό σύμπλεγμα αρχείων μπορεί να είναι πολύτιμος πόρος για την ανάκτηση δεδομένων για την ανάκτηση κατεστραμμένων αρχείων, καθώς μπορούμε να υπολογίσουμε από πόσα συμπλέγματα υποτίθεται ότι αποτελείται το αρχείο.
Το σχήμα που δόθηκε πριν δείχνει την καταχώρηση Root Directory για επτά διαφορετικά αρχεία. Η κωδικοποίηση για αυτές τις εγγραφές έχει δοθεί στον ακόλουθο πίνακα:
Όνομα μεγάλου αρχείου (LFN)
Όπως έχουμε ήδη συζητήσει νωρίτερα στο Root Directory Discussion, Παλαιότερα ο ριζικός κατάλογος είχε καθοριστεί σε μέγεθος και βρισκόταν σε μια σταθερή θέση στο δίσκο, αλλά τώρα είναι ελεύθερος να αναπτυχθεί όσο χρειάζεται, όπως τώρα αντιμετωπίζεται ως αρχείο.
Αυτό είναι πολύ σημαντικό για μεγάλα ονόματα αρχείων, επειδή κάθε μεγάλο όνομα αρχείου χρησιμοποιεί πολλαπλές καταχωρήσεις καταλόγου. Η προσθήκη υποστήριξης μεγάλων ονομάτων αρχείων σε ένα λειτουργικό σύστημα που χρησιμοποιεί ονόματα αρχείων 8.3 δεν είναι τόσο απλή όσο η επέκταση των καταχωρήσεων καταλόγου ώστε να χωρούν περισσότερους από 11 χαρακτήρες.
Εάν αυτό το νέο λειτουργικό σύστημα επιστρέψει ονόματα αρχείων 255 χαρακτήρων, πολλές παλαιότερες εφαρμογές, οι οποίες αναμένουν ότι δεν θα λαμβάνουν περισσότερους από 11 χαρακτήρες, θα διακοπεί επειδή ένα πρόγραμμα πρέπει να αφήσει κατά μέρος μνήμη για να αποθηκεύσει τα ονόματα αρχείων που διαβάζει και εάν αφήσει κατά μέρος 16 Byte για ένα όνομα αρχείου και το λειτουργικό σύστημα αντιγράψει (ας πούμε) 32 χαρακτήρες, στη συνέχεια γράψτε άλλους χαρακτήρες σε αυτό το διάστημα. Ένας σίγουρος τρόπος για να σπάσετε μια εφαρμογή είναι να αντιγράψετε τυχαία δεδομένα στο χώρο δεδομένων της.
Για να ξεπεραστεί αυτό το πρόβλημα, βρέθηκε μια έξυπνη λύση στα Windows 95, στο πρόβλημα της υποστήριξης μεγάλων ονομάτων αρχείων, διατηρώντας παράλληλα τη συμβατότητα με προηγούμενες εκδόσεις εφαρμογών DOS και Windows.
Όταν οι περισσότερες εφαρμογές (εκτός από βοηθητικά προγράμματα δίσκων χαμηλού επιπέδου όπως το Norton Disk Doctor) ζητούν από το σύστημα ονόματα αρχείων και υποκαταλόγου, δεν το κάνουν διαβάζοντας καταχωρήσεις καταλόγου απευθείας από το δίσκο, αλλά χρησιμοποιώντας συναρτήσεις απαρίθμησης ενσωματωμένες στο λειτουργικό σύστημα.
Όπως γνωρίζουμε ότι μια καταχώρηση καταλόγου επισημαίνεται με τον συνδυασμό των χαρακτηριστικών Bits μόνο για ανάγνωση, κρυφών, συστήματος και τόμου. Πιθανώς, εάν το byte χαρακτηριστικού της Καταχώρισης καταλόγου έχει την τιμή 0FH, οι συναρτήσεις απαρίθμησης που είναι ενσωματωμένες σε όλες τις υπάρχουσες εκδόσεις του DOS και σε όλες τις εκδόσεις των Windows Pre-Windows 95 θα παρακάμψουν αυτήν την καταχώριση καταλόγου σαν να μην ήταν εκεί.
Στη συνέχεια, η λύση ήταν η αποθήκευση δύο ονομάτων για κάθε αρχείο και υποκατάλογο, ένα σύντομο όνομα που είναι ορατό σε όλες τις εφαρμογές και ένα μεγάλο όνομα που είναι ορατό μόνο σε εφαρμογές των Windows 95 (και μεταγενέστερες) και σε εφαρμογές που έχουν ξαναγραφτεί για να προστεθεί υποστήριξη για μεγάλα ονόματα αρχείων. Τα σύντομα ονόματα αρχείων αποθηκεύονται σε μορφές 8,3 σε συμβατικές καταχωρήσεις καταλόγου 32 byte.
Έχουμε ήδη συζητήσει ότι τα Windows δημιουργούν ένα σύντομο όνομα αρχείου από ένα μεγάλο, περικόπτοντάς το σε έξι κεφαλαίους χαρακτήρες και προσθέτοντας "~1" στο τέλος του βασικού ονόματος αρχείου.
Εάν υπάρχει ήδη ένα άλλο όνομα αρχείου με τους ίδιους πρώτους έξι χαρακτήρες, ο αριθμός αυξάνεται. Η επέκταση διατηρείται η ίδια και κάθε χαρακτήρας που ήταν παράνομος σε προηγούμενες εκδόσεις των Windows και του DOS αντικαθίσταται με μια υπογράμμιση.
Τα ονόματα αρχείων Long αποθηκεύονται σε ειδικά διαμορφωμένες καταχωρήσεις καταλόγου 32-Byte Long File Name (LFN) που επισημαίνονται με byte χαρακτηριστικών που έχουν οριστεί σε 0FH. Για ένα δεδομένο αρχείο ή υποκατάλογο, μια ομάδα από μία ή περισσότερες καταχωρήσεις καταλόγου Long File Name προηγείται αμέσως της μεμονωμένης καταχώρησης καταλόγου 8.3 στο δίσκο.
Κάθε καταχώρηση του καταλόγου Long File Name περιέχει έως και 13 χαρακτήρες του μεγάλου ονόματος αρχείου και οι συμβολοσειρές του λειτουργικού συστήματος είναι τόσες όσες χρειάζεται για να περιλαμβάνει ένα ολόκληρο μεγάλο όνομα αρχείου.
Για μια καταχώρηση καταλόγου Long File Name, τα ονόματα αρχείων αποθηκεύονται σε μορφή Unicode, η οποία απαιτεί 2 Byte ανά χαρακτήρα σε αντίθεση με 1 Byte ASCII. Οι χαρακτήρες του ονόματος αρχείου κατανέμονται σε τρία ξεχωριστά πεδία:
- Τα πρώτα 10 Byte (πέντε χαρακτήρες) σε μήκος,
- Τα δεύτερα 12 Bytes (έξι χαρακτήρες),
- Το τρίτο 4 Bytes (δύο χαρακτήρες).
- The lowest five Bits of the first byte of directory entry hold a sequence number that identifies the position of directory entry relative to other
- Long File Name directory entries associated with the same file.
If a long filename requires three LFN directory entries, the sequence number of the first will be 1, that of the second will be 2, and the sequence number of the third will be 3 and Bit 6 of the first Byte of third entry is set to 1 to indicate that it is the last entry in the sequence.
The attribute field appears at the same location in LFN directory entries as in 8.3 directory entries because the file system does not know which type of directory entry it is dealing with until after it examines the attribute byte. The starting cluster number field also appears at the same location, but in LFN directory entries its value is always 0. The type indicator field also holds 0 in every long filename.
One of the problems with long filenames is that they consume more disk space than short ones. That is not a big deal when long names are stored in subdirectories, because as long as disk space is available, subdirectories can grow to accommodate added directory entries but the maximum number of directory entries available in the root directory is fixed, and long filenames waste space in the root directory which is limited in size.
Now for Example, if the root directory of a hard disks contains at most 512 directory entries, because a 128-character name requires 11 entries, 10 for the long name and 1 for the short name, you could create only 46 files and subdirectories in the root directory if each were given a 128-character name.
The problem goes away for FAT32 also because the root directory under FAT32 can grow as well because in FAT32 system the root directory is treated as a File which can grow in size.
Data Area (or Files Area)
Following the Root Directory the Data Area (or Files Area) starts. Rather we can say that the remainder of the volume after Root Directory is the Data Area.
The data area contains the actual data stored on the disk surface. DOS uses cluster number 2 for the first sector of the data area therefore we should keep it in mind while performing various calculations that the cluster number should start from 2.
When we format a hard disk drive the FORMAT command of DOS does not destroy or overwrite the data on the data area. The FORMAT command only removes the directory entry and FAT entries and it does not touch the actual data area.
This makes the recovery of accidentally formatted hard disk drive possible, which is not possible in all cases of accidentally formatted floppy disk. As in full Format by Windows the Data area of Floppy is filled by F6H characters and all the information is overwritten.
DOS uses a 16-Bit/32-Bit pointer called a “Last Cluster Used” (LCU) pointer to store the last used cluster number. Initially this pointer value is zero, when some information is written on a particular cluster, that cluster number is stored into LCU pointer.
After this, every time if the new information is to be written, DOS searches for a free cluster from the LCU number onwards. This forces new data written on the disk to remain contiguous as the data is written to the new, unused area.
Now understanding of data in case of an accidental deletion would be much easier as the file is in one contiguous area on the disk. Once the end of disk is reached or the system is reset, the LCU pointer value is reset to zero.
But the problem does not last here. It is not practically possible that you only create new files on your disk and you never delete or modify any file from the previously stored ones. Using only LCU has the problems if you do a lot of creation and deletion of files as this will force the new data to move further and further into the inner tracks of the hard disk.
Therefore if any file, which was stored in the disk, is moved or deleted, the clusters in the data area which were occupied by the file are now set as unallocated clusters available in the data area and ready to be written new data on them. By doing this, operating system do not need to move all the data to the inner tracks of the disk.
But a lot of deletion and creation of files fragments the data on the disk and this causes the Fragmentation in the data.
Fragmented and Defragmented Data
We have already discussed that each file in the disk is stored as a linked list of clusters by which the data that is contained in a file and can be located anywhere on the disk. If you have a 10 MB file stored on a disk using 4,096-byte clusters, it is using 2,560 clusters. These clusters can be on different tracks, different platters of the disk, in fact, they can be anywhere.
Though a file can be spread all over the disk, this is far from the preferred situation. The reason is the undesirable slow performance. Hard disks are relatively slow devices, mainly because they have mechanical parts in them. Each time the hard disk has to move the heads to a different track, it takes time that is equivalent to thousands and thousands of processor cycles.
Therefore, we want to minimize the degree to which each file is spread around the disk. In the ideal case, every file would in fact be completely contiguous. That means each cluster it uses would be located one after the other on the disk. This would enable the entire file to be read, if necessary, without a lot of mechanical movement by the hard disk.
Actually, the file system starts out with all or most of its file contiguous but as a result of the creation and deletion of files over a period of time the data on the disk becomes more and more fragmented.
Let us consider a simple example to understand the fragmentation. The table below represents the usage of the 12 clusters. Initially, the table is empty:
cluster 1 |
cluster 2 |
cluster 3 |
cluster 4 |
cluster 5 |
cluster 6 |
cluster 7 |
cluster 8 |
cluster 9 |
cluster 10 |
cluster 11 |
cluster 12 |
Now let us suppose that we create four files, File A, B, C and D in this disk. File A takes 1 cluster, file B takes 4, file C takes 2, and file D takes 3. We store them in the free available space, and they start out all contiguous as shown in the next figure:
After some time let we delete the file C and by doing this, both the clusters which were occupied by file C, are now free or unallocated. This leaves the disk looking like the following figure:
Now, we create a new File E that needs 3 clusters. But, as there are no contiguous blocks on the disk left that are 3 clusters long, so we have to split E into two fragments, using part of the space formerly occupied by C. Now our disk is going to look like the figure given next:
After a slice of time period, let we delete files A and E and create file F which takes up 5 clusters. The disk now looks like the figure given below:
Now we see that the file F ends up being broken into three fragments. This type of data in the disk is called the fragmented data. The example given above is a very simplified example of fragmentation, because the real disks have thousands of files and thousands of clusters, so the problem there is magnified. This gives you the general idea of what happens though.
What a defragmentation program (Like Microsoft’s DEFRAG Program, Norton’s SpeedDisk) does is to rearrange the disk to get the files back into contiguous form. After running the disk defragmentation utility, the Defragmented data on the disk which we were talking about will look like the figure given below:
The Fragmented and Defragmented data have a lot of importance during the data recovery, in many cases.
Let us consider that we have two crashed disks for data recovery, one has fragmented data and one was defragmented recently. And you have to do data recovery by collecting the data from the surface of both the disks as the FAT and Root information of the files is damaged. In such type of cases the percentage of recovery will be proportional to the defragmentation of the data in the disk.
Obviously, the data recovery from the Defragmented disk will be easy and percentage of data recovery will also be high but on the other hand, the data recovery from the fragmented disk will be difficult and time–taking as well as the percentage of recovered data will also be disappointing.
Identifying the cause of data corruption
There are some specific steps which if followed in a sequence, may help us to find the area of corruption. These steps have been described with recovery procedure as follows:
Boot the system with bootable floppy
Boot your system with a bootable floppy or CD of the operating system you were using. Try to read the logical drives C: or D: or whatever. If the drive(s) is accessible, just copy all the data off the drive. Now you can figure out why the disk is not booting properly, with less stress.
Verify the MBR Information
The first and most important piece of data on the hard disk is the MBR and the table that it carries within it, the partition table. The small disk Editing tool named “TTEDITOR.EXE” has been given in the disk included with this book. Or you can use any other program to analyze the hard disk.
Diskedit will be the most suitable program to analyze the disk for data recovery purpose. Well, whichever program you feel easy to use is upon you. Try to read MBR and especially its partition table.
As you have seen in the description of MBR, discussed in this chapter, In the second half portion of MBR, there is some readable text which displayed as error message by this, if there is something wrong with it. These text messages are displayed something like:
If these error messages are not available this indicates the corruption of MBR. There may also some illegal message instead of this like, “Your system has been hacked by…..” or any other unexpected message. It indicates that there is something seriously wrong with the MBR, and most probably, it is due to some VIRAL infection
Now check the partition table of MBR after the initial 446 bytes. If the partition table is blank, you will not see any error message at boot time. DOS ignores a non partitioned drive. If there is not any bootable floppy in drive A:, the system will request for a bootable floppy to be inserted in drive A:.
The important thing to be noticed here is that the partition table should not be blank on a drive that was previously working, so something has erased it. If the partition table is blank, restore the MBR from the backup.
If the backup does not work, even after the successful completion of restoring process, there is physical damage on this sector. Try the programming techniques of data recovery, given in the next chapters to recover the data. If you are not a programmer at all, better to go to any good data recovery center.
If you not have any backup of MBR try to write partition table manually with some disk editing tool, like Diskedit, how ever it is very difficult to do so in some cases.
For those users who are not the programmers and also do not have any backup, may use the method which I have been using since my data recovery project development time, in my college days.
What you have to do is, just search the computer near you, which has almost same size of disk, with same number of partitions and the most important thing the same operating system which was in your computer.
Ωστόσο, λειτουργεί πλήρως, τις περισσότερες φορές. Αλλά αν όχι, τουλάχιστον μπορεί να σας βοηθήσει να αποκτήσετε πρόσβαση στο πρώτο διαμέρισμα του δίσκου σας. Ακόμη και το λειτουργικό σας σύστημα θα εκκινήσει κανονικά, εάν ήταν εγκατεστημένο στο πρώτο διαμέρισμα και εάν οι άλλες πληροφορίες δεν είναι κατεστραμμένες.
Εάν το MBR είναι εντάξει, επαληθεύστε το DBR
Εάν το MBR είναι εντάξει, επαληθεύστε το DBR (DOS Boot Record). Όπως έχουμε ήδη συζητήσει, αυτός είναι ο πρώτος τομέας στο διαμέρισμα DOS και περιέχει ένα μικρό πρόγραμμα που φορτώνει τα κρυφά αρχεία και εκκινεί το λειτουργικό σύστημα.
Το DBR περιέχει επίσης πολύ σημαντικές πληροφορίες σχετικά με το FAT, τα συμπλέγματα ριζικού καταλόγου και το μέγεθος του διαμερίσματος κ.λπ. Χρησιμοποιήστε κάποιο βοηθητικό πρόγραμμα Diskedit για να διαβάσετε τις πληροφορίες DBR εάν το DBR είναι κατεστραμμένο ή έχει κάποιες παράνομες πληροφορίες για να επαναφέρετε το DBR από το Backup.
Όλα τα επαγγελματικά λογισμικά για ανάκτηση δεδομένων, έχουν τη δυνατότητα να ξαναγράψουν το DBR. Θα συζητήσουμε για το πώς να ξαναγράψουμε το DBR του διαμερίσματος με προγραμματισμό, στα επόμενα κεφάλαια του βιβλίου.
Μπορείτε επίσης να ξαναγράψετε το DBR του διαμερίσματος με τη βοήθεια του Diskedit παρέχοντας τις κατάλληλες πληροφορίες.
Υπάρχει επίσης ένας πολύ εύκολος τρόπος για να μάθετε τον τομέα της διαφθοράς. Τα μηνύματα σφάλματος που εμφανίζονται στην οθόνη έχουν κάποια συγκεκριμένη αιτία εμφάνισης. Η περιγραφή ορισμένων σημαντικών μηνυμάτων σφάλματος έχει ως εξής:
Μήνυμα |
Περιγραφή |
"Ο τομέας δεν βρέθηκε μονάδα ανάγνωσης" |
Αυτό το μήνυμα μπορεί να εμφανιστεί κατά τη διάρκεια οποιασδήποτε λειτουργίας DOS. Γενικά, προκαλείται είτε από το ξεθώριασμα είτε από την απώλεια ενός αναγνωριστικού τομέα. |
"Σφάλμα δεδομένων κατά την ανάγνωση μονάδας δίσκου" |
Αυτό το μήνυμα μπορεί να εμφανιστεί κατά τη διάρκεια οποιασδήποτε λειτουργίας DOS. Προκαλείται από την αποτυχία του ελέγχου δεδομένων – CRC (Cyclic Redundancy Check) ή ECC (Error Correction Code). Αυτός ο "έλεγχος δεδομένων" αναφέρεται στον μηχανισμό που χρησιμοποιείται για να ελεγχθεί εάν τα δεδομένα που διαβάζονται από το δίσκο είναι αξιόπιστα. |
"Βρέθηκαν 0 σκληροί δίσκοι" |
Εμφανίζεται εάν ο σκληρός δίσκος δεν εντοπιστεί από το BIOS του υπολογιστή. Ελέγξτε τις συνδέσεις του καλωδίου τροφοδοσίας και δεδομένων του σκληρού δίσκου. Εάν οι συνδέσεις είναι εντάξει, το πρόβλημα μπορεί να οφείλεται σε κάποιο σφάλμα υλικού του σκληρού δίσκου. |
"Αποτυχία σκληρού δίσκου, πατήστε F1 για να συνεχίσετε" |
Το ίδιο με το παραπάνω |
"Μη έγκυρη προδιαγραφή μονάδας δίσκου" |
Εμφανίζεται στην κατάσταση όταν είτε το σύστημα δεν αναγνωρίζει το υλικό, είτε δεν υπάρχουν πληροφορίες διαμερίσματος είτε λείπει το πρόγραμμα οδήγησης συσκευής της μονάδας. |
"Μη έγκυρη διαμόρφωση πατήστε F1 για να συνεχίσετε" |
Εάν ο σκληρός δίσκος είναι διαθέσιμος, Είτε η μπαταρία στη μητρική πλακέτα είναι νεκρή και το σύστημα έχει χάσει τις πληροφορίες SETUP διαμόρφωσης ή ο δίσκος δεν αποκρίνεται. |
"Μη έγκυρος πίνακας διαμερισμάτων" |
Αυτό είναι το μήνυμα σφάλματος MBR. Εμφανίζεται όταν ο πίνακας διαμερισμάτων του MBR δεν έχει τις έγκυρες πληροφορίες διαμερισμάτων. |
"Σφάλμα κατά τη φόρτωση του λειτουργικού συστήματος" |
Αυτό είναι το μήνυμα σφάλματος MBR. Εμφανίζεται λόγω οποιουδήποτε τύπου καταστροφής πληροφοριών MBR. |
«Λείπει λειτουργικό σύστημα» |
Το ίδιο με το παραπάνω. |
"Αποτυχία εκκίνησης δίσκου" |
Αυτό είναι ένα μήνυμα σφάλματος DBR. Συνήθως ο σκληρός δίσκος πρέπει να είναι προσβάσιμος εάν εκκινείτε από δισκέτα. Αν και δεν είναι εκκινήσιμο, αυτό δεν θα πρέπει να επηρεάζει την πρόσβαση σε δεδομένα στο δίσκο. |
"Σφάλμα μη συστήματος δίσκου ή δίσκου" |
Το ίδιο με το παραπάνω. |
"Κακός ή λείπει διερμηνέας εντολών" |
Αυτό το μήνυμα εμφανίζεται λόγω κακής ή έλλειψης διερμηνέα εντολών. Για παράδειγμα, εάν το λειτουργικό σύστημα δεν εντοπίσει το command.com στην τρέχουσα διαδρομή ή το command.com είναι κατεστραμμένο. |