Μάθετε την εντολή Linux - fdisk

Ονομα

fdisk - χειριστής πίνακα διαμερισμάτων για Linux

Σύνοψη

fdisk [-u] [-b τομείς ] [-C- κυψέλες ] [-Η κεφάλια ] [-S αιτήσεις ] συσκευή

fdisk -l [-u] [ συσκευή ... ]

fdisk -s διαμέρισμα ...

fdisk -v

Περιγραφή

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

Στον κόσμο του BSD μιλάμε για 'φέτες δίσκου' και 'disklabel'.

Το Linux χρειάζεται τουλάχιστον ένα διαμέρισμα, δηλαδή το σύστημα αρχείων ρίζας του. Μπορεί να χρησιμοποιήσει αρχεία ανταλλαγής ή / και swap κατατμήσεις, αλλά τα τελευταία είναι πιο αποτελεσματικά. Έτσι, συνήθως κάποιος θα θέλει ένα δεύτερο διαμέρισμα Linux αφιερωμένο ως διαμέρισμα swap. Σε υλικό συμβατό με Intel, το BIOS που εκκινεί το σύστημα μπορεί συχνά να έχει πρόσβαση μόνο στους πρώτους 1024 κυλίνδρους του δίσκου. Για το λόγο αυτό, τα άτομα με μεγάλους δίσκους συχνά δημιουργούν ένα τρίτο διαμέρισμα, μόνο μερικά MB, συνήθως τοποθετημένα στην / boot , για να αποθηκεύουν την εικόνα του πυρήνα και μερικά βοηθητικά αρχεία που χρειάζονται κατά την εκκίνηση, ώστε να βεβαιωθείτε ότι αυτά τα στοιχεία είναι πρόσβαση στο BIOS. Μπορεί να υπάρχουν λόγοι ασφαλείας, ευκολία διαχείρισης και δημιουργίας αντιγράφων ασφαλείας ή δοκιμές, για να χρησιμοποιηθεί περισσότερο από τον ελάχιστο αριθμό διαμερισμάτων.

Λύστε προβλήματα εκτύπωσης, εξοικονομήστε χρόνο με το λογισμικό διαχείρισης ουράς εκτύπωσης.

Το fdisk (στην πρώτη μορφή κλήσης) είναι ένα πρόγραμμα μενού που καθοδηγείται από το μενού για τη δημιουργία και τον χειρισμό των πινάκων διαμερισμάτων. Κατανοεί πίνακες κατατμήσεων τύπου DOS και disklabels τύπου BSD ή SUN.

Η συσκευή είναι συνήθως μία από τις ακόλουθες:

/ dev / hda / dev / hdb / dev / sda / dev / sdb

(/ dev / hd [ah] για δίσκους IDE, / dev / sd [ap] για δίσκους SCSI, / dev / ed [ad] για δίσκους ESDI, / dev / xd [ab] για δίσκους XT). Ένα όνομα συσκευής αναφέρεται σε ολόκληρο το δίσκο.

Το διαμέρισμα είναι ένα όνομα συσκευής που ακολουθείται από έναν αριθμό διαμερίσματος. Για παράδειγμα, το / dev / hda1 είναι το πρώτο διαμέρισμα στον πρώτο IDE σκληρό δίσκο στο σύστημα. Οι δίσκοι μπορούν να έχουν έως και 15 διαμερίσματα. Δείτε επίσης /usr/src/linux/Documentation/devices.txt .

Ένας τύπος disklabel τύπου BSD / SUN μπορεί να περιγράψει 8 διαμερίσματα, το τρίτο από τα οποία θα πρέπει να είναι ένα διαμέρισμα «ολόκληρου δίσκου». Μην ξεκινήσετε ένα διαμέρισμα που χρησιμοποιεί τον πρώτο τομέα του (όπως ένα διαμέρισμα swap) στον κύλινδρο 0, αφού αυτό θα καταστρέψει το disklabel.

Ένα disklabel τύπου IRIX / SGI μπορεί να περιγράψει 16 διαμερίσματα, το ενδέκατο από τα οποία θα πρέπει να είναι ένα ολόκληρο partition `volume ', ενώ το ένατο θα πρέπει να φέρει την ένδειξη` header header'. Η κεφαλίδα του όγκου θα καλύπτει επίσης τον πίνακα κατατμήσεων, δηλ. Ξεκινά από το μπλοκ μηδέν και επεκτείνεται από προεπιλογή σε πέντε κυλίνδρους. Ο υπολειπόμενος χώρος στην κεφαλίδα του τόμου μπορεί να χρησιμοποιηθεί από τις καταχωρήσεις καταλόγου κεφαλίδων. Κανένα διαμέρισμα δεν μπορεί να επικαλύπτεται με την κεφαλίδα του τόμου. Επίσης, μην αλλάζετε τον τύπο του και κάνετε κάποιο σύστημα αρχείων σε αυτό, καθώς θα χάσετε τον πίνακα διαμερισμάτων. Χρησιμοποιήστε αυτόν τον τύπο ετικέτας μόνο όταν εργάζεστε με Linux σε μηχανήματα IRIX / SGI ή δίσκους IRIX / SGI κάτω από το Linux.

Ένας πίνακας διαμερίσματος τύπου DOS μπορεί να περιγράψει έναν απεριόριστο αριθμό χωρισμάτων. Στον τομέα 0 υπάρχει περιθώριο για την περιγραφή 4 διαμερισμάτων (που ονομάζονται `primary '). Ένα από αυτά μπορεί να είναι ένα εκτεταμένο διαμέρισμα. αυτό είναι ένα κουτί που περιέχει λογικά χωρίσματα, με περιγραφείς που βρίσκονται σε μια συνδεδεμένη λίστα τομέων, καθένα από τα οποία προηγείται των αντίστοιχων λογικών διαμερισμάτων. Τα τέσσερα κύρια τμήματα, παρόντα ή όχι, παίρνουν τους αριθμούς 1-4. Τα λογικά διαμερίσματα ξεκινούν από 5.

Σε έναν πίνακα κατανομής τύπου DOS, η εκκίνηση εκκίνησης και το μέγεθος κάθε διαμερίσματος αποθηκεύονται με δύο τρόπους: ως απόλυτος αριθμός τομέων (δίνεται σε 32 bits) και ως κύλινδροι / κεφαλές / τομείς τριπλό (που δίνεται σε 10 + 8 + 6 bits). Ο πρώτος είναι ΟΚ - με 512-byte τομείς αυτό θα λειτουργήσει μέχρι 2 TB. Το τελευταίο έχει δύο διαφορετικά προβλήματα. Πρώτα απ 'όλα, αυτά τα πεδία C / H / S μπορούν να πληρωθούν μόνο όταν είναι γνωστός ο αριθμός κεφαλών και ο αριθμός τομέων ανά διαδρομή. Δεύτερον, ακόμη και αν γνωρίζουμε τι πρέπει να είναι αυτοί οι αριθμοί, τα διαθέσιμα 24 bits δεν αρκούν. Το DOS χρησιμοποιεί μόνο C / H / S, τα Windows χρησιμοποιούν και τα δύο, το Linux δεν χρησιμοποιεί ποτέ C / H / S.

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

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

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

Ορισμένες εκδόσεις του MS-DOS δημιουργούν ένα πρώτο διαμέρισμα που δεν ξεκινά από ένα όριο κυλίνδρου, αλλά στον τομέα 2 του πρώτου κυλίνδρου. Τα χωρίσματα που ξεκινούν από τον κύλινδρο 1 δεν μπορούν να ξεκινούν από ένα όριο των κυλίνδρων, αλλά αυτό είναι απίθανο να προκαλέσει δυσκολία εκτός αν έχετε OS / 2 στο μηχάνημά σας.

Ένας συγχρονισμός () και ένας BLKRRPART ioctl () (επανάληψη πίνακα διαμερισμάτων από το δίσκο) εκτελούνται πριν από την έξοδο όταν έχει ενημερωθεί ο πίνακας διαμερισμάτων. Πολύ παλιά ήταν απαραίτητο να γίνει επανεκκίνηση μετά τη χρήση του fdisk. Δεν νομίζω ότι αυτό συμβαίνει πια - πράγματι, η επανεκκίνηση πολύ γρήγορα θα μπορούσε να προκαλέσει την απώλεια μη-ακόμη γραμμένων δεδομένων. Σημειώστε ότι τόσο ο πυρήνας όσο και το υλικό του δίσκου ενδέχεται να αποθηκεύουν δεδομένα.

Dos 6.x Προειδοποίηση

Η εντολή DOS 6.x FORMAT αναζητά ορισμένες πληροφορίες στον πρώτο τομέα της περιοχής δεδομένων του διαμερίσματος και αντιμετωπίζει αυτές τις πληροφορίες ως πιο αξιόπιστες από τις πληροφορίες στον πίνακα διαμερισμάτων. Το DOS FORMAT αναμένει από το DOS FDISK να εκκαθαρίσει τα πρώτα 512 bytes της περιοχής δεδομένων ενός διαμερίσματος κάθε φορά που εμφανίζεται μια αλλαγή μεγέθους. Το DOS FORMAT θα εξετάσει αυτές τις πρόσθετες πληροφορίες, ακόμη και αν έχει δοθεί η σημαία / U - θεωρούμε αυτό ένα σφάλμα στο DOS FORMAT και στο DOS FDISK.

Η κατώτατη γραμμή είναι ότι αν χρησιμοποιείτε το cfdisk ή το fdisk για να αλλάξετε το μέγεθος μιας καταχώρησης πίνακα κατατμήσεων DOS, τότε πρέπει επίσης να χρησιμοποιήσετε το dd για να μηδενίσετε τα πρώτα 512 byte του διαμερίσματος πριν χρησιμοποιήσετε το DOS FORMAT για να μορφοποιήσετε το διαμέρισμα. Για παράδειγμα, εάν χρησιμοποιούσατε το cfdisk για να δημιουργήσετε μια καταχώρηση πίνακα κατανομής DOS για το / dev / hda1, τότε (μετά την έξοδο από το fdisk ή το cfdisk και την επανεκκίνηση του Linux έτσι ώστε οι πληροφορίες του πίνακα κατατμήσεων να είναι έγκυρες) θα χρησιμοποιήσατε την εντολή "dd if = dev / μηδέν = = / dev / hda1 bs = 512 count = 1 "έως το μηδέν των πρώτων 512 byte του διαμερίσματος.

ΕΙΝΑΙ ΕΞΑΙΡΕΤΙΚΑ ΠΡΟΣΟΧΗ αν χρησιμοποιείτε την εντολή dd , αφού ένα μικρό τυπογραφικό λάθος μπορεί να κάνει άχρηστα όλα τα δεδομένα στο δίσκο σας.

Για βέλτιστα αποτελέσματα, θα πρέπει πάντα να χρησιμοποιείτε ένα συγκεκριμένο πρόγραμμα πίνακα διαμερισμάτων. Για παράδειγμα, πρέπει να δημιουργήσετε διαμερίσματα DOS με το πρόγραμμα DOS FDISK και τα διαμερίσματα Linux με το πρόγραμμα fdisk Linux ή cfdisk του Linux.

Επιλογές

-β τον τομέα

Καθορίστε το μέγεθος τομέα του δίσκου. Οι έγκυρες τιμές είναι 512, 1024 ή 2048. (Οι πρόσφατοι πυρήνες γνωρίζουν το μέγεθος του τομέα. Χρησιμοποιήστε αυτό μόνο σε παλιούς πυρήνες ή για να αντικαταστήσετε τις ιδέες του πυρήνα.)

-C- κύλινδροι

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

κεφαλή

Καθορίστε τον αριθμό των κεφαλιών του δίσκου. (Όχι ο φυσικός αριθμός, φυσικά, αλλά ο αριθμός που χρησιμοποιείται για πίνακες διαμερισμάτων.) Οι εύλογες τιμές είναι 255 και 16.

-Οι αιρέσεις

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

-μεγάλο

Καταχωρίστε τους πίνακες κατατμήσεων για τις συγκεκριμένες συσκευές και, στη συνέχεια, πραγματοποιήστε έξοδο. Εάν δεν δίδονται συσκευές, χρησιμοποιούνται εκείνες που αναφέρονται στο / proc / διαμερίσματα (αν υπάρχει).

-u

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

-s διαμέρισμα

Το μέγεθος του διαμερίσματος (σε μπλοκ) εκτυπώνεται στην τυπική έξοδο.

-v

Αριθμός έκδοσης εκτύπωσης του προγράμματος fdisk και έξοδος.