Κατάτμηση δίσκου Freebsd 10. Δημιουργία σήμανσης GPT

Alexey Fedorchuk
2004

Σε αυτό το άρθρο θα μιλήσουμε για την κατάτμηση σκληρών δίσκων, δηλαδή σκληρών δίσκων, χειροκίνητα, χωρίς τη βοήθεια του προγράμματος sysinstall. Η ανάγκη για αυτό δεν προκύπτει πολύ συχνά, αλλά προκύπτει. Και για τη γενική εκπαίδευση είναι χρήσιμο να κάνετε μια τέτοια επέμβαση τουλάχιστον μία φορά στη ζωή σας.

Όπως γνωρίζετε, οι δίσκοι συνήθως χωρίζονται σε partitions (partitions σε όρους DOS/Windows και Linux). Αλλά το FreeBSD έχει επίσης μια πρωτότυπη προσέγγιση. Για να το καταλάβετε, πρέπει πρώτα να πείτε

Λίγα λόγια για τη «γεωμετρία»

Η λέξη «γεωμετρία» στην επικεφαλίδα της ενότητας δεν μπαίνει τυχαία σε εισαγωγικά. Το γεγονός είναι ότι δεδομένου ότι ο όγκος των δίσκων έχει ξεπεράσει τα 500 megabyte (ένας περιορισμός του παλιού BIOS των προσωπικών υπολογιστών, που προηγουμένως ονομάζονταν συμβατοί με IBM, υπολογιστές), ο χρήστης δεν συναντά ποτέ την πραγματική τους γεωμετρία. Το λογισμικό που είναι ραμμένο στα ηλεκτρονικά του δίσκου (το λεγόμενο υλικολογισμικό) το μετατρέπει σε μια μορφή που μπορεί να γίνει αντιληπτή από το BIOS - δεν θα επιμείνω στις λεπτομέρειες του πώς ακριβώς γίνεται αυτό λόγω ανικανότητας (και είναι απίθανο κάποιος άλλος οι κατασκευαστές δίσκων γνωρίζουν καλά αυτές τις λεπτομέρειες).

Και η γεωμετρία του δίσκου που είναι διαθέσιμη στο BIOS περιγράφεται με όρους κύλινδρος/κεφαλή/τομέας (κυλίνδρους/κεφαλές/τομείς, C/H/S). Μεταφορικά μιλώντας (και, επαναλαμβάνω, όλα όσα σχετίζονται με τη γεωμετρία του δίσκου πρέπει πλέον να γίνονται αντιληπτά αποκλειστικά μεταφορικά, αλληγορικά ή μεταφορικά), οι κεφαλές διαβάζουν πληροφορίες από τα ομόκεντρα μαγνητικά ίχνη στα οποία χωρίζεται κάθε δίσκος δίσκου. Μια κατακόρυφη συλλογή ιχνών με τους ίδιους αριθμούς σε όλες τις πλάκες που αποτελούν τον δίσκο ως φυσική συσκευή σχηματίζει έναν κύλινδρο. Και οι τομείς κόβουν την πλάκα, μαζί με τα ίχνη της, σε ακτινωτά θραύσματα που ονομάζονται μπλοκ. Δηλαδή, μπορεί να φανταστεί κανείς με τέτοιο τρόπο ότι το μπλοκ βρίσκεται στη διασταύρωση (στο χώρο) του κυλίνδρου, της τροχιάς και του τομέα.

Ο αριθμός των κομματιών και των τομέων στους σύγχρονους δίσκους είναι συνήθως σταθερός (ή μάλλον, εμφανίζεται ως τέτοιος στο BIOS): 255 κομμάτια κόβονται σε 63 τομείς το καθένα, που συνολικά δίνει 16065 μπλοκ ανά κύλινδρο. Και ο αριθμός των κυλίνδρων καθορίζεται από τον όγκο του δίσκου (δεν θα μπω σε αριθμητικούς υπολογισμούς). Το μόνο σημαντικό πράγμα εδώ είναι ότι οι κεφαλές του δίσκου κινούνται μηχανικά συγχρονισμένα κατά μήκος της επιφάνειας όλων των πλακών. Δηλαδή, εάν διαβάζονται πληροφορίες από το κομμάτι 1 σε μια πιατέλα, τότε όλες οι άλλες κεφαλές μετακινούνται στο ίδιο κομμάτι - η καθεμία στη δική της πιατέλα.

Επαναλαμβάνω, όλα αυτά είναι υπό όρους - έστω και μόνο επειδή η έννοια του κυλίνδρου με τη γεωμετρική έννοια της λέξης είναι πολύ δύσκολο να εφαρμοστεί σε σύγχρονους δίσκους, συχνά όχι μόνο μονής πλάκας, αλλά ακόμη και, θα λέγαμε, μισής πλάκας ( δηλαδή με μόνο τη μία πλευρά μιας πλάκας που εμπλέκεται) . Αλλά η αντιμετώπιση αυτής της γεωμετρίας είναι θέμα του υλικολογισμικού και του BIOS για εμάς, είναι οι κύλινδροι που μας ενδιαφέρουν - το σύνολο των κομματιών που προσεγγίζονται συγχρονισμένα και τα μπλοκ - τα ελάχιστα κβάντα χώρου στο δίσκο.

Τα κομμάτια που σχηματίζουν τους κυλίνδρους δημιουργούνται κατά την αρχική εργοστασιακή σήμανση του δίσκου - το λεγόμενο. μορφοποίηση χαμηλού επιπέδου. Από τα παραπάνω, είναι προφανές ότι η πρόσβαση σε δεδομένα εντός ενός κυλίνδρου ή μιας ομάδας γειτονικών θα είναι ταχύτερη από ό,τι σε δεδομένα μερικώς γραμμένα στον πρώτο και, ας πούμε, στον τελευταίο κύλινδρο του δίσκου. Αυτή η περίπτωση δεν είναι τόσο απίθανη όσο μπορεί να φαίνεται: στο DOS, όπου ο χώρος που καταλαμβάνουν τα διαγραμμένα αρχεία επισημαίνεται ως αχρησιμοποίητος, αλλά στην πραγματικότητα αντικαθίσταται μόνο όταν ο ελεύθερος χώρος στο δίσκο εξαντληθεί εντελώς, μια τέτοια κατάσταση θα μπορούσε κάλλιστα να προκύψει.

Έτσι, προκειμένου να ελαχιστοποιηθεί η πιθανότητα διανομής δεδομένων σε χωριστούς κυλίνδρους, εφευρέθηκαν διαμερίσματα δίσκων (ή μάλλον, και για αυτόν τον σκοπό - η κατανομή των κατατμήσεων δίσκων έχει πολλούς άλλους σκοπούς). Μια ομάδα γειτονικών κυλίνδρων συνδυάζεται σε ένα ενιαίο τμήμα.

Πού τελειώνει ένα τμήμα και πού ξεκινά ένα άλλο; Λογικοί άνθρωποι από την Οδησσό θα έλεγαν ότι το ένα τμήμα τελειώνει ακριβώς εκεί που αρχίζει το δεύτερο. Ωστόσο, είναι προφανές για εμάς ότι για κάθε τμήμα θα πρέπει να αποθηκεύουμε πληροφορίες για την αρχή και το τέλος της (δηλαδή τους αριθμούς του πρώτου και του τελευταίου από τους κυλίνδρους που εμπλέκονται σε αυτό). Πού πρέπει να τα αποθηκεύσω; Για να απαντήσουμε σε αυτό το ερώτημα, θα πρέπει να στραφούμε στην έννοια του μπλοκ.

Όπως τα κομμάτια, τα μπλοκ δίσκων (ή φυσικά - υπάρχουν και λογικά μπλοκ, αλλά αυτό ισχύει για συστήματα αρχείων, τα οποία θα συζητηθούν αργότερα) δημιουργούνται κατά τη μορφοποίηση χαμηλού επιπέδου και ο χρήστης δεν μπορεί (σχεδόν) να τα επηρεάσει. Το μέγεθός τους είναι επίσης πάντα το ίδιο και ίσο με 512 byte. Ή μάλλον, έτσι το βλέπει το BIOS του προσωπικού υπολογιστή - τι είναι πραγματικά, μόνο ο Αλλάχ ξέρει.

Ωστόσο, το γεγονός ότι η ανταλλαγή δεδομένων με έναν δίσκο είναι δυνατή σε κομμάτια τουλάχιστον 512 byte είναι μια αντικειμενική πραγματικότητα, όπως και το γεγονός ότι οποιαδήποτε, όσο μικρή κι αν είναι, ποσότητα πληροφοριών που γράφονται σε αυτόν θα καταλαμβάνει ένα ολόκληρο μπλοκ - ανεξάρτητα από το πραγματικό του μέγεθος. Δηλαδή, μικρά αρχεία κειμένου μερικών χαρακτήρων σε μέγεθος (δηλαδή byte) θα εξακολουθούν να καταγράφουν έως και 512 byte, όχι λιγότερα (στην πραγματικότητα, ακόμη περισσότερα, αλλά περισσότερα για αυτό την επόμενη φορά). Από την άλλη πλευρά, η ανάγνωση δεδομένων σε μπλοκ 512 byte θα είναι ταχύτερη από ό,τι εάν τα δεδομένα διαβάζονταν byte-byte κάθε φορά που η κεφαλή είχε πρόσβαση στο δίσκο. Ωστόσο, αυτό σχετίζεται επίσης με το θέμα των συστημάτων αρχείων.

Προς το παρόν, μας ενδιαφέρει ένα ενιαίο μπλοκ που σχηματίζεται από τον πρώτο τομέα στην πρώτη τροχιά του πρώτου κυλίνδρου. Προορίζεται για μια περιοχή εξυπηρέτησης του δίσκου που ονομάζεται κύρια εγγραφή εκκίνησης (MBR - Master Boot Recodr), η οποία διαβάζεται από το BIOS κατά την εκκίνηση του μηχανήματος. Προφανώς, για τον προορισμό του, το MBR χρησιμοποιείται μόνο εάν ο δίσκος έχει οριστεί στο BIOS Setup ως εκκινήσιμος (ή είναι απλώς ο μόνος στο σύστημα). Ωστόσο, δεδομένου ότι η χρήση κάθε συγκεκριμένου δίσκου είναι στη διακριτική ευχέρεια του χρήστη, διατίθεται πάντα χώρος για αυτόν.

Μέσα στο μηδενικό μπλοκ, μεταξύ άλλων (ιδίως, ο κωδικός οποιουδήποτε bootloader που μπορεί να γραφτεί εκεί), υπάρχει σίγουρα ένα δεσμευμένο τμήμα. Προορίζεται για το BIOS Partition Table, για το οποίο από αμνημονεύτων χρόνων (από τον πρώτο κιόλας υπολογιστή της IBM, φαίνεται) έχουν διατεθεί 64 byte. Αυτός ο πίνακας καταγράφει (ή μπορεί να εγγράψει) δεδομένα σχετικά με τα διαμερίσματα σε μια συγκεκριμένη μορφή που μπορεί να κατανοήσει το BIOS.

Και αυτή η μορφή παρέχει για κάθε ενότητα που υποδεικνύει το αρχικό μπλοκ, το μέγεθος σε byte, το αναγνωριστικό τύπου συστήματος αρχείων (αυτό, σε αντίθεση με το όνομα, δεν είναι καθόλου το ίδιο με το σύστημα αρχείων, το οποίο θα συζητηθεί στην επόμενη ενότητα) και ( για ένα μόνο από τα διαμερίσματα) σημαία δραστηριότητας (δηλαδή, επισήμανση αυτού του διαμερίσματος ως εκκινήσιμου). Το τελευταίο είναι απαραίτητο για ορισμένα λειτουργικά συστήματα τύπου DOS, αν και το FreeBSD ή, για παράδειγμα, το Linux δεν ενδιαφέρονται για αυτήν τη σημαία.

Οι συνολικές πληροφορίες που απαιτούνται για την περιγραφή του διαμερίσματος του δίσκου είναι 16 byte. Και επειδή, όπως θυμόμαστε, εκχωρούνται μόνο 64 byte για ολόκληρο τον πίνακα διαμερισμάτων, χωρίς αριθμομηχανή μπορούμε να υπολογίσουμε ότι ο μέγιστος αριθμός κατατμήσεων σε έναν δίσκο είναι 4. Αυτά τα διαμερίσματα ονομάζονται κύρια ή, όχι με απόλυτη ακρίβεια, φυσικά. Δεδομένου ότι στις περισσότερες περιπτώσεις τέτοιες ενότητες μπορούν επίσης να χωριστούν σε μέρη - λογικές ενότητες (τα οποία θα συζητηθούν αργότερα).

Επαναλαμβάνω για άλλη μια φορά - αυτό ισχύει μόνο για μηχανήματα με BIOS υπολογιστή, δηλαδή, συνηθισμένους προσωπικούς υπολογιστές. Σε όλα τα είδη PowerPC, Sparcs και παρόμοιους σταθμούς, όλα μπορεί να είναι εντελώς διαφορετικά (αν και, για να είμαι ειλικρινής, δεν ξέρω πώς ακριβώς).

Όπως μπορείτε να δείτε, η περιγραφή του διαμερίσματος περιλαμβάνει το αναγνωριστικό συστήματος αρχείων. Αυτός είναι ένας συγκεκριμένος αριθμός (στο FreeBSD συνήθως με δεκαδικό συμβολισμό, στο Linux, για παράδειγμα, σε δεκαεξαδικό), ο οποίος τοποθετείται σύμφωνα με το σύστημα αρχείων του λειτουργικού συστήματος που σχεδιάζεται να τοποθετηθεί στο δίσκο. Έτσι, το διαμέρισμα που προορίζεται για το FreeBSD έχει ένα αναγνωριστικό 165 (δεκαδικό) ή A5, το διαμέρισμα για Linux (Linux native) - 131 (ή 83), FAT16 - 6, εκτεταμένο διαμέρισμα (το λεγόμενο DOS Extended) - 5, και ούτω καθεξής περαιτέρω.

Η εκχώρηση ενός αναγνωριστικού σε ένα διαμέρισμα δεν σημαίνει ότι ένα αντίστοιχο σύστημα αρχείων θα εμφανιστεί ως δια μαγείας σε αυτό. Όχι, απλώς προκαθορίζει το είδος του δευτερεύοντος πίνακα διαμερισμάτων που μπορεί να γραφτεί σε αυτόν (αν και αυτό δεν είναι απολύτως αληθές - και σε ορισμένες περιπτώσεις δεν είναι καθόλου αλήθεια). Αλλά εδώ φτάνουμε στην κουβέντα

Στην πραγματικότητα για τις φέτες

Έτσι, η έρευνα έδειξε ότι μπορούν να δημιουργηθούν έως και 4 (συμπεριλαμβανομένων) κατατμήσεων σε έναν φυσικό δίσκο, καθένα από τα οποία μπορεί να αντιστοιχιστεί σε ξεχωριστό λειτουργικό σύστημα. Τι ακολουθεί; Στη συνέχεια, θα πρέπει να μελετήσετε το ζήτημα των στυλ σήμανσης ενοτήτων.

Τα στυλ διάταξης ενότητας καλούνται Ετικέτα δίσκου, το οποίο δεν πρέπει να συγχέεται με ετικέτες δίσκου - αυθαίρετα ονόματα που μπορούν να αντιστοιχιστούν σε ένα διαμέρισμα δίσκου στο DOS (και όχι μόνο). Τα στυλ σήμανσης είναι η μορφή του δευτερεύοντος πίνακα διαμερισμάτων, γραμμένη στο πρώτο μπλοκ του πρωτεύοντος διαμερίσματος. Αυτός ο πίνακας καθορίζει τη φύση των διαθέσιμων ενεργειών σε αυτό το πρωτεύον διαμέρισμα.

Οι χρήστες Windows (και, στις περισσότερες περιπτώσεις, Linux) συνήθως δεν έχουν λόγο να σκεφτούν το ζήτημα των στυλ σήμανσης. Ωστόσο, υπάρχουν πολλά τέτοια στυλ - για να το επαληθεύσετε, απλώς μεταβείτε στο μενού διαμόρφωσης πυρήνα Linux, στην υποενότητα Τύποι διαμερισμάτωντμήμα Συστήματα αρχείων. Ωστόσο, από όλη αυτή την αφθονία, θα μας ενδιαφέρουν μόνο δύο στυλ - DOS και BSD.

Το DOS/Windows χρησιμοποιεί (παραδόξως) το στυλ διαμέρισης DOS. Βασίζεται στον πίνακα BIOS, ο οποίος χρησιμοποιείται μόνο εν μέρει. Δηλαδή, από τις τέσσερις διαθέσιμες καταχωρήσεις του πίνακα κατατμήσεων, μόνο δύο είναι γεμάτες (ή μάλλον, μόνο δύο κατατμήσεις μπορούν να δημιουργηθούν χρησιμοποιώντας το τυπικό FDISK από το DOS/Windows9X/ME. Απλώς δεν ξέρω πώς είναι η κατάσταση στο NT/2000/ XP).

Στην καταχώρηση για το πρώτο διαμέρισμα, μπορείτε να καθορίσετε ένα αναγνωριστικό τύπου συστήματος αρχείων (για παράδειγμα, FAT16 ή FAT32), ενώ στο δεύτερο διαμέρισμα εκχωρείται αυτόματα ένα αναγνωριστικό τύπου Extended DOS. Και το Extended διαμέρισμα μπορεί να χωριστεί περαιτέρω σε λογικά διαμερίσματα. Ωστόσο, δεν μας ενδιαφέρει αυτό τώρα, και η δομή του εκτεταμένου διαμερίσματος και των λογικών κατατμήσεων έχει περιγραφεί πολλές φορές σε αυτό.

Το Linux χρησιμοποιεί επίσης το στυλ σήμανσης DOS. Μόνο εδώ ο πίνακας BIOS χρησιμοποιείται πλήρως - χρησιμοποιώντας τα τυπικά εργαλεία αυτού του λειτουργικού συστήματος (για παράδειγμα, fdisk ή cfdisk) μπορείτε να δημιουργήσετε και τα τέσσερα κύρια διαμερίσματα και να τα χρησιμοποιήσετε για την ευχαρίστησή σας. Ωστόσο, και πάλι, μόνο ένα από αυτά μπορεί να δηλωθεί εκτεταμένο και, κατά συνέπεια, να χωριστεί σε λογικές ενότητες.

Το στυλ σήμανσης BSD (BSD Label) που χρησιμοποιείται στα FreeBSD, DragonFlyBSD, Net- και OpenBSD, καθώς και σε BSD/OS φαίνεται εντελώς διαφορετικό. Ένας πίνακας BIOS μπορεί επίσης να χρησιμοποιηθεί εδώ, συμπληρώνοντας τον οποίο θα δημιουργήσει τέσσερα κύρια διαμερίσματα. Στην ορολογία του FreeBSD, ονομάζονται slices (η πιο ακριβής μετάφραση θα ήταν «τμήματα») για να τα διακρίνουν από τις ενότητες (partitions) της σήμανσης BSD. Τα τμήματα στην ονοματολογία αρχείων της συσκευής επισημαίνονται προσθέτοντας το γράμμα s και έναν σειριακό αριθμό στο όνομα του αρχείου δίσκου (σε αντίθεση με τους δίσκους που ξεκινούν με ένα), για παράδειγμα: ad0s1, ad0s2, ad0s3, ad0s4 για τον κύριο δίσκο στο πρώτο κανάλι IDE.

Εάν σε ένα ή περισσότερα από τα κομμάτια έχει εκχωρηθεί ένα αναγνωριστικό συστήματος BSD - 165 σε δεκαδικό (αυστηρά μιλώντας, ονομάζεται 4.2BSD και είναι επίσης χαρακτηριστικό των DragonFlyBSD και NetBSD - αν και θεωρητικά το τελευταίο, όπως το OpenBSD, έχει επίσης τον δικό του αναγνωριστικό αριθμό διαμερίσματος ), τότε το αρχικό του μπλοκ θα γραφτεί από τον πραγματικό πίνακα διαμερισμάτων BSD (BSD Label). Σύμφωνα με τη μορφή του, κάθε slice με ID 165 είναι απολύτως ίσο και μπορεί να χωριστεί σε λογικές ενότητες (στην πραγματικότητα κατατμήσεις, στην ορολογία του FreeBSD).

Υπάρχουν οκτώ καταχωρήσεις για ενότητες στον πίνακα BSD. Οι ενότητες που αντιστοιχούν σε αυτές επισημαίνονται με ονοματολογία προσθέτοντας ένα γράμμα στο όνομα του αρχείου τομής - από το a έως το h. Ωστόσο, στο DragonFlyBSD αυτός ο περιορισμός παρακάμπτεται και εκεί ένα slice μπορεί να περιέχει έως και 16 λογικά διαμερίσματα.

Στην πραγματικότητα, δεν μπορούν να χρησιμοποιηθούν όλα τα διαμερίσματα slice για να φιλοξενήσουν συστήματα αρχείων. Αρχικά, μία από τις εγγραφές (η τρίτη, σημειωμένη με το γράμμα c) δεσμεύεται για να περιγράψει ολόκληρο το κομμάτι ως σύνολο - για παράδειγμα, το ad0s1c, η ανάγκη του οποίου θα γίνει σαφής αργότερα. Στη συνέχεια, η πρώτη καταχώριση πίνακα, που αντιστοιχεί στην οποία το αρχείο της συσκευής επισημαίνεται ως ad#s#a , εκχωρείται για να περιγράψει το ριζικό διαμέρισμα του συστήματος αρχείων. Και είναι προφανές ότι σε ένα συγκεκριμένο τοπικό μηχάνημα μπορεί να υπάρχει μόνο ένα root partition, ανεξάρτητα από τον αριθμό των slices και των φυσικών δίσκων.

Τέλος, η δεύτερη καταχώρηση (αρχείο συσκευής - ad#s#b) προορίζεται αποκλειστικά για την περιγραφή του διαμερίσματος swap, το οποίο, πρώτον, δεν μπορεί να περιέχει δεδομένα και, δεύτερον, είναι το μόνο σε ολόκληρο το δίσκο (προφανώς, δημιουργεί μια ανταλλαγή Η κατάτμηση σε κάθε κομμάτι είναι άσκοπη, αν και αν έχετε δύο φυσικούς δίσκους, η διαίρεση του χώρου ανταλλαγής μεταξύ τους είναι μια απολύτως υγιής ιδέα).

Συνήθως, η δημιουργία slices στοχεύει στην τοποθέτηση περισσότερων από ένα λειτουργικών συστημάτων σε έναν δίσκο και στη διατήρηση της δυνατότητας ανταλλαγής δεδομένων μεταξύ τους (θεωρητικά, τα διαμερίσματα BSD μπορούν να προσπελαστούν από το Linux εάν αναδημιουργήσετε σωστά τον πυρήνα του, αν και η αντίστροφη διαδικασία είναι η πρόσβαση σε ένα διαμέρισμα ext2fs από το FreeBSD , - πολύ πιο απλό).

Εάν ολόκληρος ο υπάρχων δίσκος σχεδιάζεται να σχιστεί από το FreeBSD, τότε συνήθως δημιουργείται ένα μόνο slice για (σχεδόν) ολόκληρο τον τόμο του, αφήνοντας τις καταχωρήσεις στον πίνακα BIOS για τους υπόλοιπους αχρησιμοποίητες. Επτά θέσεις στον πίνακα BSD είναι αρκετές για να διαχωριστούν οι κλάδοι του συστήματος αρχείων όπως τα /usr, /tmp, /var και /home - περίπου αυτή είναι η προεπιλεγμένη μέθοδος κατάτμησης δίσκου που προσφέρεται από το πρόγραμμα sysinstall.

Φυσικά, σε ορισμένες περιπτώσεις ο προεπιλεγμένος αριθμός κατατμήσεων που μπορούν να δημιουργηθούν σε ένα slice δεν είναι αρκετός. Συγκεκριμένα, υπάρχει μια άποψη, όχι χωρίς λόγο, ότι τμήματα του συστήματος αρχείων όπως /usr/src, /usr/ports, /usr/ports/distfiles θα πρέπει επίσης να διαχωριστούν σε ξεχωριστούς κλάδους. ίσως /usr/local . Σε αυτήν την περίπτωση, θα πρέπει να δημιουργήσετε δύο τμήματα BSD (αν και υπάρχουν πληροφορίες ότι μπορείτε να χρησιμοποιήσετε το Extended Partition για κλασματική διαίρεση του συστήματος αρχείων, αλλά δεν το έχω δοκιμάσει ποτέ ο ίδιος).

Η διαμέριση δίσκου που χρησιμοποιεί καταχωρήσεις στον πίνακα BIOS του πρώτου μπλοκ ονομάζεται κατάτμηση λειτουργίας συμβατότητας. Ανεξάρτητα από το αν έχει δημιουργηθεί ένα slice για το FreeBSD ή πολλά ξεχωριστά για κάθε λειτουργικό σύστημα, σε λειτουργία συμβατότητας, δεσμεύεται ένας χώρος 63 μπλοκ (περίπου 30 KB συνολικά) στην αρχή του δίσκου, στον οποίο όχι μόνο η «προεπιλογή Το MBR διατηρείται άθικτο, αλλά υπάρχει επίσης χώρος για να γράψετε τον κώδικα κάποιου bootloader τρίτων. Ως αποτέλεσμα, ο δίσκος παραμένει προσβάσιμος σε άλλα λειτουργικά συστήματα, τουλάχιστον θεωρητικά.

Ωστόσο, η χρήση της λειτουργίας συμβατότητας και του πίνακα διαμερισμάτων του BIOS είναι προαιρετική στο FreeBSD. Είναι αρκετά αποδεκτό να γράψετε τον πίνακα διαμερισμάτων BSD απευθείας στο MBR, αντί για τον πίνακα BIOS. Σε αυτήν την περίπτωση, είναι σαφές ότι τα slices δεν δημιουργούνται από μόνα τους και ότι ολόκληρος ο χώρος του δίσκου είναι σαν ένα ενιαίο slice και μπορεί να χωριστεί σε διαμερίσματα BSD σύμφωνα με τους ίδιους κανόνες με ένα ξεχωριστό slice. Και εδώ γίνεται σαφής η ανάγκη κράτησης του τρίτου πεδίου του πίνακα BSD - σε αυτό περιγράφεται ολόκληρος ο δίσκος μας, ο οποίος έχει διατεθεί εξ ολοκλήρου για το FreeBSD.

Αυτή η επεξεργασία του δίσκου ονομάζεται λειτουργία αποκλειστικής χρήσης ή Επικίνδυνα Αφιερωμένη. Σε αντίθεση με το όνομα, δεν ενέχει κανένα κίνδυνο για τα δεδομένα ή την υγεία του χρήστη. Και ο μόνος κίνδυνος που τον περιμένει είναι ότι ο δίσκος σε αποκλειστική λειτουργία δεν θα αναγνωριστεί από κανένα άλλο λειτουργικό σύστημα που είναι εγκατεστημένο σε αυτόν τον υπολογιστή (δεν θα παρεμποδίσει την πρόσβαση στο δίσκο μέσω του δικτύου). Ωστόσο, αυτό είναι μια καθαρά θεωρητική ταλαιπωρία, επειδή κανένα από τα λειτουργικά συστήματα που γνωρίζω δεν μπορεί πραγματικά να λειτουργήσει με κατατμήσεις BSD και το σύστημα αρχείων FreeBSD (ειδικά το σύγχρονο - UFS2). Και, ας πούμε, εάν υπάρχει ένας multibooter GRUB σε άλλο φυσικό δίσκο, το FreeBSD από τον «αποκλειστικό» δίσκο μπορεί κάλλιστα να φορτωθεί μαζί του.

Η τεκμηρίωση του FreeBSD αναφέρει ότι οι "αποκλειστικοί" δίσκοι μερικές φορές αποτυγχάνουν να εκκινήσουν, πιθανώς επειδή το BIOS δεν θα μπορεί να αναγνωρίσει μη τυπικές καταχωρήσεις MBR. Ωστόσο, προφανώς αυτό ισχύει για ορισμένες παλαιότερες εκδόσεις του BIOS - δεν το έχω συναντήσει ποτέ, αν και συχνά κατέφευγα σε αποκλειστική λειτουργία όταν ήταν δυνατό να δώσω έναν ολόκληρο φυσικό δίσκο στο FreeBSD.

Ωστόσο, τα έγγραφα του έργου FreeBSD τονίζουν πάντα ότι η αποκλειστική λειτουργία - ιδιαίτερα λόγω της εξοικονόμησης χώρου στο δίσκο - θα πρέπει να χρησιμοποιείται μόνο σε εξαιρετικές περιπτώσεις. Ένας από τους λόγους αυτής της χρήσης είναι η ασυμφωνία μεταξύ της «γεωμετρίας» του δίσκου, ορατή από το BIOS, και της ιδέας που έχει το FreeBSD.

Σήμανση φέτας

Κατά την αρχική εγκατάσταση του FreeBSD, το πρόγραμμα sysinstall, ένα καθολικό πρόγραμμα εγκατάστασης και προσαρμογής για αυτό το λειτουργικό σύστημα, χρησιμοποιείται συνήθως για τη δημιουργία slices και κατατμήσεων σε αυτά. Ωστόσο, θα πρέπει να θυμόμαστε ότι αυτό δεν είναι τίποτα άλλο από μια διεπαφή μιας σειράς εξειδικευμένων βοηθητικών προγραμμάτων, συμπεριλαμβανομένων των βοηθητικών προγραμμάτων κατάτμησης δίσκων. Και επομένως, η γνωριμία τους δεν θα είναι σε καμία περίπτωση επιβλαβής. Από τη μία πλευρά, θα δώσει μια κατανόηση του τι κάνει στην πραγματικότητα το sysinstall. Από την άλλη πλευρά, ορισμένες ενέργειες για την κατάτμηση ενός δίσκου αποδεικνύεται ότι είναι πιο εύκολο να εκτελεστούν με τη βοήθειά τους. Έτσι, πέρασα πολύ χρόνο στο sysinstall δημιουργώντας κατατμήσεις για να προετοιμάσω συστοιχίες λογισμικού RAID, μέχρι που συνειδητοποίησα ότι το να το κάνω χειροκίνητα ήταν πολύ πιο εύκολο.

Υπάρχει επίσης ένα τρίτο βοηθητικό πρόγραμμα κατάτμησης πλευρικού δίσκου, εκτός από την άμεση εκτέλεση της λειτουργίας τους, χρησιμεύουν ως απαραίτητη πηγή πληροφοριών για τον φυσικό δίσκο γενικά και τη γνώμη του FreeBSD για αυτόν. Και στη συνέχεια - με τη βοήθειά τους μπορείτε να λάβετε πληροφορίες σχετικά με διαμερίσματα δίσκου που δεν μπορούν να βρεθούν πουθενά αλλού.

Σε αντίθεση με το Linux, η κατάτμηση δίσκων στο FreeBSD πραγματοποιείται σε δύο στάδια και από δύο ξεχωριστά προγράμματα. Αρχικά, ο δίσκος κόβεται σε φέτες (ή δημιουργείται μία φέτα, είτε σε λειτουργία συμβατότητας είτε για αποκλειστική χρήση). Και στη συνέχεια το κομμάτι που διατίθεται για το FreeBSD χωρίζεται σε ενότητες.

Το βοηθητικό πρόγραμμα fdisk εκτελεί την πρώτη εργασία. Αυτό είναι ένα ακόμα πιο ισχυρό εργαλείο για εργασία με δίσκους από το ομώνυμο πρόγραμμα Linux. Ωστόσο, δεν μπορεί να ονομαστεί εύκολο στη χρήση. Ακόμη και στον άνθρωπο (8) fdisk, μεταξύ των σφαλμάτων, σημειώνεται ότι η διεπαφή του θα μπορούσε να είναι πιο φιλική προς το χρήστη. Ωστόσο, στην πραγματικότητα δεν είναι καθόλου τρομακτικό στη χρήση.

Εκτελείται χωρίς επιλογές ή ορίσματα, η εντολή fdisk απλώς εμφανίζει πληροφορίες σχετικά με τον πρώτο φυσικό δίσκο του μηχανήματος (ή μάλλον, τον δίσκο που φιλοξενεί το ριζικό σύστημα αρχείων του FreeBSD). Και οι πληροφορίες είναι πλούσιες: εδώ θα δούμε τόσο το όνομα αρχείου της τρέχουσας συσκευής δίσκου (για παράδειγμα, /dev/ad0) όσο και πληροφορίες σχετικά με τη γεωμετρία της (αριθμός κυλίνδρων, κεφαλές, τομείς ανά κομμάτι, μπλοκ ανά κύλινδρο - Ένα άλλο πράγμα είναι ότι σχετίζονται με την πραγματική γεωμετρία που δεν έχουν, αλλά έχουμε ήδη μιλήσει για αυτό) και το μέγεθος του φυσικού μπλοκ.

Και στη συνέχεια θα υπάρχουν πληροφορίες σχετικά με το κομμάτι ή τις φέτες που ζουν σε αυτόν τον δίσκο. Και εδώ για κάθε κομμάτι θα δούμε το αναγνωριστικό τύπου συστήματος αρχείων, το μέγεθός του (σε μπλοκ και megabyte), τη σημαία δραστηριότητας (αν υπάρχει), τα δεδομένα για την αρχή και το τέλος (κύλινδρος/κεφαλή/αριθμός τομέα). Εάν υπάρχουν λιγότερες από τέσσερις φέτες στο δίσκο, οι ανύπαρκτες (δηλαδή, που αντιστοιχούν σε κενές καταχωρήσεις πίνακα κατατμήσεων) θα επισημαίνονται ως ΑΧΡΗΣΙΜΟΠΟΙΗΜΕΝΕΣ. Το ίδιο σημάδι θα υπάρχει στις φέτες 2-4 με έναν δίσκο σημειωμένο σε αποκλειστική λειτουργία.

Ωστόσο, ακόμη και με ένα μόνο κομμάτι στο δίσκο, που επισημαίνεται σε λειτουργία συμβατότητας, είναι πολύ εύκολο να τον ξεχωρίσετε από τον "αποκλειστικό" δίσκο από την έξοδο της εντολής fdisk: το αρχικό μπλοκ του πρώτου θα είναι 63 και το αρχικό του Το κομμάτι θα αριθμηθεί πρώτα. Ενώ ένα κομμάτι ενός «αποκλειστικού» δίσκου θα ξεκινά από ένα μηδενικό μπλοκ και ένα μηδενικό κομμάτι.

Όπως ήδη αναφέρθηκε, όλες αυτές οι πληροφορίες αναφέρονται στον δίσκο με το ριζικό σύστημα αρχείων. Για να λάβετε παρόμοιες πληροφορίες για άλλες μονάδες δίσκου, το όνομα αρχείου της αντίστοιχης συσκευής πρέπει να καθοριστεί ρητά ως όρισμα στην εντολή fdisk. Για παράδειγμα,

$ fdisk /dev/ar0

θα τα παρέχει για τη μονάδα που είναι συνδεδεμένη στην υποδοχή IDE-RAID του ελεγκτή. Αυτές οι πληροφορίες μπορεί να φαίνονται περιττές. Ωστόσο, χρησιμοποιώντας το fdisk μπορείτε να εμφανίσετε πιο συνοπτικές (και ταυτόχρονα μόνο ουσιαστικές) πληροφορίες. Τι κάνει η επιλογή -s; Σε απάντηση της εντολής

$ fdisk -s /dev/ad#

θα λάβουμε μόνο το πιο σημαντικό πράγμα: το όνομα του αρχείου της συσκευής, τον αριθμό των κυλίνδρων, των κεφαλών και των τομέων, καθώς και σύντομες πληροφορίες μόνο για υπάρχουσες (δηλαδή δεν επισημαίνονται ως ΜΗ ΧΡΗΣΙΜΟΠΟΙΗΜΕΝΕΣ) φέτες - αρχικός τομέας, μέγεθος φέτας, σύστημα αρχείων αναγνωριστικό τύπου και σημαία δραστηριότητας. Δηλαδή περίπου με την εξής μορφή:

/dev/ad0: 155061 cyl 16 hd 63 sec Μέρος Έναρξη Μέγεθος Τύπος Σημαίες 1: 0 156301488 0xa5 0x80

Όλα όσα ειπώθηκαν αποσκοπούσαν μόνο στη λήψη πληροφοριών. Για να εκτελέσετε οποιεσδήποτε ενεργές ενέργειες κατάτμησης δίσκου χρησιμοποιώντας το fdisk, πρέπει να εξοικειωθείτε με τις άλλες επιλογές του. Δεν είναι πολλά από αυτά και ίσως η πιο σημαντική είναι η επιλογή -I. Συμπεριλαμβάνεται στην ομάδα

$ fdisk -I /dev/ar0

θα δημιουργήσει το πρώτο και μοναδικό slice στο δίσκο, ωστόσο, σε λειτουργία συμβατότητας, δηλαδή ξεκινώντας από τον τομέα 63. Προφανώς, εάν ο δίσκος είχε προηγουμένως διαχωριστεί με κάποιο τρόπο και περιείχε δεδομένα, τόσο η προηγούμενη διάταξη του δίσκου όσο και τα περιεχόμενά του θα καταστραφούν ανεπανόρθωτα. Ωστόσο, αυτή η συμπεριφορά είναι τυπική για όλα τα βοηθητικά προγράμματα κατάτμησης δίσκων σε οποιοδήποτε λειτουργικό σύστημα. Είναι αλήθεια ότι, σε αντίθεση με το ομώνυμο βοηθητικό πρόγραμμα Linux, το Free fdisk αναδιαμερίζει το δίσκο αμέσως. Και επιπλέον, εδώ δεν θα μας ζητηθεί καν να επιβεβαιώσουμε τις ενέργειές μας, επομένως θα πρέπει να είμαστε προσεκτικοί.

Αλλά θα ακολουθήσουν πολλές ερωτήσεις όταν χρησιμοποιείτε την επιλογή -i, η οποία σας επιτρέπει να διαχωρίσετε το δίσκο διαδραστικά. Δίνεται με το όνομα αρχείου συσκευής ως όρισμα, δηλαδή στη φόρμα

$ fdisk -i /dev/ar0

Πρώτα απ 'όλα θα μας υπενθυμίσει ποιος δίσκος γίνεται κατάχρηση και θα μας πει τις παραμέτρους του (τόσο αυτές που έχουν εγγραφεί στην ετικέτα δίσκου όσο και που διαβάζονται από το BIOS - στη γενική περίπτωση δεν χρειάζεται να ταιριάζουν):

******* Οι παράμετροι που εργάζονται στη συσκευή /dev/da0 ******* που εξάγονται από την εσωτερική ετικέτα δίσκου είναι οι εξής: cylinders=124 heads=64 sektors/track=32 (2048 blks/cyl) παράμετροι που χρησιμοποιούνται για τους υπολογισμούς του BIOS είναι: κύλινδροι=124 κεφαλές=64 τομείς/ίχνος=32 (2048 blks/κύλινδρος)

Και θα ρωτήσει αμέσως αν θέλουμε να ρυθμίσουμε τη γεωμετρία του δίσκου του BIOS. Η προεπιλεγμένη απάντηση (όχι) είναι προφανής εάν δεν υπάρχει μήνυμα σχετικά με μια «κακή» γεωμετρία του BIOS, η οποία ταιριάζει επίσης με τη γεωμετρία που περιγράφεται στην ετικέτα δίσκου. Αλλά αν συμβεί το γεγονός της «κακής» γεωμετρίας, αξίζει να το σκεφτείτε.

Ο ευκολότερος τρόπος είναι να το αφήσετε ως έχει - αυτό είναι απίθανο να προκαλέσει προβλήματα. Ωστόσο, μπορείτε να διορθώσετε την κατάσταση χειροκίνητα για λόγους παραγγελίας. Για να το κάνετε αυτό, πρέπει πρώτα να απαντήσετε θετικά στην παραπάνω ερώτηση, μετά την οποία θα σας ζητηθεί να εισαγάγετε όλες τις καθορισμένες παραμέτρους διαδοχικά - τον αριθμό των κυλίνδρων, των τροχιών και των τομέων. Η επιβεβαίωση της νομιμότητας αυτών των ενεργειών μπορεί να ληφθεί αργότερα - κατά τον έλεγχο με αυτές από το sysinstall.

Η πρώτη ψυχαγωγία μετά τη διόρθωση της γεωμετρίας (ή αντί αυτής) σε μια ομάδα

$ fdisk -i /dev/ar0

- αυτή είναι η χειροκίνητη δημιουργία slices (με υπάρχουσα σήμανση, θα τεθεί πρώτα το ερώτημα εάν το θέλουμε - με μια αρνητική απάντηση από προεπιλογή). Για να το κάνετε αυτό, ζητάτε πρώτα το αναγνωριστικό τύπου συστήματος αρχείων (από προεπιλογή υπάρχει εάν ο δίσκος έχει χωριστεί ή 0 για έναν νέο δίσκο) - θα πρέπει να καθορίσετε την δεκαδική του τιμή (165 για ένα slice FreeBSD). Στη συνέχεια - ο τομέας εκκίνησης (0 - με "αποκλειστική" διάταξη, 63 - με διάταξη σε λειτουργία συμβατότητας) και το μέγεθος της τομής σε μπλοκ (αν χρησιμοποιήσετε ολόκληρο τον δίσκο, προφανώς θα είναι ίσο με τον πλήρη αριθμό τους , διαφορετικά θα απαιτηθούν κάποιοι αριθμητικοί υπολογισμοί ).

Μετά από αυτό, θα σας ζητηθεί να καθορίσετε με ακρίβεια την αρχή και το τέλος της φέτας. Εάν αρνηθείτε, θα ληφθούν από τους προηγούμενους ορισμούς, εάν συμφωνείτε, θα πρέπει να υποδείξετε τον πρώτο και τον τελευταίο κύλινδρο, κεφαλή, τομέα. Το οποίο θα εμφανίζεται στη φόρμα

Sysid 165 (0xa5), (FreeBSD/NetBSD/386BSD) start 0, μέγεθος 260000 (126 Meg), flag 0 beg: cyl 0/ head 0/ sektor 1;

τέλος: κύλινδρος 126/ κεφαλή 60/ τομέας 32

Επιβεβαίωση των ενεργειών σας με μια θετική απάντηση στην ερώτηση

Είμαστε ευχαριστημένοι με αυτή την καταχώρηση; [n]y

μπορείτε να προχωρήσετε στη δημιουργία της δεύτερης ενότητας

Τα δεδομένα για το διαμέρισμα 2 είναι: Θέλετε να το αλλάξετε; [n]

- σύμφωνα με το ίδιο σχέδιο με το πρώτο. Είναι σαφές ότι εάν δημιουργηθεί μόνο ένα slice, θα πρέπει να αρνηθείτε να αλλάξετε τις υπόλοιπες πιθανές καταχωρήσεις του πίνακα κατατμήσεων - σε αυτήν την περίπτωση θα παραμείνουν επισημασμένες ως αχρησιμοποίητες. Σε κάθε περίπτωση, θα τεθεί η τελευταία ερώτηση - επιβεβαίωση εκτέλεσης:

Εάν η απάντηση είναι θετική, όλες οι αλλαγές που έγιναν θα τεθούν σε ισχύ (και μπορείτε να πείτε αντίο στο περιεχόμενό του στον προηγουμένως επισημασμένο δίσκο). Επομένως, θα πρέπει να κάνετε προεπισκόπηση όλων των στοιχείων που έχετε εισαγάγει προηγουμένως (ευτυχώς, στο FreeBSD αυτό είναι εύκολο να κάνετε κύλιση στην προσωρινή μνήμη ιστορικού της εικονικής κονσόλας) και εάν εντοπιστεί κάποιο σφάλμα, απορρίψτε τις αλλαγές και εκτελέστε ξανά την εντολή fdisk. Ωστόσο, μπορείτε να βγείτε από αυτό ανά πάσα στιγμή χωρίς συνέπειες και με τον τυπικό τρόπο - με συνδυασμό πλήκτρων Ελεγχος+ντο.

Γενικά, η διαδραστική δημιουργία ενός μόνο "αποκλειστικού" slice με fdisk (και ένα μόνο "συμβατό" slice είναι πιο εύκολο να δημιουργηθεί με την επιλογή -I) δεν είναι τόσο κακό. Εάν χρειάζεστε πολλά κομμάτια, θα πρέπει να οπλιστείτε με μια αριθμομηχανή (το FreeBSD έχει ένα - bc, που ξεκινά από τη γραμμή εντολών, πολύ απλό και εύκολο στη χρήση).

Αν και υπάρχει ένας άλλος τρόπος για να δημιουργήσετε φέτες - περιγράφοντας προκαταρκτικά τις παραμέτρους τους, και ταυτόχρονα τη γεωμετρία του δίσκου, σε ένα αρχείο (σε ένα κανονικό αρχείο κειμένου, χρησιμοποιώντας οποιοδήποτε συνηθισμένο πρόγραμμα επεξεργασίας). Μετά από αυτό το πρόγραμμα fdisk εκκινείται στη φόρμα

$ fdisk -f configfile /dev/ad#

Και προσθέτοντας την επιλογή -t, μπορείτε πρώτα να ελέγξετε την ορθότητα της σήμανσής σας χωρίς να γράψετε αλλαγές στο δίσκο. Ωστόσο, δεν το έκανα μόνος μου, αφήνοντάς το σε όσους θέλουν να το κάνουν μόνοι τους: όλες οι απαραίτητες πληροφορίες, συμπεριλαμβανομένης της μορφής του αρχείου διαμόρφωσης, βρίσκονται στο man (8) fdisk.

Τέλος, για να χωρίσετε έναν δίσκο σε αποκλειστική λειτουργία, μπορείτε να κάνετε χωρίς την εντολή fdisk: αρκεί να επαναφέρετε τα αρχικά μπλοκ του χρησιμοποιώντας την εντολή dd, η οποία εκτελεί το λεγόμενο. αντιγραφή με μετατροπή. Απαιτεί δύο ορίσματα - το όνομα του αρχείου που αντιγράφεται (if - αρχείο εισόδου) και το όνομα του αρχείου της συσκευής στην οποία αντιγράφεται (του - αρχείου εξόδου). Μπορείτε επίσης να ορίσετε το μέγεθος του μπλοκ αντιγραμμένων δεδομένων και τον αριθμό τους. Δηλαδή, στην περίπτωσή μας θα μοιάζει με αυτό:

$ dd εάν=/dev/zero of=/dev/ad# bs=1k count=1

$ dd εάν=/dev/zero of=/dev/ad# count=2

Και στις δύο περιπτώσεις, το /dev/zero νοείται ως το λεγόμενο μια συσκευή "μηδέν" και το /dev/ad# είναι ο διαχωρισμένος δίσκος που υποδεικνύουν ότι τα δύο πρώτα φυσικά μπλοκ του πρέπει να γεμίσουν με μηδενικά.

Διάταξη χωρισμάτων

Ένα slice που δημιουργήθηκε με χρήση fdisk, ανεξάρτητα από το αν είναι "αποκλειστικό" ή "συμβατό", είναι ήδη χρησιμοποιήσιμο - ένα σύστημα αρχείων μπορεί να δημιουργηθεί απευθείας σε αυτό. Ωστόσο, συνήθως χωρίζεται πρώτα σε λογικές ενότητες (ή δημιουργείται τουλάχιστον μία ενότητα, ad#s1c , η οποία περιγράφει ολόκληρο το τμήμα). Παλαιότερα, το βοηθητικό πρόγραμμα disklabel εξυπηρετούσε αυτόν τον σκοπό, αλλά στην έκδοση 5.1 αντικαταστάθηκε από το πρόγραμμα bsdlabel που δανείστηκε από το NetBSD (με πιο φιλική διεπαφή, όπως λένε οι αισιόδοξοι). Αν και το disklabel μπορεί να βρεθεί στον κατάλογο /sbin, είναι μόνο ένας σκληρός σύνδεσμος προς το ίδιο εκτελέσιμο αρχείο με το bsdlabel. Αυτό μπορεί εύκολα να επαληθευτεί κοιτάζοντας τα αναγνωριστικά και των δύο αρχείων:

$ ls -l /sbin/bsdlabel /sbin/disklabel -r-xr-xr-x 2 root wheel 27348 Feb 23 22:42 /sbin/bsdlabel* -r-xr-xr-x 2 root wheel 27348 Feb 23 22: 42 /sbin/disklabel*

με ίσες (27348) τιμές.

Και πάλι, που ξεκίνησε χωρίς επιλογές (αλλά με ένα απαιτούμενο όρισμα με τη μορφή του ονόματος αρχείου της συσκευής - το slice), το bsdlabel εξυπηρετεί αποκλειστικά τον σκοπό της ενημέρωσης σχετικά με την κατάσταση των πραγμάτων, βγάζοντας κάτι σαν το ακόλουθο για ένα slice με ετικέτα FreeBSD:

$ bsdlabel /dev/ad0 # /dev/ad0: 8 κατατμήσεις: # size offset ftype a: 524288 0 4.2BSD 2048 16384 32776 b: 2074624 524288 swap c: 15630 un raw επεξεργασία d: 524288 2598912 4.2BSD 0 0 0 e: 10240000 3123200 4.2BSD 0 0 0 f: 142938288 13363200 4.2BSD 0 00

Για το παραπάνω συμπέρασμα θα ήταν χρήσιμα κάποια σχόλια. Τα γράμματα στα αριστερά είναι οι ονομασίες γραμμάτων των υπαρχόντων κατατμήσεων, για καθένα από τα οποία δίνονται τα εξής: μέγεθος (μέγεθος) σε μπλοκ, μετατόπιση του πρώτου μπλοκ από την αρχή του δίσκου, δηλαδή ο τομέας μηδέν (offset) , τύπος συστήματος αρχείων και οι παράμετροί του: μέγεθος θραύσματος, μέγεθος μπλοκ, εγγραφές πυκνότητας - όλα αυτά θα συζητηθούν στην ενότητα σχετικά με το σύστημα αρχείων FreeBSD. Προς το παρόν, πρέπει να σημειωθεί ότι ένα μπλοκ συστήματος αρχείων είναι ένα λογικό μπλοκ και αυτό δεν είναι καθόλου το ίδιο με ένα μπλοκ φυσικού δίσκου. Προς το παρόν, δεν θα δώσουμε προσοχή στο γεγονός ότι οι αντίστοιχες στήλες για όλες τις κατατμήσεις εκτός από ένα περιέχουν μηδενικά.

Μεταξύ των κατατμήσεων, αυτό που σημειώνεται με το γράμμα c είναι αξιοσημείωτο: αυτό είναι το ίδιο "κοντέινερ" για τα υπόλοιπα διαμερίσματα (μια μακρινή αναλογία είναι το εκτεταμένο διαμέρισμα DOS). Είναι σαφές ότι η μετατόπιση για αυτό είναι μηδέν και το μέγεθος είναι ίσο με τον πλήρη αριθμό των φυσικών μπλοκ δίσκων. Για άλλες ενότητες, η μετατόπιση υπολογίζεται εύκολα (για παράδειγμα, χρησιμοποιώντας την αριθμομηχανή bc) αθροίζοντας τη μετατόπιση της προηγούμενης ενότητας με το μέγεθός της.

Το παραπάνω παράδειγμα αναφέρεται σε έναν "αποκλειστικό" δίσκο - γι' αυτό βλέπουμε μηδενική μετατόπιση τόσο του πρώτου διαμερίσματος όσο και του "slice" c. Για έναν δίσκο που έχει διαμεριστεί σε λειτουργία συμβατότητας, η εικόνα θα είναι κάπως έτσι:

# /dev/ad0s1: 8 partitions: # size offset ftype a: 524288 63 4.2BSD 2048 16384 32776 c: 16771797 63 unused 0 0 # "raw" part, don't edit d: 5813424 3 2776 e : 524288 1048639 4,2BSD 2048 16384 32776 f: 1048576 1572927 4,2BSD 2048 16384 8 g: 14150357 26218524 ​​2621503

Δηλαδή, μπορείτε να δείτε ότι το πρώτο διαμέρισμα ενός "κανονικά" χωρισμένου δίσκου μετατοπίζεται σε σχέση με την αρχή του κατά 63 δεσμευμένα μπλοκ.

Δεν είναι τυχαίο ότι το πεδίο ftype της ενότητας c περιέχει την τιμή που δεν χρησιμοποιείται - δεν μπορεί να χρησιμοποιηθεί για οποιαδήποτε αποθήκευση δεδομένων. Ωστόσο, μόνο αυτό είναι διαθέσιμο στα μέσα που έχουν πρόσφατα κατατμηθεί χρησιμοποιώντας fdisk. Πώς να δημιουργήσετε τα υπόλοιπα απαραίτητα διαμερίσματα;

Παραδόξως, ένας από τους τρόπους είναι εξαιρετικά απλός: μέσω ενός κανονικού επεξεργαστή κειμένου. Για να γίνει αυτό, το bsdlabel εκκινείται με την επιλογή -e και το όρισμα - το όνομα αρχείου του slice με την ετικέτα:

$ bsdlabel -e /dev/ad0s1

Σε απάντηση, θα κληθεί ο επεξεργαστής που ορίζεται στη μεταβλητή EDITOR του αρχείου προφίλ υπερχρήστη (δεν είναι απαραίτητο να υπενθυμίσουμε ότι όλες οι λειτουργίες με δίσκους, slices και partitions εκτελούνται μόνο για λογαριασμό του root), ελλείψει αυτού, Ο επεξεργαστής θα είναι /usr/bin/vi. Και σε αυτόν τον επεξεργαστή θα δούμε τα εξής:

# /dev/da0: 8 partitions: # size offset ftype c: 254787 0 unused 0 0 # "raw" part, don't edit

Εάν δεν σκοπεύετε να τοποθετήσετε το ριζικό σύστημα αρχείων σε αυτό το τμήμα, για να δημιουργήσετε ένα μεμονωμένο διαμέρισμα, θα αρκεί να προσθέσετε (χρησιμοποιώντας τα πιο συνηθισμένα εργαλεία επεξεργασίας) μια γραμμή όπως

D: 254787 0 4.2BSD

στην περίπτωση ενός "αποκλειστικού" δίσκου, ή

D: 254787 63 4.2BSD

για δίσκο που έχει διαμεριστεί σε λειτουργία συμβατότητας.

Και - βγείτε από το πρόγραμμα επεξεργασίας με την κανονική του εντολή, αποθηκεύοντας τις αλλαγές (στην περίπτωση του vi - :wq), σε απάντηση στις οποίες θα ενημερωθούμε ότι

Το αρχείο /tmp/EdDk.KvEGsqRNsh αποθηκεύτηκε.

Την επόμενη φορά που θα κληθεί το bsdlabel για το ίδιο slice, αλλά χωρίς επιλογές, η εικόνα θα είναι η εξής:

# /dev/da0: 8 partitions: # size offset ftype c: 254787 0 unused 0 0 # "raw" part, don't edit d: 254787 0 4.2BSD 0 0 0

Δηλαδή, μπορείτε να δείτε ότι το διαμέρισμα "εργασίας" έχει δημιουργηθεί με επιτυχία.

Για να δημιουργήσουμε πολλά διαμερίσματα, συμπεριλαμβανομένου του root και του swap, χρειαζόμαστε και πάλι κάποια αριθμητική, παρόμοια με αυτή που χρησιμοποιείται στη διαδραστική λειτουργία του προγράμματος fdisk. Δηλαδή, κάθε διαμέρισμα, που ξεκινά με ένα , πρέπει να λάβει την τιμή της αρχικής μετατόπισης (το πρώτο - που αντιστοιχεί στο αρχικό μπλοκ ολόκληρου του τμήματος, το υπόλοιπο - το άθροισμα της μετατόπισης και το μέγεθος του προηγούμενου), μέγεθος (και πάλι σε μπλοκ), τύπος συστήματος αρχείων (για κατατμήσεις "εργασίας" - 4.2BSD, για το διαμέρισμα swap - swap Τα πεδία παραμέτρων του συστήματος αρχείων μπορούν να παραμείνουν κενά - σε αυτήν την περίπτωση, οι παράμετροι του συστήματος αρχείων θα καθοριστούν όταν αυτό γίνει). δημιουργείται (δηλαδή κατά τη "μορφοποίηση", με όρους DOS, το διαμέρισμα).

Σε αυτό το σημείο, το θέμα των slices και του partition μπορεί, σε μια πρώτη προσέγγιση, να θεωρηθεί κλειστό. Φυσικά, τα κατατμήματα που δημιουργήθηκαν εξακολουθούν να μην μπορούν να χρησιμοποιηθούν - πρέπει πρώτα να δημιουργηθούν συστήματα αρχείων σε αυτά. Ή, όπως το έθεσαν τα «περβάζια των παραθύρων», μορφοποιήστε τα. Αυτό θα κάνουμε στο πολύ κοντινό μέλλον. Αλλά ήδη - στην επόμενη ενότητα...

Σε αυτό το άρθρο θα μιλήσουμε για την κατάτμηση σκληρών δίσκων, δηλαδή σκληρών δίσκων, χειροκίνητα, χωρίς τη βοήθεια του προγράμματος sysinstall. Η ανάγκη για αυτό δεν προκύπτει πολύ συχνά, αλλά προκύπτει. Και για τη γενική εκπαίδευση είναι χρήσιμο να κάνετε μια τέτοια επέμβαση τουλάχιστον μία φορά στη ζωή σας.

Όπως γνωρίζετε, οι δίσκοι συνήθως χωρίζονται σε partitions (partitions σε όρους DOS/Windows και Linux). Αλλά το FreeBSD έχει επίσης μια πρωτότυπη προσέγγιση. Για να το καταλάβετε, πρέπει πρώτα να πείτε

Λίγα λόγια για τη "γεωμετρία"

Η λέξη «γεωμετρία» στην επικεφαλίδα της ενότητας δεν μπαίνει τυχαία σε εισαγωγικά. Το γεγονός είναι ότι δεδομένου ότι ο όγκος των δίσκων έχει ξεπεράσει τα 500 megabyte (ένας περιορισμός του παλιού BIOS των προσωπικών υπολογιστών, που προηγουμένως ονομάζονταν συμβατοί με IBM, υπολογιστές), ο χρήστης δεν συναντά ποτέ την πραγματική τους γεωμετρία. Το λογισμικό που είναι ραμμένο σε ηλεκτρονικά δίσκου (το λεγόμενο υλικολογισμικό) το μετατρέπει σε μια μορφή που μπορεί να γίνει αντιληπτή από το BIOS - δεν θα επιμείνω στις λεπτομέρειες για το πώς ακριβώς γίνεται αυτό λόγω ανικανότητας (και είναι απίθανο κάποιος άλλος εκτός από οι κατασκευαστές δίσκων γνωρίζουν καλά αυτές τις λεπτομέρειες).

Και η γεωμετρία του δίσκου που είναι διαθέσιμη στο BIOS περιγράφεται με όρους κύλινδρος/κεφαλή/τομέας (κυλίνδρους/κεφαλές/τομείς, C/H/S). Μεταφορικά μιλώντας (και, επαναλαμβάνω, όλα όσα σχετίζονται με τη γεωμετρία του δίσκου πρέπει πλέον να γίνονται αντιληπτά αποκλειστικά μεταφορικά, αλληγορικά ή μεταφορικά), οι κεφαλές διαβάζουν πληροφορίες από τα ομόκεντρα μαγνητικά ίχνη στα οποία χωρίζεται κάθε δίσκος δίσκου. Μια κατακόρυφη συλλογή ιχνών με τους ίδιους αριθμούς σε όλες τις πλάκες που αποτελούν τον δίσκο ως φυσική συσκευή σχηματίζει έναν κύλινδρο. Και οι τομείς κόβουν την πλάκα, μαζί με τα ίχνη της, σε ακτινωτά θραύσματα που ονομάζονται μπλοκ. Δηλαδή, μπορεί να φανταστεί κανείς με τέτοιο τρόπο ότι το μπλοκ βρίσκεται στη διασταύρωση (στο χώρο) του κυλίνδρου, της τροχιάς και του τομέα.

Ο αριθμός των κομματιών και των τομέων στους σύγχρονους δίσκους είναι συνήθως σταθερός (ή μάλλον, εμφανίζεται ως τέτοιος στο BIOS): 255 κομμάτια κόβονται σε 63 τομείς το καθένα, που συνολικά δίνει 16065 μπλοκ ανά κύλινδρο. Και ο αριθμός των κυλίνδρων καθορίζεται από τον όγκο του δίσκου (δεν θα μπω σε αριθμητικούς υπολογισμούς). Το μόνο σημαντικό πράγμα εδώ είναι ότι οι κεφαλές του δίσκου κινούνται μηχανικά συγχρονισμένα κατά μήκος της επιφάνειας όλων των πλακών. Δηλαδή, εάν διαβάζονται πληροφορίες από το κομμάτι 1 σε μια πιατέλα, τότε όλες οι άλλες κεφαλές μετακινούνται στο ίδιο κομμάτι - η καθεμία στη δική της πιατέλα.

Επαναλαμβάνω, όλα αυτά είναι υπό όρους - έστω και μόνο επειδή η έννοια του κυλίνδρου με τη γεωμετρική έννοια της λέξης είναι πολύ δύσκολο να εφαρμοστεί σε σύγχρονους δίσκους, συχνά όχι μόνο μονής πλάκας, αλλά ακόμη και, θα λέγαμε, μισής πλάκας ( δηλαδή με μόνο τη μία πλευρά μιας πλάκας που εμπλέκεται) . Αλλά η αντιμετώπιση αυτής της γεωμετρίας είναι θέμα του υλικολογισμικού και του BIOS για εμάς, είναι οι κύλινδροι που μας ενδιαφέρουν - το σύνολο των κομματιών που προσεγγίζονται συγχρονισμένα και τα μπλοκ - τα ελάχιστα κβάντα χώρου στο δίσκο.

Τα κομμάτια που σχηματίζουν τους κυλίνδρους δημιουργούνται κατά την αρχική εργοστασιακή σήμανση του δίσκου - το λεγόμενο. μορφοποίηση χαμηλού επιπέδου. Από τα παραπάνω, είναι προφανές ότι η πρόσβαση σε δεδομένα εντός ενός κυλίνδρου ή μιας ομάδας γειτονικών θα είναι ταχύτερη από ό,τι σε δεδομένα μερικώς γραμμένα στον πρώτο και, ας πούμε, στον τελευταίο κύλινδρο του δίσκου. Αυτή η περίπτωση δεν είναι τόσο απίστευτη όσο μπορεί να φαίνεται: στο DOS, όπου ο χώρος που καταλαμβάνουν τα διαγραμμένα αρχεία επισημαίνεται ως αχρησιμοποίητος, αλλά στην πραγματικότητα αντικαθίσταται μόνο όταν ο ελεύθερος χώρος στο δίσκο εξαντληθεί εντελώς, μια τέτοια κατάσταση θα μπορούσε κάλλιστα να προκύψει.

Έτσι, προκειμένου να ελαχιστοποιηθεί η πιθανότητα διανομής δεδομένων σε χωριστούς κυλίνδρους, εφευρέθηκαν κατατμήσεις δίσκων (ή μάλλον, για αυτόν τον σκοπό - η κατανομή των κατατμήσεων δίσκων έχει πολλούς άλλους σκοπούς). Μια ομάδα γειτονικών κυλίνδρων συνδυάζεται σε ένα ενιαίο τμήμα.

Πού τελειώνει ένα τμήμα και πού ξεκινά ένα άλλο; Λογικοί άνθρωποι από την Οδησσό θα έλεγαν ότι το ένα τμήμα τελειώνει ακριβώς εκεί που αρχίζει το δεύτερο. Ωστόσο, είναι προφανές για εμάς ότι για κάθε τμήμα θα πρέπει να αποθηκεύουμε πληροφορίες για την αρχή και το τέλος της (δηλαδή τους αριθμούς του πρώτου και του τελευταίου από τους κυλίνδρους που εμπλέκονται σε αυτό). Πού πρέπει να τα αποθηκεύσω; Για να απαντήσουμε σε αυτό το ερώτημα, θα πρέπει να στραφούμε στην έννοια του μπλοκ.

Όπως τα κομμάτια, τα μπλοκ δίσκων (ή φυσικά - υπάρχουν και λογικά μπλοκ, αλλά αυτό ισχύει για συστήματα αρχείων, τα οποία θα συζητηθούν αργότερα) δημιουργούνται κατά τη μορφοποίηση χαμηλού επιπέδου και ο χρήστης δεν μπορεί (σχεδόν) να τα επηρεάσει. Το μέγεθός τους είναι επίσης πάντα το ίδιο και ίσο με 512 byte. Ή μάλλον, έτσι φαίνεται το BIOS ενός προσωπικού υπολογιστή - τι είναι πραγματικά, μόνο ο Αλλάχ ξέρει.

Ωστόσο, το γεγονός ότι η ανταλλαγή δεδομένων με έναν δίσκο είναι δυνατή σε κομμάτια τουλάχιστον 512 byte είναι μια αντικειμενική πραγματικότητα, όπως και το γεγονός ότι οποιαδήποτε, όσο μικρή κι αν είναι, ποσότητα πληροφοριών που γράφονται σε αυτόν θα καταλαμβάνει ένα ολόκληρο μπλοκ - ανεξάρτητα από το πραγματικό του μέγεθος. Δηλαδή, μικρά αρχεία κειμένου μερικών χαρακτήρων σε μέγεθος (δηλαδή byte) θα εξακολουθούν να καταγράφουν έως και 512 byte, όχι λιγότερα (στην πραγματικότητα, ακόμη περισσότερα, αλλά περισσότερα για αυτό την επόμενη φορά). Από την άλλη πλευρά, η ανάγνωση δεδομένων σε μπλοκ 512 byte θα είναι ταχύτερη από ό,τι εάν τα δεδομένα διαβάζονταν byte-byte κάθε φορά που η κεφαλή είχε πρόσβαση στο δίσκο. Ωστόσο, αυτό σχετίζεται επίσης με το θέμα των συστημάτων αρχείων.

Προς το παρόν, μας ενδιαφέρει ένα ενιαίο μπλοκ που σχηματίζεται από τον πρώτο τομέα στην πρώτη τροχιά του πρώτου κυλίνδρου. Προορίζεται για την περιοχή εξυπηρέτησης του δίσκου, που ονομάζεται κύρια εγγραφή εκκίνησης (MBR - Master Boot Recodr), η οποία διαβάζεται από το BIOS κατά την εκκίνηση του μηχανήματος Προφανώς, το MBR χρησιμοποιείται για τον προορισμό του μόνο εάν το Ο δίσκος ορίζεται στο BIOS Setup "αλλά ως εκκίνησης (ή απλά είναι ο μόνος στο σύστημα). Ωστόσο, δεδομένου ότι η χρήση κάθε συγκεκριμένου δίσκου είναι στη διακριτική ευχέρεια του χρήστη, διατίθεται πάντα χώρος για αυτόν.

Μέσα στο μηδενικό μπλοκ, μεταξύ άλλων (ιδίως, ο κωδικός οποιουδήποτε bootloader που μπορεί να γραφτεί εκεί), υπάρχει σίγουρα ένα δεσμευμένο τμήμα. Προορίζεται για τον Πίνακα Διαμερισμάτων του BIOS, για τον οποίο από αμνημονεύτων χρόνων (από τον πρώτο κιόλας υπολογιστή IBM, φαίνεται) έχουν εκχωρηθεί 64 byte για το διαμέρισμα (διαμερίσματα) σε μια συγκεκριμένη, κατανοητή μορφή BIOS.

Και αυτή η μορφή παρέχει για κάθε ενότητα που υποδεικνύει το αρχικό μπλοκ, το μέγεθος σε byte, το αναγνωριστικό τύπου συστήματος αρχείων (αυτό, σε αντίθεση με το όνομα, δεν είναι καθόλου το ίδιο με το σύστημα αρχείων, το οποίο θα συζητηθεί στην επόμενη ενότητα) και ( για ένα μόνο από τα διαμερίσματα) σημαία δραστηριότητας (δηλαδή, επισήμανση αυτού του διαμερίσματος ως εκκινήσιμου). Το τελευταίο είναι απαραίτητο για ορισμένα λειτουργικά συστήματα όπως το DOS, αν και το FreeBSD ή, για παράδειγμα, το Linux, αυτή η σημαία είναι εντελώς αδιάφορη.

Οι συνολικές πληροφορίες που απαιτούνται για την περιγραφή του διαμερίσματος του δίσκου είναι 16 byte. Και επειδή, όπως θυμόμαστε, εκχωρούνται μόνο 64 byte για ολόκληρο τον πίνακα διαμερισμάτων, χωρίς αριθμομηχανή μπορούμε να υπολογίσουμε ότι ο μέγιστος αριθμός κατατμήσεων σε έναν δίσκο είναι 4. Αυτά τα διαμερίσματα ονομάζονται κύρια ή, όχι με απόλυτη ακρίβεια, φυσικά. Δεδομένου ότι στις περισσότερες περιπτώσεις τέτοιες ενότητες μπορούν επίσης να χωριστούν σε μέρη - λογικές ενότητες (τα οποία θα συζητηθούν αργότερα).

Επαναλαμβάνω για άλλη μια φορά - αυτό ισχύει μόνο για μηχανήματα με BIOS υπολογιστή, δηλαδή, συνηθισμένους προσωπικούς υπολογιστές. Σε όλα τα είδη PowerPC, Sparcs και παρόμοιους σταθμούς, όλα μπορεί να είναι εντελώς διαφορετικά (αν και, για να είμαι ειλικρινής, δεν ξέρω πώς ακριβώς).

Όπως μπορείτε να δείτε, η περιγραφή του διαμερίσματος περιλαμβάνει το αναγνωριστικό συστήματος αρχείων. Αυτός είναι ένας ορισμένος αριθμός (στο FreeBSD, συνήθως σε δεκαδικό συμβολισμό, στο Linux, για παράδειγμα, σε δεκαεξαδικό), ο οποίος εκχωρείται σύμφωνα με το σύστημα αρχείων του λειτουργικού συστήματος που σχεδιάζεται να τοποθετηθεί στο δίσκο για το FreeBSD έχει το αναγνωριστικό 165 (δεκαδικό) ή A5, διαμέρισμα για Linux (Linux native) - 131 (ή 83), FAT16 - 6, εκτεταμένο διαμέρισμα (το λεγόμενο DOS Extended) - 5 και ούτω καθεξής.

Η εκχώρηση ενός αναγνωριστικού σε ένα διαμέρισμα δεν σημαίνει ότι ένα αντίστοιχο σύστημα αρχείων θα εμφανιστεί ως δια μαγείας σε αυτό. Όχι, απλώς προκαθορίζει το είδος του δευτερεύοντος πίνακα διαμερισμάτων που μπορεί να γραφτεί σε αυτόν (αν και αυτό δεν είναι απολύτως αληθές - και σε ορισμένες περιπτώσεις δεν είναι καθόλου αλήθεια). Αλλά εδώ φτάνουμε στην κουβέντα

Στην πραγματικότητα για τις φέτες

Έτσι, η έρευνα έδειξε ότι μπορούν να δημιουργηθούν έως και 4 (συμπεριλαμβανομένων) κατατμήσεων σε έναν φυσικό δίσκο, καθένα από τα οποία μπορεί να αντιστοιχιστεί σε ξεχωριστό λειτουργικό σύστημα. Τι ακολουθεί; Στη συνέχεια, θα πρέπει να μελετήσετε το ζήτημα των στυλ σήμανσης ενοτήτων.

Τα στυλ διάταξης ενότητας καλούνται Ετικέτα δίσκου, το οποίο δεν πρέπει να συγχέεται με ετικέτες δίσκου - αυθαίρετα ονόματα που μπορούν να αντιστοιχιστούν σε ένα διαμέρισμα δίσκου στο DOS (και όχι μόνο). Τα στυλ σήμανσης είναι η μορφή του δευτερεύοντος πίνακα διαμερισμάτων, γραμμένη στο πρώτο μπλοκ του πρωτεύοντος διαμερίσματος. Αυτός ο πίνακας καθορίζει τη φύση των διαθέσιμων ενεργειών σε αυτό το πρωτεύον διαμέρισμα.

Οι χρήστες Windows (και, στις περισσότερες περιπτώσεις, Linux) συνήθως δεν έχουν λόγο να σκεφτούν το ζήτημα των στυλ σήμανσης. Ωστόσο, υπάρχουν πολλά τέτοια στυλ - για να το επαληθεύσετε, απλώς μεταβείτε στο μενού διαμόρφωσης πυρήνα Linux, στην υποενότητα Τύποι διαμερισμάτωντμήμα Συστήματα αρχείων. Ωστόσο, από όλη αυτή την αφθονία, θα μας ενδιαφέρουν μόνο δύο στυλ - DOS και BSD.

Το DOS/Windows χρησιμοποιεί (παραδόξως) το στυλ διαμέρισης DOS. Βασίζεται στον πίνακα BIOS, ο οποίος χρησιμοποιείται μόνο εν μέρει. Δηλαδή, από τις τέσσερις διαθέσιμες καταχωρήσεις του πίνακα κατατμήσεων, μόνο δύο είναι γεμάτες (ή μάλλον, μόνο δύο κατατμήσεις μπορούν να δημιουργηθούν χρησιμοποιώντας το τυπικό FDISK από το DOS/Windows9X/ME. Απλώς δεν ξέρω πώς είναι η κατάσταση στο NT/2000/ XP).

Στην καταχώρηση για το πρώτο διαμέρισμα, μπορείτε να καθορίσετε ένα αναγνωριστικό τύπου συστήματος αρχείων (για παράδειγμα, FAT16 ή FAT32), ενώ στο δεύτερο διαμέρισμα εκχωρείται αυτόματα ένα αναγνωριστικό τύπου Extended DOS. Και το Extended διαμέρισμα μπορεί να χωριστεί περαιτέρω σε λογικά διαμερίσματα. Ωστόσο, δεν μας ενδιαφέρει αυτό τώρα, και η δομή του εκτεταμένου διαμερίσματος και των λογικών κατατμήσεων έχει περιγραφεί πολλές φορές σε αυτό.

Το Linux χρησιμοποιεί επίσης το στυλ σήμανσης DOS. Μόνο εδώ ο πίνακας BIOS χρησιμοποιείται πλήρως - χρησιμοποιώντας τα τυπικά εργαλεία αυτού του λειτουργικού συστήματος (για παράδειγμα, fdisk ή cfdisk) μπορείτε να δημιουργήσετε και τα τέσσερα κύρια διαμερίσματα και να τα χρησιμοποιήσετε για την ευχαρίστησή σας. Ωστόσο, και πάλι, μόνο ένα από αυτά μπορεί να δηλωθεί εκτεταμένο και, κατά συνέπεια, να χωριστεί σε λογικές ενότητες.

Το στυλ σήμανσης BSD (BSD Label) που χρησιμοποιείται στα FreeBSD, DragonFlyBSD, Net- και OpenBSD, καθώς και σε BSD/OS φαίνεται εντελώς διαφορετικό. Ένας πίνακας BIOS μπορεί επίσης να χρησιμοποιηθεί εδώ, συμπληρώνοντας τον οποίο θα δημιουργήσει τέσσερα κύρια διαμερίσματα. Στην ορολογία του FreeBSD, ονομάζονται slices (slices - η πιο ακριβής μετάφραση θα ήταν "τμήματα") για να διακρίνονται από τις ενότητες (partitions) της σήμανσης BSD. Τα τμήματα στην ονοματολογία αρχείων της συσκευής επισημαίνονται προσθέτοντας το γράμμα s και έναν σειριακό αριθμό στο όνομα του αρχείου δίσκου (σε αντίθεση με τους δίσκους που ξεκινούν με ένα), για παράδειγμα: ad0s1, ad0s2, ad0s3, ad0s4 για τον κύριο δίσκο στο πρώτο κανάλι IDE.

Εάν σε ένα ή περισσότερα από τα κομμάτια έχει εκχωρηθεί ένα αναγνωριστικό συστήματος BSD - 165 σε δεκαδικό (αυστηρά μιλώντας, ονομάζεται 4.2BSD και είναι επίσης χαρακτηριστικό των DragonFlyBSD και NetBSD - αν και θεωρητικά το τελευταίο, όπως το OpenBSD, έχει επίσης τον δικό του αναγνωριστικό αριθμό διαμερίσματος ), τότε το αρχικό του μπλοκ θα γραφτεί από τον πραγματικό πίνακα διαμερισμάτων BSD (BSD Label). Σύμφωνα με τη μορφή του, κάθε slice με ID 165 είναι απολύτως ίσο και μπορεί να χωριστεί σε λογικές ενότητες (στην πραγματικότητα κατατμήσεις, στην ορολογία του FreeBSD).

Υπάρχουν οκτώ καταχωρήσεις για ενότητες στον πίνακα BSD. Οι ενότητες που αντιστοιχούν σε αυτές επισημαίνονται με ονοματολογία προσθέτοντας ένα γράμμα στο όνομα του αρχείου τομής - από το a έως το h. Ωστόσο, στο DragonFlyBSD αυτός ο περιορισμός παρακάμπτεται και εκεί ένα slice μπορεί να περιέχει έως και 16 λογικά διαμερίσματα.

Στην πραγματικότητα, δεν μπορούν να χρησιμοποιηθούν όλα τα διαμερίσματα slice για να φιλοξενήσουν συστήματα αρχείων. Αρχικά, μία από τις εγγραφές (η τρίτη, σημειωμένη με το γράμμα c) δεσμεύεται για να περιγράψει ολόκληρο το κομμάτι ως σύνολο - για παράδειγμα, το ad0s1c, η ανάγκη του οποίου θα γίνει σαφής αργότερα. Στη συνέχεια, η πρώτη καταχώριση πίνακα, που αντιστοιχεί στην οποία το αρχείο της συσκευής επισημαίνεται ως ad#s#a , εκχωρείται για να περιγράψει το ριζικό διαμέρισμα του συστήματος αρχείων. Και είναι προφανές ότι σε ένα συγκεκριμένο τοπικό μηχάνημα μπορεί να υπάρχει μόνο ένα root partition, ανεξάρτητα από τον αριθμό των slices και των φυσικών δίσκων.

Τέλος, η δεύτερη καταχώρηση (αρχείο συσκευής - ad#s#b) προορίζεται αποκλειστικά για την περιγραφή του διαμερίσματος swap, το οποίο, πρώτον, δεν μπορεί να περιέχει δεδομένα και, δεύτερον, είναι το μοναδικό σε ολόκληρο το δίσκο (προφανώς ότι δημιουργείται ένα διαμέρισμα ανταλλαγής σε κάθε κομμάτι είναι άσκοπο, αν και αν έχετε δύο φυσικούς δίσκους, η διαίρεση του χώρου ανταλλαγής μεταξύ τους είναι μια απολύτως υγιής ιδέα).

Συνήθως, η δημιουργία slices στοχεύει στην τοποθέτηση περισσότερων από ένα λειτουργικών συστημάτων σε έναν δίσκο και στη διατήρηση της δυνατότητας ανταλλαγής δεδομένων μεταξύ τους (θεωρητικά, τα διαμερίσματα BSD μπορούν να προσπελαστούν από το Linux εάν αναδημιουργήσετε σωστά τον πυρήνα του, αν και η αντίστροφη διαδικασία είναι η πρόσβαση σε ένα διαμέρισμα ext2fs από το FreeBSD , - πολύ πιο απλό).

Εάν ολόκληρος ο υπάρχων δίσκος σχεδιάζεται να σχιστεί από το FreeBSD, τότε συνήθως δημιουργείται ένα μόνο slice για (σχεδόν) ολόκληρο τον τόμο του, αφήνοντας τις καταχωρήσεις στον πίνακα BIOS για τους υπόλοιπους αχρησιμοποίητες. Επτά θέσεις στον πίνακα BSD είναι αρκετές για να διαχωριστούν οι κλάδοι του συστήματος αρχείων όπως τα /usr, /tmp, /var και /home - περίπου αυτή είναι η προεπιλεγμένη μέθοδος κατάτμησης δίσκου που προσφέρεται από το πρόγραμμα sysinstall.

Φυσικά, σε ορισμένες περιπτώσεις ο προεπιλεγμένος αριθμός κατατμήσεων που μπορούν να δημιουργηθούν σε ένα slice δεν είναι αρκετός. Συγκεκριμένα, υπάρχει μια άποψη, όχι χωρίς λόγο, ότι τμήματα του συστήματος αρχείων όπως /usr/src, /usr/ports, /usr/ports/distfiles θα πρέπει επίσης να διαχωριστούν σε ξεχωριστούς κλάδους. ίσως /usr/local . Σε αυτήν την περίπτωση, θα πρέπει να δημιουργήσετε δύο τμήματα BSD (αν και υπάρχουν πληροφορίες ότι μπορείτε να χρησιμοποιήσετε το Extended Partition για κλασματική διαίρεση του συστήματος αρχείων, αλλά δεν το έχω δοκιμάσει ποτέ ο ίδιος).

Η διαμέριση δίσκου που χρησιμοποιεί καταχωρήσεις στον πίνακα BIOS του πρώτου μπλοκ ονομάζεται κατάτμηση λειτουργίας συμβατότητας. Ανεξάρτητα από το αν έχει δημιουργηθεί ένα slice για το FreeBSD ή πολλά ξεχωριστά για κάθε λειτουργικό σύστημα, σε λειτουργία συμβατότητας, δεσμεύεται ένας χώρος 63 μπλοκ (περίπου 30 KB συνολικά) στην αρχή του δίσκου, στον οποίο όχι μόνο η «προεπιλογή Το MBR διατηρείται άθικτο, αλλά υπάρχει επίσης χώρος για να γράψετε τον κώδικα κάποιου bootloader τρίτων. Ως αποτέλεσμα, ο δίσκος παραμένει προσβάσιμος σε άλλα λειτουργικά συστήματα, τουλάχιστον θεωρητικά.

Ωστόσο, η χρήση της λειτουργίας συμβατότητας και του πίνακα διαμερισμάτων του BIOS είναι προαιρετική στο FreeBSD. Είναι αρκετά αποδεκτό να γράψετε τον πίνακα διαμερισμάτων BSD απευθείας στο MBR, αντί για τον πίνακα BIOS. Σε αυτήν την περίπτωση, είναι σαφές ότι τα slices δεν δημιουργούνται από μόνα τους και ότι ολόκληρος ο χώρος του δίσκου είναι σαν ένα ενιαίο slice και μπορεί να χωριστεί σε διαμερίσματα BSD σύμφωνα με τους ίδιους κανόνες με ένα ξεχωριστό slice. Και εδώ γίνεται σαφής η ανάγκη κράτησης του τρίτου πεδίου του πίνακα BSD - σε αυτό περιγράφεται ολόκληρος ο δίσκος μας, ο οποίος έχει διατεθεί εξ ολοκλήρου για το FreeBSD.

Αυτή η επεξεργασία του δίσκου ονομάζεται λειτουργία αποκλειστικής χρήσης ή Επικίνδυνα Αφιερωμένη. Σε αντίθεση με το όνομα, δεν ενέχει κανένα κίνδυνο για τα δεδομένα ή την υγεία του χρήστη. Και ο μόνος κίνδυνος που τον περιμένει είναι ότι ο δίσκος σε αποκλειστική λειτουργία δεν θα αναγνωριστεί από κανένα άλλο λειτουργικό σύστημα που είναι εγκατεστημένο σε αυτόν τον υπολογιστή (δεν θα παρεμποδίσει την πρόσβαση στο δίσκο μέσω του δικτύου). Ωστόσο, αυτό είναι μια καθαρά θεωρητική ταλαιπωρία, επειδή κανένα από τα λειτουργικά συστήματα που γνωρίζω δεν μπορεί πραγματικά να λειτουργήσει με κατατμήσεις BSD και το σύστημα αρχείων FreeBSD (ειδικά το σύγχρονο - UFS2). Και, ας πούμε, εάν υπάρχει ένας multibooter GRUB σε άλλο φυσικό δίσκο, το FreeBSD από τον «αποκλειστικό» δίσκο μπορεί κάλλιστα να φορτωθεί μαζί του.

Η τεκμηρίωση του FreeBSD αναφέρει ότι οι "αποκλειστικοί" δίσκοι μερικές φορές αποτυγχάνουν να εκκινήσουν, πιθανώς επειδή το BIOS δεν θα μπορεί να αναγνωρίσει μη τυπικές καταχωρήσεις MBR. Ωστόσο, προφανώς αυτό ισχύει για ορισμένες παλαιότερες εκδόσεις του BIOS - δεν το έχω συναντήσει ποτέ, αν και συχνά κατέφευγα σε αποκλειστική λειτουργία όταν ήταν δυνατό να δώσω έναν ολόκληρο φυσικό δίσκο στο FreeBSD.

Ωστόσο, τα έγγραφα του έργου FreeBSD τονίζουν πάντα ότι η αποκλειστική λειτουργία - ιδιαίτερα λόγω της άσκοπης εξοικονόμησης χώρου στο δίσκο - θα πρέπει να χρησιμοποιείται μόνο σε εξαιρετικές περιπτώσεις. Ένας από τους λόγους αυτής της χρήσης είναι η ασυμφωνία μεταξύ της «γεωμετρίας» του δίσκου, ορατή από το BIOS, και της ιδέας που έχει το FreeBSD (μπορείτε να διαβάσετε περισσότερα για αυτό το θέμα στις επίσημες Συχνές Ερωτήσεις του FreeBSD).

Σήμανση φέτας

Κατά την αρχική εγκατάσταση του FreeBSD, το πρόγραμμα sysinstall, ένα καθολικό πρόγραμμα εγκατάστασης και προσαρμογής για αυτό το λειτουργικό σύστημα, χρησιμοποιείται συνήθως για τη δημιουργία slices και κατατμήσεων σε αυτά. Ωστόσο, θα πρέπει να θυμόμαστε ότι αυτό δεν είναι τίποτα άλλο από μια διεπαφή μιας σειράς εξειδικευμένων βοηθητικών προγραμμάτων, συμπεριλαμβανομένων των βοηθητικών προγραμμάτων κατάτμησης δίσκων. Και επομένως, η γνωριμία τους δεν θα είναι σε καμία περίπτωση επιβλαβής. Από τη μία πλευρά, θα δώσει μια κατανόηση του τι κάνει στην πραγματικότητα το sysinstall. Από την άλλη πλευρά, ορισμένες ενέργειες για την κατάτμηση ενός δίσκου αποδεικνύεται ότι είναι πιο εύκολο να εκτελεστούν με τη βοήθειά τους. Έτσι, πέρασα πολύ χρόνο στο sysinstall δημιουργώντας κατατμήσεις για την προετοιμασία συστοιχιών λογισμικού RAID, μέχρι που συνειδητοποίησα ότι είναι πολύ πιο εύκολο να το κάνω χειροκίνητα.

Υπάρχει επίσης ένα τρίτο βοηθητικό πρόγραμμα κατάτμησης πλευρικού δίσκου, εκτός από την άμεση εκτέλεση της λειτουργίας τους, χρησιμεύουν ως απαραίτητη πηγή πληροφοριών για τον φυσικό δίσκο γενικά και τη γνώμη του FreeBSD για αυτόν. Και στη συνέχεια - με τη βοήθειά τους μπορείτε να λάβετε πληροφορίες σχετικά με διαμερίσματα δίσκου που δεν μπορούν να βρεθούν πουθενά αλλού.

Σε αντίθεση με το Linux, η κατάτμηση του δίσκου στο FreeBSD πραγματοποιείται σε δύο στάδια και από δύο ξεχωριστά προγράμματα, ο δίσκος κόβεται σε φέτες (ή δημιουργείται ένα slice, είτε σε λειτουργία συμβατότητας είτε για αποκλειστική χρήση Το FreeBSD , χωρίζεται σε ενότητες.

Το βοηθητικό πρόγραμμα fdisk εκτελεί την πρώτη εργασία. Αυτό είναι ένα ακόμη πιο ισχυρό εργαλείο για την εργασία με δίσκους από το πρόγραμμα Linux με το ίδιο όνομα, ωστόσο, δεν μπορεί να ονομαστεί εύκολο στη χρήση ακόμη και στο man (8) fdisk, μεταξύ των σφαλμάτων, σημειώνεται ότι η διεπαφή του πιο φιλικά. Ωστόσο, στην πραγματικότητα δεν είναι καθόλου τρομακτικό στη χρήση.

Εκτελείται χωρίς επιλογές ή ορίσματα, η εντολή fdisk απλώς εμφανίζει πληροφορίες σχετικά με τον πρώτο φυσικό δίσκο του μηχανήματος (ή μάλλον, τον δίσκο που φιλοξενεί το ριζικό σύστημα αρχείων του FreeBSD). Και οι πληροφορίες είναι πλούσιες: εδώ θα δούμε τόσο το όνομα αρχείου της τρέχουσας συσκευής δίσκου (για παράδειγμα, /dev/ad0) όσο και πληροφορίες σχετικά με τη γεωμετρία της (αριθμός κυλίνδρων, κεφαλές, τομείς ανά κομμάτι, μπλοκ ανά κύλινδρο - Ένα άλλο πράγμα είναι ότι σχετίζονται με την πραγματική γεωμετρία που δεν έχουν, αλλά έχουμε ήδη μιλήσει για αυτό) και το μέγεθος του φυσικού μπλοκ.

Και στη συνέχεια θα υπάρχουν πληροφορίες σχετικά με το κομμάτι ή τις φέτες που ζουν σε αυτόν τον δίσκο. Και εδώ για κάθε κομμάτι θα δούμε το αναγνωριστικό τύπου συστήματος αρχείων, το μέγεθός του (σε μπλοκ και megabyte), τη σημαία δραστηριότητας (αν υπάρχει), τα δεδομένα για την αρχή και το τέλος (κύλινδρος/κεφαλή/αριθμός τομέα). Εάν υπάρχουν λιγότερες από τέσσερις φέτες στο δίσκο, οι ανύπαρκτες (δηλαδή, που αντιστοιχούν σε κενές καταχωρήσεις πίνακα κατατμήσεων) θα επισημαίνονται ως ΑΧΡΗΣΙΜΟΠΟΙΗΜΕΝΕΣ. Το ίδιο σημάδι θα υπάρχει στις φέτες 2-4 με έναν δίσκο σημειωμένο σε αποκλειστική λειτουργία.

Ωστόσο, ακόμη και με ένα μόνο κομμάτι στο δίσκο, που επισημαίνεται σε λειτουργία συμβατότητας, είναι πολύ εύκολο να τον ξεχωρίσετε από τον "αποκλειστικό" δίσκο από την έξοδο της εντολής fdisk: το αρχικό μπλοκ του πρώτου θα είναι 63 και το αρχικό του Το κομμάτι θα αριθμηθεί πρώτα. Ενώ ένα κομμάτι ενός «αποκλειστικού» δίσκου θα ξεκινά από ένα μηδενικό μπλοκ και ένα μηδενικό κομμάτι.

Όπως ήδη αναφέρθηκε, όλες αυτές οι πληροφορίες αναφέρονται στον δίσκο με το ριζικό σύστημα αρχείων. Για να λάβετε παρόμοιες πληροφορίες για άλλες μονάδες δίσκου, το όνομα αρχείου της αντίστοιχης συσκευής πρέπει να καθοριστεί ρητά ως όρισμα στην εντολή fdisk. Για παράδειγμα,

$ fdisk /dev/ar0

θα τα παρέχει για τη μονάδα που είναι συνδεδεμένη στην υποδοχή IDE-RAID του ελεγκτή. Αυτές οι πληροφορίες μπορεί να φαίνονται περιττές. Ωστόσο, χρησιμοποιώντας το fdisk μπορείτε να εμφανίσετε πιο συνοπτικές (και ταυτόχρονα μόνο ουσιαστικές) πληροφορίες. Τι κάνει η επιλογή -s; Σε απάντηση της εντολής

$ fdisk -s /dev/ad#

θα λάβουμε μόνο το πιο σημαντικό πράγμα: το όνομα του αρχείου της συσκευής, τον αριθμό των κυλίνδρων, των κεφαλών και των τομέων, καθώς και σύντομες πληροφορίες μόνο για υπάρχουσες (δηλαδή δεν επισημαίνονται ως ΜΗ ΧΡΗΣΙΜΟΠΟΙΗΜΕΝΕΣ) φέτες - αρχικός τομέας, μέγεθος φέτας, σύστημα αρχείων αναγνωριστικό τύπου και σημαία δραστηριότητας. Δηλαδή περίπου με την εξής μορφή:

/dev/ad0: 155061 cyl 16 hd 63 sec Μέρος Έναρξη Μέγεθος Τύπος Σημαίες 1: 0 156301488 0xa5 0x80

Όλα όσα ειπώθηκαν αποσκοπούσαν μόνο στη λήψη πληροφοριών. Για να εκτελέσετε οποιεσδήποτε ενεργές ενέργειες κατάτμησης δίσκου χρησιμοποιώντας το fdisk, πρέπει να εξοικειωθείτε με τις άλλες επιλογές του. Δεν είναι πολλά από αυτά και ίσως η πιο σημαντική είναι η επιλογή -I. Συμπεριλαμβάνεται στην ομάδα

$ fdisk -I /dev/ar0

θα δημιουργήσει το πρώτο και μοναδικό slice στο δίσκο, ωστόσο, σε λειτουργία συμβατότητας, δηλαδή ξεκινώντας από τον τομέα 63. Προφανώς, εάν ο δίσκος είχε προηγουμένως διαχωριστεί με κάποιο τρόπο και περιείχε δεδομένα, τόσο η προηγούμενη διάταξη του δίσκου όσο και τα περιεχόμενά του θα καταστραφούν ανεπανόρθωτα. Ωστόσο, αυτή η συμπεριφορά είναι τυπική για όλα τα βοηθητικά προγράμματα κατάτμησης δίσκων σε οποιοδήποτε λειτουργικό σύστημα. Είναι αλήθεια ότι, σε αντίθεση με το ομώνυμο βοηθητικό πρόγραμμα Linux, το Free fdisk αναδιαμερίζει τον δίσκο αμέσως και, επιπλέον, εδώ δεν θα μας ζητηθεί καν να επιβεβαιώσουμε τις ενέργειές μας, επομένως θα πρέπει να είμαστε προσεκτικοί.

Αλλά θα ακολουθήσουν πολλές ερωτήσεις όταν χρησιμοποιείτε την επιλογή -i, η οποία σας επιτρέπει να διαχωρίσετε το δίσκο διαδραστικά. Δίνεται με το όνομα αρχείου συσκευής ως όρισμα, δηλαδή στη φόρμα

$ fdisk -i /dev/ar0

Πρώτα απ 'όλα, θα μας υπενθυμίσει ποιος δίσκος γίνεται κατάχρηση και θα μας πει τις παραμέτρους του (τόσο αυτές που έχουν εγγραφεί στην ετικέτα δίσκου όσο και που διαβάζονται από το BIOS - στη γενική περίπτωση, δεν χρειάζεται να ταιριάζουν):

******* Οι παράμετροι που εργάζονται στη συσκευή /dev/da0 ******* που εξάγονται από την εσωτερική ετικέτα δίσκου είναι οι εξής: cylinders=124 heads=64 sektors/track=32 (2048 blks/cyl) παράμετροι που χρησιμοποιούνται για τους υπολογισμούς του BIOS είναι: κύλινδροι=124 κεφαλές=64 τομείς/ίχνος=32 (2048 blks/κύλινδρος)

Και θα ρωτήσει αμέσως εάν θέλουμε να διορθώσουμε τη γεωμετρία του BIOS του δίσκου Η προεπιλεγμένη απάντηση (όχι) είναι προφανής εάν δεν υπάρχει μήνυμα σχετικά με την "κακή" γεωμετρία του BIOS, η οποία συμπίπτει επίσης με τη γεωμετρία που περιγράφεται στην ετικέτα δίσκου. Αλλά αν συμβεί το γεγονός της «κακής» γεωμετρίας, αξίζει να το σκεφτείτε.

Ο ευκολότερος τρόπος είναι να το αφήσετε ως έχει - αυτό είναι απίθανο να προκαλέσει προβλήματα. Ωστόσο, μπορείτε να διορθώσετε την κατάσταση χειροκίνητα για λόγους παραγγελίας. Για να το κάνετε αυτό, πρέπει πρώτα να απαντήσετε θετικά στην παραπάνω ερώτηση, μετά την οποία θα σας ζητηθεί να εισαγάγετε όλες τις καθορισμένες παραμέτρους διαδοχικά - τον αριθμό των κυλίνδρων, των τροχιών και των τομέων. Η επιβεβαίωση της νομιμότητας αυτών των ενεργειών μπορεί να ληφθεί αργότερα - κατά τον έλεγχο με αυτές από το sysinstall.

Η πρώτη ψυχαγωγία μετά τη διόρθωση της γεωμετρίας (ή αντί αυτής) σε μια ομάδα

$ fdisk -i /dev/ar0

Πρόκειται για χειροκίνητη δημιουργία slices (δεδομένης της υπάρχουσας σήμανσης, θα ερωτηθεί πρώτα αν το θέλουμε - με αρνητική απάντηση από προεπιλογή). Για να γίνει αυτό, ζητείται πρώτα το αναγνωριστικό τύπου συστήματος αρχείων (η προεπιλεγμένη τιμή υπάρχει εάν ο δίσκος έχει χωριστεί ή 0 για έναν νέο δίσκο) - θα πρέπει να καθοριστεί η δεκαδική του τιμή (165 για ένα slice FreeBSD). Στη συνέχεια - ο τομέας εκκίνησης (0 - για "αποκλειστική" κατάτμηση, 63 - για κατάτμηση σε λειτουργία συμβατότητας) και το μέγεθος της τομής σε μπλοκ (εάν χρησιμοποιείτε ολόκληρο το δίσκο, προφανώς, θα είναι ίσο με τον πλήρη αριθμό τους , διαφορετικά θα απαιτηθούν κάποιοι αριθμητικοί υπολογισμοί ).

Μετά από αυτό, θα σας ζητηθεί να καθορίσετε με ακρίβεια την αρχή και το τέλος της φέτας. Εάν αρνηθείτε, θα ληφθούν από τους προηγούμενους ορισμούς, εάν συμφωνείτε, θα πρέπει να υποδείξετε τον πρώτο και τον τελευταίο κύλινδρο, κεφαλή, τομέα. Το οποίο θα εμφανίζεται στη φόρμα

Sysid 165 (0xa5), (FreeBSD/NetBSD/386BSD) start 0, μέγεθος 260000 (126 Meg), flag 0 beg: cyl 0/ head 0/ sektor 1;

τέλος: κύλινδρος 126/ κεφαλή 60/ τομέας 32

Επιβεβαίωση των ενεργειών σας με μια θετική απάντηση στην ερώτηση

Είμαστε ευχαριστημένοι με αυτή την καταχώρηση; [n]y

μπορείτε να προχωρήσετε στη δημιουργία της δεύτερης ενότητας

Σύμφωνα με το ίδιο σχέδιο με το πρώτο. Είναι σαφές ότι εάν δημιουργηθεί μόνο ένα slice, θα πρέπει να αρνηθείτε να αλλάξετε τις υπόλοιπες πιθανές καταχωρήσεις του πίνακα κατατμήσεων - σε αυτήν την περίπτωση θα παραμείνουν επισημασμένες ως αχρησιμοποίητες. Σε κάθε περίπτωση, θα τεθεί η τελευταία ερώτηση - επιβεβαίωση για εκτέλεση:

- σύμφωνα με το ίδιο σχέδιο με το πρώτο. Είναι σαφές ότι εάν δημιουργηθεί μόνο ένα slice, θα πρέπει να αρνηθείτε να αλλάξετε τις υπόλοιπες πιθανές καταχωρήσεις του πίνακα κατατμήσεων - σε αυτήν την περίπτωση θα παραμείνουν επισημασμένες ως αχρησιμοποίητες. Σε κάθε περίπτωση, θα τεθεί η τελευταία ερώτηση - επιβεβαίωση εκτέλεσης:

Εάν η απάντηση είναι θετική, όλες οι αλλαγές που έγιναν θα τεθούν σε ισχύ (και μπορείτε να πείτε αντίο στο περιεχόμενό του στον προηγουμένως επισημασμένο δίσκο). Επομένως, θα πρέπει να κάνετε προεπισκόπηση όλων των στοιχείων που έχετε εισαγάγει προηγουμένως (ευτυχώς, στο FreeBSD αυτό είναι εύκολο να κάνετε κύλιση στην προσωρινή μνήμη ιστορικού της εικονικής κονσόλας) και εάν εντοπιστεί κάποιο σφάλμα, απορρίψτε τις αλλαγές και εκτελέστε ξανά την εντολή fdisk. Ωστόσο, μπορείτε να βγείτε από αυτό ανά πάσα στιγμή χωρίς συνέπειες και με τον τυπικό τρόπο - με συνδυασμό πλήκτρων Ελεγχος+ντο.

Γενικά, η διαδραστική δημιουργία ενός μόνο "αποκλειστικού" slice με fdisk (και ένα μόνο "συμβατό" slice είναι πιο εύκολο να δημιουργηθεί με την επιλογή -I) δεν είναι τόσο κακό. Εάν χρειάζεστε πολλά κομμάτια, θα πρέπει να οπλιστείτε με μια αριθμομηχανή (το FreeBSD έχει ένα - bc, που ξεκινά από τη γραμμή εντολών, πολύ απλό και εύκολο στη χρήση).

Αν και υπάρχει ένας άλλος τρόπος για να δημιουργήσετε φέτες - περιγράφοντας προκαταρκτικά τις παραμέτρους τους, και ταυτόχρονα τη γεωμετρία του δίσκου, σε ένα αρχείο (σε ένα κανονικό αρχείο κειμένου, χρησιμοποιώντας οποιοδήποτε συνηθισμένο πρόγραμμα επεξεργασίας). Μετά από αυτό το πρόγραμμα fdisk εκκινείται στη φόρμα

$ fdisk -f configfile /dev/ad#

Και προσθέτοντας την επιλογή -t, μπορείτε πρώτα να ελέγξετε την ορθότητα της σήμανσής σας χωρίς να γράψετε αλλαγές στο δίσκο. Ωστόσο, δεν το έκανα μόνος μου, αφήνοντάς το σε όσους θέλουν να το κάνουν μόνοι τους: όλες οι απαραίτητες πληροφορίες, συμπεριλαμβανομένης της μορφής του αρχείου διαμόρφωσης, βρίσκονται στο man (8) fdisk.

Τέλος, για να χωρίσετε έναν δίσκο σε αποκλειστική λειτουργία, μπορείτε να κάνετε χωρίς την εντολή fdisk: αρκεί να επαναφέρετε τα αρχικά μπλοκ του χρησιμοποιώντας την εντολή dd, η οποία εκτελεί το λεγόμενο. αντιγραφή με μετατροπή. Απαιτεί δύο ορίσματα - το όνομα του αρχείου που αντιγράφεται (if - αρχείο εισόδου) και το όνομα του αρχείου της συσκευής στην οποία αντιγράφεται (του - αρχείου εξόδου). Μπορείτε επίσης να ορίσετε το μέγεθος του μπλοκ αντιγραμμένων δεδομένων και τον αριθμό τους. Δηλαδή, στην περίπτωσή μας θα μοιάζει με αυτό:

$ dd εάν=/dev/zero of=/dev/ad# bs=1k count=1

$ dd εάν=/dev/zero of=/dev/ad# count=2

Και στις δύο περιπτώσεις, το /dev/zero νοείται ως το λεγόμενο μια συσκευή "μηδέν" και το /dev/ad# είναι ο διαχωρισμένος δίσκος που υποδεικνύουν ότι τα δύο πρώτα φυσικά μπλοκ του πρέπει να γεμίσουν με μηδενικά.

Διάταξη χωρισμάτων

Ένα slice που δημιουργήθηκε με χρήση fdisk, ανεξάρτητα από το αν είναι "αποκλειστικό" ή "συμβατό", είναι ήδη χρησιμοποιήσιμο - ένα σύστημα αρχείων μπορεί να δημιουργηθεί απευθείας σε αυτό. Ωστόσο, συνήθως χωρίζεται πρώτα σε λογικές ενότητες (ή δημιουργείται τουλάχιστον μία ενότητα, ad#s1c , η οποία περιγράφει ολόκληρο το τμήμα). Παλαιότερα, το βοηθητικό πρόγραμμα disklabel εξυπηρετούσε αυτόν τον σκοπό, αλλά στην έκδοση 5.1 αντικαταστάθηκε από το πρόγραμμα bsdlabel που δανείστηκε από το NetBSD (με πιο φιλική διεπαφή, όπως λένε οι αισιόδοξοι). Αν και το disklabel μπορεί να βρεθεί στον κατάλογο /sbin, είναι μόνο ένας σκληρός σύνδεσμος προς το ίδιο εκτελέσιμο αρχείο με το bsdlabel. Αυτό μπορεί εύκολα να επαληθευτεί κοιτάζοντας τα αναγνωριστικά και των δύο αρχείων:

$ ls -l /sbin/bsdlabel /sbin/disklabel -r-xr-xr-x 2 root wheel 27348 Feb 23 22:42 /sbin/bsdlabel* -r-xr-xr-x 2 root wheel 27348 Feb 23 22: 42 /sbin/disklabel*

με ίσες (27348) τιμές.

Και πάλι, που ξεκίνησε χωρίς επιλογές (αλλά με ένα απαιτούμενο όρισμα με τη μορφή του ονόματος αρχείου της συσκευής - το slice), το bsdlabel εξυπηρετεί αποκλειστικά τον σκοπό της ενημέρωσης σχετικά με την κατάσταση των πραγμάτων, βγάζοντας κάτι σαν το ακόλουθο για ένα slice με ετικέτα FreeBSD:

$ bsdlabel /dev/ad0 # /dev/ad0: 8 κατατμήσεις: # size offset ftype a: 524288 0 4.2BSD 2048 16384 32776 b: 2074624 524288 swap c: 15630 un raw επεξεργασία d: 524288 2598912 4.2BSD 0 0 0 e: 10240000 3123200 4.2BSD 0 0 0 f: 142938288 13363200 4.2BSD 0 00

Για το παραπάνω συμπέρασμα θα ήταν χρήσιμα κάποια σχόλια. Τα γράμματα στα αριστερά είναι οι ονομασίες γραμμάτων των υπαρχόντων κατατμήσεων, για καθένα από τα οποία δίνονται τα εξής: μέγεθος (μέγεθος) σε μπλοκ, μετατόπιση του πρώτου μπλοκ από την αρχή του δίσκου, δηλαδή ο τομέας μηδέν (offset) , τύπος συστήματος αρχείων και οι παράμετροί του: μέγεθος θραύσματος, μέγεθος μπλοκ, εγγραφές πυκνότητας - όλα αυτά θα συζητηθούν στην ενότητα σχετικά με το σύστημα αρχείων FreeBSD. Προς το παρόν, πρέπει να σημειωθεί ότι ένα μπλοκ συστήματος αρχείων είναι ένα λογικό μπλοκ και αυτό δεν είναι καθόλου το ίδιο με ένα μπλοκ φυσικού δίσκου. Προς το παρόν, δεν θα δώσουμε προσοχή στο γεγονός ότι οι αντίστοιχες στήλες για όλες τις κατατμήσεις εκτός από ένα περιέχουν μηδενικά.

Μεταξύ των κατατμήσεων, αυτό που σημειώνεται με το γράμμα c είναι αξιοσημείωτο: αυτό είναι το ίδιο "κοντέινερ" για τα υπόλοιπα διαμερίσματα (μια μακρινή αναλογία είναι το εκτεταμένο διαμέρισμα DOS). Είναι σαφές ότι η μετατόπιση για αυτό είναι μηδέν και το μέγεθος είναι ίσο με τον πλήρη αριθμό των φυσικών μπλοκ δίσκων. Για άλλες ενότητες, η μετατόπιση υπολογίζεται εύκολα (για παράδειγμα, χρησιμοποιώντας την αριθμομηχανή bc) αθροίζοντας τη μετατόπιση της προηγούμενης ενότητας με το μέγεθός της.

Το παραπάνω παράδειγμα αναφέρεται σε έναν "αποκλειστικό" δίσκο - γι' αυτό βλέπουμε μηδενική μετατόπιση τόσο του πρώτου διαμερίσματος όσο και του "slice" c. Για έναν δίσκο που έχει διαμεριστεί σε λειτουργία συμβατότητας, η εικόνα θα είναι κάπως έτσι:

# /dev/ad0s1: 8 partitions: # size offset ftype a: 524288 63 4.2BSD 2048 16384 32776 c: 16771797 63 unused 0 0 # "raw" part, don't edit d: 5813424 3 2776 e : 524288 1048639 4,2BSD 2048 16384 32776 f: 1048576 1572927 4,2BSD 2048 16384 8 g: 14150357 26218524 ​​2621503

Δηλαδή, μπορείτε να δείτε ότι το πρώτο διαμέρισμα ενός "κανονικά" χωρισμένου δίσκου μετατοπίζεται σε σχέση με την αρχή του κατά 63 δεσμευμένα μπλοκ.

Δεν είναι τυχαίο ότι το πεδίο ftype της ενότητας c περιέχει την τιμή που δεν χρησιμοποιείται - δεν μπορεί να χρησιμοποιηθεί για οποιαδήποτε αποθήκευση δεδομένων. Ωστόσο, μόνο αυτό είναι διαθέσιμο στα μέσα που έχουν πρόσφατα κατατμηθεί χρησιμοποιώντας fdisk. Πώς να δημιουργήσετε τα υπόλοιπα απαραίτητα διαμερίσματα;

Παραδόξως, ένας από τους τρόπους είναι εξαιρετικά απλός: μέσω ενός κανονικού επεξεργαστή κειμένου. Για να γίνει αυτό, το bsdlabel εκκινείται με την επιλογή -e και το όρισμα - το όνομα αρχείου του slice με την ετικέτα:

$ bsdlabel -e /dev/ad0s1

Σε απάντηση, θα κληθεί ο επεξεργαστής που ορίζεται στη μεταβλητή EDITOR του αρχείου προφίλ υπερχρήστη (δεν είναι απαραίτητο να υπενθυμίσουμε ότι όλες οι λειτουργίες με δίσκους, slices και partitions εκτελούνται μόνο για λογαριασμό του root, εάν απουσιάζει). θα είναι /usr/bin/vi Και σε αυτόν τον επεξεργαστή θα δούμε τα εξής:

# /dev/da0: 8 partitions: # size offset ftype c: 254787 0 unused 0 0 # "raw" part, don't edit

Εάν δεν σκοπεύετε να τοποθετήσετε το ριζικό σύστημα αρχείων σε αυτό το τμήμα, για να δημιουργήσετε ένα μεμονωμένο διαμέρισμα, θα αρκεί να προσθέσετε (χρησιμοποιώντας τα πιο συνηθισμένα εργαλεία επεξεργασίας) μια γραμμή όπως

D: 254787 0 4.2BSD

σε περίπτωση "αποκλειστικού" δίσκου, ή

D: 254787 63 4.2BSD

για δίσκο που έχει διαμεριστεί σε λειτουργία συμβατότητας.

Και - βγείτε από το πρόγραμμα επεξεργασίας με την κανονική του εντολή, αποθηκεύοντας τις αλλαγές (στην περίπτωση του vi - :wq), σε απάντηση στις οποίες θα ενημερωθούμε ότι

Το αρχείο /tmp/EdDk.KvEGsqRNsh αποθηκεύτηκε.

Την επόμενη φορά που θα κληθεί το bsdlabel για το ίδιο slice, αλλά χωρίς επιλογές, η εικόνα θα είναι η εξής:

# /dev/da0: 8 partitions: # size offset ftype c: 254787 0 unused 0 0 # "raw" part, don't edit d: 254787 0 4.2BSD 0 0 0

Δηλαδή, μπορείτε να δείτε ότι το διαμέρισμα "εργασίας" έχει δημιουργηθεί με επιτυχία.

Για να δημιουργήσουμε πολλές κατατμήσεις, συμπεριλαμβανομένης της ρίζας και της ανταλλαγής, χρειαζόμαστε και πάλι κάποια αριθμητική παρόμοια με αυτή που χρησιμοποιείται στη διαδραστική λειτουργία του προγράμματος fdisk, δηλαδή, κάθε διαμέρισμα, που ξεκινά με a, πρέπει να λάβει την τιμή της αρχικής μετατόπισης (το το πρώτο αντιστοιχεί στο αρχικό μπλοκ ολόκληρου του κομματιού, το υπόλοιπο - το άθροισμα της μετατόπισης και το μέγεθος του προηγούμενου), το μέγεθος (και πάλι σε μπλοκ), ο τύπος συστήματος αρχείων (για κατατμήσεις "εργασίας" - 4.2BSD, για το διαμέρισμα swap - swap Τα πεδία παραμέτρων του συστήματος αρχείων μπορούν να μείνουν κενά - σε αυτήν την περίπτωση Οι παράμετροι του συστήματος αρχείων θα καθοριστούν όταν δημιουργηθεί (δηλαδή κατά τη "μορφοποίηση", με όρους DOS, το διαμέρισμα).

Σε αυτό το σημείο, το θέμα των slices και του partition μπορεί, σε μια πρώτη προσέγγιση, να θεωρηθεί κλειστό. Φυσικά, τα κατατμήματα που δημιουργήθηκαν εξακολουθούν να μην μπορούν να χρησιμοποιηθούν - πρέπει πρώτα να δημιουργηθούν συστήματα αρχείων σε αυτά. Ή, όπως το έθεσαν τα «μαρσπιέ» διαμορφώστε τα. Αυτό θα κάνουμε στο πολύ κοντινό μέλλον. Αλλά ήδη - στην επόμενη ενότητα...

Συχνά εφιστώ την προσοχή στο γεγονός ότι οι απλές ερωτήσεις συχνά καλύπτονται ελάχιστα στο Διαδίκτυο. Αυτό συμβαίνει πιθανώς επειδή όλοι οι γκουρού είναι σίγουροι ότι κανείς δεν θα κάνει ποτέ τέτοιες ηλίθιες ερωτήσεις, γιατί όλοι το γνωρίζουν αυτό. Αλλά η πρακτική μου έχει δείξει ότι ακριβώς αυτές οι μικρές απλές ερωτήσεις είναι οι πιο κοινές όχι μόνο μεταξύ αρχαρίων, αλλά και μεταξύ σοβαρών διαχειριστών που απλά δεν χρειάστηκε να ασχοληθούν με αυτό. Ακόμη και οι σοβαροί διαχειριστές δεν το κάνουν αυτό κάθε μέρα, αλλά, για να μην ξεχνιούνται, κρατούν κάποιου είδους cheat sheet για τον εαυτό τους, χωρίς να το παραδέχονται σε κανέναν. Ας τα φτιάξουμε όλα. Τώρα θα μάθετε πώς να προσθέσετε έναν σκληρό δίσκο στο FreeBSD σε 5 λεπτά. Ετσι. Αρχικά, θα δοθούν πλήρεις οδηγίες για την κατανόηση της διαδικασίας και στο τέλος θα υπάρχει μια σύντομη λίστα ενεργειών, η οποία θα περιέχει μόνο μια λίστα εντολών ως φύλλο εξαπάτησης.

Αναλυτικές οδηγίες με επεξηγήσεις

Επιλογή ονόματος σκληρού δίσκου

Πρώτα πρέπει να προσδιορίσουμε το όνομα της συσκευής που μόλις προσθέσαμε. Η ακόλουθη εντολή θα μας βοηθήσει σε αυτό:

Λίστα δίσκων Geom

Ή αυτή η εντολή:

Λίστα ελέγχου κάμερας

Σε ένα πραγματικό σύστημα, αυτές οι εντολές θα εμφανίζουν πιο χρήσιμες πληροφορίες, δηλαδή ονόματα συσκευών και σειριακούς αριθμούς.

Πριν εγκαταστήσουμε τη νέα συσκευή, γνωρίζαμε ότι το σύστημά μας ήταν εγκατεστημένο στο ada0, που σημαίνει, λογικά, ο νέος μας δίσκος είναι ο ada1. Μπορείτε να το προσδιορίσετε από το όνομα της νέας συσκευής, τον σειριακό αριθμό ή τον όγκο της.

Τώρα ας ελέγξουμε αν υπάρχει σήμανση στον νέο μας δίσκο

Gpart show ada1

Ο δίσκος δεν έχει σημάδια.

Κατάργηση υπάρχουσας σήμανσης

Εάν ο δίσκος έχει ήδη χρησιμοποιηθεί και υπάρχει ανάγκη να αφαιρέσετε διαμερίσματα από αυτόν, απλώς εκτελέστε:

Gpart καταστροφή -F ada1

Δημιουργία σήμανσης GPT

Αρχικά, πρέπει να δημιουργήσουμε ένα διαμέρισμα δίσκου. Συνιστώ ανεπιφύλακτα να ξεχάσετε το MBR και να μεταβείτε σε ένα νέο, πιο βολικό και λειτουργικό - GPT.

Δημιουργούμε σήμανση GPT στο δίσκο και, στη συνέχεια, ελέγχουμε τι συμβαίνει:

Gpart create -s gpt /dev/ada1 gpart show ada1

Τώρα ο δίσκος μας έχει κατάτμηση GPT. Από την έξοδο μπορείτε να δείτε ότι απολύτως ολόκληρος ο δίσκος, ξεκινώντας από το LBA 34 και τελειώνοντας στο LBA 8388541, είναι άδειος. LBA 0−33 - δεσμεύεται από το σύστημα για τον πίνακα διαμερισμάτων.

Ας υποθέσουμε ότι πρέπει να δημιουργήσουμε δύο διαμερίσματα σε αυτόν τον δίσκο:

  • ανταλαγή- swap partition
  • δεδομένα- ένα τμήμα του τύπου ufs για την αποθήκευση οποιωνδήποτε δεδομένων χρειαζόμαστε.

Δημιουργία ενοτήτων (φέτες)

Εάν η εγκατάσταση πραγματοποιείται σε σύγχρονους σκληρούς δίσκους με μέγεθος τομέα 4 KB, τότε πρέπει να χρησιμοποιείται ευθυγράμμιση κατά τη δημιουργία κατατμήσεων. Μπορείτε να το κάνετε αυτό με δύο τρόπους: 1) εάν καθορίσουμε τις παραμέτρους ενότητας σε μπλοκ, τότε εισάγετε τον αριθμό του μπλοκ ως πολλαπλάσιο του 8, για παράδειγμα: -β 40; 2) εάν υποδεικνύουμε το μέγεθος του διαμερίσματος σε byte ή δεν υποδεικνύουμε καθόλου την αρχή και το μέγεθος, χρησιμοποιήστε την παράμετρο -α 4κ, το οποίο θα προσαρμόσει την αρχή και το τέλος της ενότητας σε τομείς μεγέθους 4 kb. Δεδομένου ότι σε αυτό το παράδειγμα εκτελούμε μια δοκιμαστική εγκατάσταση σε έναν εικονικό σκληρό δίσκο, δεν χρειάζεται να το κάνουμε αυτό. Σε κάθε περίπτωση, πριν δημιουργήσετε διαμερίσματα, πρέπει να γνωρίζετε ακριβώς το μέγεθος τομέα της μονάδας δίσκου σας, διαφορετικά θα οδηγήσει σε τρομερές επιβραδύνσεις της εργασίας.

Τώρα ας δημιουργήσουμε τα διαμερίσματα. Για να γίνει αυτό, υπάρχει μια εντολή gpart add με διάφορες παραμέτρους. Πρώτη παράμετρος - υποδεικνύει τον τύπο του συστήματος αρχείων που δημιουργείται. Στην περίπτωσή μας, θα χρησιμοποιηθούν δύο τύποι: freebsd-swap και freebsd-ufs. Ακολουθούν δύο προαιρετικές παράμετροι: -σι- υποδεικνύει τον αριθμό LBA από τον οποίο πρέπει να δημιουργηθεί το διαμέρισμα. Εάν δεν καθορίσετε αυτήν την παράμετρο, το διαμέρισμα θα δημιουργηθεί αυτόματα από το πρώτο δωρεάν LBA. -μικρό- υποδεικνύει το μέγεθος του διαμερίσματος στο LBA. Μέγεθος ενός μπλοκ LBA = 512 byte. Συνιστάται να υποδεικνύεται ο αριθμός των μπλοκ LBA, αλλά είναι επίσης δυνατό σε kilo/mega/giga/… byte (κατάληξη k/M/G). Εάν δεν καθορίσετε αυτήν την παράμετρο, το διαμέρισμα θα δημιουργηθεί στο μέγιστο δυνατό LBA στην κενή περιοχή. Μπορείτε επίσης να καθορίσετε την ετικέτα ενότητας ως παράμετρο, για παράδειγμα: -ανταλλάσσω 1- σε αυτήν την περίπτωση, θα δημιουργηθεί η ετικέτα /dev/gpt/swap1, η οποία μπορεί να χρησιμοποιηθεί για πιο βολική πρόσβαση στο διαμέρισμα. Η τελευταία απαιτούμενη παράμετρος είναι η διαδρομή προς το δίσκο. Στην περίπτωσή μας: /dev/ada1.

Ας δημιουργήσουμε δύο κατατμήσεις και μετά δούμε τι έχουμε. Θα δημιουργήσουμε το πρώτο διαμέρισμα χωρίς να καθορίσουμε το αρχικό LBA, αλλά προσδιορίζοντας το μέγεθος του 1 GB (2097152 μπλοκ). Θα δημιουργήσουμε το δεύτερο διαμέρισμα χωρίς να καθορίσουμε το αρχικό LBA και χωρίς να καθορίσουμε το μέγεθος - έτσι θα δημιουργηθεί σε ολόκληρο τον ελεύθερο χώρο.

Gpart add -t freebsd-swap -s 2097152 /dev/ada1 gpart add -t freebsd-ufs /dev/ada1 gpart show ada1

Το μέγεθος μπορεί να καθοριστεί σε byte και όχι σε μπλοκ. Είναι πολύ πιο βολικό. Το μόνο αρνητικό είναι ότι το σύστημα δεν μπορεί πάντα να υπολογίσει σωστά τον αριθμό των μπλοκ. Ενδέχεται να υπάρχουν περιπτώσεις όπου ένας συγκεκριμένος αριθμός μπλοκ θα παραμείνει κενός στο δίσκο κατά τον καθορισμό του μεγέθους του διαμερίσματος σε byte.

Δημιουργία συστήματος αρχείων (μορφοποίηση)

Δεν χρειάζεται να μορφοποιήσετε κατατμήσεις swap. Αλλά κατατμήσεις όπως το uf πρέπει να διαμορφωθούν πριν από τη χρήση. Θα ήταν πιο σωστό να πούμε: θα πρέπει να δημιουργηθεί ένα σύστημα αρχείων σε αυτά.

Για να δημιουργήσετε ένα σύστημα αρχείων στο δεύτερο διαμέρισμα, απλώς εκτελέστε την ακόλουθη εντολή:

Newfs -U /dev/ada1p2

Σε αυτήν την περίπτωση, χρησιμοποιήθηκε η παράμετρος -U - υποδηλώνει ότι ο μηχανισμός Soft Updates θα πρέπει να χρησιμοποιείται σε αυτό το σύστημα αρχείων. Μπορείτε να παραλείψετε αυτήν την επιλογή για να αποφύγετε την ενεργοποίηση αυτού του μηχανισμού.

Βάση

Το επόμενο βήμα είναι η τοποθέτηση των κατατμήσεων. Αρχικά, για να μην ξεχνιόμαστε, ας προσθέσουμε τις νέες μας ενότητες στο /etc/fstab. Το αρχείο μου μετά την επεξεργασία μοιάζει με αυτό:

Για να προσαρτήσετε ξανά όλα τα διαμερίσματα σύμφωνα με το αρχείο /etc/fstab, απλώς εκτελέστε την εντολή:

Όρος -α

Όπως μπορείτε να δείτε από την έξοδο, το διαμέρισμα /dev/ada1p2 είναι προσαρτημένο. Τώρα ας δούμε τι συνέβη με την ενότητα SWAP. Ας εκτελέσουμε την εντολή:

Όπως μπορείτε να δείτε, το νέο διαμέρισμα SWAP δεν έχει προσαρτηθεί. Για να προσαρτηθεί το SWAP, πρέπει να το ενεργοποιήσετε με μια ειδική εντολή:

Εναλλαγή /dev/ada1p1

Με τον ίδιο τρόπο, χρησιμοποιώντας την εντολή swapoff, πρέπει να απενεργοποιήσετε το διαμέρισμα SWAP πριν εκτελέσετε οποιεσδήποτε ενέργειες σε αυτό.

Αυτό ολοκληρώνει όλα τα βήματα για την προσθήκη νέου σκληρού δίσκου στο σύστημα.

Σύντομες οδηγίες

Δεδομένος: σκληρός δίσκος /dev/ada1

Στόχος: Διαγράψτε το υπάρχον διαμέρισμα, δημιουργήστε ένα νέο διαμέρισμα GPT, δημιουργήστε δύο διαμερίσματα: swap και data και συνδέστε τα στο λειτουργικό σύστημα.

Μετά από κάθε ενέργεια, κάντε εκπομπή gpartγια να παρατηρήσετε το αποτέλεσμα. Ακολουθία ενεργειών:

  1. Καταργήστε το υπάρχον διαμέρισμα: gpart καταστρέφει -F ada1
  2. Δημιουργήστε ένα νέο διαμέρισμα: gpart create -s gpt /dev/ada1
  3. Δημιουργήστε δύο διαμερίσματα: swap και δεδομένα: gpart add -t freebsd-swap -s 2097152 /dev/ada1 gpart add -t freebsd-ufs /dev/ada1
  4. Δημιουργήστε ένα σύστημα αρχείων UFSv2στο δεύτερο διαμέρισμα: newfs -U /dev/ada1p2
  5. Προσθέστε γραμμές στο αρχείο /etc/fstab για αυτόματη προσάρτηση κατά την εκκίνηση: /dev/ada1p1 καμία swap sw 0 0 /dev/ada1p2 /mnt ufs rw 2 2
  6. Προσάρτηση νέου διαμερίσματος (η εντολή προσαρτά όλα τα διαμερίσματα από το αρχείο /etc/fstab): mount -a
  7. Ενεργοποιήστε το νέο διαμέρισμα ανταλλαγής με την εντολή: swapon /dev/ada1p1

Αυτό ολοκληρώνει τη ρύθμιση.

Εγκαταστήστε το FreeBSD 10 σε λίγα λεπτά (βήμα προς βήμα εγκατάσταση)

Το FreeBSD είναι ένα δωρεάν λειτουργικό σύστημα. Μια σύγχρονη τροποποίηση του UNIX. Ένα από τα πιο αξιόπιστα συστήματα, ιδανικό για τη διαχείριση ενός τοπικού δικτύου, όπως διακομιστή πρόσβασης, διακομιστή αλληλογραφίας, διακομιστή αρχείων, διακομιστή ονομάτων και πολλά άλλα. Δεν είναι καθόλου τυχαίο ότι το Mac OS δημιουργήθηκε τελικά στη βάση του. Είναι επίσης δυνατό να εγκαταστήσετε ένα γραφικό κέλυφος ή να χρησιμοποιήσετε μια έτοιμη λύση για το έργο PCBSD.

1. Επιλογή διανομής, προετοιμασία μέσων εγκατάστασης
2. Έναρξη εγκατάστασης, κατάτμηση δίσκου
3. Επιλογή και εγκατάσταση εξαρτημάτων

Το FreeBSD είναι κατά κύριο λόγο ένα σύστημα δικτύου και για καλύτερη απόδοση δεν έχει (από προεπιλογή) γραφικό κέλυφος. Η όλη ουσία της εργασίας σε αυτό το σύστημα έγκειται στην επεξεργασία των απαραίτητων αρχείων, στην εγκατάσταση προγραμμάτων, στην ενεργοποίηση λειτουργιών και στην πληκτρολόγηση εντολών.

Και όταν διαμορφώσετε το σύστημα για να ταιριάζει στις ανάγκες σας, δεν θα σας απογοητεύσει. Προσωπικά, κατά τη διάρκεια της εργασίας μου (2 χρόνια), δεν παρατήρησα καμία αστοχία, δυσλειτουργία ή φορτίο στον εξοπλισμό.

Επιλογή διανομής, προετοιμασία μέσων εγκατάστασης

Στον επίσημο ιστότοπο μπορείτε να επιλέξετε την έκδοση του λειτουργικού συστήματος, το βάθος bit και την πλατφόρμα (amd64, i386, powerpc, sparc)

Αφού επιλέξετε την πλατφόρμα, θα ανοίξει μια λίστα με τις επιλογές εγκατάστασης (CD, DVD, διακομιστές FTP, MS DOS, δισκέτες και ακόμη και μαγνητικές ταινίες).

Φυσικά, είναι καλύτερο να μην "παίζετε με ντέφι" και να κάνετε λήψη του κιτ διανομής για δίσκους CD ή DVD και να εγγράψετε το δίσκο εγκατάστασης χρησιμοποιώντας τα προγράμματα: Alcohol120%, UltraISO ή οποιοδήποτε άλλο πρόγραμμα για την εγγραφή ενός δίσκου εγκατάστασης.

Έναρξη εγκατάστασης, κατάτμηση δίσκου

Κάνουμε εκκίνηση από τη δισκέτα εγκατάστασης και ξεκινά το μενού του FreeBSD bootloader. Μπορείτε να περιμένετε 10 δευτερόλεπτα για να ξεκινήσει αυτόματα το πρόγραμμα εγκατάστασης ή μπορείτε να κάνετε κλικ Εισάγωή 1.

Στην οθόνη θα εμφανιστούν πολλές γραμμές συγκεκριμένου εξοπλισμού. Μπορείτε να το δείτε κάνοντας κλικ στο κουμπί Κλείδωμα κύλισης, κύλιση σελίδων χρησιμοποιώντας κουμπιά PageUp και PageDown.

Μετά την αναγνώριση και τη δοκιμή του υλικού, θα εμφανιστεί το παράθυρο υποδοχής εγκατάστασης του FreeBSD. Κλικ Εγκαθιστώ


Στο παράθυρο επιλογής διάταξης πληκτρολογίου, αφήστε την προεπιλογή ή επιλέξτε μια κατάλληλη διάταξη.



έγγρ- τεκμηρίωση για το σύστημα

παιχνίδια- παιχνίδια

λιμάνια- θύρες για εγκατάσταση προγραμμάτων

src- πυρήνας συστήματος

Συνήθως αφήνω μόνο το src, καθώς δεν χρειάζομαι τεκμηρίωση, παιχνίδια, θα εγκαταστήσουμε και θα ενημερώσουμε θύρες μετά την εγκατάσταση του συστήματος, αφού η πιο πρόσφατη έκδοση ενημερώνεται μέσω Διαδικτύου. Ο πυρήνας μπορεί επίσης να εγκατασταθεί αργότερα.


Αποφασίζουμε για τις φέτες (έτσι ονομάζονται τα διαμερίσματα στο FreeBSD) του σκληρού δίσκου. Μπορούμε να επιλέξουμε την αυτόματη δημιουργία κατατμήσεων ή να δημιουργήσουμε μόνοι μας τα διαμερίσματα που χρειαζόμαστε.


Ο επεξεργαστής ενότητας δημιούργησε αυτόματα τρεις περιοχές:

ada0p1 512KB freebsd-boot- περιοχή bootloader. Αυτό είναι αρκετό, δεν χρειάζεται άλλο

ada0p2 19 GB freebsd-ufs/- ριζικό διαμέρισμα του λειτουργικού συστήματος. Όλος ο χώρος που απομένει είναι για το σύστημα και τα αρχεία με τα οποία θα εργαστείτε. Στην πραγματικότητα, χρειάζεται μόνο 1 GB μνήμης, με την προϋπόθεση ότι θα δημιουργηθούν άλλα διαμερίσματα και θα γίνει μόνο εργασία σε αυτά.

Για ειδικούς:Είναι σύνηθες να δημιουργείτε και άλλα διαμερίσματα εκτός από ένα ριζικό διαμέρισμα:

/var- περιέχει προσωρινά και συνεχώς μεταβαλλόμενα αρχεία, αρχεία καταγραφής.

/usr- περιέχει αρχεία με εγκατεστημένα προγράμματα και άλλα πράγματα.

/δεδομένα- σε αυτήν την ενότητα είχα αρχεία ιστότοπου, για παράδειγμα.

ada0p3 1,0 GB freebsd-swap κανένα- swap αρχείο. Το μέγεθός του εξαρτάται από την ποσότητα της μνήμης RAM. Εάν δεν είναι αρκετό, ας πούμε 1 GB, τότε συνιστάται να ρυθμίσετε το αρχείο swap σε διπλάσιο μέγεθος. Εάν υπάρχει πολλή μνήμη RAM, τότε το αρχείο σελιδοποίησης μπορεί να οριστεί ίσο με την ποσότητα της μνήμης RAM, ή ακόμα και λιγότερο.


Πατήστε το κουμπί Φινίρισμα, επιβεβαιώστε τις αποδεκτές αλλαγές Διαπράττωκαι ξεκινά η εγκατάσταση του συστήματος FreeBSD.


Μετά την εγκατάσταση, θα σας ζητηθεί να εισαγάγετε τον κωδικό πρόσβασής σας δύο φορές. Οι χαρακτήρες που εισάγετε δεν εμφανίζονται.


Επιλογή και εγκατάσταση εξαρτημάτων

Μετά από αυτό, θα σας ζητηθεί να διαμορφώσετε τις κάρτες δικτύου για πρόσβαση στο δίκτυο. Σε αντίθεση με το Linux, όπου καλείται οποιαδήποτε κάρτα δικτύου eth, στο FreeBSD, η κάρτα δικτύου μπορεί να ονομάζεται διαφορετικά, ανάλογα με τον κατασκευαστή.


Επιλέγουμε την έκδοση του πρωτοκόλλου Internet, την τέταρτη έκδοση του IPv4 ή την έκτη έκδοση του IPv6. Στη συνέχεια διαμορφώνετε το δίκτυο μέσω DHCP ή καταχωρείτε τη διεύθυνση IP, τη μάσκα υποδικτύου και την πύλη.


Ρυθμίζουμε την ώρα ανάλογα με την ώρα του τοπικού μηχανήματος ή επιλέγουμε τη ζώνη ώρας μας.


Επιλέγουμε τις υπηρεσίες που θα ξεκινήσουν κατά την εκκίνηση του FreeBSD. Αφήστε ως προεπιλογή.


Μπορείτε να προσθέσετε επιπλέον χρήστες, να τους εκχωρήσετε δικαιώματα και τους καταλόγους τους. Μπορείτε να τα κάνετε όλα αυτά αργότερα.


Η εγκατάσταση πλησιάζει στην ολοκλήρωση και μπορεί να θέλετε να διαμορφώσετε εκ νέου ή να προσαρμόσετε ορισμένες ρυθμίσεις πριν την ολοκλήρωση.



Ερωτήσεις;

Αναφέρετε ένα τυπογραφικό λάθος

Κείμενο που θα σταλεί στους συντάκτες μας: