Next Previous Contents

6. Γεωμετρία δίσκου, κατατμήσεις και `επικαλύψεις'

disk!geometry disk!partitions Εάν έχετε αρκετά λειτουργικά συστήματα στους δίσκους σας, τότε καθένα χρησιμοποιεί μία ή περισσότερες κατατμήσεις. Μια ασυμφωνία για το που βρίσκονται αυτές οι κατατμήσεις θα έχει καταστροφικά αποτελέσματα.

Το MBR περιέχει έναν πίνακα κατατμήσεων που περιγράφει που βρίσκονται οι (πρωταρχικές) κατατμήσεις. Υπάρχουνε 4 εγγραφές για 4 πρωταρχικές κατατμήσεις, με κάθε μία να είναι

struct partition {
        char active;    /* 0x80: bootable, 0: not bootable */
        char begin[3];  /* CHS for first sector */
        char type;
        char end[3];    /* CHS for last sector */
        int start;      /* 32 bit sector number (counting from 0) */
        int length;     /* 32 bit number of sectors */
};
(όπου CHS είναι Cylinder/Head/Sector).

Αυτές οι πληροφορίες είναι περιττές: η περιοχή της κατάτμησης δίνεται και από το πεδία των 24-bit begin και end, και από τα πεδία των 32-bit start και length.

Το Linux χρησιμοποιεί μόνο τα πεδία start και length και, έτσι, μπορεί να διαχειριστεί κατατμήσεις με το πολύ 2^32 τομείς, δηλαδή, κατατμήσεις το πολύ 2 TiB. Αυτό είναι 100 φορές περισσότερο από τους σημερινούς δίσκους, οπότε μάλλον θα είναι αρκετό για τα επόμενο 8 περίπου χρόνια. (Έτσι, οι κατατμήσεις μπορεί να είναι πολύ μεγάλες, αλλά υπάρχει ο σοβαρός περιορισμός ότι σε ένα ext2 σύστημα αρχείων σε μηχάνημα με 32-bit ακεραίους ένα αρχείο δε μπορεί να είναι μεγαλύτερο από 2 GiB.)

Το DOS χρησιμοποιεί τα begin και end πεδία, και χρησιμοποιεί την BIOS INT13 κλήση για πρόσβαση στο δίσκο, και έτσι μπορεί να δει δίσκους το πολύ 8.4GB, ακόμα και με BIOS που κάνει μετάφραση. (Οι κατατμήσεις δε μπορούν να είναι πάνω από 2.1 GB λόγω περιορισμών του FAT16 συστήματος). Το ίδιο ισχύει και για τα Windows 3.11 και WfWG και Windows NT 3.* και Novell NetWare.

Τα Windows 95 έχουν υποστήριξη για το Extended INT13, και χρησιμοποιούν ειδικούς τύπους κατατμήσεων (c, e, f αντί για b, 6, 5) για να δείξουν ότι η κατάτμηση θα χρησιμοποιηθεί έτσι. Όταν αυτοί οι τύποι κατατμήσεων χρησιμοποιούνται, τα πεδία begin και end περιέχουν ψεύτικα στοιχεία (1023/255/63). Τα Windows 95 OSR2 εισήγαγαν το FAT32 σύστημα (τύποι κατατμήσεων b or c), που επιτρέπει κατατμήσεις το πολύ 2 TiB.

Τι είναι αυτά που σας δείχνει το fdisk για `επικαλυπτόμενες' κατατμήσεις, όταν στην πραγματικότητα όλα είναι εντάξει; Υπάρχει κάτι 'λάθος': αν δείτε τα begin και end πεδία τέτοιων κατατμήσεων, όπως κάνει το DOS, επικαλύπτονται. (Και αυτό δε μπορεί να διορθωθεί, αφού τα πεδία αυτά δε μπορούν να αποθηκεύσουν αριθμούς κυλίνδρων άνω του 1024 - θα υπάρχει πάντα 'επικάλυψη' όταν έχετε περισσότερους από 1024 κυλίνδρους.). Παρόλα αυτά, αν δείτε τα start και length πεδία, όπως κάνει το Linux, και τα Windows 95 στην περίπτωση κατατμήσεων με τύπο c, e ή f, τότε όλα είναι εντάξει. Έτσι, αγνοήστε τις προειδοποιήσεις του όταν το cfdisk είναι ικανοποιημένο και έχετε ένα δίσκο μόνο με Linux. Προσέξτε όταν ο δίσκος μοιράζεται με το DOS. Χρησιμοποιήστε τις εντολές cfdisk -Ps /dev/hdx και cfdisk -Pt /dev/hdx για να δείτε τον πίνακα κατατμήσεων του /dev/hdx.


Next Previous Contents