Όταν το Lilo ξεκινά το σύστημα, μπορεί να φορτώσει μόνο data sectors που μπορούν να
προσπελαθούν από το bios. Οποιοδήποτε pathname βάλετε στο /etc/lilo.conf
γίνεται resolved κατά την διάρκεια της εγκατάστασης (όταν καλείται το lilo).
Αυτό συμβαίνει όταν το πρόγραμμα χτίζει κάποια λίστα πινάκων της οποίας τα sectors χρησιμοποιούνται από τα αρχεία.
Σαν αποτέλεσμα, τα αρχεία πρέπει να υπάρχουν σε ένα partition που να είναι προσβάσιμο
από το BIOS. Επιπλέον, πρέπει να ξαναεγκαταστήσετε το loader
(π.χ., πρέπει να ξανακαλείτε το lilo) κάθε φορά που τροποποιείτε
τα αρχεία. Όποτε ξαναμεταγλωττίσετε τον πυρήνα σας και γράψετε πάνω από το παλιό
image, πρέπει να ξαναεγκαταστήσετε το Lilo).
Η ντιρεκτίβα boot =
στο αρχείο /etc/lilo.conf
λέει στο Lilo πού
θα πρέπει να τοποθετήσει το primary boot loader. Γενικά, μπορείτε να
επιλέξετε είτε το master boot sector (/dev/hda
) είτε το root
partition της Linux εγκατάστασης σας (συνήθως είναι στο /dev/hda1
ή στο /dev/hda2
).
Αν έχετε άλλο λειτουργικό σύστημα εγκατεστημένο στον σκληρό σας δίσκο, θα ήταν προτιμότερο να εγκαταστήσετε το Lilo στο root partition. Σε αυτή την περίπτωση, πρέπει να μαρκάρετε το partition σαν "bootable" (χρησιμοποιήστε την εντολή "a" του fdisk ή την εντολή "b" του cfdisk. Εάν δεν γράψετε πάνω από το master boot sector, θα είναι πιο εύκολο να απεγκαταστήσετε το Linux και το Lilo αν χρειαστεί.
Προσωπικά δεν χρησιμοποιώ την επιλογή LBA ή LARGE στο BIOS (αλλά εγώ τρέχω μόνο Linux). Αυτά είναι άθλιοι περιορισμοί που οφείλονται σε σχεδιαστικά ελαττώματα του κόσμου των PC. Αυτό απαιτεί ότι ο πυρήνας βρίσκεται στους πρώτους 1024 κυλίνδρους, αλλά αυτό δεν είναι πρόβλημα όσο κάνετε partition τους σκληρούς σας και κρατάτε το root μικρό (όπως θα έπρεπε να κάνετε έτσι κι αλλιώς).
Αν ο σκληρός σας δίσκος έχει ήδη ένα άλλο λειτουργικό σύστημα, δεν θα μπορέσετε να αλλάξετε τις ρυθμίσεις του BIOS, αλλιώς το παλιό σύστημα δεν θα δουλεύει πια. Όλες οι πρόσφατες διανομές Lilo είναι ικανές να χειριστούν LBA και LARGE ρυθμίσεις δίσκων.
Αν έχετε περισσότερους από έναν σκληρό δίσκο και μερικοί από αυτούς χρησιμοποιούνται μόνο από το Linux, αλλά όχι στην εκκίνηση του υπολογιστή, μπορείτε να δηλώσετε στο BIOS σας ότι δεν είναι εγκαταστημένοι. Το σύστημα σας θα ξεκινάει πιο γρήγορα και το Linux θα ανιχνεύει αυτόματα όλους τους δίσκους σε χρόνο μηδέν. Συχνά συνδέω επιπλέον δίσκους στο σύστημα μου, αλλά δεν αλλάζω ποτέ τις ρυθμίσεις του BIOS.
Όταν δείτε το Lilo prompt, μπορείτε να πατήσετε τα πλήκτρα <Tab> για να δείτε τη λίστα με τις πιθανές επιλογές. Αν το Lilo δεν είναι ρυθμισμένο να είναι interactive, κρατήστε πατημένο το πλήκτρο <Alt> ή <Shift> πριν εμφανιστεί το μήνυμα ``LILO'' .
Αν διαλέξετε να εκκινήσετε έναν πυρήνα Linux, μπορείτε να προσθέσετε παραμέτρους στη γραμμή εντολών μετά από το όνομα του συστήματος που επιλέξατε. Ο πυρήνας δέχεται πολλές παραμέτρους στη γραμμή εντολών, αλλά δεν είναι το κατάλληλο μέρος για να τις παραθέσουμε εδώ. Κατά την γνώμη μου, μερικές από αυτές είναι ιδιαίτερα σημαντικές:
root=
: μπορείτε να πείτε στον πυρήνα του Linux να κάνει mount σαν root
ένα διαφορετικό partition από Αυτό που εμφανίζεται στο lilo.conf
.
Για παράδειγμα, έχω ένα πολύ μικρό partition που φιλοξενεί μια επίσης πολύ
μικρή Linux εγκατάσταση, και έτσι κατάφερα να ξεκινήσω το σύστημα όταν
κατέστρεψα κατά λάθος το root partition μου.
init=
: η έκδοση 1.3.4 και νεώτερες του πυρήνα του Linux δέχονται
τον καθορισμό από τη γραμμή-εντολών ενός προγράμματος που εκτελείται αντί
για το /sbin/init
. Αν συναντήσετε δυσκολίες κατά την διάρκεια
της διαδικασίας εκκίνησης, μπορείτε να έχετε πρόσβαση στο σύστημα
καθορίζοντας το init=/bin/sh
(όταν είστε στο shell
prompt πιθανά να χρειαστείτε να κάνετε mount τους δίσκους σας: δοκιμάστε το
``/sbin/mount -w -n -o remount /; mount -a
'',
και θυμηθείτε να κάνετε ``/sbin/umount -a
'' πριν κλείσετε τον
ηλεκτρονικό σας υπολογιστή).
/etc/inittab
και στο /etc/rc.d
για να συνεχίσετε περαιτέρω.
Όταν το Lilo γράφει πάνω από το boot sector, κρατά ένα αντίγραφο του ασφαλείας στο
/boot/boot.
xxyy, όπου xxyy είναι οι ελάχιστοι και μέγιστοι αριθμοί
της συσκευής, σε δεκαεξαδική μορφή. Μπορείτε να δείτε τους ελάχιστους και μέγιστους αριθμούς του δίσκου ή του partition σας εκτελώντας την ``ls -l
/dev/
device''. Για παράδειγμα, το πρώτο sector του
/dev/hda
(μέγιστο 3, ελάχιστο 0) θα σωθεί στο
/boot/boot.0300
, εγκαθιστώντας το Lilo στο /dev/fd0
δημιουργεί το
/boot/boot.0200
και εγκαθιστώντας το στο /dev/sdb3
(μέγιστο
8, ελάχιστο 19) δημιουργεί το /boot/boot.0813
. Σημειώστε ότι το Lilo δε θα
δημιουργήσει το αρχείο αν υπάρχει ήδη ένα. Δε χρειάζεται να ανησυχείτε για
αντίγραφο ασφαλείας κάθε φορά που εγκαταστείτε το Lilo (για παράδειγμα, αφού
ξαναμεταγλωττίσετε τον πυρήνα σας).
Αν ποτέ χρειαστεί να απεγκαταστήσετε το Lilo (για παράδειγμα, στην άτυχη περίπτωση
που χρειάζεται να απεγκαταστήσετε το Linux), το μόνο που χρειάζεται είναι να επαναφέρετε το αρχικό boot sector. Αν το Lilo είναι εγκαταστημένο στο /dev/hda
, απλώς γράψτε ``dd if=/boot/boot.0300 of=/dev/hda bs=446 count=1
'' (προσωπικά γράφω ``cat /boot/boot.0300 > /dev/hda
'', αλλά
δεν είναι τόσο ασφαλές, καθώς Αυτό θα επαναφέρει και το αρχικό partition table ,
το οποίο μπορεί να το έχετε τροποποιήσει στο μεταξύ). Αυτή η εντολή είναι πολύ πιο
εύκολο να εκτελεστεί παρά να προσπαθήσετε το ``fdisk /mbr
'' από ένα κέλυφος DOS: σας επιτρέπει να αφαιρέσετε το Linux από ένα disk χωρίς να χρειαστεί να εκκινήσετε άλλο λειτουργικό.
Αφού αφαιρέσετε το Lilo, θυμηθείτε να τρέξετε το fdisk του Linux για να διαγράψετε ό,τι Linux partition έχετε (το fdisk του DOS δεν μπορεί να διαγράψει non-dos partitions).
Αν έχετε εγκαταστήσει το Lilo στο root partition σας (π.χ., /dev/hda2
),
δε χρειάζεται να κάνετε τίποτα το ιδιαίτερο για να απεγκαταστήσετε το Lilo.
Απλά τρέξτε το fdisk του Linux για να διαγράψετε τα Linux partitions από το partition table.
Επίσης, πρέπει να μαρκάρετε το DOS partition σαν bootable.