Δημοσιεύτηκε: 08 Οκτ 2009, 16:59
από giormatsis
Κώδικας: Επιλογή όλων
[b]4 Τρόποι εκκίνησης ενος Λ.Σ (Λειτουργικού Συστήματος)[/b]
(φάκελος ρυθμίσεων) configfile, (συμβολικοί δεσμοί)symlinks, (άμεση εκκίνηση) direct booting, (αλυσιδωτός εκκινητής) chainloader

Μπορείτε να χρησημοποιήσετε αυτές τις μεθόδους
-- σε ένα κατάλογο εκκινητή (boot menu)
-- σε μία grub> προτροπή (στο GRUB CLI)
ΣΗΜΕΙΩΣΗ:(CLI=commant line interface) τερματικό εντολών (GRUB=Grand Unified Bootloader) Μεγάλος ενοποιημένος εκκινητής
για να εκκινήσετε ένα Λ.Σ. Αν τις χρησημοποιήσετε σε GRUB CLI, πρέπει να πληκτρολογήσετε την εντολή[u]boot[/u] στο τέλος για να κάνετε τις μεθόδους (συμβολικοί δεσμοί) symlinks, (άμεση εκκίνηση) direct booting και (αλυσιδωτός εκκινητής) chainloader να δουλέψουν. Δεν χρειάζεστε την εντολή boot στο configfile menu. Δεν χρειάζεστε την εντολή boot στο grub.cfg (υπάρχει ήδη εκεί).

ΣΗΜΕΙΩΣΗ: Αυτά γίνονται ίδια όπως στον προηγούμενο GRUB αλλά με καινούργια διαμόρφωση (format).
Δείτε όμως την παρακάτω σημείωση στο φάκελο ρυθμίσεων (configfile).

ΣΗΜΕΙΩΣΗ: Κάθε είσοδος του εκκινητή ξεκινά με μιά γραμμή
menuentry "...κάποιο κείμενο..." {
και τελειώνει με
}

>>> [u]Εκκινώντας με το φάκελο ρυθμίσεων (Configfile booting)[/u]
Αυτό είναι εύκολο και ευέλικτο υπάρχει όμως μιά [u]ΠΡΟΕΙΔΟΠΟΙΗΣΗ:[/u]
Και τα δύο Λ.Σ πρέπει να χρησημοποιούν την ίδια έκδοση του GRUB--και το Λ.Σ που δουλεύετε σε αυτό (στο οποίο βρίσκετε το boot menu) και το Λ.Σ που εκκινήτε.

Για παράδειγμα , σκεφτείτε αυτές τις δύο δηλώσεις στον κατάλογο εκκίνησης (menuentry):
set root=(hd1,2)
configfile /boot/grub/grub.cfg

Ένας ισότιμος τρόπος να το κάνετε είναι αυτός:
configfile (hd1,2)/boot/grub/grub.cfg

Αυτό δίνει την εντολή πρόσβασης στον GRUB 2 στο διαμέρισμα (hd1,2), να βρεί και να σας δείξει τον φάκελο /boot/grub/grub.cfg, ώστε να μπορέσετε να επιλέξετε ποιό απο τα Λ.Σ να εκκινήσετε, και εκκινείτε το Λ.Σ που επιλέγετε. Ο GRUB που κάνει την εργασία είναι ο τοπικός GRUB, και όχι ο GRUB στόν (hd1,2). Ο τοπικός GRUB πρέπει να έχει την ικανότητα να μετααφράσει τις εντολές που βρίσκει στό grub.cfg του Λ.Σ που επιθυμείτε να εκκινήσετε.

[u]Πότε να αποφεύγετε τον φάκελο ρυθμίσεων (configfile)[/u]
Όταν υπάρχουν διαφορετικές εκδόσεις του GRUB στον υπολογιστή σας, είναι καλύτερα να αποφεύγετε να χρησημοποιήτε τον φάκελο ρυθμίσεων (configfile).
Αντί αυτού χρησημοποιήστε τον αλυσιδωτό εκκινητή (chainloader) η συμβολικούς δεσμούς (symlinks).

Παράδειγμα: (Πάρθηκε από ένα αρχείο grub.cfg. Το σημείο # υποδηλώνει ένα σχόλιο.)

# Kubuntu 8.04.3 on sdb2, by configfile
menuentry “Kubuntu 8.04.3 on sdb2, by configfile” {
set root=(hd1,2)
configfile /boot/grub/grub.cfg
}


>>> [u]Συμβολικοί δεσμοί (Symlinks)που χρησημοποιούνται σε μια είσοδο εκκινητή (boot entry)[/u]
Οι συμβολικοί δεσμοί είναι σαν τις συντομεύσεις, και κατευθύνουν τον έλεγχο απο τον δεσμό στον φάκελο τον οποίο δείχνουν. Οι συμβολικοί δεσμοί για τον πυρήνα (kernel) και των (initrd) φακέλων είναι ήδη έτοιμοι για το σύστημα. Κοιτάξτε μόνοι σας. Εμφανίστε όλους τους φακέλους σε λίστα (-a) συνοπτικά η λεπτομεριακά (-l) κάτω απο το διαμέρισμα υπερχρήστη (root) (/) δίνοντας την ακόλουθη εντολή:

ls -a -l /

lrwxrwxrwx 1 root root 33 2009-08-02 11:01 initrd.img -> boot/initrd.img-2.6.24-24-generic
lrwxrwxrwx 1 root root 33 2009-04-19 17:14 initrd.img.old -> boot/initrd.img-2.6.24-23-generic
lrwxrwxrwx 1 root root 30 2009-08-02 11:01 vmlinuz -> boot/vmlinuz-2.6.24-2 4-generic
lrwxrwxrwx 1 root root 30 2009-04-19 17:14 vmlinuz.old -> boot/vmlinuz-2.6.24-23-generic

Ο συμβολικός δεσμός (symlink) για τον πυρήνα (kernel) είναι vmlinuz, και vmlinuz points για τον νεότερο πυρήνα (kernel).
Ο συμβολικός δεσμός (symlink) initrd είναι initrd.img, και initrd.img points για τον νεότερο πυρήνα (kernel).

ΣΗΜΕΙΩΣΗ: Το "l" στα αριστερά υποδηλώνει δεσμό ("link.") Παρατηρήστε πως οι δεσμοί (links) δείχνουν πρός τους στοχευμένους φακέλους και ακολουθούνται απο το σύμβολο ->. Παρατηρήστε πως οι [u]συμβολικοί δεσμοί (symlinks) είναι αποθηκευμένοι μέσα στο Λ.Σ στο επίπεδο του υπερχρήστη (root level)[/u].

ΣΗΜΕΙΩΣΗ: Εάν θέλετε να [u]δημιουργήσετε μία είσοδο εκκίνησης (boot entry) για το παλιό πυρήνα (older kernel) και initrd[/u], θα πρέπει να χρησημοποιήσετε τους συμβολικούς δεσμούς (symlinks) για αυτά, [u]vmlinuz.old και initrd.img.old[/u].

Αν χρησημοποιήσετε άμεση εκκίνηση (direct booting), πρέπει να γράψετε το ακριβές όνομα του πυρήνα (kernel) και (initrd):
linux /boot/vmlinuz-2.6.24-24-generic root=UUID= vb687f89-ggjd-6ach-7755-77241i4b4fk3 ro quiet splash
initrd /boot/initrd.img-2.6.24-24-generic

Με συμβολικούς δεσμούς (symlinks),το vmlinuz αρχίζει στον υπερχρήστη (root) και δείχνει πρός vmlinuz-2.6.24-24-generic και το initrd.img αρχίζει στον υπερχρήστη (root) και δείχνει πρός initrd.img-2.6.24-24-generic, έτσι μπορείτε πολλύ απλά να γράψετε,
linux /vmlinuz root=UUID= vb687f89-ggjd-6ach-7755-77241i4b4fk3 ro quiet splash
initrd /initrd.img

ΣΗΜΕΙΩΣΗ: (intrd= initial radom memory disk) προσωρινός φάκελος προετοιμασίας συστήματος γιά εκκίνηση

Παρά όλα αυτά , για να το απλοποιήσετε όταν υπάρχει ανάγκη εκκίνησης στην προτροπή (grub>), μπορείτε να το κάνετε απλά με αυτό τον τρόπο:
Αν υποθέσουμε ότι το Λ.Σ είναι το Kubuntu 9.10 στον (hd0,8) = sda8. τότε θα είχατε

menuentry “Kubuntu 9.10 on sda8, by symlinks” {
set root=(hd0,8)
linux /vmlinuz root=/dev/sda8 ro quiet splash
initrd /initrd.img
}

η ακόμα ποιό απλά οταν δεν μπορείτε να θυμηθήτε τις επιλογές του πυρήνα (kernel) "ro quiet splash":

menuentry “Kubuntu 9.10 on sda8, by symlinks” {
set root=(hd0,8)
linux /vmlinuz root=/dev/sda8
initrd /initrd.img
}

(Το ro = Read-Only είναι η προκαθορισμένη τιμή. Ευχαρηστήρια στον dibl για αυτή την πληροφορία.)

[u]ΣΗΜΕΙΩΣΗ για τις διαδρομές (paths)[/u]
Σημειώστε ότι οι διαδρομές (paths) πρός τους συμβολικούς δεσμούς (symlinks) αρχίζουν απο το επίπεδο του υπερχρήστη (root /) (διότι οι συμβολικοί δεσμοί (symlinks) είναι αποθηκευμένοι στον φάκελο του υπερχρήστη (root /)); όπως και οι διαδρομές (paths) του ενεργού πυρήνα (kernel & initrd) φακέλων ξεκινούν στην εκκίνηση (/boot) (αφού ο πυρήνας (kernel) και οι (initrd) φάκελοι είναι αποθηκευμένοι στον εκκινητή (/boot))

Άλλο ένα παράδειγμα :

# Kubuntu 9.10 on sdb7 symlinks, [u]normal mode[/u]
menuentry “Kubuntu 9.10 on sdb7, by symlinks” {
set root=(hd1,7)
linux /vmlinuz root=/dev/sdb7 ro quiet splash
initrd /initrd.img
}
Αυτή είναι η κανονική λειτουργεία.

[u]Αν θέλετε να εκκινήσετε την λειτουργεία επαναφοράς (recovery mode)[/u] σε επίπεδο χρήστη (single user),
αντικαταστήστε τις επιλογές του πυρήνα (kernel) απο “ro quiet splash” σε “ro single” (χωρίς τα εισαγωγικά)


>>> [u]Άμεση εκκίνηση(Direct booting)[/u]
In direct booting, you use the actual kernel and initrd file names in the boot menuentry.

NOTE: Αν χρησημοποιήσετε άμεση εκκίνηση στον GRUB CLI, ie., στην προτροπή grub> , μπορείτε να χρησημοποιήσετε την ακολουθία εναλλαγής (TAB) για να κάνετε την εργασίας σας ποιό εύκολη.
Για παράδειγμα,
grub>linux /boot/<Πιέστε τώρα το (TAB)>
και θα προκύψουν καποιές επιλογές όπως ,vmlinuz-2.6.24-24-generic

Παράδειγμα:

# Kubuntu 8.04 on sdb3, direct booting
menuentry "Kubuntu 8.04 on sdb3, direct booting" {
set root=(hd1,3)
linux /boot/vmlinuz-2.6.24-24-generic root=UUID=db287e84-cbdd-4ca1-8745-85241a3b3fe2 ro quiet splash
initrd /boot/initrd.img-2.6.24-24-generic
}


>>> [u]Αλυσίδωτή Εκκίνηση (Chainloader booting)[/u]
Όταν εκκινήτε ένα Λ.Σ αλυσιδωτά , στην ουσία χρησημοποιήτε μια αλυσίδα εντολών για να περάσετε τον έλεγχο της εκκίνησης από τον τοπικό σας (GRUB) σε κάποιον άλλο φορτωτή εκκίνησης που βρίσκετε στο (MBR=Master Boot Record) ενός σκληρού δίσκου η σε έναν τομέα εκκίνησης ενος διαμερίσματος σκληρού δίσκου.


NOTE: Αυτό για να δουλέψει, πρέπει πρώτα ο φορτωτής εκκίνησης (bootloader) να είναι εγκατεστημένος στο (MBR=Master Boot Record) η στον τομέα εκκίνησης (boot sector).

[u]Ένα παράδειγμα Λίνουξ[/u]

menuentry “Kubuntu 9.10 on sdb7, by chainloader” {
set root=(hd1,7)
chainloader +1
}

Ο "chainloader +1" προτρέπει την μετάβαση στον τομέα 1 (sector 1) (του (hd1,7)) και δίνει τον έλεγχο στον φορτωτή εκκίνησης (bootloader) που βρίσκεται εκεί .

Αυτό το παράδειγμα για να δουλέψει, ο φορτωτής εκκίνησης (bootloader) (π.χ, GRUB 2) πρέπει να είναι εγκατεστημένος στο διαμέρισμα (hd1,7).
Για να εγκαταστήσετε τον GRUB 2 στον τομέα εκκίνησης του διαμερίσματος sdb7 (=(hd1,7)):
sudo grub-install /dev/sdb7

Αυτός είναι ένας ακόμα τρόπος για να γράψετε την ποιό πάνω είσοδο εκκίνησης (boot entry):
menuentry “Kubuntu 9.10 on sdb7, by chainloader” {
chainloader (hd1,7)+1
}

ΣΗΜΕΙΩΣΗ/Προειδοποίηση? -- ΓΙΑ ΝΑ ΓΙΝΕΙ -- Qqmike να το ελέγξει.
Ο Herman λέει: Αν προσπαθείτε να φορτώσετε αλυσιδωτά έναν τομέα εκκίνησης διαμερίσματος ,μπορεί να χρειαστεί να χρησημοποιήσετε την επιλογή -f η --force, η οποία προτρέπει τον GRUB να αγνοήσει το γεγονός οτι ίσως δεν υπάρχει υπογραφή εκκινούμενου δίσκου εκεί, (!= 0xaa55). Δεν είμαι σίγουρος ακόμα πότε ακριβώς αυτό χρειαζεται η δεν χρειάζεται.Φαίνετε οτι χρειάζετε μόνο στην κτάσταση CLI GRUB.

Άλλο ένα παράδειγμα Λίνουξ

menuentry “Drive sdc = hd2 by chainloader” {
chainloader (hd2)+1
}

Άν ένας φορτωτής εκκίνησης (bootloader) (π.χ, GRUB 2) έχει εγκατασταθεί στον φάκελο του κύριου εκκινητή (Master Boot Record) του δίσκου sdc (= hd2), η εντολή εισόδου (menuentry) θα εκκινήσει τον σκληρό δίσκο δίνοντας τον έλεγχο στον φορτωτή εκκίνησης (bootloader) σε κάθε MBR.

Αυτό το παράδειγμα για να δουλέψει, ο φορτωτής εκκίνησης,(bootloader) (π.χ, GRUB 2) πρέπει να είναι εγκατεστημένος στο (Master Boot Record) του δίσκου sdc (= hd2). Για να εγκαταστήσετε τον (GRUB 2) στον φάκελο του κύριου εκκινητή (MBR) του δίσκου sdc δώστε στο τερματικό την εντολή:

sudo grub-install /dev/sdc

Παράδειγμα

Windows XP on sda1
menuentry “Windows XP on sda1, by chainloader” {
set root=(hd0,1)
chainloader +1
}



[b]Αποκλειστικό διαμέρισμα GRUB 2 : Πως να το φτιάξετε[/b]
Εδώ και πάλι τα πράγμματα είναι ασύγκριτα ποιό εύκολα απο ότι στον παλαιότερο GRUB.

1 Δημιουργήστε το διαμέρισμα GRUB 2.
Φτιάξτε ένα διαμέρισμα που θα χρησημοποιηθεί αποκλειστικά για τον GRUB 2 και διαμορφώστε το. για την διαμόρφωση χρησημοποιήστε το GParted απο το Live CD , δώστε μια χαρακτηριστική ταμπέλα π.χ “GRUB2” ( χωρίς τα εισαγωγικά ) (πηγαίνοντας GParted,>Partition > Labels).
(Ελεγξτε το μέθος του φακέλου /boot/grub για να αποφασίσετε το μέγεθος της διαμέρησης. Οι φάκελοι GRUB 2 χρησημοποιούν μόνο 572 KB (96 αρχεία, συμπεριλαμβάνοντας και τα 12 παλαιότερα) στην δική μου εγκατάσταση.)

2 Φτιάξτε το grub.cfg.
[u]Στο σύστημα αρχείων του χρήστη (home directory)[/u], φτιάξτε ένα αρχείο κειμένου ονομάστε'το grub.cfg και δημιουργήστε μέσα σε αυτό τον δικό σας διαμορφωμένο κατάλογο εκκίνησης (boot menu) για το αποκλειστικό διαμέρισμα GRUB 2 . (Δείτε το παρακάτω παράδειγμα.)
(Υπάρχουν δύο τρόποι για να φτιάξετε ένα αρχείο κειμένου: (1) Δεξί κλίκ στην επιφάνεια εργασίας, Δημιουργία νέου>Αρχείο κειμένου;) η (2) Ανοίξτε με τον επεξεργαστή κειμένου (text editor) Kate ένα νέο κενό έγγραφο πληκτρολογόντας στο τερματικό kate και αποθηκεύσε το με το όνομα grub.cfg στό σύστημα αρχείων του χρήστη σας (home directory) μόνο! Για να το κάνετε αυτό σαν υπερχρήστης (root), πληκτρολογήστε kdesudo kate, αλλά αυτό δεν είναι απαραίτητο σε αυτό το σημείο.)
[u]ΠΡΟΣΟΧΗ:[/u] Ίσως θέλετε να τελειοποιήσετε τον κατάλογο εκκίνησης (boot menu) τώρα για να τον έχετε έτοιμο. Για να δημιουργήσετε τις εισόδους εκκίνησης (boot entries) στο αρχείο grub.cfg, ρίξτε μια ματιά στην παρακάτω υποενότηταs "4 Τρόποι για να εκκινήσετε ένα Λ.Σ."

3 Εγκαταστήστε τον GRUB 2 στο MBR.
Απο το Kubuntu Λ.Σ σας, εγκαταστήστε τον GRUB 2 κύριο φάκελο εκκίνησης (Master Boot Record) (απο τον πρώτο σκληρό δίσκο που βλέπει το BIOS ) χρησημοποιώντας τους GRUB 2 φακέλους του αποκλειστικού διαμερίσματος GRUB 2.
ΠΑΡΑΔΕΙΓΜΑ:
Υποθέτουμε πως ο δίσκος sdb1 είναι το αποκλειστικό διαμέρισμα GRUB 2 , και πως είναι προσαρτημένος σαν /media/sdb1 (η αν δώσατε έσεις την ετικέτα ,GRUB2 στον δίσκο sdb1, θα μπορούσε να είναι /media/GRUB2). συνεχίζοντας αν επιθυμείτε να εγκαταστήσετε τον GRUB 2 στο αρχείο MBR του δίσκου sda ο οποίος είναι καταχωρημένος στο BIOS σαν ο πρώτος δίσκος εκκίνησης.
Κάντε το με αυτόν τον τρόπο:
sudo grub-install –root-directory=/media/sdb1 /dev/sda
See: http://grub.enbug.org/FranklinPiat/grub-install.manpage
(Αυτό επίσης θα δημιουργήσει για εσάς τον κατάλογο /boot/grub στο διαμέρισμα GRUB 2.)

4 Σάν υπερχρήστης (root), αντιγράψτε το grub.cfg απο τον κατάλογο του χρήστη σας στο διαμέρισμα GRUB 2 στον φάκελο
/boot/grub. (Για να το κάνετε αυτό σε γαρφικό περιβάλον (GUI), ανοίξτε τον διαχειρηστή αρχείων σας σαν υπερχρήστης και εργαστείτε από εκεί; π.χ., kdesudo konqueror η kdesudo dolphin.)

5 Ορίστε το σημείο εκκίνησης (flag) του αποκλειστικού διαμερίσματος GRUB 2 και επανεκκινήστε για να το δοκιμάσετε.

Ορίζοντας το σημείο εκκίνησης (flag) στο αποκλειστικό διαμέρισμα GRUB 2 :
Αυτό γίνετε είτε με το GParted απο το Λ.Σ (K > System > Partition editor) η απο το GParted Live CD. Εάν το κάνετε απο το GParted Live CD, πρέπει να γίνει με τον ακόλουθο τρόπο:
Αφού συμπληρώσετε το βήμα 4 (αντιγράφωντας το grub.cfg αρχείο στο διαμέρισμα), τοποθετείστε το GParted Live CD μέσα στο CD του υπολογιστή και αφήστε πρώτα να το διαβάσει, πατήστε άκυρο, επανεκκινήστε τον υπολογιστή σε GParted Live, ορίστε το σημείο εκκίνησης του αποκλειστικού διαμερίσματος GRUB 2 (Partition > Manage Flags), GParted > Quit, διπλό κλίκ στο GParted (στο μεγάλο κατάλογο στην κορυφή) για να διακόψετε και να επανεκκινήσετε , όταν προτραπείτε αφαιρέστε το GParted Live CD, και αφήστε τον υπολογιστή να επανεκκινήσει ( τώρα θα χρησημοποιεί το αποκλειστικό διαμέρισμα GRUB 2), και δείτε αν δουλεύει.

ΠΡΟΣΟΧΗ: Θυμηθείτε να κρατάτε το Super Grub Disk live CD εύκαιρο.

[u]ΣΗΜΑΝΤΙΚΗ ΣΗΜΕΙΩΣΗ ΓΙΑ ΤΙΣ ΕΝΗΜΕΡΏΣΕΙΣ ΤΟΥ ΠΥΡΗΝΑ (KERNEL)[/u]:
Χρησημοποιώντας αυτή την μέθοδο για να δημιουργήσετε ένα αποκλειστικό διαμέρισμα GRUB 2 partition, ΕΙΣΤΕ ο διαχειρηστής του διαμορφωμένου φάκελου εκκίνησης /boot/grub/grub.cfg που βρίσκετε στο διαμέρισμαt GRUB 2. Αυτά που συζητήσαμε μέχρι εδώ δεν ισχύουν για--/etc/default/grub και the scripts /etc/grub.d και update-grub--. Πρέπει να κρατήσετε ξεχωριστά αυτά τα δύο "δεικνειόμενα". [u]Διαμορφώστε χειροκίνητα τον GRUB 2 αποκλειστικό φάκελο grub.cfg[/u]. Αν ποτέ υπάρξει πρόβλημα , θα πρέπει να επανεγκαταστήσετε χειροκίνητα τον GRUB 2 στον MBR (του πρώτου εκκινούμενου δίσκου στο BIOS) απο το αποκλειστικό διαμέρισμα GRUB 2.


[u]ΠΑΡΑΔΕΙΓΜΑ[/u] Εδώ είναι ο αποκλειστικός μου GRUB 2 /boot/grub/grub.cfg:

#
# grub.cfg
# This is my custom boot menu, called /boot/grub/grub.cfg, located in my dedicated Grub 2 partition sda1.

# Set the timeout
set timeout=10

# Set the default boot entry.
set default=0

# Kubuntu 9.10 on sda8 by chainload
menuentry "Kubuntu 9.10 on sda8, by chainload" {
chainloader (hd0,8)+1
}

# Kubuntu 9.10 on sda8 by configfile
menuentry "Kubuntu 9.10 on sda8, by configfile" {
configfile (hd0,8)/boot/grub/cfg
}

# Kubuntu 9.10 on sda8 by symlink
menuentry "Kubuntu 9.10 on sda8, by symlink" {
set root=(hd0,8)
linux /vmlinuz root=/dev/sda8 ro quiet splash
initrd /initrd.img
}

# Kubuntu 8.04.3 on sda2, by configfile
menuentry "Kubuntu 8.04.3 on sda2, by configfile" {
configfile (hd0,2)/boot/grub.cfg
}

# sidux on sda3, by direct booting
menuentry "sidux on sda3" {
set root=(hd0,3)
linux /boot/vmlinuz-2.6.28-5.slh.3-sidux-686 root=UUID=306d94a5-107b-4c9e-ae03-a159e18dc1c7 ro quiet vga=791
initrd /boot/initrd.img-2.6.28-5.slh.3-sidux-686
}



[b]GRUB 2 σε USB (USB flash drive)[/b]

Για τις αρχές της εγκατάστασης του GRUB 2, Δείτε την συζήτηση κάτω απο τα "Εγκαθιστώντας τον GRUB 2" and "Η εντολή εγκατάστασης του GRUB (The grub-install Command)."

[u]Παράδειγμα[/u]
(Οι δοκιμές μου απο αυτό.)

Χρησημοποίησα μία Kingston 1 GB , παρά του ότι το μέγεθος των φακέλων του GRUB 2 είναι 51 MB.
Διαμόρφωσα τον δίσκο flash σαν ext2 (χρησημοποιόντας τον διαχειρηστή διαμερισμάτων GParted). (θα μπορούσατε να χρησημοποιήσετε κάποιο άλλο σύστημα αρχείων FAT32 η ext3 η άλλο σύστημα)
Ορίστε το σημείο εκκίνησης στο νέο διαμέρισμα που φτιάξατε (χρησημοποιήστε το GParted για να το κάνετε αυτό: Partition > Manage Flags).
Έξοδος απο το GParted. Αποσυνδέστε το δίσκο flashdrive, και επανασυνδέστε τον.

Στο Kubuntu, για να δείτε πως ονομάζετε δώστε την εντολή
sudo fdisk -lu
Αποτέλεσμα:
Disk /dev/sdb: 1031 MB, 1031798784 bytes
255 heads, 63 sectors/track, 125 cylinders, total 2015232 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x000f0fe1
Device Boot Start End Blocks Id System
/dev/sdb1 63 2008124 1004031 83 Linux

Ο Konqueror (η το Dolphin) δείχνει πως είναι συνδεδεμένο σαν /media/disk.

=> Έτσι φαίνετε σαν sdb με το διαμέρισμα sdb1 συνδεδεμένο σαν /media/disk.

Εγκαταστήστε τον GRUB 2 στον δίσκο flashdrive. Δώστε στο τερματικό την εντολή:
sudo grub-install --root-directory=/media/disk /dev/sdb
Αποτέλεσμα:
Installation finished. No error reported.
This is the contents of the device map /media/disk/boot/grub/device.map.
Ελέγξτε αν αυτό είναι σωστό η όχι. Άν κάποιες γραμμές είναι λάθος διορθώστε τις και εκτελέστε πάλι την ακολουθία εντολών (script) `grub-install'.
(hd0) /dev/sda
(hd1) /dev/sdb

(Απο την σκοπιά του Kubuntu.)
(Αυτή είναι η χαρτογράφηση του δίσκου flashdrive, /boot/grub/device.map. Θα το αγνοήσω αυτό! Δέν έχει μεγάλη σημασία. Θα μπορούσατε να το διαμορφώσετε σαν υπερχρήστης (root) να διαβάζει
(hd0) /dev/sda
όπως φαίνετε απο την σκοπιά του δίσκου flashdrive όταν χρησιμοποιήται σαν δίσκος εκκίνησης.)
Άσ προχωρήσουμε τώρα ...

Ελέγξτε αν δημιουργήθηκε το /boot/grub και αν υπάρχουν μέσα σε αυτό οι φάκελοι του GRUB 2 .
[u]Επανεκκινήστε και διαμορφώστε τις ρυθμίσεις του BIOS έτσι ώστε να εκκινεί απο τον δίσκο flashdrive (USB booting)[/u]
Το επόμενο πράγμα που είδα στην οθόνη είδα:
grub>

Χρησημοποίησα την εντολή ls για να δώ τους δίσκους και τα διαμερίσμα τα στον υπολογιστή:
grub>ls

Αφού ο υπολογιστής ξεκίνησε από το flashdrive ο δίσκος διαβάστηκε σαν (hd0,1). (Ο δίσκος από τον οποίο εκκινεί ο υπολογιστής διαβάζεται πάντα κατά την διαδικασία εκκίνησης σαν hd0--Αυτός είναι ένας απαράβατος όρος.)

Ο σκλήρός μου που συνήθως διαβάζεται σαν hd0 τώρα διαβάστηκε σαν hd1 και το Λ.Σ Kubuntu 9.10 ήταν στον (hd1,8).
Ετσι για να εκκινήσω το Kubuntu, Έδωσα την εντολή
grub>chainloader (hd1,8)+1
grub>boot
ΣΗΜΕΙΩΣΗ:
Έχοντας ήδη εγκαταστήσει τον GRUB 2 στο διαμέρισμα του τομέα εκκίνησης του Kubuntu σε περίπτωση που εάν ποτέ χρειαστεί να εκκινήσω αλυσιδωτά σε αυτό. (Χρησημοποίησα στο τερματικό του Kubuntu την εντολή, sudo grub-install /dev/sda8, όπου ο sda8 είναι το διαμέρισμα του Kubuntu όταν δεν υπάρχει άλλος σκληρός δίσκος προσαρτημένος στον υπολογιστή μου.) Εάν το το είχα ήδη κάνει αυτό, δεν θα μπορούσα να εκκινήσω αλυσιδωτά το Kubuntu οπότε θα έπρεπε να βρώ κάποιον άλλο τρόπο, θα χρησημοποιούσα για παράδειγμα συμβολικούς δεσμούς (symlinks):
grub>ls
Η ποιό πάνω εντολή θα μου έδειχνε ότι το Kubuntu είναι στο (hd1,8) ότα θα εκκινούσα τον GRUB 2 απο το δίσκο flashdrive, έτσι για να το εκκινήσω, θα έδινα την εντολή:
grub>set root=(hd1,8)
grub>linux /vmlinuz
grub>initrd /initrd.img
grub>boot
Η θα μπορούσατε να κάνετε αυτό (άν θυμόσαστε πώς!):
grub>set root=(hd1,8)
grub>linux /vmlinuz ro quite splash
grub>initrd /initrd.img
grub>boot

Έτσι λοιπόν εκκίνησα το Kubuntu χρησημοποιώντας το GRUB 2 δίσκο flashdrive.

Φτιάχνοντας ένα κατάλογο εκκίνησης (boot menu) για τον δίσκο flashdrive:
μπορείτε να δημιουργήσετε έναν φάκελο κειμένου (text file0 /boot/grub/grub.cfg για τον δίσκο flashdrive ακριβώς όπως επιδείχθηκε στο "Φτιάχνοντας ένα αποκλειστικό διαμέρισμα GRUB 2".

[u]ΤΕΧΝΙΚΉ ΣΗΜΕΙΩΣΗ[/u]: Για να το κάνετε αυτό θα πρέπει να εργαστείτε σαν υπερχρήστης (root), ας πούμε ανοίγοντας τον Konqueror η το Dolphin σαν υπερχρήστης (kdesudo konqueror), η το Kate (kdesudo kate). Παρ' όλα αυτά δεν χρειάζεσται ένα grub.cfg στον δίσκο flashdrive. Μπορείτε απλά να το χρησημοποιήσετε όπως και εγώ για να δείτε τους δίσκους σας και μετά να εκκινήσετε ένα Λ.Σ. Άν δημιουργήσετε ένα αρχείο grub.cfg για τον δίσκο flashdrive ;ίσως θα θέλετε να συμπεριλάβετε και το Λ.Σ σε αυτό, και να χρησημοποιήται το GRUB 2 δίσκοflashdrive για να εκκινήται σε περίπτωση ανάγκης όπως και με το Super Grub Disk. Απλά θυμηθήτε ότι χρησημοποιώντας το grub.cfg στο δίσκο flashdrive, οι άλλοι δίσκοι του υπολογιστή θα μετακινηθούν κατά ένα αφού κατά την εκκίνηση ο δίσκος flashdrive θα διαβαστεί σαν hd0. Άν ο adrian15 δημιουργήσει ένα Super Grub Disk γιά τον GRUB 2 και συμπεριλάβει την λειτουργία της usb μετατόπισης (usbshift) , τότε η ιστορία αλλάζει--για τις αρχές του "USB drive shifting," δείτε το πώς να δημιουργήσετε έναν GRUB δίσκο flashdrive:

http://kubuntuforums.net/forums/index.php?topic=3081748.0
[Τέλος Υποενότητας]


[b]Η χρήση του όρου ριζικός "root"[/b]
Η δήλωση της ριζικής συσκευής του GRUB στο λίνουξ, root=UUID=, --root-directory=DIR INSTALL_DEVICE
(για να γίνει -- επέκταση/περισότερη διευκρίνηση)

ΠΑΡΑΔΕΙΓΜΑ
Σκεφτείτε αυτή την είσοδο (menuentry):
### BEGIN /etc/grub.d/10_Linux ###
menuentry "Ubuntu 8.04.3 LTS, kernel 2.6.24-24-generic" {
set root=(hd1,2)
linux /boot/vmlinuz-2.6.24-24-generic root=UUID=0df17bc5-0056-4ef7-bfca-251194b6eb44 ro quiet splash
initrd /boot/initrd.img-2.6.24-24-generic
}

Η γραμμή
set root=(hd1,2)
δηλώνει την ριζική συσκευή του GRUB. Η ριζική συσκευή του GRUB είναι το διαμέρισμα που περιέχει τον πυρήνα (kernel) τους φακέλους vmlinuz και initrd files. Έτσι αυτό είναι το διαμέρισμα που περιέχει τον κατάλογο εκκίνησης /boot. Επίσης αφού οι φάκελοι εκκίνησης GRUB περιέχονται στο /boot/grub, οι φάκελοι GRUB βρίσκονται στο ίδιο διαμέρισμα εκκίνησης /boot. Σημείωση αυτό το κομμάτι της γραμμής λίνουξ: root=UUID=0df17bc5-0056-4ef7-bfca-251194b6eb44. Το παγκόσμιο μοναδικό προσδιοριστικό UUID (Universally Unique identifier) διαδρά με το διαμέρισμα που περιέχει το ριζικό σύστημα αρχείων (/) του Λ.Σ (σε αυτή την περίπτωση, Ubuntu 8.04.3 LTS, kernel 2.6.24-24-generic) Αυτό το διαμέρισμα (που προσδιορίστηκε από κάθε UUID) περνάει στον πυρήνα του λίνουξ (kernel) δηλώνοντας root=UUID=0df17bc5-0056-4ef7-bfca-251194b6eb44 στη γραμμή ντου λίνουξ.
Έτσι η γραμμή "set root=(hd1,2)" είναι ένα μύνημα στον GRUB 2; και η γραμμή "root=UUID=0df17bc5-0056-4ef7-bfca-251194b6eb44" είναι ένα μύνημα στον πυρήνα του (kernel).

Συνήθως για τους περισότερους χρήστες το ριζικό διαμέρισμα του GRUB (τοποθεσία του πυρήνα (kernel) και των φακέλων initrd) είναι ίδιο με το ριζικό διαμέρισμα του Λ.Σ. Σε αυτή την περίπτωση η ριζική συσκευή GRUB (διαμέρισμα) (hd1,2) θα ήταν η ίδια με το ριζίκό σύστημα αρχείων του Kubuntu (και για αυτό το UUID 0df17bc5-0056-4ef7-bfca-251194b6eb44 θα ήτα αυτό τουw (hd1,2)). Παρ' όλα αυτά αυτό δεν είναι το θέμα. Εάν έχετε ένα ξεχωριστό διαμέρισμα εκκίνησης /boot (ξεχωριστό απο το ριζικό σύστημα του ΛΣ.), Τοτε η δήλωση
set root=(hdx,y)
και η
root=UUID=xxx
δήλωση στην γραμμή λίνουξ θα διαδρούσαν σε δύο διαφορετικά διαμερίσματα.


Αλλη μία χρήση της λέξης ριζικός "root" και διαμορφώνοντας έναν ριζικό "root" για τον GRUB προκύπτει στην δήλωση
sudo grub-install --root-directory=DIR INSTALL_DEVICE; για παράδειγμα
sudo grub-install --root-directory=/sdb1 sda
όπου ο κατάλογος (DIR) είναι sdb1 και INSTALL_DEVICE είναι sda (i.e., ο MBR του δίσκου sda).
Αυτό κετευθήνει τον GRUB να εγκαταστήσει τα είδωλα στην INSTALL_DEVICE (χρησημοποιώντας τους φακέλους του καταλόγου αρχείων /usr/lib/grub/i386-pc/) κάτω απο τον κατάλογο αρχείων DIR αντί του ριζικού καταλόγου (root) (/) του Λ.Σ.



[b]Διπλή εκκίνηση: Πώς να την διαμορφώσετε[/b]
Σε αυτό θα πρέπει να ακολουθήσετε τους οδηγούς του παλαιότερου GRUB, ακολουθήστε τον παρακάτω σύνδεσμο:
How To GRUB Methods - Toolkit
http://kubuntuforums.net/forums/index.php?topic=3081671.0
(Δείτε τους τομείς 5 και 6)

Οι διαφορές θα αφορούν μόνο στο πώς θα διαμορφώσετε τα πράγματα, ειδικά τον κατάλογο εκκίνησης grub.cfg. Όπως θα ξέρετε στον GRUB 2, δεν διαμορφώνετε απ' ευθείας τον grub.cfg. Αντί αυτού διαμορφώνετε τον προκαθορισμένο φάκελο /etc/default/grub και τους φακέλους ακολουθίας εντολών (script) στο /etc/grub.d ακολουθώντας το Πώς να .
[u]ΓΙΑ ΝΑ ΓΙΝΕΙ[/u]: Περισότερα πανω σε αυτό αργότερα.


- - - - - - - - - -

Cheat Sheet
[b]Πρακτικές υπενθυμήσεις για τον GRUB 2[/b] -- για αυτούς που ξέρουν τι κάνουν;)

[u]Φάκελοι[/u] εικόνα: [b]/usr/lib/grub/i386-pc/[/b]
boot/grub/grub.cfg Φάκελος διαμόρφωσης για τον κατάλογο εκκίνησης (boot menu). ΜΗΝ ΤΟΝ ΤΡΟΠΟΠΟΙΉΤΑΙ.
/etc/default/grub Προκαθορισμένος φάκελος ρυθμίσεων (διακοπή (Timeout), Προκαθορισμένο Λ.Σ (Default OS), Επιλογές πυρήνα (kernel options))
/etc/grub.d Φάκελος ακολουθίας εντολών του κατάλογου εκκίνησης (boot menu scripts):
00_header; 05_debian_theme: Background, text colors, themes
10_hurd Locates Hurd kernels; 10_linux Locates Linux kernels; 20_memtest86+
30_os-prober: Ερευνά για λίνουξ και άλλα Λ.Σ σε όλα τα διαμερίσματα
40_custom: Πρότυπο για διαμορφωμένες εισόδους εκκίνησης
Περισσότερα: /boot/grub/device.map, [b]boot.img[/b] (MBR), [b]core.img[/b]

[u]Φτιάχνοντας τα πράγματα, Διάσωση[/u]
Ctrl+Alt+Del reboot PC; Super Grub Disk
Νέο grub.cfg: [u]sudo update-grub[/u] or [u]sudo grub-mkconfig[/u]
Εγκτάσταση , Επανεγκατάσταση του GRUB 2: [u]sudo grub-install [/u][ΣΥΣΚΕΥΗ_ΕΓΚΑΤΆΣΤΑΣΗΣ]
Στο MBR: sudo grub-install /dev/sdx; partition: sudo grub-install /dev/sdxn
[u]If error[/u]: grub-install [b]--recheck[/b] /dev/sdx; sudo grub-install --recheck /dev/sdxn
Εγκτάσταση του GRUB 2 στο MBR του δίσκου sda χρησημοποιόντας τον GRUB 2 στο /dev/sdb1/boot/grub:
sudo grub-install –root-directory=/media/sdb1 /dev/sda
Εγκτάσταση του GRUB 2 στον υπολογιστή (/usr/lib/grub/i386-pc/): sudo apt-get install grub-pc

[u]Διάσωση με Live CD : Επανεγκατάσταση του GRUB 2[/u]
sudo mkdir /media/sda2 /media/dev
sudo mount /dev/sda2 /media/sda2
sudo mount --bind /dev /media/dev
Εγκατάσταση του GRUB 2 στο MBR του δισκου sdb [η στο διαμέρισμα sda2] χρησημοποιόντας τους φακέλους GRUB 2 στον δίσκο sda2:
sudo grub-install --root-directory=/media/sda2 /dev/sdb [or /dev/sda2]
umount /media/sda2 /media/dev

[u]Δίσκοι, Διαμερίσματα, Πληροφορίες[/u] sudo fdisk -lu & grub>ls
Ονομάζοντας: (hdx,y) or sdzy: drive x starts at 0; [u]partitions y start at 1[/u]
Τερματικό εντολών: [b]sudo fdisk -lu[/b]; df -hT; mounting: cat /etc/mtab; or: mount
UUIDs: sudo blkid; ls /dev/disk/by-uuid/ -alh
Kernel ver: uname -r; cat /proc/version; Linux ver: lsb_release -a
[b]sudo grub-emu and then grub>ls[/b]
GRUB devices/drives: [b]grub>ls[/b]; grub>ls -al directory
UUID of (hdx,y): grub>ls (hdx,y)
Ψάχνωντας: grub>search /boot/grub/grub.cfg; grub>search /boot/grub/boot.img

[u]Σύνταξη, Επιλογές εκκίνησης[/u]
Φάκελος ρυθμίσεων: set root=(hdx,y) and configfile /boot/grub/grub.cfg; or:
configfile (hdx,y)/boot/grub/grub.cfg
symlinks: linux /vmlinuz root=UUID= xxx ro quiet splash; initrd /initrd.img
symlinks: linux /vmlinuz root=/dev/sdxn ro quiet splash
Αλυσιδωτά: set root=(hdx,y) and chainloader +1; chainloader (hdx,y)+1
Αλυσιδωτός MBR: chainloader (hdx)+1

[u]Δικαιώματα[/u]
Εκτελέσιμο: sudo chmod 744 /etc/grub.d/[i]file[/i]; Remove: sudo chmod -x /etc/grub.d/[i]file[/i]
Ανάγνωση μόνο, όλοι: sudo chmod 444 /etc/grub.d/[i]file[/i]
Εκτέλεση σε γραφικό (GUI): kdesudo konqueror η (dolphin), δεξί κλίκ στόν (rt-click on) [i]φάκελο (file),[/i] Ιδιότητες (Properties), Δικαιώματα (Permissions)
grub.cfg: sudo chmod +w /boot/grub/grub.cfg; sudo chmod -w /boot/grub/grub.cfg

[u]Δημιουργήστε μια ακολουθία εντολών (script)[/u] όνομάστε το /etc/grub.d/NN_myscript
Άδειος φάκελος κειμένου: kdesudo kate; Φάκελος (File) > Αποθήκευση ώς (Save As) /etc/grub.d/NN_myscript
Πληκτρολογήστε το (δείτε το πάρα κατω πρότυπο παράδειγμα).
Κάντε το εκτελέσιμο: sudo chmod 744 /etc/grub.d/NN_myscript
or, sudo chmod +x /etc/grub.d/NN_myscript
Γραφικό (GUI): kdesudo konqueror (dolphin), δεξί κλίκ (rt-click), Ιδιότητες (Properties), Δικαιώματα (Permissions)
Make new grub.cfg: sudo update-grub, sudo grub-mkconfig

> [u]Πρότυπα,[/u] διαμορφωμένη είσοδος εκκίνησης για τον φάκελο /etc/grub.d/NN_name
#!/bin/sh
echo "Adding name" >&2
cat << EOF
menuentry "name of OS boot entry" {
set root=(hdx,y)
linux /boot/vmlinuz-xyz root=UUID=xxx
initrd /boot/initrd.img-xyz
}
EOF

[u]Τροποποίηση μιας ακολουθίας εντολών (script)[/u]
Γραφικό, kdesudo konqueror, rt-click on script file, Open With Kate/Kwrite.
Τερματικό, kdesudo kate /etc/grub.d/[i]script_name[/i]
Edit the file, File>Save, Exit. New grub.cfg: sudo up-date grub; sudo grub-mkconfig

[u]Δίσκος Flashdrive[/u] /dev/sdc, sdc1 προσαρτημένος σε /media/disk; ορίστε σημείο εκκίνησης; εγκατασταση του GRUB 2:
sudo grub-install --root-directory=/media/disk /dev/sdc

[u]Ξεχωριστό διαμέρισμα του GRUB 2[/u]: προσαρτημένος σε /media/sdb1; sda=MBR του πρώτου δίσκοθ στο BIOS
sudo grub-install –root-directory=/media/sdb1 /dev/sda

[u]Εργασία σαν υπερχρήστης (root)[/u] (8.10+: kdesudo; 8.04: kdesu)
kdesudo kate /path-to-file; kdesudo konqueror (or dolphin)
Στο τερματικό σαν υπερχρήστης: sudo –i; sudo su
Γραφικός διαχειρηστής αρχείων (GUI), πλοήγηση στον φάκελο, δεξί κλίκ στον φάκελο, Πράξη, Τροποποίηση σαν υπερχρήστης.
sudo [ΕΝΤΟΛΗ]; sudo grub-install [ΣΥΣΚΕΥΗ_ΕΓΚΑΤΑΣΤΑΣΗΣ];
sudo update-grub; sudo grub-mkconfig

[Τέλος του GRUB 2 Πρακτικές Υπενθυμήσεις]



Πάρε και το δικό μου