Κεφάλαιο – 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 και οι επεκτάσεις INT 13H
Η κύρια διεπαφή στο BIOS ήταν η διακοπή λογισμικού 13H, η οποία είναι γενικά γνωστή ως INT 13H , όπου το INT σημαίνει διακοπή και το 13H είναι ο αριθμός 19 στον δεκαεξαδικό συμβολισμό.
Θα μάθουμε και θα συζητήσουμε τη χρήση των διακοπών στον προγραμματισμό λεπτομερώς στη φάση προγραμματισμού αυτού του βιβλίου. Η διεπαφή Int13H υποστηρίζει πολλές διαφορετικές εντολές που μπορούν να δοθούν στο BIOS, το οποίο στη συνέχεια τις μεταβιβάζει στον σκληρό δίσκο. Η διακοπή 13Η περιλαμβάνει τις περισσότερες από τις εργασίες που πρέπει να εκτελέσουμε με το δίσκο, όπως ανάγνωση, γραφή, μορφοποίηση κ.λπ.
Η χρήση και η εργασία με το Int13H απαιτεί από το πρόγραμμα κλήσης να γνωρίζει τις συγκεκριμένες παραμέτρους του σκληρού δίσκου και να παρέχει ακριβείς διευθύνσεις κεφαλής, κυλίνδρου και τομέα στις ρουτίνες για να επιτρέπεται η πρόσβαση στο δίσκο.
Το BIOS χρησιμοποιεί τη γεωμετρία του σκληρού δίσκου όπως έχει ρυθμιστεί στο πρόγραμμα εγκατάστασης του BIOS. Η διεπαφή Int13H εκχωρεί 24 bit για την προδιαγραφή της γεωμετρίας της μονάδας δίσκου, χωρισμένα ως εξής:
- 10 bit για τον αριθμό του κυλίνδρου ή συνολικά 1.024 κύλινδροι.
- 8 bit για τον αριθμό κεφαλής ή συνολικά 256 κεφαλές.
- 6 bit για τον αριθμό τομέα ή συνολικά 63 τομείς.
Έτσι μπορεί να είναι ο μέγιστος δυνατός αριθμός τομέων στο δίσκο
= 1024 * 256 * 63
= 16515072
Όπως βλέπουμε εδώ ότι η διεπαφή INT 13H μπορεί να υποστηρίξει δίσκους που περιέχουν έως και 16515072 τομείς με 512 byte ανά τομέα. Έτσι το μέγιστο μέγεθος δίσκου μπορεί να είναι,
= 16515072 * 512
= 8455716864 Bytes
~ 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 πληροφοριών διεύθυνσης και ως εκ τούτου μπορεί να χειριστεί μόνο μονάδες δίσκου που περιέχουν έως και 16515072 τομείς με 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 στην ενότητα προγραμματισμού αυτού του βιβλίου. Υπάρχει ένας αριθμός άλλων περιορισμών μεγέθους που υπήρχαν τις προηγούμενες ημέρες. Μερικά από τα δημοφιλή λογικά και φυσικά όρια έχουν περιγραφεί παρακάτω:
Τhe 2.1 GB Limit
Αυτό το όριο μεγέθους παρατηρήθηκε σε ορισμένα παλαιότερα BIOS που εκχωρούν μόνο 12 bit για το πεδίο στη μνήμη RAM CMOS που δίνει τον αριθμό των κυλίνδρων. Επομένως, αυτός ο αριθμός μπορεί να είναι το πολύ 111111111111B (Μέγιστος δυνατός δυαδικός αριθμός 12 bit) που ισοδυναμεί με 4095. Με αυτόν τον τρόπο το μέγιστο μέγεθος δίσκου με 16 κεφαλές, στις οποίες μπορείτε να έχετε πρόσβαση, θα είναι:
= 4095 * 16 * 63 * 512 Byte
= 2113413120 Byte είναι προσβάσιμα.
The 33.8 GB limit
Αυτό το εμπόδιο μεγέθους σκληρού δίσκου παρατηρήθηκε στις αρχές του 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 Sectors
= 267386880 Sectors
= 136902082560 Bytes (Sector of 512 Bytes Each)
~ 137 GB
Υποστήριξη BIOS IDE δύο και τεσσάρων δίσκων
Σήμερα Τα περισσότερα από τα σύγχρονα προγράμματα BIOS υποστηρίζουν αυτόματη ανίχνευση σκληρού δίσκου, η οποία επιτρέπει στο BIOS να εξετάζει κάθε σκληρό δίσκο για να καθορίσει τη λογική του γεωμετρία, τις υποστηριζόμενες λειτουργίες μεταφοράς και άλλες πληροφορίες. Αυτό μπορεί να γίνει είτε κατά την εγκατάσταση είτε δυναμικά κάθε φορά που εκκινείται το μηχάνημα, ανάλογα με το BIOS.
Το BIOS του συστήματος παρέχει εγγενή υποστήριξη για σκληρούς δίσκους IDE/ATA, επομένως μπορεί να υπάρχει ένας αριθμός παραμέτρων που μπορούν να ρυθμιστούν ώστε να ενημερώνουν το BIOS ποιοι σκληροί δίσκοι υπάρχουν στο σύστημα και πώς να τους ελέγχει. Κάθε σκληρός δίσκος στο σύστημα θα έχει τις δικές του ρυθμίσεις, επομένως υπάρχει ένα σετ για τον κύριο κύριο και ένα για τον κύριο υποτελή και ούτω καθεξής. Ωστόσο, οι σκληροί δίσκοι SCSI διαμορφώνονται μέσω του προσαρμογέα κεντρικού υπολογιστή και του ενσωματωμένου SCSI BIOS.
Δεδομένου ότι οι μονάδες σκληρού δίσκου μεγέθους άνω των 8 GB δεν μπορούν να περιγραφούν με χρήση παραδοσιακών παραμέτρων γεωμετρίας IDE/ATA BIOS, επομένως η δυναμική αυτόματη ανίχνευση είναι ο τυπικός τρόπος ρύθμισης σύγχρονων μονάδων δίσκου, ειδικά στην περίπτωση παλαιότερων συστημάτων υπολογιστών, ωστόσο ο χρήστης μπορεί να εξακολουθεί να ορίστε ορισμένες παραμέτρους μονάδας δίσκου με μη αυτόματο τρόπο.
Ακολουθούν οι ρυθμίσεις που βρίσκονται συνήθως στο πρόγραμμα εγκατάστασης του BIOS για τη διαμόρφωση των σκληρών δίσκων IDE/ATA. Αν και στα σύγχρονα συστήματα ορισμένες από τις παλαιότερες ρυθμίσεις συμβατότητας ενδέχεται να μην υπάρχουν πλέον:
- Τύπος δίσκου: αρχικά χρησιμοποιήθηκε για να επιτρέπει στο χρήστη να επιλέξει τον σκληρό του δίσκο από μια προκαθορισμένη λίστα, αλλά τώρα χρησιμοποιείται για τον έλεγχο της αυτόματης ή μη αυτόματης ρύθμισης παραμέτρων για τη μονάδα δίσκου.
- Μέγεθος: Μέγεθος της μονάδας σκληρού δίσκου σε δεκαδικά megabyte. Υπολογίζεται από τις άλλες παραμέτρους όπως Κύλινδροι, Κεφαλές και Τομείς κ.λπ.
- Κύλινδροι: Ο αριθμός των λογικών κυλίνδρων στο δίσκο.
Κεφαλές: Ο αριθμός των λογικών κεφαλών στο δίσκο.
- Τομείς: Ο αριθμός των λογικών τομέων κάθε 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. (Δείτε το όριο Cluster που δίνεται στη συνέχεια σε αυτό το κεφάλαιο).
- 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 ξεπερνά το όριο αυτού του βιβλίου, ωστόσο ορισμένοι περιορισμοί της έχουν δοθεί στον παρακάτω πίνακα:
Description
|
Limit |
Maximum file size
|
16 Exabytes – 1 KB (2 64 Bytes – 1 KB) |
Maximum volume size
|
(2 64 – 1) clusters |
Files (and Folders) per volume
|
4,294,967,295 (2 32 – 1 ) Flies and Folders |
Συστάδα
Η μικρότερη μονάδα χώρου στον σκληρό δίσκο για εκχώρηση στην οποία μπορεί να έχει πρόσβαση οποιοδήποτε λογισμικό είναι ο τομέας , ο οποίος περιέχει 512 byte. Είναι δυνατό να υπάρχει ένα σύστημα εκχώρησης για το δίσκο όπου σε κάθε αρχείο εκχωρούνται όσοι μεμονωμένοι τομείς χρειάζεται. Για παράδειγμα, ένα αρχείο 1 MB θα απαιτούσε περίπου 2.048 μεμονωμένους τομείς για την αποθήκευση των δεδομένων του.
Στην περίπτωση του συστήματος αρχείων FAT ή μάλλον μπορούμε να πούμε στα περισσότερα συστήματα αρχείων, δεν χρησιμοποιούνται μεμονωμένοι τομείς. Υπάρχουν διάφοροι λόγοι απόδοσης για αυτό. Όταν το DOS εγγράφει ορισμένες πληροφορίες στον σκληρό δίσκο, δεν εκχωρεί τον τομέα του χώρου, αλλά χρησιμοποιεί μια νέα μονάδα αποθήκευσης που ονομάζεται σύμπλεγμα.
Το FAT σχεδιάστηκε πριν από πολλά χρόνια και είναι ένα απλό σύστημα αρχείων και δεν είναι ικανό να διαχειριστεί μεμονωμένους τομείς. Αυτό που κάνει το FAT είναι να ομαδοποιεί τομείς σε μεγαλύτερα μπλοκ που ονομάζονται συμπλέγματα ή μονάδες κατανομής.
Ένα σύμπλεγμα είναι η μικρότερη μονάδα χώρου στο δίσκο που μπορεί να εκχωρηθεί σε ένα αρχείο. Αυτός είναι ο λόγος που τα συμπλέγματα ονομάζονται συχνά μονάδες εκχώρησης. Μπορεί να είναι πολύ δύσκολο να διαχειριστείτε το δίσκο όταν τα αρχεία είναι σπασμένα σε κομμάτια 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 για διάφορες μορφές δίσκων. Ωστόσο, το μέγεθος του συμπλέγματος μπορεί να διαφέρει από το προεπιλεγμένο μέγεθος σε ορισμένες περιπτώσεις:
Floppy Disk Drive (FDD) |
Drive Types |
Sectors/Cluster |
Total Cluster size in bytes (Sectors of 512 bytes Each) |
5.25” 360Kb FDD |
2 sectors |
1,024 |
5.25”1.2Mb FDD |
1 sector |
512 |
3.5” 720Kb FDD |
2 sectors |
1,024 |
3.5”1.44Mb FDD |
1 sector |
512 |
3.5”2.88MB FDD |
2 sectors |
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 είναι ισοδύναμοι με 1 KiB.
Καθώς αυξάνεται το μέγεθος του διαμερίσματος 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 and FAT 32 for 2,048 MB Disk Volume |
FAT Type |
FAT16 |
FAT32 |
Cluster Size |
32 KiB |
4 KiB |
Number of FAT Entries |
65,526 |
524,208 |
Size of FAT |
131052 Bytes
(~ 128 KiB) |
2096832 Bytes
(~ 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)
- 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 έχουν σπάσει ως εξής, που δίνονται στον Πίνακα:
Offset |
Description |
Size |
000H |
Initial Program Loader (IPL) , Executable Code (Provides very first booting to the Computer) |
446 Bytes |
1BEH |
First Partition Entry (See Next Table) |
16 Bytes |
1CEH |
Second Partition Entry |
16 Bytes |
1DEH |
Third Partition Entry |
16 Bytes |
1EEH |
Fourth Partition Entry |
16 Bytes |
1FEH |
Executable Marker or Bootable Sector Signature or Magic Number (AAH 55H) |
2 Bytes |
Total = 512 Bytes |
Όλα τα εκτεταμένα διαμερίσματα θα πρέπει να υπάρχουν εντός του χώρου που έχει δεσμευτεί από την καταχώρηση εκτεταμένου διαμερίσματος. Μόνο δύο από τα εκτεταμένα διαμερίσματα προορίζονται να χρησιμοποιηθούν, το πρώτο ως κανονικό διαμέρισμα και το δεύτερο ως άλλο εκτεταμένο διαμέρισμα εάν υπάρχει. Έτσι, με τη βοήθεια ενός 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 Number) δημιουργήστε τον αριθμό κυλίνδρου εκκίνησης του διαμερίσματος.
Offset |
Meaning |
Size |
Description |
00H |
Boot Type Indicator Byte |
1 Byte |
If Byte is 00H, the Partition is Inactive and if Byte is 80H , The Partition is Active (or Bootable) |
01H |
Head Number of Beginning of the Partition |
1 Byte |
Starting Head number of the Partition in Hexadecimal System |
02H |
Sector and Cylinder Number of Beginning of the Partition |
2 Bytes |
6 Bits of First Byte make Starting Sector Number and Combination of remaining 2 Bits (as Two Most Significant Bits) plus 8 Bits of another Byte (Rest 8 least Significant Bits of the 10-Bit Number ) make the Starting Cylinder Number of the Partition |
04H |
File System indicator Byte |
1 Byte |
File System Indicator Byte in Hexadecimal system (See the Table given next for Indicators) |
05H |
Head Number of End of the Partition |
1 Byte |
Ending Head Number of the Partition in Hexadecimal System |
06H |
Sector and Cylinder Number of End of the Partition |
2 Bytes |
6 Bits of First Byte make Ending Sector Number and Combination of remaining 2 Bits (as Two Most Significant Bits) plus 8 Bits of another Byte (Rest 8 least Significant Bits of the 10-Bit Number ) make the Ending Cylinder Number of the Partition |
08H |
Relative Sector number of Beginning of the Partition |
4 Bytes |
Number of Sectors Between the MBR and the First Sector in the Partition |
0CH |
Number of Sectors of the Partition |
4 Bytes |
Number of Sectors in the Partition |
Total = 16 Bytes |
Η Κωδικοποίηση κυλίνδρου και τομέα έχει δοθεί στο παράδειγμα μιας δειγματικής μελέτης πίνακα διαμερισμάτων που πραγματοποιήθηκε στη συνέχεια.
Byte ένδειξης συστήματος αρχείων (1 Byte) : Το Byte ένδειξης συστήματος αρχείων σε μετατόπιση 04H αντιπροσωπεύει το σύστημα αρχείων αυτού του διαμερίσματος. Ο πίνακας, όπου παρατίθεται το Byte ένδειξης συστήματος αρχείων για διάφορα συστήματα αρχείων, δίνεται στη συνέχεια σε αυτό το κεφάλαιο.
Τελικός κύλινδρος – Κεφαλή – Αριθμός τομέα του διαμερίσματος (3 Byte): Η κωδικοποίηση είναι ίδια με αυτή του Κύλινδρος έναρξης – Κεφαλή – Αριθμός Τομέα του Διαμερίσματος.
Σχετικός αριθμός Τομέα έναρξης του Διαμερίσματος (4 Byte): Αριθμός Τομέων μεταξύ του MBR και του Πρώτου Τομέα στο Διαμέρισμα σε Δεκαεξαδικό Σύστημα.
Αριθμός τομέων του διαμερίσματος (4 Byte): Αριθμός τομέων στο διαμέρισμα σε δεκαεξαδικό σύστημα.
Θα πρέπει πάντα να θυμόμαστε ότι οι αριθμοί κυλίνδρου, κεφαλής και τομέας είναι αυτοί που πρέπει να περάσουν στο 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 σχηματίζει τον τομέα έναρξης
και τον αριθμό κυλίνδρου του διαμερίσματος σύμφωνα με την κωδικοποίηση που δίνεται παρακάτω:
Έτσι Ξεκινώντας C-H-S του partition= 0-0-1.
Ομοίως, ο αριθμός Head για το Τέλος του διαμερίσματος είναι FE (Hex), που είναι 254 και η Κωδικοποίηση για τον Τελικό Κύλινδρο και τον αριθμό Τομέα του διαμερίσματος έχουν δοθεί στον επόμενο πίνακα:
Έτσι η κατάληξη C-H-S του Διαμερίσματος = 701-254-63.
Το Byte 0B (Hex) σε μετατόπιση 04H είναι το Byte ένδειξης συστήματος αρχείων για το διαμέρισμα. Το Byte 0B (H) Αντιπροσωπεύει ότι το διαμέρισμα διαθέτει το σύστημα αρχείων FAT32. Ο πίνακας για διάφορα συστήματα αρχείων και τα byte δείκτη συστήματος αρχείων τους έχουν δοθεί στη συνέχεια:
File system Indicator Byte in Hexadecimal |
Partition/ File system Description |
00H |
Unused/Empty Partition-Table Entry
(Remember this is not used to designate unused area on the disk, but marks an unused partition table entry) |
01H |
DOS 12-bit fat
(The type 01H is for partitions up to 15 MB) |
02H |
XENIX: root file system |
03H |
XENIX /usr file system (obsolete)
(XENIX is an old part of Unix V7. Microsoft XENIX Operating System was announced in August 1980. It was a portable and commercial version of the Unix operating system for the Intel 8086, Zilog Z8000, Motorola M68000 and Digital Equipment PDP-11. Microsoft introduced XENIX 3.0 in April 1983. SCO delivered its first XENIX for 8088/8086 in 1983.) |
04H |
16-bit FAT, DOS 3.0+ (Partition size < 32M)
(Some old DOS versions have had a bug which required this partition to be located in the 1st physical 32 MB of the hard disk ) |
05H |
DOS Extended (DOS 3.3+ Extended Volume)
Supports at most 8.4 GB disks. With this type 05H DOS/Windows will not use the extended BIOS call, even if it is available.) |
06H |
16-bit FAT, DOS Big, DOS 3.31+ (Partition Size >= 32M)
(Partitions are at most 2 GB for DOS and Windows 95/98 with maximum 65536 clusters with each cluster, at most 32 KB. Windows NT can create up to 4 GB FAT16 partition using 64 KB clusters.) |
07H |
OS/2 IFS (Installable File System) (HPFS is the best known example of this file system. OS/2 only looks at partitions with ID 7 for any installed IFS this is the reason that EXT2 IFS packet includes a special "Linux partition filter" device driver to fool OS/2 into thinking Linux partitions have ID 07). |
07H |
Advanced Unix |
07H |
Windows NT NTFS |
07H |
QNX2.x (pre-1988)
(For the actual file system of partition type 07H, one should inspect the partition boot record) |
08H |
OS/2 (v1.0 to v1.3 only) |
08H |
AIX boot partition
[AIX (Advanced Interactive Executive) is the IBM's version of Unix] |
08H |
SplitDrive |
08H |
DELL partition spanning multiple drives |
08H |
Commodore DOS |
08H |
QNX 1.x and 2.x
("qny" according to QNX partitions) |
09H |
AIX data partition |
09H |
Coherent file system
[Coherent was a UNIX like Operating System for the 286-386-486 systems, marketed by Mark Williams Company led by Bob Swartz. It was renowned for its good documentation. It was introduced in 1980 and died 1 Feb 1995. The last versions are V3.2 for 286-386-486 and V4.0 (May 1992, using protected mode) for 386-486 only. It sold for $99 a copy and it is rumored that 40000 copies have been sold. A Coherent partition has to be primary. ] |
09H |
QNX 1.x and 2.x ("qnz" according to QNX Partitions) |
0aH |
OS/2 Boot Manager
(OS/2 is the operating system designed by Microsoft and IBM to be the successor of MS-DOS) |
0aH |
Coherent swap partition |
0aH |
OPUS
(Open Parallel Unisys Server) |
0bH |
WIN95 OSR2 32-bit FAT
(OSR2 stands for Microsoft’s “OEM Service Release 2”. It is for Partitions up to 2047GB. Almost always, Windows 95/98/ME have the same File system which is FAT-32, within the same partitions limits) |
0cH |
LBA-mapped WIN95 OSR2 32-bit FAT
(It is using Logical Block Addressing – mode of Interrupt 13H extensions therefore we can say that this is the Extended INT 13H equivalent of 0BH. Almost always, Windows 95/98/ME have the same File system which is FAT-32, within the same partitions limits) |
0eH |
LBA-mapped WIN95: DOS 16-bit FAT or Logical Block Addressable VFAT
(It is same as 06H but using LBA-mode of INT 13H) |
0fH |
LBA-mapped WIN95: Extended partition or Logical Block Addressable VFAT
(It is same as 05H but using LBA-mode of INT 13H. Windows 95 uses 0EH and 0FH as the extended INT13H equivalents of 06H and 05H. Windows NT does not recognize the four Windows 95/98/ME types 0BH, 0CH, 0EH and 0FH) |
10H |
OPUS
(Octal Program Updating System) |
11H |
Hidden DOS 12-bit FAT or OS/2 Boot Manager hidden 12-bit FAT partition or DOS Seen From OS/2 (When OS/2 Boot manager boots a DOS partition, it will hide all primary DOS partitions except the one that is booted, by changing its ID and 01H, 04H, 06H and 07H becomes 11H, 14H, 16H and 17H, respectively. |
12H |
Compaq Configuration/diagnostics partition
(It is used by Compaq for their configuration utility partition. It is a FAT-compatible partition that boots into their utilities, and can be added to a LILO menu as if it were MS-DOS. ) |
14H |
(Hidden DOS 16-bit FAT or OS/2 Boot Manager Hidden DOS 16-bit FAT) <32M Partition
(Partition size is less than 32M. ID 14H is resulted from using Novell DOS 7.0 FDISK to delete Linux Native partition. ) |
15H |
Hidden DOS-Extended |
16H |
(Hidden DOS 16-bit FAT or OS/2 Boot Manager hidden 16-bit FAT ) >=32M Partition |
17H |
OS/2 Boot Manager hidden HPFS partition or Hidden IFS (e.g., HPFS) |
17H |
Hidden NTFS partition |
18H |
AST SmartSleep Partition or AST special Windows swap file ("Zero-Volt Suspend" partition)
[AST Research, Inc. (named from first initials of the founders, Albert Wong, Safi Qureshey and Thomas Yuen). Ascentia laptops have a “Zero – Volt Suspend Partition” or `SmartSleep Partition' of size 2MB+memory size.] |
File system Indicator Byte in Hexadecimal |
Partition/ File system Description |
19H |
Willowtech Photon COS
(Code 19H is Claimed for Willowtech Photon COS by Willow Schlanger. |
1bH |
Hidden WIN95 OSR2 32-bit FAT or Hidden Windows 95 FAT32 Partition |
1cH |
LBA-mapped Hidden WIN95 OSR2 32-bit FAT
(It is hidden Windows95 FAT32 partition using LBA-mode of INT 13H Extensions) |
1eH |
LBA-mapped Hidden WIN95 16-bit FAT or Hidden LBA VFAT partition |
1FH |
LBA mapped Hidden WIN95 Extended or Hidden Extended LBA VFAT Partition |
20H |
OFSI
(Willowsoft Overture File System ) |
21H |
Officially listed as Reserved
(HP Volume Expansion, SpeedStor variant.) |
21H |
FSO2
(Claimed for FSO2 (Oxygen File System) by Dave Poirier) |
22H |
FSO2 Extended Partition
(Claimed for Oxygen Extended Partition by Dave Poirier) |
23H |
Officially listed as Reserved |
24H |
NEC DOS 3.x |
26H |
Officially listed as Reserved |
31H |
Officially listed as Reserved |
32H |
NOS (Network Operating System)
(32H is being used by the operating system NOS, being developed by Alien Internet Services in Melbourne Australia. The id 32H was chosen not only because of it was one of the few that are left available but also 32k is the size of the EEPROM the OS was originally targeted for. |
33H |
Officially listed as Reserved |
34H |
Officially listed as Reserved |
35H |
JFS on OS/2 or eCS
[35H is used by OS/2 Warp Server for e-Business, OS/2 Convenience Pack (aka version 4.5) and eComStation (eCS, an OEM version of OS/2 Convenience Pack) for the OS/2 implementation of JFS (IBM AIX Journaling File System)] |
36H |
Officially listed as Reserved |
38H |
THEOS v3.2 (2GB partition) |
39H |
Plan 9 partition
(Plan 9 is an operating system developed at Bell Labs for many architectures. Originally Plan 9 used an unallocated portion at the end of the disk. 3rd edition of Plan 9 uses partitions of type 39H, subdivided into sub partitions described in the Plan 9 partition table in the second sector of the partition.) |
39H |
THEOS v4 spanned partition |
3aH |
THEOS v4 (4GB partition) |
3bH |
THEOS v4 Extended partition
(THEOS is a multi-user multitasking Operating System for PCs founded by Timothy Williams in 1983.) |
3cH |
PartitionMagic recovery partition
(When a PowerQuest product like Partition Magic or Drive Image makes changes to the disk, it first changes the type flag to 3CH so that the Operating System will not try to modify it. At the end of the process, it is changed back to what it was at first. Therefore the only time you can see a 3CH type flag, is if the process was interrupted somehow such as power off, user reboot etc. If you change it back manually with a partition table editor or any disk editing program then most of the time everything is okay.) |
3dH |
Hidden NetWare |
40H |
Venix 80286
(It is a very old Unix-like operating system for PCs.) |
41H |
Linux/MINIX (sharing disk with DR-DOS)
(DR-DOS stands for Digital Research-Disk Operating System.) |
41H |
Personal RISC Boot |
41H |
PPC PReP (Power PC Reference Platform) Boot Partition |
42H |
Linux swap (sharing disk with DR-DOS) |
42H |
SFS (Secure File System)
(SFS is an encrypted file System driver for DOS on 386+ PCs, written by Peter Gutmann.) |
File system Indicator Byte in Hexadecimal |
Partition/ File system Description |
42H |
Windows 2000 Dynamic Extended Partition Marker
(If a partition table entry of type 42H is present in the legacy partition table, then Windows 2000 ignores the legacy partition table and uses a proprietary partition table and a proprietary partitioning scheme (LDM or DDM). Pure dynamic disks (those not containing any hard-linked partitions) have only a single partition table entry, type 42H to define the entire disk. Dynamic disks store their volume configuration in a database located in a 1-MB private region at the end of each dynamic disk.) |
43H |
Linux native (sharing disk with DR-DOS) |
44H |
GoBack partition
(GoBack is a utility that records changes made to the disk, allowing you to view or go back to some earlier state. It takes over disk I/O like a Disk Manager would, and stores its logs in its own partition.) |
45H |
Boot-US boot manager
(Boot-US (Ulrich Straub) boot manager can be installed to MBR, a separate primary partition or diskette. When installed to a primary partition this partition gets the ID 45H. This partition does not contain a file system, it contains only the boot manager and occupies a single cylinder (below 8.4 GB). ) |
45H |
Priam |
45H |
EUMEL/Elan |
46H |
EUMEL/Elan |
47H |
EUMEL/Elan |
48H |
EUMEL/Elan
(EUMEL, later known as Ergos L3, are the multi-user multitasking systems developed by Jochen Liedtke at GMD, using Elan programming Language. It was used at German schools for the computer science education.) |
4aH |
AdaOS Aquila |
4aH |
ALFS/THIN lightweight filesystem for DOS |
4cH |
Oberon partition |
4dH |
QNX4.x |
4eH |
QNX4.x 2nd partition |
4fH |
QNX4.x 3rd partition
(QNX is a POSIX (Portable Operating System Interface for Unix)-certified, microkernel, distributed, fault-tolerant Operating System for the 386 and later, including support for the 386EX in embedded applications.) |
4fH |
Oberon boot/data partition |
50H |
OnTrack Disk Manager (older versions), Read-Only Partition (Disk Manager is a program of OnTrack to enable people to use IDE disks that are larger than 504MB under DOS. Linux kernel versions older than 1.3.14 do not coexist with DM.) |
50H |
Lynx RTOS (Real-Time Operating System)
(Lynx RTOS gives users the ability to place up to 14 partitions of 2 GB each on both SCSI and IDE drives, for a total of up to 28 GB of file system space.) |
50H |
Native Oberon |
51H |
OnTrack Disk Manager (DM6.0 Aux1), Read/Write Partition |
51H |
Novell |
52H |
CP/M |
52H |
Microport SysV/AT or Microport System V/386 |
53H |
OnTrack Disk Manager (DM6.0 Aux3), Write-Only partition |
54H |
OnTrack Disk Manager 6.0 Dynamic Drive Overlay |
55H |
EZ-Drive Partition
(EZ-Drive is another disk manager like program developed by MicroHouse in 1992. Now It is marketed by StorageSoft.) |
56H |
Golden Bow VFeature Partitioned Volume.
(This is also a Disk Manager like Utility software. This is a Non-Standard DOS Volume.) |
56H |
DM converted to EZ-BIOS |
57H |
DrivePro
(DrivePro was developed by MicroHouse in 1992. Now It is marketed by StorageSoft.) |
57H |
VNDI Partition |
5cH |
Priam EDisk Partitioned Volume
(Priam EDisk is Disk Manager type utility software. This is a Non-Standard DOS Volume.) |
61H |
SpeedStor
(Storage Dimensions SpeedStor Partitioned Volume. This is a Non-Standard DOS Volume. It is Disk Manager type utility software.) |
63H |
Unix System V/386, 386/ix, SCO, ISC Unix, UnixWare, Mach, MtXinu BSD 4.3 on Mach, GNU Hurd |
64H |
Novell NetWare 286, 2.xx |
File system Indicator Byte in Hexadecimal |
Partition/ File system Description |
64H |
PC-ARMOUR protected partition
(64H is used by PC-ARMOUR disk protection by Dr. A. Solomon, intended to keep the disk inaccessible until the right password was given and then an INT 13H hook was loaded above top-of-memory that showed C-H-S = 0-0-2, with a copy of the real partition table, when 0-0-1 was requested). |
65H |
Novell NetWare 3.86, 3.xx or 4.xx
(Novell Netware 3.0 and later versions use one partition per drive. It allocates logical Volumes inside these partitions. The volumes can be split over several drives. The file system used is called Turbo FAT and it only very vaguely resembles the DOS FAT file system. Novell Netware used to be the main Network Operating System available. Netware 68 or S-Net (1983) was for a Motorola 68000, Netware 86 for an Intel 8086 or 8088. Netware 286 was for an Intel 80286 and existed in various versions that were later merged to Netware 2.2. Netware 386 was a rewrite in C for the Intel 386 which was later renamed to Netware 3.x (3.0, 3.1, 3.10, 3.11 and 3.12 etc) versions. Its successor Netware 4.xx had versions 4.00, 4.01, 4.02, 4.10 and 4.11. Then came Intranetware) |
66H |
Novell Netware SMS Partition
(SMS stands for Storage Management Services. It is not used now.) |
67H |
Novell |
68H |
Novell |
69H |
Novell Netware 5+ and Novell Netware NSS Partition
(NSS stands for Novell Storage Services.) |
70H |
DiskSecure Multi-Boot |
71H |
Officially listed as reserved |
73H |
Officially listed as reserved |
74H |
Officially listed as reserved |
74H |
Scramdisk partition
(Scramdisk is a disk encryption software. It supports container files, dedicated partitions type 74H and disks hidden in WAV audio files.) |
75H |
IBM PC/IX |
76H |
Officially listed as reserved |
77H |
M2FS/M2CS partition |
77H |
QNX 4.x |
78H |
XOSL File System
(XOSL Boot loader file system) |
78H |
QNY 4.x |
79H |
QNZ 4.x |
7EH |
F.I.X. |
7Fh |
Alt-OS-Development Partition Standard |
80H |
Old MINIX, MINIX v1.1 to v1.4a |
81H |
MINIX 1.4b and Later
(MINIX is a Unix-like operating system written by Andy Tanenbaum and students at the Vrije University, Amsterdam, around 1989-1991. It runs on PCs (8086 and up), Macintosh, Atari, Amiga, Sparc. |
81H |
Early Linux |
81H |
Mitac Advanced Disk Manager |
82H |
Prime |
82H |
Solaris x86
(Solaris creates a single partition with ID 82H and then uses Sun disk labels within the partition to split it further.) |
82H |
Linux Swap partition |
83H |
Linux Native Partition or Linux native file system or Linux Ext2fs
(Linux is a Unix-like operating system written by Linus Torvalds and many others on the internet since 1991. It runs on PCs 386 and later and a variety of other hardware. It is distributed under GPL (General Public License) . Various file system types like xiafs, ext2, ext3, reiserfs, etc. all use ID 83H.) |
84H |
OS/2 hidden C: drive or OS/2-renumbered type 04 partition.
(OS/2-renumbered type 04h partition is related to hiding DOS C: drive) |
84H |
Hibernation partition
(Reported for various laptop models, e.g., used on Dell Latitudes (with Dell BIOS) that use the MKS2D utility.) |
85H |
Linux Extended partition |
86H |
Old Linux RAID partition super block |
86H |
FAT16 volume/stripe set (Windows NT) or NTFS volume set
(It is Legacy Fault Tolerant FAT16 volume.) |
87H |
HPFS Fault-Tolerant mirrored partition or NTFS volume set or NTFS volume/stripe set
(Legacy Fault Tolerant NTFS volume. HPFS Fault-Tolerant mirrored partition. ) |
8aH |
Linux Kernel Partition
(It is used by AiR-BOOT) |
File system Indicator Byte in Hexadecimal |
Partition/ File system Description |
8bH |
Legacy Fault Tolerant FAT32 volume |
8cH |
Legacy Fault Tolerant FAT32 volume using BIOS Extended INT 13H. |
8dH |
Free FDISK hidden Primary DOS FAT12 partition
(Free FDISK is the FDISK used by FreeDOS. It hides types 01H, 04H, 05H, 06H, 0BH, 0CH, 0EH and 0FH by adding decimal Number 140 (8CH).) |
8eH |
Linux Logical Volume Manager partition |
90H |
Free FDISK hidden Primary DOS FAT16 partition |
91H |
Free FDISK hidden DOS extended partition |
92H |
Free FDISK hidden Primary DOS large FAT16 partition |
93H |
Hidden Linux native partition |
93H |
Amoeba file system |
94H |
Amoeba bad block table
(Amoeba is a distributed operating system written by Andy Tanenbaum, together with Frans Kaashoek, Sape Mullender, Robert van Renesse and others since 1981. It runs on PCs (386 and up), Sun3, Sparc, 68030. It is free for universities for research and teaching purposes.) |
95H |
MIT EXOPC native partition |
97H |
Free FDISK hidden Primary DOS FAT32 partition |
98H |
Free FDISK hidden Primary DOS FAT32 partition (LBA) |
99H |
Mylex EISA SCSI or DCE376 logical drive
(It is used by the Mylex DCE376 EISA SCSI adaptor for partitions which are beyond the 1024 cylinder of a drive.) |
9aH |
Free FDISK hidden Primary DOS FAT16 partition (LBA) |
9bH |
Free FDISK hidden DOS extended partition (LBA) |
9fH |
BSD/OS |
a0H |
Phoenix NoteBIOS Power Management "Save-to-Disk" partition or Laptop hibernation partition
(It is Reported for various laptops like IBM Thinkpad, Phoenix NoteBIOS, Toshiba under names like zero-volt suspend partition, suspend-to-disk partition, save-to-disk partition, power-management partition, hibernation partition, usually at the start or end of the disk area.) |
a1H |
Laptop hibernation partition
(Used as "Save-to-Disk" partition on a NEC 6000H notebook. Types A0H and A1H are used on systems with Phoenix BIOS. The Phoenix PHDISK utility is used with these.) |
a1H |
HP Volume Expansion (SpeedStor variant) |
a3H |
Officially listed as Reserved |
a4H |
Officially listed as Reserved |
a5H |
BSD/386, 386BSD, NetBSD, FreeBSD
(386BSD is a Unix-like operating system, a port of 4.3BSD Net/2 to the PC done by Bill Jolitz around 1991.) |
a6H |
OpenBSD
(OpenBSD, led by Theo de Raadt, split off from NetBSD. It tries to emphasize on security.) |
a7H |
NEXTSTEP
(NEXTSTEP is Based on Mach 2.6 and features of Mach 3.0. It is a true object-oriented operating system and user environment. |
a8H |
Mac OS-X
(Apple's OS-X uses this type for its file system partition) |
a9H |
NetBSD |
aaH |
Olivetti Fat 12 1.44MB Service Partition
(It Contains a bare DOS 6.22 and a utility to exchange types 06H and AAH in the partition table.) |
abH |
Mac OS-X Boot partition
(Apple's OS-X (Darwin Intel) uses this type for its boot partition.) |
abH |
GO! partition |
aeH |
ShagOS file system |
afH |
ShagOS swap partition |
b0H |
BootStar Dummy
(The boot manager BootStar manages its own partition table, with up to 15 primary partitions. It fills unused entries in the MBR with BootStar Dummy values.) |
b1H |
Officially listed as Reserved |
b3H |
Officially listed as Reserved |
b4H |
Officially listed as Reserved |
b6H |
Officially listed as Reserved |
B6H |
Windows NT mirror set (master), FAT16 file system |
b7H |
BSDI file system (secondarily swap), BSDI BSD/386 file system |
B7H |
Windows NT mirror set (master), NTFS file system |
File system Indicator Byte in Hexadecimal |
Partition/ File system Description |
b8H |
BSDI BSD/386 swap partition (secondarily file system)
(BSDI (Berkeley Software Design, Inc.) was founded by former CSRG (UCB Computer Systems Research Group) members. Their operating system, based on Net/2, was called BSD/386.) |
bbH |
Boot Wizard hidden |
beH |
Solaris 8 boot partition |
c0H |
DR-DOS/Novell DOS secured partition |
C0H |
CTOS |
c0H |
REAL/32 secure small partition |
c0H |
NTFT Partition |
c1H |
DR DOS 6.0 LOGIN.EXE-secured 12-bit FAT partition |
c2H |
Reserved for DR-DOS 7+ |
c2H |
Hidden Linux |
c3H |
Hidden Linux swap |
c4H |
DR DOS 6.0 LOGIN.EXE-secured 16-bit FAT partition |
c5H |
DRDOS/secured (Extended) |
c6H |
DRDOS/secured (FAT-16, >= 32M)
(DR-DOS 6.0 will add C0H to the partition type for a LOGIN.EXE - secured partition so that User can not avoid the password check by booting from an MS-DOS floppy. Otherwise it seems that the types C1H, C4H, C5H, C6H and D1H, D4H, D5H, D6H are used precisely like 1H, 4H, 5H, and 6H.) |
c6H |
Corrupted FAT16 volume/stripe set (Windows NT)
(NTFS will add C0H to the partition type for disabled parts of a Fault Tolerant set. Thus, one gets types C6H, C7H.) |
c7H |
Windows NT corrupted NTFS volume/stripe set |
c7H |
Syrinx boot |
c8H |
Officially listed as Reserved |
c9H |
Officially listed as Reserved |
caH |
Officially listed as Reserved |
cbH |
Reserved for DR-DOS secured FAT32 |
ccH |
Reserved for DR-DOS secured FAT32 (LBA) |
cdH |
CTOS Memdump |
ceH |
Reserved for DR-DOS secured FAT16 (LBA) |
d0H |
REAL/32 secure big partition
(REAL/32 is a continuation of DR Multi-user DOS.) |
d1H |
Old Multi-user DOS secured FAT12 |
d4H |
Old Multi-user DOS secured FAT16 <32M |
d5H |
Old Multi-user DOS secured extended partition |
d6H |
Old Multi-user DOS secured FAT16 >=32M |
d8H |
CP/M-86 |
daH |
Non-FS Data |
dbH |
Digital Research CP/M, Concurrent CP/M, Concurrent DOS |
dbH |
CTOS (Convergent Technologies OS -Unisys) |
dbH |
KDG Telemetry SCPU boot
(KDG Telemetry uses ID DBH to store a protected-mode binary image of the code to be run on a 'x86-based SCPU (Supervisory CPU) module from the DT800 range.) |
ddH |
Hidden CTOS Memdump |
deH |
Dell PowerEdge Server utilities (FAT) |
dfH |
DG/UX virtual disk manager partition |
dfH |
BootIt EMBRM
(The boot manager BootIt manages its own partition table, with up to 255 primary partitions.) |
e0H |
Reserved by ST Microelectronics for a file system called ST AVFS. |
e1H |
DOS access or SpeedStor 12-bit FAT extended partition
(It is a SSTOR partition on cylinders more than 1023.) |
E2H |
DOS Read-Only |
e3H |
Storage Dimensions |
e4H |
SpeedStor 16-bit FAT extended partition < 1024 cylinders |
e5H |
Officially listed as Reserved |
e5H |
Tandy DOS with logical sectored FAT |
e6H |
Officially listed as Reserved |
ebH |
BeOS BFS (BFS1)
(BeOS is an operating system that runs on Power PCs) |
edH |
Reserved for Matthias Paul’s Sprytix |
eeH |
Indication that this legacy MBR is followed by an EFI Header |
efH |
Partition that contains an EFI file system |
f0H |
Linux/PA-RISC boot loader |
f1H |
Storage Dimensions |
f2H |
DOS 3.3+ secondary partition |
f2H |
Unisys DOS with logical sectored FAT |
f3H |
Officially listed as Reserved |
f4H |
SpeedStor large partition |
F4H |
Prologue single-volume partition |
File system Indicator Byte in Hexadecimal |
Partition/ File system Description |
f5H |
Prologue multi-volume partition
(The type F4H partition contains one volume, and is not used anymore. The type F5H partition contains 1 to 10 volumes called MD0 to MD9. It supports one or more systems. Each volume can have as file system the NGF file system or TwinFS file system. ) |
f6H |
Officially listed as Reserved |
F6H |
Storage Dimensions SpeedStor |
faH |
MandrakeSoft's Bochs x86 emulator |
fbH |
VMware File System partition |
fcH |
VMware Swap partition
(VMware offers virtual machines in which one can run Linux, Windows, FreeBSD.) |
fdH |
Linux raid partition with auto detect using persistent super block |
feH |
SpeedStor more than 1024 cylinders |
feH |
LANstep |
feH |
IBM PS/2 IML (Initial Microcode Load) partition
(It is located at the end of the disk.) |
feH |
Windows NT Disk Administrator hidden partition
(Windows NT Disk Administrator marks hidden partitions, i.e. present but not to be accessed, as type FEH.) |
feH |
Linux Logical Volume Manager partition (old) |
ffH |
XENIX Bad Block Table |
DOS Boot Record (DBR) / DOS Boot Sector
Μετά τον πίνακα διαμερισμάτων, το DOS Boot Record (DBR) ή μερικές φορές ονομάζεται DOS Boot Sector είναι η δεύτερη πιο σημαντική πληροφορία στον σκληρό σας δίσκο. Οι περισσότερες εμπορικές εφαρμογές για ανάκτηση δίσκων είναι ικανές να αναπαράγουν κατεστραμμένες εγγραφές εκκίνησης
Το DOS Boot Record (DBR) για το πρώτο διαμέρισμα σε έναν σκληρό δίσκο βρίσκεται συνήθως στον Absolute Sector 63 (ο 64ος τομέας στη μονάδα δίσκου) ή σε μορφή CHS μπορούμε να πούμε C–H–S = 0–1–1 για τις περισσότερες μονάδες δίσκου.
Ωστόσο, αυτή η τοποθεσία μπορεί να διαφέρει ανάλογα με το SPT (Τομείς ανά ίχνος) του 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 περιέχουν τον κωδικό προγράμματος για την εκκίνηση του μηχανήματος, δηλαδή τη φόρτωση του λειτουργικού συστήματος, αλλά μόνο σε αυτό το διαμέρισμα δίνεται ο έλεγχος από το Κύριο αρχείο εκκίνησης, το οποίο, όπως ορίζεται ως ενεργό διαμέρισμα, στην καταχώρηση του πίνακα κατατμήσεων.
Το πρόγραμμα εκκίνησης στο 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 εμφανίζει μηνύματα σφάλματος όπως:
“Invalid system disk or Disk I/O error,
Replace the disk, and then press any key…”
Στην οθόνη και περιμένει ο χρήστης να τοποθετήσει έναν δίσκο εκκίνησης με τα προαναφερθέντα προγράμματα στη μονάδα δισκέτας και να πατήσει ένα πλήκτρο.
Δεδομένου ότι η δισκέτα δεν έχει κατατμήσεις επάνω της, επομένως δεν έχει MBR ή Master Partition Table στον απόλυτο τομέα 0 της, αντίθετα περιέχει το DBR στον πρώτο της τομέα.
Ο παρακάτω πίνακας δίνει έναν απλό χάρτη της διάταξης μιας δισκέτας 3½ ιντσών και 1,44 MB αφού έχει μορφοποιηθεί με το σύστημα αρχείων FAT12. Δείχνει πού βρίσκονται το Boot Record, και τα δύο αντίγραφα του FAT, ο Root Directory και η αρχή της περιοχής δεδομένων:
Logical Map of 3½ Inches, 1.44 MB floppy disk, Formatted with the FAT12 File System and having 18 Sectors Per Track, 80 Tracks, 2 Sides and 512 bytes per Sector (using 1 Sector per Cluster). |
Absolute Sectors |
Contents |
0 |
Boot Record |
1 – 9 |
FAT 1 |
10 – 18 |
FAT 2 |
19 – 32 |
Root Directory |
33 – 2879 |
Data Area |
Μπορείτε επίσης να δημιουργήσετε υποκαταλόγους στην περιοχή δεδομένων με αρχεία που φαίνεται να περιέχονται μέσα τους. Στην πραγματικότητα, οι υποκατάλογοι δεν είναι τίποτα άλλο από ένα ειδικό αρχείο που παραθέτει όλα τα αρχεία που φαινομενικά περιέχονται σε αυτόν τον κατάλογο και όλα τα σχετικά δεδομένα για κάθε αρχείο, όπως η τοποθεσία του συμπλέγματος εκκίνησης κάθε αρχείου, η ημερομηνία, η ώρα και το μέγεθος αρχείου κ.λπ.
Το DBR περιέχει επίσης ορισμένες σημαντικές πληροφορίες σχετικά με τη γεωμετρία του δίσκου. Αυτές οι πληροφορίες βρίσκονται στον πρώτο τομέα κάθε διαμερίσματος, όπως:
- Κωδικός μετάβασης + NOP
- Όνομα και έκδοση OEM
- Byte ανά τομέα
- Τομείς ανά σύμπλεγμα
- Δεσμευμένοι τομείς
- Αριθμός αντιγράφων FAT
- Μέγιστες καταχωρήσεις καταλόγου ρίζας (αλλά δεν είναι διαθέσιμες για το FAT32)
- Αριθμός τομέων σε διαμέρισμα μικρότερος από 32 MB (επομένως δεν είναι διαθέσιμος για FAT32)
- Περιγραφέας πολυμέσων (F8h για σκληρούς δίσκους)
- Τομείς ανά FAT (σε παλαιότερα συστήματα 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 (BPB). Το μπλοκ παραμέτρων δίσκου είναι πολύ σημαντική περιοχή δεδομένων για το DOS. Βοηθά το DOS να βρει:
- Byte ανά τομέα
- Τομείς ανά σύμπλεγμα
- Δεσμευμένοι τομείς
- Αριθμός FAT
- Αριθμός καταχωρήσεων καταλόγου ρίζας
FAT32 DOS Boot Record Format |
Offset |
Description |
Size |
00H |
Jump Code + NOP |
3 Bytes |
03H |
OEM Name and Version |
8 Bytes |
0BH |
Bytes Per Sector |
2 Bytes |
0DH |
Sectors Per Cluster |
1 Byte |
0EH |
Reserved Sectors |
2 Bytes |
10H |
Number of Copies of FAT |
1 Byte |
11H |
Maximum Root Directory Entries (but Not Available for FAT32) |
2 Bytes |
13H |
Number of Sectors in Partition Smaller than 32MB (Therefore Not Available for FAT32) |
2 Bytes |
15H |
Media Descriptor (F8H for Hard Disks) |
1 Byte |
16H |
Sectors Per FAT (In Older FAT Systems and Not Available for FAT32) |
2 Bytes |
18H |
Sectors Per Track |
2 Bytes |
1AH |
Number of Heads |
2 Bytes |
1CH |
Number of Hidden Sectors in Partition |
4 Bytes |
20H |
Number of Sectors in Partition |
4 Bytes |
24H |
Number of Sectors Per FAT |
4 Bytes |
28H |
Flags (Bits 0-4 Indicate Active FAT Copy) (Bit 7 Indicates whether FAT Mirroring is Enabled or Disabled <Clear is Enabled>) (If FAT Mirroring is Disabled, the FAT Information is only written to the copy indicated by bits 0-4) |
2 Bytes |
2AH |
Version of FAT32 Drive (High Byte = Major Version, Low Byte = Minor Version) |
2 Bytes |
2CH |
Cluster Number of the Start of the Root Directory |
4 Bytes |
30H |
Sector Number of the File System Information Sector (Referenced from the Start of the Partition) |
2 Bytes |
32H |
Sector Number of the Backup Boot Sector (Referenced from the Start of the Partition) |
2 Bytes |
34H |
Reserved |
12 Bytes |
40H |
Logical Drive Number of Partition |
1 Byte |
41H |
Unused (Could be High Byte of Previous Entry) |
1 Byte |
42H |
Extended Signature (29H) |
1 Byte |
43H |
Serial Number or 32 – Bit Binary ID of Partition
(Binary ID of 32 Bits provided by the OS itself) |
4 Bytes |
47H |
Volume Name of Partition |
11 Bytes |
52H |
FAT Name (FAT32 in this case) |
8 Bytes |
5AH |
Executable Code |
420 Bytes |
1FEH |
Executable Marker or Magic Number (AAH 55H) |
2 Bytes |
- Συνολικοί τομείς σε λογικό τόμο (Μικρός, για λογικό μέγεθος μικρότερο ή ίσο με 32 MB)
- Byte περιγραφής πολυμέσων
- Αριθμός Τομέων ανά ΦΑ
Αυτές οι πληροφορίες μας βοηθούν να βρούμε τη θέση του FAT και ορισμένες άλλες σημαντικές τιμές. Η τοποθέτηση εσφαλμένων πληροφοριών εδώ ή η καταστροφή αυτών των τιμών καθιστά αδύνατη την εκκίνηση από τη μονάδα σκληρού δίσκου. Μερικές φορές η ύπαρξη λανθασμένων πληροφοριών στο μπλοκ παραμέτρων δίσκου θα αποτρέψει την εκκίνηση από τη μονάδα σκληρού δίσκου καθώς και από τη μονάδα δισκέτας.
Τα byte ανά τομέα είναι σχεδόν πάντα 512. Εάν όχι, τότε πρέπει να είναι ακέραιος αριθμός 2 (π.χ. 64, 128 και 256).
Ο αριθμός των Τομέων ανά συστάδα εξαρτάται από το μέγεθος του συμπλέγματος. (Δείτε την ενότητα Ομάδες που δόθηκε σε αυτό το κεφάλαιο προηγουμένως). Ο αριθμός των αντιγράφων του FAT είναι σχεδόν πάντα 2.
Αριθμός καταλόγων ρίζας: Εξαρτάται από το σύστημα αρχείων και το μέγεθος του τόμου. (Δείτε τα όρια συστήματος αρχείων που δόθηκαν πριν και την περιγραφή του καταλόγου ρίζας θα δοθεί στη συνέχεια).
Συνολικός αριθμός τομέων: Εξαιρούνται οι κρυφοί τομείς. Εάν είναι 0 στο BPB, χρησιμοποιείται το πεδίο στις πληροφορίες εκτεταμένης εγγραφής εκκίνησης και αντίστροφα. Σημειώστε ότι είναι δυνατό να προσδιοριστεί εάν οι εκτεταμένες πληροφορίες (DOS 4.0 και μεταγενέστερες) είναι διαθέσιμες εξετάζοντας το byte υπογραφής σε μετατόπιση 26H.
Οποιοιδήποτε τομείς πριν από τον τομέα εκκίνησης μιας λογικής μονάδας δίσκου DOS θεωρούνται ως "κρυφοί" τομείς. Το DOS δεν ερμηνεύει κρυφούς τομείς. Οι κανονικές μονάδες δισκέτας έχουν 0 κρυφούς τομείς. Τα διαμερίσματα του σκληρού δίσκου θα έχουν έναν αριθμό που αντικατοπτρίζει τη θέση τους στη μονάδα δίσκου. Σημειώστε ότι ολόκληρη η πρώτη κεφαλή του πρώτου κυλίνδρου συνήθως δεσμεύεται για τον πίνακα διαμερισμάτων, παρόλο που είναι μόνο ο πρώτος τομέας που χρησιμοποιείται στην πραγματικότητα.
Περιγραφή πολυμέσων: Χρησιμοποιείται για να δώσει μια ένδειξη του μέσου ή του τύπου δίσκου. Οι κανονικές τιμές είναι 0 για εκτεταμένο διαμέρισμα DOS και F8H για σκληρό δίσκο. Οι τιμές των Byte του Περιγραφέα πολυμέσων έχουν δοθεί στον παρακάτω πίνακα.
Media Descriptors |
Type |
Capacity |
Size and type |
F0H |
2.88 MB |
3.5", 2-Sided, 36 Sectors per Track |
F0H |
1.44 MB |
3.5", 2-Sided, 18 Sectors per Track |
F9H |
720 KB |
3.5", 2-Sided, 9 Sectors per Track |
F9H |
1.2 MB |
5.25", 2-Sided, 15 Sectors per Track |
FDH |
360 KB |
5.25", 2-Sided, 9 Sectors per Track |
FFH |
320 KB |
5.25", 2-Sided, 8 Sectors per Track |
FCH |
180 KB |
5.25", 1-Sided, 9 Sectors per Track |
FEH |
160 KB |
5.25", 1-Sided, 8 Sectors per Track |
F8H |
--------- |
Fixed Disk |
Αριθμός Τομέων FAT: Πρέπει να υπολογιστεί. Η μέθοδος υπολογισμού του μεγέθους του FAT έχει δοθεί στην περιγραφή του FAT που δίνεται στο κεφάλαιο.
Το DBR ενός συστήματος αρχείων FAT32 έχει δοθεί στην παρακάτω εικόνα:
Τομείς ανά διαδρομή (ή Τομείς ανά κεφαλή): Τομείς ανά κεφαλή είναι ο αριθμός των τομέων που ομαδοποιούνται κάτω από το ένα κεφάλι. Ομοίως, οι κεφαλές ανά κύλινδρο αντικατοπτρίζουν τον αριθμό των κυλίνδρων ανά κεφαλή. Εάν αυτό το διαμέρισμα είναι διαμέρισμα CHS, αυτές οι τιμές πρέπει να είναι ίδιες με αυτές που επιστρέφονται από το BIOS. Εάν δεν είναι τα ίδια, πρέπει να λάβετε υπόψη ότι ο δίσκος δεν έχει ρυθμιστεί σωστά και ότι το διαμέρισμα ενδέχεται να μην μπορεί να χρησιμοποιηθεί.
Hidden Sectors: Όπως έχουμε ήδη συζητήσει, αυτός είναι ο αριθμός των τομέων στον φυσικό δίσκο που προηγούνται της έναρξης του τόμου, πριν από τον ίδιο τον τομέα εκκίνησης. Χρησιμοποιείται κατά τη διάρκεια της ακολουθίας εκκίνησης για τον υπολογισμό της απόλυτης μετατόπισης στον ριζικό κατάλογο και τις περιοχές δεδομένων. Σκεφτείτε το ως τον αριθμό των τομέων μεταξύ της αρχής αυτού του διαμερίσματος και του ίδιου του πίνακα διαμερισμάτων.
Αυτό το πεδίο θα πρέπει να είναι ίδιο με τον "αριθμός τομέων που προηγούνται του διαμερίσματος" στον πίνακα διαμερισμάτων. Σημειώστε ότι δεν είναι απαραίτητα η φυσική διεύθυνση LBA του πρώτου τομέα, καθώς ενδέχεται να υπάρχουν δευτερεύοντα διαμερίσματα.
Εάν οι κρυφοί τομείς δεν είναι ίδιοι με τον πίνακα διαμερισμάτων, μπορείτε να θεωρήσετε ότι ο τομέας εκκίνησης είναι κατεστραμμένος και το διαμέρισμα δεν μπορεί να χρησιμοποιηθεί. Σημειώστε επίσης ότι η λέξη high συνήθως περιέχει σκουπίδια σε παλιές εκδόσεις του DOS.
Εάν υποψιάζεστε ότι ένας τομέας εκκίνησης έχει καταστραφεί, μπορείτε να ελέγξετε πολλά από τα πεδία που αναφέρονται παραπάνω για να δείτε εάν οι τιμές που αναφέρονται εκεί έχουν νόημα.
Για παράδειγμα, Byte ανά τομέα θα είναι 512 στη συντριπτική πλειονότητα των περιπτώσεων. Μπορεί επίσης να περιμένετε να δείτε συμβολοσειρές κειμένου στην ενότητα εκτελέσιμου κώδικα του τομέα εκκίνησης που είναι κατάλληλες για το λειτουργικό σύστημα που μορφοποίησε το δίσκο.
Για παράδειγμα, οι τυπικές συμβολοσειρές κειμένου σε τόμους FAT που έχουν μορφοποιηθεί από MS-DOS περιλαμβάνουν: "Μη έγκυρος δίσκος συστήματος.", "Σφάλμα εισόδου/εξόδου δίσκου.", "Αντικατάσταση του δίσκου και, στη συνέχεια, πατήστε οποιοδήποτε πλήκτρο", "Σφάλμα δίσκου ή δίσκου εκτός συστήματος", "Αντικατάσταση και πατήστε οποιοδήποτε πλήκτρο όταν είναι έτοιμο". και "Αποτυχία εκκίνησης δίσκου." Οι συμβολοσειρές κειμένου σε τόμους FAT που έχουν μορφοποιηθεί από τα Windows NT περιλαμβάνουν: "BOOT: Δεν ήταν δυνατή (ή δεν ήταν δυνατή) η εύρεση του 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.
Το FAT δεν παρακολουθεί κάθε τομέα στην επιφάνεια του δίσκου, αλλά διαχειρίζεται την περιοχή του δίσκου σε μια ομάδα τομέων που ονομάζεται "cluster" ή "allocation unit" (Δείτε το Cluster που συζητήθηκε πριν, στο ίδιο κεφάλαιο) .
Ένα σύμπλεγμα είναι η μικρότερη μονάδα χώρου στη μονάδα σκληρού δίσκου που εκχωρεί το DOS σε ένα αρχείο, αποτελείται από έναν ή περισσότερους τομείς ανάλογα με το μέγεθος της μονάδας. Το μέγεθος του συμπλέγματος αποφασίζεται και καθορίζεται από το πρόγραμμα DOS FORMAT κατά τη μορφοποίηση υψηλού επιπέδου της μονάδας σκληρού δίσκου. (Δείτε τη συζήτηση "μέγεθος συμπλεγμάτων", που δόθηκε πριν)
Στην πραγματικότητα, το FAT είναι ένας δείκτης των συμπλεγμάτων ολόκληρου του τόμου. Το FAT έχει μία καταχώρηση για κάθε σύμπλεγμα. Οι δύο πρώτες καταχωρίσεις σε ένα FAT περιέχουν πληροφορίες για το FAT. Η τρίτη και οι επόμενες καταχωρήσεις στο FAT αντιστοιχίζονται σε ομάδες χώρου στο δίσκο, ξεκινώντας από το πρώτο σύμπλεγμα διαθέσιμο για χρήση από αρχεία
Επειδή το FAT είναι ένα τόσο σημαντικό στοιχείο, το DOS διατηρεί δύο αντίγραφα του FAT, πρωτεύον FAT ή FAT1 και δευτερεύον FAT ή FAT2 (συνήθως υπάρχουν δύο αντίγραφα, ωστόσο πολλά νέα λειτουργικά συστήματα δημιουργούν περισσότερα από δύο αντίγραφα FAT).
Κάθε FAT καταλαμβάνει συνεχόμενους τομείς στο δίσκο, με το 2ο FAT αμέσως μετά το 1ο FAT δεν κάνει το DOS να χρησιμοποιεί το 2ο FAT για να διορθώσει το πρόβλημα, αντίθετα όταν το 1ο FAT ενημερώνεται το DOS το αντιγράφει στο 2ο FAT, καταστρέφοντας το 2ο FAT επίσης, στη διαδικασία.
Αυτή η ενημέρωση πραγματοποιείται κάθε φορά που το DOS διαπιστώνει ότι το 1ο και το 2ο FAT δεν ταιριάζουν. Άρα, σε περίπτωση αλλοίωσης του 1ου FAT, θα πρέπει να γίνει άμεσα η επισκευή χρησιμοποιώντας κάποιο λογισμικό επεξεργασίας δίσκου και συγκρίνοντας το 1ο FAT με το 2ο FAT. Αυτό θα πρέπει να γίνει πριν το DOS αντιγράψει το κατεστραμμένο FAT στο δεύτερο FAT.
Με την εισαγωγή του FAT32, τόσο οι καταχωρήσεις FAT όσο και η αρίθμηση τομέα είναι πλέον 32-bit. Αυτό σημαίνει ότι υπάρχουν τώρα 4.294.967.296 διακριτές τιμές 32 bit πολλαπλασιαζόμενες επί 512 byte ανά τομέα που αποδίδουν 2 terabyte (2.199.023.255.552 byte) ως το μέγιστο δυνατό μέγεθος δίσκου στο πλαίσιο του FAT32.
Το μέγεθος της καταχώρισης καταλόγου για κάθε αρχείο στο FAT 32 είναι 4 byte για να περιέχει την τιμή του αρχικού συμπλέγματος του αρχείου αντί των 2 byte που απαιτούνται στο FAT16. Η μεγαλύτερη τιμή φιλοξενεί τον μεγαλύτερο αριθμό πιθανών συμπλεγμάτων.
Παραδοσιακά, κάθε καταχώρηση καταλόγου είναι μια εγγραφή 32 byte και αυτό παραμένει το ίδιο. Στη μέση της εγγραφής καταλόγου υπάρχουν 10 byte (byte 12 έως 21) που η Microsoft έχει κρατήσει για δική της μελλοντική χρήση. Δύο από αυτά τα byte χρησιμοποιούνται τώρα για να φιλοξενήσουν τα επιπλέον byte που απαιτούνται για τον καθορισμό του αρχικού συμπλέγματος στο FAT32.
Όπως έχουμε ήδη συζητήσει ότι υπήρξαν εκδόσεις 12 bit, 16 bit και 32 bit του FAT. Ενώ το 32 bit FAT επιτρέπει πολύ πιο αποτελεσματική αποθήκευση, η οποία μπορεί να είναι έως και 30% πιο αποτελεσματική και τη χρήση μεγαλύτερων σκληρών δίσκων.
Όταν το σύστημα αρχείων ενός λειτουργικού συστήματος καλείται από ένα πρόγραμμα για να βρει τα περιεχόμενα ενός αρχείου, η πρώτη τιμή συμπλέγματος, στην καταχώρηση καταλόγου για αυτό το αρχείο, διαβάζεται και χρησιμοποιείται για την εύρεση της αλυσίδας FAT. Η αλυσίδα FAT είναι η λίστα των συμπλεγμάτων που περιέχουν δεδομένα που ανήκουν σε ένα αρχείο.
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 μπορεί να περιέχουν τιμές που υποδεικνύουν:
- Το επόμενο σύμπλεγμα σε μια αλυσίδα FAT για ένα δεδομένο αρχείο
- Τα δωρεάν συμπλέγματα, δηλαδή τα συμπλέγματα που δεν χρησιμοποιούνται από κανένα αρχείο
- Οι πληροφορίες των Bad Sectors, δηλαδή το σύμπλεγμα που περιέχει έναν ή περισσότερους τομείς που έχουν υποστεί φυσική βλάβη και δεν πρέπει να χρησιμοποιούνται.
- Το τελικό σύμπλεγμα ενός αρχείου
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 |
Κάθε καταχώρηση FAT αντιπροσωπεύει μια διεύθυνση συμπλέγματος και περιέχει έναν δείκτη προς την επόμενη διεύθυνση συμπλέγματος (καταχώρηση FAT) για το αρχείο. Η τελευταία καταχώρηση FAT για ένα αρχείο περιέχει την τελική τιμή συμπλέγματος αντί για δείκτη. Οι δύο πρώτες καταχωρίσεις σε ένα FAT περιέχουν πληροφορίες για το FAT. Αυτά τα Byte του FAT περιέχουν ένα byte περιγραφής πολυμέσων. Αυτό το byte μπορεί να χρησιμοποιηθεί για να βρείτε τον τύπο του μέσου δίσκου του οποίου είναι αυτή η καταχώρηση FAT.
Η τρίτη και οι επόμενες καταχωρήσεις στο FAT αντιστοιχίζονται σε συμπλέγματα χώρου στο δίσκο, ξεκινώντας από το πρώτο σύμπλεγμα που είναι διαθέσιμο για χρήση από αρχεία. Μια καταχώριση FAT μπορεί να έχει οποιαδήποτε από τις τιμές που δίνονται στον παραπάνω πίνακα, με βάση τις πληροφορίες που θέλει να μεταφέρει.
Ένα 000H σε FAT 12-bit ή 0000H σε FAT 16-bit υποδηλώνει ότι το σύμπλεγμα που αντιστοιχεί σε αυτήν τη θέση FAT δεν έχει εκχωρηθεί ή είναι κενό. Οποιαδήποτε τιμή από FF8H σε FFFH σε 12–bit FAT ή FFF8H σε FFFFH σε 16 – Bit FAT υποδηλώνει ότι αυτό το σύμπλεγμα είναι το τελευταίο σύμπλεγμα σε μια αλυσίδα συμπλεγμάτων ενός αρχείου.
Τιμή από FF0H έως FF7H σε 12 – Bit FAT υποδηλώνει δεσμευμένα συμπλέγματα. Ένα FF7H σε ένα FAT 12-bit ή το FFF7H σε ένα FAT 16-bit υποδηλώνει ότι το σύμπλεγμα που αντιστοιχεί στη θέση του FAT είναι ένα κακό σύμπλεγμα, δηλαδή αυτό είναι βασικά ένα σύμπλεγμα που περιέχει κακούς τομείς. Αυτό το σύμπλεγμα δεν χρησιμοποιείται για αποθήκευση δεδομένων.
Οποιαδήποτε άλλη τιμή στον πίνακα FAT είναι δείκτης στο επόμενο σύμπλεγμα στην αλυσίδα εκχώρησης αρχείων.
Πώς τα Windows εντοπίζουν το ακατάλληλο – Τερματισμός λειτουργίας
Είναι πολύ συνηθισμένο πράγμα και ελπίζω να το έχετε προσέξει πολλές φορές όταν χρησιμοποιείτε παράθυρα ότι, εάν υπάρχει ακατάλληλη λειτουργία – Τερματισμός λειτουργίας στον υπολογιστή σας, για οποιονδήποτε λόγο, όπως, διακοπή ρεύματος, καταστροφή λογισμικού, τυχαίος τερματισμός λειτουργίας κ.λπ., όταν Περαιτέρω επανεκκινήστε τον υπολογιστή σας, το μήνυμα Ακατάλληλο – Τερματισμός εμφανίζεται στην οθόνη κατά τη διαδικασία εκκίνησης και το λειτουργικό σύστημα σαρώνει το δίσκο για σφάλματα.
Τα επόμενα δύο σχήματα δείχνουν τα 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 χρησιμοποιούν το πρόγραμμα σάρωσης δίσκου (Scandisk) για να επαληθεύσουν τον δίσκο για σφάλματα.
Κατάλογος ρίζας
Ακολουθώντας το τελευταίο FAT ακολουθεί ο Κατάλογος Root. Ο ριζικός κατάλογος είναι σαν πίνακας περιεχομένων για τις πληροφορίες που είναι αποθηκευμένες στη μονάδα σκληρού δίσκου. Η θέση του καταλόγου ρίζας μπορεί εύκολα να καθοριστεί προσθέτοντας τις τιμές από την εγγραφή εκκίνησης, όπως είναι τοποθετημένη ακολουθώντας τα FAT.
Η περιοχή καταλόγου διατηρεί τις πληροφορίες σχετικά με το όνομα αρχείου, την ημερομηνία και την ώρα της δημιουργίας του αρχείου, το χαρακτηριστικό αρχείου, το μέγεθος αρχείου και το αρχικό σύμπλεγμα του συγκεκριμένου αρχείου. Κάθε καταχώρηση καταλόγου που περιγράφει αυτές τις πληροφορίες για ένα αρχείο είναι μια πληροφορία 32 byte.
Ο ριζικός κατάλογος περιέχει πληροφορίες σχετικά με τα αρχεία και τους καταλόγους που διακλαδίζονται από τον ριζικό κατάλογο. Όλοι οι επιπλέον κατάλογοι αποθηκεύονται ως αρχεία, στην ίδια μορφή με τον ριζικό κατάλογο. Προηγουμένως, ο ριζικός κατάλογος είχε καθοριστεί σε μέγεθος και βρισκόταν σε μια σταθερή θέση στο δίσκο, αλλά τώρα είναι ελεύθερος να αναπτυχθεί όσο χρειάζεται, όπως τώρα αντιμετωπίζεται ως αρχείο.
Ο αριθμός των αρχείων που μπορεί κανείς να αποθηκεύσει στον ριζικό κατάλογο εξαρτάται από τον τύπο FAT που χρησιμοποιείται. Για παράδειγμα, για μια δισκέτα 3½ ιντσών 1,44Mb με FAT 12-Bit, περιορίζεται σε 224 καταχωρήσεις, εάν κάποιος προσπαθήσει να αποθηκεύσει το 225ο αρχείο, το DOS θα εμφανίσει ένα "Σφάλμα δημιουργίας αρχείου". Όταν χρησιμοποιείται ένα FAT 16-bit, μπορεί κανείς να έχει συνολικά 512 καταχωρήσεις στον ριζικό κατάλογο. Κάθε κύριος κατάλογος σε δισκέτα ή σκληρό δίσκο λειτουργεί επίσης ως καταχώρηση ριζικού καταλόγου.
Ο παρακάτω πίνακας παραθέτει τα όρια των καταχωρήσεων root για διαφορετικά μέσα και FAT:
Media and File System Description |
Maximum Root Directory Entries |
Single-sided 5¼ Inch 180K FDD |
64 |
Double-sided 5¼ Inch 320K FDD |
64 |
Double-sided 5¼ Inch 360K FDD |
112 |
Double-sided 3½ Inch 720K FDD |
112 |
Double-sided 5¼ Inch 1.2-megabyte FDD |
224 |
Double-sided 3½ Inch 1.44-megabyte FDD |
224 |
Double-sided 3½ Inch 1.68-megabyte DMF format disks (This is why Microsoft created CAB Files!) |
16 |
Double-sided 3½ Inch 2.88-megabyte FDD |
240 |
Hard Drives (FAT12 & FAT16) |
512 |
Hard Drives with FAT 32 (As it treats the route directory as a file) |
65,536 |
Αυτό δεν σημαίνει ότι με 16-bit FAT περιορίζεται στην αποθήκευση μόνο 512 αρχείων στη μονάδα σκληρού δίσκου. Μπορεί κανείς να χρησιμοποιήσει υποκαταλόγους για την αποθήκευση οποιουδήποτε αριθμού αρχείων που περιορίζεται μόνο από το μέγεθος της μονάδας δίσκου.
Να θυμάστε ότι η ετικέτα τόμου για μια δισκέτα αποθηκεύεται συνήθως στον τομέα εκκίνησης, αλλά η ετικέτα τόμου για έναν σκληρό δίσκο αποθηκεύεται ως καταχώρηση ριζικού καταλόγου και ο χώρος που έχει δεσμευτεί στον τομέα εκκίνησης παραμένει κενός με κενά. Η εντολή DIR του DOS επιστρέφει αυτήν στον κατάλογο εάν υπάρχει ή αυτή στον τομέα εκκίνησης εάν όχι.
Οι καταχωρήσεις καταλόγου περιέχουν την είσοδο στην αλυσίδα των συμπλεγμάτων και το όνομα αρχείου. Επομένως, οι πιο σημαντικές Εγγραφές Καταλόγου είναι του ριζικού καταλόγου, επειδή περιέχει ευρετήρια συμπλέγματος που παραπέμπουν σε όλους τους Υποκαταλόγους.
Όλοι οι κατάλογοι περιέχουν δύο καταχωρήσεις, "." για Τρέχων κατάλογος (Αυτός ο υποκατάλογος) και ".." για γονικός κατάλογος (Γονικός κατάλογος αυτού του υποκαταλόγου). Μπορούμε να παρακολουθήσουμε αυτές τις εγγραφές εύκολα καθώς θα τοποθετούνται πάντα στην αρχή ενός συμπλέγματος εάν το σύμπλεγμα περιέχει έναν κατάλογο.
Ο παρακάτω πίνακας δείχνει τη μορφή μιας καταχώρησης καταλόγου στον κατάλογο ρίζας. Ο πίνακας που δίνεται στη συνέχεια Δείχνει πώς τεμαχίζονται τα 32 Byte καταχώρισης καταλόγου ενός αρχείου στον Κατάλογο ρίζας για να αποθηκεύονται οι διάφορες πληροφορίες σχετικά με αυτό:
Offset |
Size |
Description |
00H |
8 Bytes |
Filename
(Also see the next table for the special meaning of first character of file name) |
08H |
3 Bytes |
Extension |
0BH |
1 Byte |
File attributes(See The Table Of File Attributes) |
0CH |
10 Bytes |
Reserved |
16H |
2 Bytes |
Time Created or Last Updated (See Date–Time Format Table) |
18H |
2 Bytes |
Date Created or Last Updated (See Date–Time Format Table) |
1AH |
2 Bytes |
Starting or First cluster of file
(The value 0000H is used in Parent Directory ('..') entries to indicate that the Parent Directory is the Root Directory) |
1CH |
4 Bytes |
File size in 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 μπορεί να είναι μία από αυτές που δίνονται στον ακόλουθο πίνακα:
First Character of File Name |
Value |
Meaning |
00H |
Indicates that this directory entry is unused. |
05H |
Indicates that 1st character of filename is character E5H But actually the file has not been deleted. (See the Meaning of E5H) |
E5H |
The file has been Erased and this directory entry is a deleted file’s directory entry. The data area previously occupied by that file is now free for allocation for another new file. |
2EH |
This is a Sub-directory. The cluster number field of this entry will contain the cluster number of the directory. |
2EH 2EH |
Two 2EH in a directory entry indicate the parent directory entry of a Sub–Directory. The cluster number of this entry will contain the cluster number of the parent directory of this directory. The cluster number will be zero 0000H if the parent directory is root directory. |
The Attributes is an 8–Bit binary coded field. The following table tells about the Status for flag of attributes for the given file:
Attribute Bits |
Attribute |
Bit |
Binary |
Hex |
Read Only File Flag |
0 |
.......? |
01H |
Hidden File Flag |
1 |
......?. |
02H |
System File Flag |
2 |
.....?.. |
04H |
Volume Label Flag
(Indicates that the entry is a volume label) |
3 |
....?... |
08H |
Sub–directory
(in same format as directory) |
4 |
...?.... |
10H |
Archive Bit
(File Modified Since Last Backup) |
5 |
..?..... |
20H |
Reserved (Contains 0) |
6 |
.0...... |
- |
Reserved (Contains 0) |
7 |
0....... |
- |
Ένα Αρχείο μπορεί να έχει πολλαπλά χαρακτηριστικά. Για παράδειγμα, ένα μεμονωμένο αρχείο μπορεί να είναι ένα μόνο για ανάγνωση καθώς και ένα κρυφό αρχείο ή ένα μεμονωμένο αρχείο μπορεί να έχει και τα δύο χαρακτηριστικά, The System–File και The Hidden–File. (Δείτε το Παράδειγμα που δίνεται στη συνέχεια για την Κωδικοποίηση των Εγγραφών Καταλόγου).
Η ώρα και η ημερομηνία είναι ένα ειδικά κωδικοποιημένο πεδίο 32-bit (16-bit της ώρας και 16-bit για την ημερομηνία). Η διαίρεση αυτών των Bits που κωδικοποιούν για τη σύνθεση της Ώρας δημιουργίας ή της τελευταίας ενημέρωσης και της Ημερομηνίας δημιουργίας ή τελευταίας ενημέρωσης για ένα Αρχείο, έχει δοθεί στον ακόλουθο πίνακα:
Η καταχώρηση για το Time of Create ή την Τελευταία Ενημέρωση του αρχείου, που είναι το 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) Bytes
= 4,294,967,295 (D) Bytes
~ 4 GiB
Έτσι, το FAT32 υποστηρίζει το μέγιστο μέγεθος αρχείου έως και 4 GiB.
Το Μέγεθος του αρχείου και το αρχικό σύμπλεγμα αρχείων μπορεί να είναι ένας πολύτιμος πόρος για την ανάκτηση δεδομένων για την ανάκτηση κατεστραμμένων αρχείων, καθώς μπορούμε να υπολογίσουμε από πόσα συμπλέγματα υποτίθεται ότι αποτελείται το αρχείο.
Το σχήμα που δόθηκε πριν δείχνει την καταχώρηση Root Directory για επτά διαφορετικά αρχεία. Η κωδικοποίηση για αυτές τις εγγραφές έχει δοθεί στον ακόλουθο πίνακα:
Long File Name (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 Byte (έξι χαρακτήρες),
- Τα τρίτα 4 Byte (δύο χαρακτήρες).
- Τα μικρότερα πέντε Bit του πρώτου byte της καταχώρισης καταλόγου περιέχουν έναν αριθμό σειράς που προσδιορίζει τη θέση της καταχώρισης καταλόγου σε σχέση με άλλα
- Εισχωρήσεις καταλόγου μακροσκελούς ονόματος αρχείου που σχετίζονται με το ίδιο αρχείο.
Εάν ένα μεγάλο όνομα αρχείου απαιτεί τρεις καταχωρήσεις καταλόγου LFN, ο αριθμός ακολουθίας του πρώτου θα είναι 1, αυτός του δεύτερου θα είναι 2 και ο αριθμός ακολουθίας του τρίτου θα είναι 3 και το Bit 6 του πρώτου Byte του τρίτου Η καταχώριση ορίζεται σε 1 για να υποδείξει ότι είναι η τελευταία καταχώρηση στην ακολουθία.
Το πεδίο χαρακτηριστικών εμφανίζεται στην ίδια θέση στις καταχωρήσεις καταλόγου LFN όπως στις καταχωρήσεις καταλόγου 8.3, επειδή το σύστημα αρχείων δεν γνωρίζει με ποιον τύπο καταχώρησης καταλόγου ασχολείται μέχρι να εξετάσει το byte χαρακτηριστικών. Το πεδίο αριθμού συμπλέγματος έναρξης εμφανίζεται επίσης στην ίδια θέση, αλλά στις καταχωρήσεις καταλόγου LFN η τιμή του είναι πάντα 0. Το πεδίο ένδειξης τύπου διατηρεί επίσης το 0 σε κάθε μεγάλο όνομα αρχείου.
Ένα από τα προβλήματα με τα μεγάλα ονόματα αρχείων είναι ότι καταναλώνουν περισσότερο χώρο στο δίσκο από τα σύντομα. Αυτό δεν είναι μεγάλο πρόβλημα όταν τα μεγάλα ονόματα αποθηκεύονται σε υποκαταλόγους, επειδή όσο υπάρχει διαθέσιμος χώρος στο δίσκο, οι υποκατάλογοι μπορούν να αυξηθούν για να φιλοξενήσουν προστιθέμενες καταχωρήσεις καταλόγου, αλλά ο μέγιστος αριθμός καταχωρήσεων καταλόγου που είναι διαθέσιμος στον ριζικό κατάλογο είναι σταθερός και τα μεγάλα ονόματα αρχείων χάνονται χώρο στον ριζικό κατάλογο που είναι περιορισμένου μεγέθους.
Τώρα για παράδειγμα,αν ο ριζικός κατάλογος ενός σκληρού δίσκου περιέχει το πολύ 512 καταχωρήσεις καταλόγου, επειδή ένα όνομα 128 χαρακτήρων απαιτεί 11 καταχωρήσεις, 10 για το μεγάλο όνομα και 1 για το σύντομο όνομα, θα μπορούσατε να δημιουργήσετε μόνο 46 αρχεία και υποκαταλόγους στον ριζικό κατάλογο, εάν σε καθένα δόθηκε ένα όνομα 128 χαρακτήρων.
Το πρόβλημα εξαφανίζεται για το FAT32 επίσης επειδή ο ριζικός κατάλογος κάτω από το FAT32 μπορεί επίσης να αναπτυχθεί επειδή στο σύστημα FAT32 ο ριζικός κατάλογος αντιμετωπίζεται ως Αρχείο που μπορεί να μεγαλώσει σε μέγεθος.
Περιοχή δεδομένων (ή Περιοχή αρχείων)
Ακολουθώντας τον κατάλογο ρίζας ξεκινά η περιοχή δεδομένων (ή η περιοχή αρχείων). Μάλλον μπορούμε να πούμε ότι το υπόλοιπο του τόμου μετά τον Κατάλογο ρίζας είναι η περιοχή δεδομένων.
Η περιοχή δεδομένων περιέχει τα πραγματικά δεδομένα που είναι αποθηκευμένα στην επιφάνεια του δίσκου. Το DOS χρησιμοποιεί τον αριθμό συμπλέγματος 2 για τον πρώτο τομέα της περιοχής δεδομένων, επομένως θα πρέπει να το έχουμε υπόψη κατά την εκτέλεση διαφόρων υπολογισμών ότι ο αριθμός συμπλέγματος πρέπει να ξεκινά από το 2.
Όταν διαμορφώνουμε μια μονάδα σκληρού δίσκου, η εντολή FORMAT του DOS δεν καταστρέφει ούτε αντικαθιστά τα δεδομένα στην περιοχή δεδομένων. Η εντολή FORMAT καταργεί μόνο την καταχώριση καταλόγου και τις καταχωρήσεις FAT και δεν αγγίζει την πραγματική περιοχή δεδομένων.
Αυτό καθιστά δυνατή την ανάκτηση της μονάδας σκληρού δίσκου που έχει διαμορφωθεί κατά λάθος, κάτι που δεν είναι δυνατό σε όλες τις περιπτώσεις δισκέτας που έχουν διαμορφωθεί κατά λάθος. Όπως και στην πλήρη Μορφοποίηση από τα Windows, η περιοχή δεδομένων της δισκέτας γεμίζει με χαρακτήρες F6H και όλες οι πληροφορίες αντικαθίστανται.
Το DOS χρησιμοποιεί έναν δείκτη 16-bit/32-bit που ονομάζεται δείκτης "Last Cluster Used" (LCU) για την αποθήκευση του τελευταίου αριθμού συμπλέγματος που χρησιμοποιήθηκε. Αρχικά αυτή η τιμή δείκτη είναι μηδέν, όταν ορισμένες πληροφορίες είναι γραμμένες σε ένα συγκεκριμένο σύμπλεγμα, αυτός ο αριθμός συμπλέγματος αποθηκεύεται στον δείκτη LCU.
Μετά από αυτό, κάθε φορά που πρόκειται να γραφτούν οι νέες πληροφορίες, το DOS αναζητά ένα ελεύθερο σύμπλεγμα από τον αριθμό LCU και μετά. Αυτό αναγκάζει τα νέα δεδομένα που είναι γραμμένα στο δίσκο να παραμείνουν συνεχόμενα καθώς τα δεδομένα εγγράφονται στη νέα, αχρησιμοποίητη περιοχή.
Τώρα η κατανόηση των δεδομένων σε περίπτωση τυχαίας διαγραφής θα ήταν πολύ πιο εύκολη καθώς το αρχείο βρίσκεται σε μια συνεχόμενη περιοχή του δίσκου. Μόλις φτάσει στο τέλος του δίσκου ή γίνει επαναφορά του συστήματος, η τιμή του δείκτη LCU μηδενίζεται.
Αλλά το πρόβλημα δεν διαρκεί εδώ. Δεν είναι πρακτικά δυνατό να δημιουργήσετε μόνο νέα αρχεία στο δίσκο σας και να μην διαγράψετε ή να τροποποιήσετε ποτέ κανένα αρχείο από τα προηγουμένως αποθηκευμένα. Η χρήση μόνο LCU έχει τα προβλήματα εάν κάνετε πολλή δημιουργία και διαγραφή αρχείων, καθώς αυτό θα αναγκάσει τα νέα δεδομένα να μετακινηθούν όλο και περισσότερο στα εσωτερικά κομμάτια του σκληρού δίσκου.
Επομένως, εάν οποιοδήποτε αρχείο, που ήταν αποθηκευμένο στο δίσκο, μετακινηθεί ή διαγραφεί, τα συμπλέγματα στην περιοχή δεδομένων που καταλαμβάνονταν από το αρχείο ορίζονται τώρα ως μη εκχωρημένα συμπλέγματα διαθέσιμα στην περιοχή δεδομένων και είναι έτοιμα για εγγραφή νέων δεδομένων σε αυτά. Με αυτόν τον τρόπο, το λειτουργικό σύστημα δεν χρειάζεται να μετακινήσει όλα τα δεδομένα στα εσωτερικά κομμάτια του δίσκου.
Αλλά πολλή διαγραφή και δημιουργία αρχείων κατακερματίζει τα δεδομένα στο δίσκο και αυτό προκαλεί τον Κατακερματισμό στα δεδομένα.
Κατακερματισμένα και ανασυγκροτημένα δεδομένα
Έχουμε ήδη συζητήσει ότι κάθε αρχείο στο δίσκο αποθηκεύεται ως μια συνδεδεμένη λίστα συμπλεγμάτων μέσω των οποίων τα δεδομένα που περιέχονται σε ένα αρχείο και μπορούν να βρίσκονται οπουδήποτε στο δίσκο. Εάν έχετε ένα αρχείο 10 MB αποθηκευμένο σε έναν δίσκο που χρησιμοποιεί συμπλέγματα 4.096 byte, χρησιμοποιεί συμπλέγματα 2.560. Αυτά τα συμπλέγματα μπορεί να βρίσκονται σε διαφορετικά κομμάτια, σε διαφορετικές πλάκες του δίσκου, στην πραγματικότητα, μπορούν να βρίσκονται οπουδήποτε.
Αν και ένα αρχείο μπορεί να απλωθεί σε όλο το δίσκο, αυτό απέχει πολύ από την προτιμώμενη κατάσταση. Ο λόγος είναι η ανεπιθύμητη αργή απόδοση. Οι σκληροί δίσκοι είναι σχετικά αργές συσκευές, κυρίως επειδή έχουν μηχανικά μέρη μέσα τους. Κάθε φορά που ο σκληρός δίσκος πρέπει να μετακινήσει τις κεφαλές σε διαφορετικό κομμάτι, χρειάζεται χρόνος που ισοδυναμεί με χιλιάδες και χιλιάδες κύκλους επεξεργαστή.
Ως εκ τούτου, θέλουμε να ελαχιστοποιήσουμε τον βαθμό στον οποίο κάθε αρχείο είναι διασκορπισμένο γύρω από το δίσκο. Στην ιδανική περίπτωση, κάθε αρχείο θα ήταν στην πραγματικότητα εντελώς συνεχόμενο. Αυτό σημαίνει ότι κάθε σύμπλεγμα που χρησιμοποιεί θα βρίσκεται το ένα μετά το άλλο στο δίσκο. Αυτό θα επέτρεπε την ανάγνωση ολόκληρου του αρχείου, εάν είναι απαραίτητο, χωρίς πολλές μηχανικές κινήσεις από τον σκληρό δίσκο.
Στην πραγματικότητα, το σύστημα αρχείων ξεκινά με όλο ή το μεγαλύτερο μέρος του αρχείου του συνεχόμενο, αλλά ως αποτέλεσμα της δημιουργίας και της διαγραφής αρχείων σε μια χρονική περίοδο τα δεδομένα στο δίσκο γίνονται όλο και πιο κατακερματισμένα.
Ας εξετάσουμε ένα απλό παράδειγμα για να κατανοήσουμε τον κατακερματισμό. Ο παρακάτω πίνακας αντιπροσωπεύει τη χρήση των 12 συμπλεγμάτων. Αρχικά, ο πίνακας είναι κενός:
cluster 1 |
cluster 2 |
cluster 3 |
cluster 4 |
cluster 5 |
cluster 6 |
cluster 7 |
cluster 8 |
cluster 9 |
cluster 10 |
cluster 11 |
cluster 12 |
Τώρα ας υποθέσουμε ότι δημιουργούμε τέσσερα αρχεία, το αρχείο A, B, C και D σε αυτόν τον δίσκο. Το αρχείο Α παίρνει 1 σύμπλεγμα, το αρχείο Β παίρνει 4, το αρχείο Γ παίρνει 2 και το αρχείο Δ παίρνει 3. Τα αποθηκεύουμε στον ελεύθερο διαθέσιμο χώρο και ξεκινούν όλα συνεχόμενα όπως φαίνεται στο επόμενο σχήμα:
Μετά από κάποιο χρονικό διάστημα ας διαγράψουμε το αρχείο C και με αυτόν τον τρόπο, και τα δύο συμπλέγματα που καταλαμβάνονταν από το αρχείο C, είναι πλέον ελεύθερα ή μη εκχωρημένα. Αυτό αφήνει τον δίσκο να μοιάζει με το ακόλουθο σχήμα:
Τώρα, δημιουργούμε ένα νέο Αρχείο Ε που χρειάζεται 3 συμπλέγματα. Όμως, καθώς δεν υπάρχουν συνεχόμενα μπλοκ στο δίσκο που να έχουν μήκος 3 συστάδες, πρέπει να χωρίσουμε το Ε σε δύο θραύσματα, χρησιμοποιώντας μέρος του χώρου που καταλάμβανε παλαιότερα ο C. Τώρα ο δίσκος μας θα μοιάζει με το σχήμα που δίνεται στη συνέχεια :
Μετά από ένα χρονικό διάστημα, ας διαγράψουμε τα αρχεία A και E και δημιουργούμε το αρχείο F που καταλαμβάνει 5 συμπλέγματα. Ο δίσκος τώρα μοιάζει με το σχήμα που δίνεται παρακάτω:
Τώρα βλέπουμε ότι το αρχείο F καταλήγει να σπάσει σε τρία τμήματα. Αυτός ο τύπος δεδομένων στο δίσκο ονομάζεται κατακερματισμένα δεδομένα. Το παράδειγμα που δόθηκε παραπάνω είναι ένα πολύ απλοποιημένο παράδειγμα κατακερματισμού, επειδή οι πραγματικοί δίσκοι έχουν χιλιάδες αρχεία και χιλιάδες συμπλέγματα, επομένως το πρόβλημα μεγεθύνεται. Ωστόσο, αυτό σας δίνει τη γενική ιδέα για το τι συμβαίνει.
Αυτό που κάνει ένα πρόγραμμα ανασυγκρότησης (όπως το πρόγραμμα DEFRAG της Microsoft, το SpeedDisk του Norton) είναι η αναδιάταξη του δίσκου για να επαναφέρει τα αρχεία σε συνεχόμενη μορφή. Μετά την εκτέλεση του βοηθητικού προγράμματος ανασυγκρότησης δίσκου, τα δεδομένα ανασυγκρότησης στον δίσκο για τον οποίο λέγαμε θα μοιάζουν με το σχήμα που δίνεται παρακάτω:
Τα Κατακερματισμένα και Ανασυγκροτημένα δεδομένα έχουν μεγάλη σημασία κατά την ανάκτηση δεδομένων, σε πολλές περιπτώσεις.
Ας θεωρήσουμε ότι έχουμε δύο κατεστραμμένους δίσκους για ανάκτηση δεδομένων, ο ένας έχει κατακερματισμένα δεδομένα και ο άλλος ανασυγκροτήθηκε πρόσφατα. Και πρέπει να κάνετε ανάκτηση δεδομένων συλλέγοντας τα δεδομένα από την επιφάνεια και των δύο δίσκων καθώς οι πληροφορίες FAT και Root των αρχείων είναι κατεστραμμένες. Σε τέτοιες περιπτώσεις, το ποσοστό ανάκτησης θα είναι ανάλογο με την ανασυγκρότηση των δεδομένων στο δίσκο.
Προφανώς, η ανάκτηση δεδομένων από τον ανασυγκροτημένο δίσκο θα είναι εύκολη και το ποσοστό ανάκτησης δεδομένων θα είναι επίσης υψηλό, αλλά από την άλλη πλευρά, η ανάκτηση δεδομένων από τον κατακερματισμένο δίσκο θα είναι δύσκολη και χρονοβόρα καθώς και το ποσοστό Τα ανακτημένα δεδομένα θα είναι επίσης απογοητευτικά.
Εντοπισμός της αιτίας της καταστροφής δεδομένων
Υπάρχουν ορισμένα συγκεκριμένα βήματα τα οποία εάν ακολουθηθούν με τη σειρά, μπορεί να μας βοηθήσουν να βρούμε την περιοχή της διαφθοράς. Αυτά τα βήματα έχουν περιγραφεί με τη διαδικασία ανάκτησης ως εξής:
Εκκινήστε το σύστημα με δισκέτα εκκίνησης
Εκκινήστε το σύστημά σας με μια δισκέτα ή CD με δυνατότητα εκκίνησης του λειτουργικού συστήματος που χρησιμοποιούσατε. Προσπαθήστε να διαβάσετε τις λογικές μονάδες δίσκου C: ή D: ή οτιδήποτε άλλο. Εάν η μονάδα ή οι μονάδες είναι προσβάσιμες, απλώς αντιγράψτε όλα τα δεδομένα από τη μονάδα. Τώρα μπορείτε να καταλάβετε γιατί ο δίσκος δεν εκκινεί σωστά, με λιγότερο άγχος.
Επαληθεύστε τις πληροφορίες MBR
Το πρώτο και πιο σημαντικό κομμάτι δεδομένων στον σκληρό δίσκο είναι το MBR και ο πίνακας που φέρει μέσα του, ο πίνακας διαμερισμάτων. Το εργαλείο επεξεργασίας μικρού δίσκου με το όνομα "TTEDITOR.EXE" έχει δοθεί στον δίσκο που περιλαμβάνεται σε αυτό το βιβλίο. Ή μπορείτε να χρησιμοποιήσετε οποιοδήποτε άλλο πρόγραμμα για την ανάλυση του σκληρού δίσκου.
Το Diskedit θα είναι το καταλληλότερο πρόγραμμα για την ανάλυση του δίσκου για σκοπούς ανάκτησης δεδομένων. Λοιπόν, όποιο πρόγραμμα αισθάνεστε εύκολο στη χρήση είναι στη διάθεσή σας. Προσπαθήστε να διαβάσετε το MBR και ειδικά τον πίνακα διαμερισμάτων του.
Όπως είδατε στην περιγραφή του MBR, που συζητήθηκε σε αυτό το κεφάλαιο, Στο δεύτερο μισό τμήμα του MBR, υπάρχει κάποιο ευανάγνωστο κείμενο που εμφανίζεται ως μήνυμα σφάλματος από αυτό, εάν υπάρχει κάτι λάθος με αυτό. Αυτά τα μηνύματα κειμένου εμφανίζονται ως εξής:
“Invalid partition table, Setup can not continue”
“Error loading operating system, Setup can not continue”
Εάν αυτά τα μηνύματα σφάλματος δεν είναι διαθέσιμα, αυτό υποδεικνύει την καταστροφή του MBR. Μπορεί επίσης να υπάρχει κάποιο παράνομο μήνυμα αντί για αυτό, όπως "Το σύστημά σας έχει παραβιαστεί από…" ή οποιοδήποτε άλλο απροσδόκητο μήνυμα. Υποδεικνύει ότι υπάρχει κάτι σοβαρό λάθος με το MBR και πιθανότατα οφείλεται σε κάποια ΙΟΙΚΗ λοίμωξη
Τώρα ελέγξτε τον πίνακα κατατμήσεων του MBR μετά τα αρχικά 446 byte. Εάν ο πίνακας διαμερισμάτων είναι κενός, δεν θα δείτε κανένα μήνυμα σφάλματος κατά την εκκίνηση. Το DOS αγνοεί μια μονάδα δίσκου χωρίς διαμερίσματα. Εάν δεν υπάρχει δισκέτα εκκίνησης στη μονάδα δίσκου A:, το σύστημα θα ζητήσει να εισαχθεί μια δισκέτα εκκίνησης στη μονάδα δίσκου A:.
Το σημαντικό πράγμα που πρέπει να προσέξετε εδώ είναι ότι ο πίνακας διαμερισμάτων δεν πρέπει να είναι κενός σε μια μονάδα δίσκου που λειτουργούσε προηγουμένως, επομένως κάτι τον έχει διαγράψει. Εάν ο πίνακας διαμερισμάτων είναι κενός, επαναφέρετε το MBR από το αντίγραφο ασφαλείας.
Εάν το αντίγραφο ασφαλείας δεν λειτουργήσει, ακόμη και μετά την επιτυχή ολοκλήρωση της διαδικασίας επαναφοράς, υπάρχει φυσική ζημιά σε αυτόν τον τομέα. Δοκιμάστε τις τεχνικές προγραμματισμού ανάκτησης δεδομένων, που δίνονται στα επόμενα κεφάλαια για να ανακτήσετε τα δεδομένα. Εάν δεν είστε καθόλου προγραμματιστής, καλύτερα να πάτε σε ένα καλό κέντρο ανάκτησης δεδομένων.
Εάν δεν έχετε αντίγραφο ασφαλείας του MBR, δοκιμάστε να γράψετε τον πίνακα διαμερισμάτων με μη αυτόματο τρόπο με κάποιο εργαλείο επεξεργασίας δίσκου, όπως το Diskedit, ωστόσο είναι πολύ δύσκολο να το κάνετε σε ορισμένες περιπτώσεις.
Για εκείνους τους χρήστες που δεν είναι προγραμματιστές και επίσης δεν έχουν αντίγραφο ασφαλείας, μπορούν να χρησιμοποιήσουν τη μέθοδο που χρησιμοποιώ από την περίοδο ανάπτυξης του έργου ανάκτησης δεδομένων, στις μέρες του κολεγίου μου.
Αυτό που πρέπει να κάνετε είναι απλώς να κάνετε αναζήτηση στον υπολογιστή που βρίσκεται κοντά σας, ο οποίος έχει σχεδόν το ίδιο μέγεθος δίσκου, με τον ίδιο αριθμό κατατμήσεων και το πιο σημαντικό πράγμα το ίδιο λειτουργικό σύστημα που υπήρχε στον υπολογιστή σας.
Ωστόσο, λειτουργεί πλήρως, τις περισσότερες φορές. Αλλά αν όχι, τουλάχιστον μπορεί να σας βοηθήσει να αποκτήσετε πρόσβαση στο πρώτο διαμέρισμα του δίσκου σας. Ακόμη και το λειτουργικό σας σύστημα θα εκκινήσει επίσης κανονικά, εάν ήταν εγκατεστημένο στο πρώτο διαμέρισμα και εάν οι άλλες πληροφορίες δεν είναι κατεστραμμένες.
Εάν το MBR είναι εντάξει, επαληθεύστε το DBR
Εάν το MBR είναι εντάξει, επαληθεύστε το DBR (DOS Boot Record). Όπως έχουμε ήδη συζητήσει, αυτός είναι ο πρώτος τομέας στο διαμέρισμα DOS και περιέχει ένα μικρό πρόγραμμα που φορτώνει τα κρυφά αρχεία και εκκινεί το λειτουργικό σύστημα.
Το DBR περιέχει επίσης πολύ σημαντικές πληροφορίες σχετικά με το FAT, τα συμπλέγματα ριζικού καταλόγου και το μέγεθος του διαμερίσματος κ.λπ. Χρησιμοποιήστε κάποιο βοηθητικό πρόγραμμα Diskedit like για να διαβάσετε τις πληροφορίες DBR εάν το DBR είναι κατεστραμμένο ή έχει κάποιες παράνομες πληροφορίες επαναφέρετε το DBR από το Backup .
Όλο το επαγγελματικό λογισμικό για ανάκτηση δεδομένων, έχει τη δυνατότητα να ξαναγράψει το DBR. Θα συζητήσουμε για το πώς να ξαναγράψουμε το DBR του διαμερίσματος με προγραμματισμό, στα επόμενα κεφάλαια του βιβλίου.
Μπορείτε επίσης να ξαναγράψετε το DBR του διαμερίσματος με τη βοήθεια του Diskedit παρέχοντας τις κατάλληλες πληροφορίες.
Υπάρχει επίσης ένας πολύ εύκολος τρόπος για να μάθετε τον τομέα της διαφθοράς. Τα μηνύματα σφάλματος που εμφανίζονται στην οθόνη έχουν κάποια συγκεκριμένη αιτία εμφάνισης. Η περιγραφή ορισμένων σημαντικών μηνυμάτων σφάλματος έχει ως εξής:
Message |
Description |
“Sector not found reading drive” |
This message can appear during any DOS operation. Generally, it is caused either by fading or the loss of a sector ID. |
“Data error reading drive” |
This message can appear during any DOS operation. It is caused by failing the data check – CRC (Cyclic Redundancy Check) or ECC (Error Correction Code). This “Data check” refers to the mechanism used to check whether the data read from the disk is reliable. |
“ 0 hard disk(s) found" |
It is displayed if the hard disk is not detected by the BIOS of the computer. Check the power and data cable connections of the hard disk. If connections are all right, the problem may be due to some hardware error of hard disk. |
“Hard Drive failure, press F1 to continue” |
Same as above |
“Invalid drive specification” |
It is displayed in the condition when either the system does not recognize the hardware, or there is no partition information, or the device driver of the drive is missing. |
“Invalid configuration press F1 to continue” |
If the hard disk is available, Either the battery in the motherboard is dead, and the system has lost its configuration SETUP information or the disk is not responding. |
“Invalid partition table” |
This is the MBR error message. It is displayed when the partition table of the MBR does not have the valid partition information. |
“Error loading operating system” |
This is the MBR error message. It is displayed due to any type of MBR information corruption. |
“Missing operating system” |
Same as above. |
“Disk boot failure” |
It is the DBR error message. Normally, The Hard drive should be accessible if you boot from the floppy. Though it is not bootable but that should not affect the access to the data of the drive. |
“non system disk or disk error” |
Same as above. |
“Bad or missing command interpreter” |
This message is displayed due to Bad or Missing Command Interpreter. For example if the operating do not find the command.com in current path or the command.com is corrupted. |
Σελίδα Τροποποιήθηκε στις: 05/01/2022