disk!translation done by kernel
Εάν ο πυρήνας ανιχνεύσει την ύπαρξη κάποιου διαχειριστή δίσκου σε έναν IDE δίσκο, θα προσπαθήσει να διαιρέσει τον δίσκο όπως ο διαχειριστής, ώστε το Linux να βλέπει τις ίδιες κατατμήσεις που θα έβλεπε, για παράδειγμα, το DOS με το OnTrack ή το EZ-Drive. Παρόλα αυτά, ΔΕΝ γίνεται διαίρεση όταν η γεωμετρία έχει δηλωθεί στη γραμμή εντολών - έτσι η εντολή
`hd=
cyls,
heads,
secs' μπορεί να εξαφανίσει την συμβατότητα με το διαχειριστή δίσκου.
Η αναδιαίρεση γίνεται χρησιμοποιώντας 4, 8, 16, 32, 64, 128, 255 κεφαλές
(κρατώντας το H*
C σταθερό) μέχρι είτε C <= 1024 ή H = 255.
Οι λεπτομέρειες ακολουθούν - οι υποεπικεφαλίδες είναι τα μυνήματα που εμφανίζονται κατά την εκκίνηση. Εδώ και οπουδήποτε αλλού σε αυτό το κείμενο οι τύποι των κατατμήσεων δίνονται σε δεκαεξαδικά νούμερα.
disk!EZ-Drive translation
disk!EZD translation
Το EZ-Drive ανιχνεύεται λόγω του ότι η πρώτη πρωταρχική κατάτμηση έχει τύπο 55. Η γεωμετρία διαβάζεται όπως περιγράφεται παραπάνω αντί του πίνακα κατατμήσεων του τομέα 0 - ο πίνακας διαβάζεται από τον τομέα 1. Οι αριθμοί τεμαχίων του δίσκου δεν αλλάζονται, αλλά εγγραφές στον τομέα 0 αναδρομολογούνται στον τομέα 1. Αυτή η συμπεριφορά μπορεί να αλλαχθεί αναμεταλωττίζοντας τον πυρήνα με #define FAKE_FDISK_FOR_EZDRIVE 0
στο ide.c
.
disk!OnTrack DiskManager translation disk!DM6:DD0 translation Ο OnTrack DiskManager (στον πρώτο δίσκο) ανιχνεύεται από το γεγονός ότι η πρώτη πρωταρχική κατάτμηση έχει τύπο 54. Η γεωμετρία διαβάζεται όπως αναφέρθηκε παραπάνω και ολόκληρος ο δίσκος «μετακινείται» κατά 63 τομείς (ώστε ο παλιός τομέας 63 να γίνει ο τομέας 0). Μετά, ένα καινούριο MBR (με τον πίνακα κατατμήσεων) διαβάζεται από τον νέο τομέα 0. Φυσικά αυτό γίνεται για να δημιουργηθεί χώρος για το DDO - για αυτό δεν γίνεται αυτή η αλλαγή στους υπόλοιπους δίσκους.
disk!OnTrack DiskManager translation disk!DM6:AUX Ο OnTrack DiskManager (στους άλλους δίσκους) ανιχνεύεται από την πρώτη πρωταρχική κατάτμηση που έχει τύπο 51 ή 53. Η γεωμετρία διαβάζεται όπως περιγράφεται παραπάνω.
disk!OnTrack DiskManager translation disk!DM6:MBR Μια παλαιότερη έκδοση του OnTrack DiskManager δεν ανιχνεύεται από τον τύπο κατάτμησης αλλά από το αποτύπωμα του. (Ελέγχεται αν η μετατόπιση που βρίσκεται στα πρώτα 2 και 3 bytes του MBR δεν είναι παραπάνω από 430, αν η έλλειψη είναι ίση με 0χ55AA και αν ακολουθείται από μονό byte). Ξανά η γεωμετρία διαβάζεται όπως παραπάνω.
disk!PTBL translation
Τέλος, υπάρχει ένας έλεγχος που προσπαθεί να βρει τη μετάφραση από τις τιμές start
και end
των πρωταρχικών κατατμήσεων:
Εάν κάποια κατάτμηση έχει αρχικό και τελικό τομέα 1 και 63 αντίστοιχα και έχει τελικές κεφαλές 31, 63, 127 ή 254, τότε, εφόσον συνήθως οι κατατμήσεις τελειώνουν στα όρια του κυλίνδρου, και, επίσης, το IDE υποστηρίζει το πολύ 16 κεφαλές, συμπεραίνεται ότι το BIOS μεταφράζει και η γεωμετρία αλλάζει για να χρησιμοποιηθούν 32, 64, 128 ή 255 κεφαλές αντίστοιχα. Παρόλα αυτά, δεν γίνεται καμία αλλαγή όταν η παρόν γεωμετρία έχει ήδη 63 τομείς ανά ίχνος και τουλάχιστον 63 κεφαλές (το οποίο ότι έχει ήδη γίνει μια αλλαγή γεωμετρίας).