Next Previous Contents

13. Εκτεταμένες και λογικές κατατμήσεις

Παραπάνω, είδαμε ότι τη δομή του MBR (τομέας 0): κώδικας του φορτωτή ακολουθούμενος από 4 εγγραφές κατατμήσεων 16 byte η κάθε μία, ακολουθούμενο από το AA55 αποτύπωμα. Κατατμήσεις τύπου 5 ή F ή 85 (δεκαεξαδικό) έχουν ειδική σημασία: περιγράφουν εκτεταμένες κατατμήσεις: κομμάτια του δίσκου που θα κατατμηθούν σε λογικές κατατμήσεις. (Έτσι, μια εκτεταμένη κατάτμηση είναι απλά ένα δοχείο, δε μπορεί να χρησιμοποιηθεί από μόνη της, αλλά μέσω των λογικών κατατμήσεων που περιέχει.) Μόνο η τοποθεσία του πρώτου τομέα μιας εκτεταμένης κατάτμησης είναι σημαντική. Αυτός ο πρώτος τομέας περιέχει έναν πίνακα κατατμήσεων με 4 εγγραφές: μια λογική, μια εκτεταμένη και δυο αχρησιμοποίητες. Με αυτόν τον τρόπο μπορεί να δημιουργηθεί μια αλυσίδα πινάκων σκορπισμένη παντού στον δίσκο, όπου ο πρώτος πίνακας περιγράφει τρεις πρωταρχικές κατατμήσεις και μια εκτεταμένη, και κάθε επόμενος πίνακας περιγράφει μια λογική κατάτμηση και τον τομέα του επόμενου πίνακα.

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

Το sfdisk θα δείξει όλη την αλυσίδα. π.χ.,

# sfdisk -l -x /dev/hda

Disk /dev/hda: 16 heads, 63 sectors, 33483 cylinders
Units = cylinders of 516096 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls   #blocks   Id  System
/dev/hda1          0+    101     102-    51376+  83  Linux
/dev/hda2        102    2133    2032   1024128   83  Linux
/dev/hda3       2134   33482   31349  15799896    5  Extended
/dev/hda4          0       -       0         0    0  Empty

/dev/hda5       2134+   6197    4064-  2048224+  83  Linux
    -           6198   10261    4064   2048256    5  Extended
    -           2134    2133       0         0    0  Empty
    -           2134    2133       0         0    0  Empty

/dev/hda6       6198+  10261    4064-  2048224+  83  Linux
    -          10262   16357    6096   3072384    5  Extended
    -           6198    6197       0         0    0  Empty
    -           6198    6197       0         0    0  Empty
...
/dev/hda10     30581+  33482    2902-  1462576+  83  Linux
    -          30581   30580       0         0    0  Empty
    -          30581   30580       0         0    0  Empty
    -          30581   30580       0         0    0  Empty

#

Είναι δυνατόν να δημιουργηθούν χαλασμένοι πίνακες. Πολλοί πυρήνες μπαίνουν σε κύκλο αν κάποια εκτεταμένη κατάτμηση δείχνει πίσω στον εαυτό της ή σε προηγούμενη κατάτμηση στην αλυσίδα. Είναι δυνατόν να υπάρχουν δύο εκτεταμένες κατατμήσεις σε κάποιον πίνακα ώστε η αλυσίδα να χωρίζει. (Για παράδειγμα, αυτό μπορεί να συμβεί αν ένα fdisk δεν αναγνωρίζει τα 5, F, 85 ως εκτεταμένους τύπους και δημιουργήσει ένα 5 δίπλα σε ένα F.) Κανένα κοινό fdisk δε μπορεί να χειριστεί τέτοιες καταστάσεις, οπότε χρειάζεται λίγη δουλειά με το χέρι για να διορθωθούν. Ο πυρήνας του Linux θα δεχτεί μια χωρισμένη αλυσίδα σε εξωτερικό επίπεδο. Δηλαδή, μπορείτε να έχετε δυο αλυσίδες για λογικές κατατμήσεις. Μερικές φορές αυτό είναι χρήσιμο, αφού μπορείτε να έχετε τύπο 5 για το DOS και τύπο 85, αόρατο στο DOS, για το Linux, ώστε το fdisk του DOS να μην κολλήσει επειδή οι κατατμήσεις σας είναι πέραν των 1024 κυλίνδρων.


Next Previous Contents