Η εντολή Linux — fdisk
Το fdisk είναι μια γραμμή εντολών χώρισμα πρόγραμμα επεξεργασίας που σας επιτρέπει να δημιουργείτε, να επεξεργάζεστε και να διαχειρίζεστε τα διαμερίσματα στους σκληρούς δίσκους του υπολογιστή σας από τη γραμμή εντολών. Υπάρχουν και άλλα παρόμοια εργαλεία, όπως το cfdisk και το parted, αλλά το fdisk είναι εύκολα το πιο καθολικό και ίσως το πιο απλό.
Ακόμα κι αν δεν σκοπεύετε να το χρησιμοποιείτε τακτικά, είναι καλό για οποιονδήποτε χρήστη Linux να έχει μια γενική ιδέα για το πώς να εργαστεί με fdisk, καθώς είναι μια εξαιρετική εναλλακτική όταν οι επιλογές γραφικών δεν είναι διαθέσιμες και πιθανότατα είναι ήδη στο Linux σας Σύστημα.

Διαμερισμός μονάδας δίσκου με fdisk
Αυτός ο οδηγός πρόκειται να σας καθοδηγήσει στα βασικά για τη διαμέριση ενός σκληρού δίσκου με fdisk. Αυτό είναι ένα απλό αλλά ισχυρό εργαλείο που προσφέρει πολλές επιλογές για τη διαχείριση των δίσκων σας. Για μια πιο ολοκληρωμένη τεχνική ανάλυση, ανατρέξτε στο τεχνικό εγχειρίδιο στο τέλος του οδηγού.
Η κατάτμηση του σκληρού σας δίσκου θα διαγράψει όλα τα δεδομένα σε αυτόν. Φροντίστε να δημιουργήσετε αντίγραφα ασφαλείας των δεδομένων σας ή να εργαστείτε με μια κενή μονάδα δίσκου.
-
Ξεκινήστε ανακαλύπτοντας την τοποθεσία σας σκληρός δίσκος. Μπορείτε να δοκιμάσετε:
ls /dev.
Στη συνέχεια, προσπαθήστε να καταλάβετε ποια μονάδα δίσκου είναι. Η κύρια μονάδα δίσκου σας είναι πιθανώς /dev/sda, αλλά θα πρέπει να βεβαιωθείτε.
Μπορείτε επίσης να ρίξετε μια ματιά στο /etc/fstab για να δείτε ποιες μονάδες δίσκου έχουν τοποθετηθεί πού. Εάν σας δίνει αριθμούς UUID, μπορείτε να αναζητήσετε το UUID κάθε διαμερίσματος και να δείτε ποιοι ταιριάζουν.
sudo blkid /dev/sda1.
-
Στη συνέχεια, παραθέστε τον τρέχοντα πίνακα διαμερισμάτων στη μονάδα χρησιμοποιώντας το -μεγάλο σημαία. Αντικαταστήστε το "/dev/sda" με την πραγματική μονάδα δίσκου σας.
sudo fdisk -l /dev/sda.
Εάν εργάζεστε με μια κενή μονάδα δίσκου, δεν θα πρέπει να υπάρχουν πολλά.
-
Εκτελέστε ξανά την εντολή fdisk. Αυτή τη φορά, χωρίς καμία σημαία. Αυτό θα σας φέρει στην κονσόλα fdisk.
sudo fdisk /dev/sda.
-
Μόλις βρεθείτε στην κονσόλα fdisk, μπορείτε να ξεκινήσετε να εργάζεστε με τα κατατμήματά σας. Αρχικά, εάν θέλετε να καταχωρίσετε τα διαμερίσματα όπως πριν, μπορείτε να εισαγάγετε το Π κλειδί.
Π.
-
Στη συνέχεια, χρησιμοποιήστε το n κλειδί για να δημιουργήσετε ένα νέο διαμέρισμα.
n.
-
Στη συνέχεια, η ερώτηση θα σας ρωτήσει εάν θέλετε να κάνετε πρωτεύον ή εκτεταμένο διαμέρισμα. Επιλέγω Π(πρωταρχικός).
Π.
-
Επιλέξτε έναν αριθμό διαμερίσματος. Η προεπιλογή είναι 1, για το πρώτο διαμέρισμα, χρησιμοποιήστε το λοιπόν.
1.
-
Στη συνέχεια, θα σας ζητήσει να επιλέξετε τον πρώτο τομέα. Μην ανησυχείτε πολύ για αυτό. Απλά πατήστε Εισαγω για την προεπιλογή.
-
Η επόμενη προτροπή θα σας επιτρέψει να επιλέξετε το μέγεθος του διαμερίσματός σας. Μπορείτε να καθορίσετε το μέγεθος του διαμερίσματος είτε σε megabyte (M) είτε σε gigabyte (G). Αν υποθέσουμε ότι ρυθμίζετε μια μονάδα δίσκου για να εγκαταστήσετε το Linux, το 512M είναι ένα καλό μέρος για να ξεκινήσετε για ένα διαμέρισμα εκκίνησης.
+512 εκ.
-
Μόλις γίνει αυτό, μπορείτε να προβάλετε ξανά το νέο σας διαμέρισμα με το Π κλειδί.
-
Εάν σκοπεύετε να χρησιμοποιήσετε το νέο σας διαμέρισμα ως διαμέρισμα εκκίνησης, θα πρέπει να ενεργοποιήσετε τη σημαία εκκίνησης. Κάντε το πατώντας ένα. Στη συνέχεια, εάν σας ζητηθεί, εισαγάγετε τον αριθμό διαμερίσματος. Εάν αυτό είναι το μόνο στη μονάδα δίσκου σας, είναι 1.
ένα
1. Τώρα, μπορείτε να δημιουργήσετε τα άλλα διαμερίσματα στη μονάδα δίσκου σας. Ξεκινήστε εισάγοντας n πάλι.
Τύπος 1 και πάλι για ένα πρωτεύον διαμέρισμα.
Χρησιμοποιήστε τον προεπιλεγμένο αριθμό διαμερίσματος. Αν ξεκινάτε φρέσκα, είναι 2.
Χρησιμοποιήστε επίσης τον προεπιλεγμένο πρώτο τομέα. Θα ξεκινήσει αμέσως μετά το προηγούμενο διαμέρισμα. Τύπος Εισαγω να συνεχίσει.
-
Για άλλη μια φορά, επιλέξτε το μέγεθος της μονάδας δίσκου σας. Αν θέλετε να ρυθμίσετε ένα διαμέρισμα root με ξεχωριστό οικιακό διαμέρισμα, κάτι σαν +20G θα λειτουργήσει καλά. Εάν θέλετε να καταλάβετε τον υπόλοιπο διαθέσιμο χώρο, απλώς πατήστε Εισαγω.
+20 γρ.
-
Επαναλάβετε αυτά τα βήματα για κάθε νέο διαμέρισμα που θέλετε να δημιουργήσετε στη μονάδα δίσκου. Όταν τελειώσετε, πατήστε w για να γράψετε τον πίνακα διαμερισμάτων στη μονάδα δίσκου.
w.
-
Τώρα, μπορείτε να χρησιμοποιήσετε την εντολή mkfs για να μορφοποιήσετε τα διαμερίσματα προς χρήση. Για τα περισσότερα συστήματα Linux, το σύστημα αρχείων EXT4 είναι αυτό που θέλετε, επομένως μπορείτε να εκτελέσετε το ακόλουθο σύνολο εντολών για να ρυθμίσετε τα διαμερίσματα σας. Αυτό προϋποθέτει ότι εργάζεστε στο /dev/sda και ότι έχετε ρυθμίσει ξεχωριστά διαμερίσματα home και root.
sudo mkfs.ext4 /dev/sda1
sudo mkfs.ext4 /dev/sda2
sudo mkfs.ext4 /dev/sda3. Η μονάδα δίσκου που διαμερίστηκε πρόσφατα και διαμορφώθηκε είναι έτοιμη για χρήση. Εάν παρακολουθείτε, μπορείτε να εγκαταστήσετε και να εκτελέσετε μια διανομή Linux όπως Arch Linux εκτός των κατατμήσεων που μόλις δημιουργήσατε.
Σύνοψη του Fdisk
Ακολουθεί μια τεχνική ανάλυση του fdisk και των επιλογών και των δυνατοτήτων του:
fdisk [-u] [-b τοµέα][-ΝΤΟ κυλίνδρους] [-Η κεφάλια] [-S αιρέσεις] συσκευή
fdisk -l [-u] [συσκευή...]
fdisk -s κατάτμηση...
fdisk -v
Fdisk και Partitions
Οι σκληροί δίσκοι μπορούν να χωριστούν σε έναν ή περισσότερους λογικούς δίσκους που ονομάζονται χωρίσματα. Αυτή η διαίρεση περιγράφεται στο πίνακας χωρισμάτων που βρίσκεται στον τομέα 0 του δίσκου.
Στον κόσμο του BSD, κάποιος μιλά για «φέτες δίσκου» και «δισκέτα».
Το Linux χρειάζεται τουλάχιστον ένα διαμέρισμα, δηλαδή για το root του σύστημα αρχείων. Μπορεί να χρησιμοποιήσει αρχεία swap ή/και swap partitions, αλλά το τελευταίο είναι πιο αποτελεσματικό. Έτσι, συνήθως κάποιος θα θέλει ένα δεύτερο διαμέρισμα Linux αφιερωμένο ως διαμέρισμα ανταλλαγής.
Σε υλικό συμβατό με Intel, το BIOS που εκκινεί το σύστημα μπορεί συχνά να έχει πρόσβαση μόνο στους πρώτους 1024 κυλίνδρους του δίσκου. Για αυτόν τον λόγο, τα άτομα με μεγάλους δίσκους συχνά δημιουργούν ένα τρίτο διαμέρισμα, με μέγεθος μόλις μερικά MB, συνήθως τοποθετημένο σε /boot, για να αποθηκεύσετε την εικόνα του πυρήνα και μερικά βοηθητικά αρχεία που χρειάζονται κατά την εκκίνηση, έτσι ώστε να βεβαιωθείτε ότι αυτό το υλικό είναι προσβάσιμο στο BIOS.
Μπορεί να υπάρχουν λόγοι ασφάλειας, ευκολίας διαχείρισης και δημιουργίας αντιγράφων ασφαλείας ή δοκιμής για χρήση περισσότερων από τον ελάχιστο αριθμό κατατμήσεων.
Πώς λειτουργεί το Fdisk
fdisk (στην πρώτη μορφή επίκλησης) είναι ένα πρόγραμμα που βασίζεται σε μενού για τη δημιουργία και τη διαχείριση πινάκων διαμερισμάτων. Κατανοεί πίνακες διαμερισμάτων τύπου DOS και ετικέτες δίσκου τύπου BSD ή SUN.
ο συσκευή είναι συνήθως ένα από τα ακόλουθα:
- /dev/hda /dev/hdb /dev/sda /dev/sdb
- (/dev/hd[a-h] για δίσκους IDE, /dev/sd[a-p] για δίσκους SCSI, /dev/ed[a-d] για δίσκους ESDI, /dev/xd[ab] για δίσκους XT).
(Το όνομα της συσκευής αναφέρεται σε ολόκληρο το δίσκο.)
ο χώρισμα είναι ένα συσκευή όνομα ακολουθούμενο από έναν αριθμό διαμερίσματος. Για παράδειγμα, /dev/hda1 είναι το πρώτο διαμέρισμα στον πρώτο σκληρό δίσκο IDE του συστήματος. Οι δίσκοι μπορούν να έχουν έως και 15 κατατμήσεις. Δείτε επίσης/usr/src/linux/Documentation/devices.txt.
Ετικέτα δίσκου τύπου BSD/SUN
Μια ετικέτα δίσκου τύπου BSD/SUN μπορεί να περιγράψει 8 διαμερίσματα, το τρίτο από τα οποία θα πρέπει να είναι ένα διαμέρισμα «ολόκληρο το δίσκο». Μην ξεκινήσετε ένα διαμέρισμα που χρησιμοποιεί πραγματικά τον πρώτο του τομέα (όπως ένα διαμέρισμα ανταλλαγής) στον κύλινδρο 0, καθώς αυτό θα καταστρέψει την ετικέτα δίσκου.
RIX/SGI-Type Disklabel
Μια ετικέτα δίσκου τύπου IRIX/SGI μπορεί να περιγράψει 16 κατατμήσεις, το ενδέκατο από τα οποία θα πρέπει να είναι ένα ολόκληρο διαμέρισμα «τόμου» ενώ το ένατο θα πρέπει να είναι με την ένδειξη "κεφαλίδα τόμου". Η κεφαλίδα τόμου θα καλύπτει επίσης τον πίνακα διαμερισμάτων, δηλαδή ξεκινά από το μπλοκ μηδέν και εκτείνεται από προεπιλογή σε πέντε κυλίνδρους. Ο χώρος που απομένει στην κεφαλίδα τόμου μπορεί να χρησιμοποιηθεί από καταχωρήσεις καταλόγου κεφαλίδων.
Δεν επιτρέπεται η επικάλυψη διαμερισμάτων με την κεφαλίδα του τόμου. Επίσης μην αλλάξετε τον τύπο του και φτιάξτε κάποιο σύστημα αρχείων σε αυτό, αφού θα χάσετε τον πίνακα κατατμήσεων. Χρησιμοποιήστε αυτόν τον τύπο ετικέτας μόνο όταν εργάζεστε με Linux σε μηχανήματα IRIX/SGI ή δίσκους IRIX/SGI σε Linux.
Πίνακας διαμερισμάτων τύπου DOS
Ένας πίνακας διαμερισμάτων τύπου DOS μπορεί να περιγράψει έναν απεριόριστο αριθμό κατατμήσεων. Στον τομέα 0 υπάρχει χώρος για την περιγραφή 4 κατατμήσεων (που ονομάζονται «κύριοι»). Ένα από αυτά μπορεί να είναι ένα εκτεταμένο διαμέρισμα. Αυτό είναι ένα πλαίσιο που περιέχει λογικά διαμερίσματα, με περιγραφείς που βρίσκονται σε μια συνδεδεμένη λίστα τομέων, καθένας από τους οποίους προηγείται των αντίστοιχων λογικών κατατμήσεων. Τα τέσσερα κύρια διαμερίσματα, παρόντα ή όχι, παίρνουν τους αριθμούς 1-4. Οι λογικές κατατμήσεις αρχίζουν να αριθμούνται από το 5.
Σε έναν πίνακα διαμερισμάτων τύπου DOS, η αρχική μετατόπιση και το μέγεθος κάθε διαμερίσματος αποθηκεύονται με δύο τρόπους: ένας απόλυτος αριθμός τομέων (δίνονται σε 32 bit) και ως τριπλοί Κύλινδροι/Κεφαλές/Τομείς (δίνονται σε 10+8+6 bits). Το πρώτο είναι εντάξει. με τομείς 512 byte, θα λειτουργήσει έως και 2 TB. Το τελευταίο έχει δύο διαφορετικά προβλήματα. Πρώτα απ 'όλα, αυτά τα πεδία C/H/S μπορούν να συμπληρωθούν μόνο όταν είναι γνωστός ο αριθμός των κεφαλών και ο αριθμός των τομέων ανά κομμάτι.
Δεύτερον, ακόμα κι αν γνωρίζουμε ποιοι πρέπει να είναι αυτοί οι αριθμοί, τα 24 bit που είναι διαθέσιμα δεν αρκούν. Το DOS χρησιμοποιεί μόνο C/H/S, Windows χρησιμοποιεί και τα δύο, το Linux δεν χρησιμοποιεί ποτέ C/H/S.
Γεωμετρία δίσκου
Εάν είναι δυνατόν, fdisk θα αποκτήσει αυτόματα τη γεωμετρία του δίσκου. Αυτή δεν είναι απαραίτητα η φυσική γεωμετρία του δίσκου (πράγματι, οι σύγχρονοι δίσκοι δεν έχουν τίποτα σαν φυσική γεωμετρία, σίγουρα όχι κάτι που μπορεί να περιγραφεί σε απλοϊκή μορφή κυλίνδρων/κεφαλών/τομέων), αλλά είναι η γεωμετρία του δίσκου που χρησιμοποιεί το MS-DOS για το διαμέρισμα τραπέζι.
Συνήθως, όλα πάνε καλά από προεπιλογή και δεν υπάρχουν προβλήματα εάν το Linux είναι το μόνο σύστημα στο δίσκο. Ωστόσο, εάν ο δίσκος πρέπει να είναι κοινόχρηστος με άλλα λειτουργικά συστήματα, είναι συχνά καλή ιδέα να αφήνετε έναν fdisk από άλλο λειτουργικό σύστημα να δημιουργεί τουλάχιστον ένα διαμέρισμα. Όταν εκκινεί το Linux, κοιτάζει τον πίνακα κατατμήσεων και προσπαθεί να συμπεράνει ποια (ψεύτικη) γεωμετρία απαιτείται για την καλή συνεργασία με άλλα συστήματα.
Έλεγχος συνέπειας
Κάθε φορά που εκτυπώνεται ένας πίνακας διαμερισμάτων, πραγματοποιείται έλεγχος συνέπειας στις καταχωρήσεις του πίνακα διαμερισμάτων. Αυτός ο έλεγχος επαληθεύει ότι τα φυσικά και λογικά σημεία έναρξης και λήξης είναι πανομοιότυπα και ότι το διαμέρισμα αρχίζει και τελειώνει σε ένα όριο κυλίνδρου (εκτός από το πρώτο διαμέρισμα).
Ορισμένες εκδόσεις του MS-DOS δημιουργούν ένα πρώτο διαμέρισμα που δεν ξεκινά από ένα όριο κυλίνδρου, αλλά στον τομέα 2 του πρώτου κυλίνδρου. Οι κατατμήσεις που ξεκινούν στον κύλινδρο 1 δεν μπορούν να ξεκινήσουν σε ένα όριο κυλίνδρου, αλλά αυτό είναι απίθανο να προκαλέσει δυσκολία εκτός εάν έχετε OS/2 στο μηχάνημά σας.
Ένα sync() και ένα BLKRRPART ioctl() (εκ νέου ανάγνωση πίνακα διαμερισμάτων από το δίσκο) εκτελούνται πριν από την έξοδο όταν έχει ενημερωθεί ο πίνακας διαμερισμάτων. Πριν από πολύ καιρό ήταν απαραίτητη η επανεκκίνηση μετά τη χρήση του fdisk. Δεν νομίζω ότι αυτό ισχύει πλέον. Πράγματι, η πολύ γρήγορη επανεκκίνηση μπορεί να προκαλέσει απώλεια δεδομένων που δεν έχουν ακόμη γραφτεί. Σημειώστε ότι τόσο ο πυρήνας όσο και το υλικό του δίσκου ενδέχεται να αποθηκεύουν δεδομένα στην προσωρινή μνήμη.
Dos 6.x Προειδοποίηση
Η εντολή DOS 6.x FORMAT αναζητά ορισμένες πληροφορίες στον πρώτο τομέα της περιοχής δεδομένων του διαμερίσματος και αντιμετωπίζει αυτές τις πληροφορίες ως πιο αξιόπιστες από τις πληροφορίες στον πίνακα διαμερισμάτων. Το DOS FORMAT αναμένει από το DOS FDISK να διαγράφει τα πρώτα 512 byte της περιοχής δεδομένων ενός διαμερίσματος κάθε φορά που συμβαίνει αλλαγή μεγέθους. Το DOS FORMAT θα εξετάσει αυτές τις πρόσθετες πληροφορίες ακόμα και αν δοθεί η σημαία /U — θεωρούμε ότι αυτό είναι σφάλμα στο DOS FORMAT και στο DOS FDISK.
Η ουσία είναι ότι εάν χρησιμοποιείτε cfdisk ή fdisk για να αλλάξετε το μέγεθος μιας καταχώρησης πίνακα διαμερισμάτων DOS, τότε πρέπει επίσης να χρησιμοποιήσετε δδ για να μηδενίσετε τα πρώτα 512 byte αυτού του διαμερίσματος πριν χρησιμοποιήσετε το DOS FORMAT για να μορφοποιήσετε το διαμέρισμα. Για παράδειγμα, εάν χρησιμοποιούσατε το cfdisk για να δημιουργήσετε μια καταχώρηση πίνακα διαμερισμάτων DOS για το /dev/hda1, τότε (μετά την έξοδο από το fdisk ή το cfdisk και την επανεκκίνηση Linux έτσι ώστε οι πληροφορίες του πίνακα κατατμήσεων να είναι έγκυρες) θα χρησιμοποιούσατε την εντολή "dd if=/dev/zero of=/dev/hda1 bs=512 count=1" για να μηδενίσετε το πρώτο 512 bytes του χωρίσματος.
Να είστε εξαιρετικά προσεκτικοί εάν χρησιμοποιείτε το δδ εντολή, καθώς ένα μικρό τυπογραφικό λάθος μπορεί να καταστήσει άχρηστα όλα τα δεδομένα στο δίσκο σας.
Για καλύτερα αποτελέσματα, θα πρέπει πάντα να χρησιμοποιείτε ένα πρόγραμμα πίνακα κατατμήσεων για συγκεκριμένο λειτουργικό σύστημα. Για παράδειγμα, θα πρέπει να κάνετε κατατμήσεις DOS με το πρόγραμμα DOS FDISK και Linux κατατμήσεις με το πρόγραμμα Linux fdisk ή Linux cfdisk.
Επιλογές fdisk
-σι τοµέα: Καθορίστε το μέγεθος τομέα του δίσκου. Οι έγκυρες τιμές είναι 512, 1024 ή 2048. (Οι πρόσφατοι πυρήνες γνωρίζουν το μέγεθος του τομέα. Χρησιμοποιήστε το μόνο σε παλιούς πυρήνες ή για να παρακάμψετε τις ιδέες του πυρήνα.)
-ΝΤΟ κυλίνδρους: Καθορίστε τον αριθμό των κυλίνδρων του δίσκου. Δεν έχουμε ιδέα γιατί κάποιος θα ήθελε να το κάνει.
-Η κεφάλια: Καθορίστε τον αριθμό των κεφαλών του δίσκου. (Όχι ο φυσικός αριθμός, φυσικά, αλλά ο αριθμός που χρησιμοποιείται για τους πίνακες διαμερισμάτων.) Οι λογικές τιμές είναι 255 και 16.
-ΜΙΚΡΟ αιρέσεις: Καθορίστε τον αριθμό των τομέων ανά κομμάτι του δίσκου. (Όχι ο φυσικός αριθμός, φυσικά, αλλά ο αριθμός που χρησιμοποιείται για τους πίνακες διαμερισμάτων.) Μια λογική τιμή είναι 63.
-μεγάλο: Καταχωρίστε τους πίνακες διαμερισμάτων για τις καθορισμένες συσκευές και μετά βγείτε. Εάν δεν δίνονται συσκευές, αυτές που αναφέρονται στο /proc/partitions (αν υπάρχει) χρησιμοποιούνται.
-u:Όταν καταχωρείτε πίνακες διαμερισμάτων, δώστε μεγέθη σε τομείς αντί για κυλίνδρους.
-μικρό χώρισμα: ο Μέγεθος του διαμερίσματος (σε μπλοκ) εκτυπώνεται στην τυπική έξοδο.
-v:Εκτυπώστε τον αριθμό έκδοσης του fdisk πρόγραμμα και έξοδος.