Αυτό προϋποθέτει βέβαια να έχουμε εγκαταστήσει μια διανομή που χρησιμοποιεί τον grub2 , όπως π.χ το Ubuntu.
Να πω εδώ πως δεν υποστηρίζουν όλες οι εικόνες iso αυτή την λειτουργία. Πρέπει να είναι η κατασκευή της εικόνας τέτοια , ώστε να υποστηρίζει εκκίνηση.
Σε αυτόν τον οδηγό θα δούμε εκκίνηση με εικόνες iso , διανομών Ubuntu-based .
Άλλες διανομές πιθανών να χρειαστούν διαφορετικές παραμέτρους στο αρχείο grub.cfg για να εκκινήσουν σωστά.
Ας υποθέσουμε πως έχω κατεβάσει το iso της 12.04 και ονομάζεται : precise-desktop-i386.iso
Αυτό που θα κάνω θα είναι να προσθέσω κάποιες γραμμές στο αρχείο grub.cfg
Ανοίγω ένα τερματικό (τερματικό μπορούμε να ανοίξουμε πατώντας τον συνδυασμό πλήκτρων Ctrl+Alt+t ή από τις εκδόσεις Ubuntu 11.10 και μετά πατώντας στον Dash (εικονίδιο Ubuntu αριστερά επάνω) και πληκτρολογώντας την λέξη "terminal" ή "τερματικό") και γράφω την παρακάτω εντολή
- Κώδικας: Επιλογή όλων
gksudo gedit /boot/grub/grub.cfg
- Κώδικας: Επιλογή όλων
menuentry "Presice Live" {
set isofile="/boot/ISO/precise-desktop-i386.iso"
loopback loop (hd0,msdos1)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
initrd (loop)/casper/initrd.lz
}
- Η πρώτη γραμμή menuentry καθορίζει το όνομα που θα φαίνεται στο μενού του grub2 . Ανάμεσα στα εισαγωγικά μπορούμε να γράψουμε ότι θέλουμε.
- Στην δεύτερη γραμμή πρέπει να προσέξουμε έτσι ώστε να ορίσουμε την σωστή διαδρομή. Εκεί δηλαδή που βρίσκεται η εικόνα iso που έχουμε κατεβάσει. Βλέπετε πως η δική μου βρίσκεται μέσα σε έναν φάκελο που τον έχω ονομάσει ISO και τον έχω τοποθετήσει στο /boot.
- Στην τρίτη γραμμή προσέχουμε να θέσουμε τον σωστό δίσκο και την σωστή κατάτμηση στην οποία βρίσκεται η εικόνα iso. Στο δικό μου παράδειγμα βρίσκεται στον πρώτο δίσκο (hd0) και στην πρώτη κατάτμηση (msdos1 = /dev/sda1) .
- Τις υπόλοιπες δυο γραμμές τις αντιγράφουμε ως είναι χωρίς να χρειάζεται να αλλάξουμε κάτι.
Έπειτα πατάμε Save και μόλις κάνουμε επανεκκίνηση θα δούμε κάτω-κάτω στο μενού το όνομα
Presice Live και μπορούμε πλέον να κάνουμε boot στο Live iso της 12.04 απευθείας από τον grub2.
Αυτή η αλλαγή - προσθήκη που κάναμε είναι κατά κάποιον τρόπο προσωρινή. Δηλαδή με κάποιο update του grub η αλλαγή αυτή θα χαθεί και θα πρέπει να την καταχωρήσουμε ξανά χειροκίνητα.
Εάν θέλουμε να την κάνουμε μόνιμη , τότε πρέπει να επεξεργαστούμε το αρχείο που βρίσκεται στο /etc/grub.d/40_custom. Ανοίγουμε το αρχείο με τον ίδιο τρόπο
- Κώδικας: Επιλογή όλων
gksudo gedit /etc/grub.d/40_custom
Μετά πρέπει να δώσουμε την παρακάτω εντολή
- Κώδικας: Επιλογή όλων
sudo update-grub
Για νεότερες εκδόσεις Ubuntu (π.χ 13.10, 14.04 ..κλπ) θα πρέπει να κάνουμε μια αλλαγή, μια μετονομασία
sotos21 έγραψε:Η τέταρτη γραμμή από
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
Πρέπει να γίνει έτσι
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noprompt noeject
Γιατί αλλιώς δεν ξεκινάει.(δεν βρίσκει το vmlinuz μέσα στο casper γιατί έχει μετονομαστεί σε vmlinuz.efi)
Δημιουργία χώρου αποθήκευσης των αλλαγών μας (Persistent) :
Αν θέλουμε να δημιουργήσουμε έναν χώρο αποθήκευσης , έτσι ώστε να μένουν οι αλλαγές που κάνουμε στο Live , όπως δηλαδή συμβαίνει με το LiveUsb , τότε θα πρέπει να δημιουργήσουμε έναν χώρο - μια κατάτμηση (partition) και να την ονομάσουμε casper-rw.
Έπειτα προσθέτουμε τις 2 παραμέτρους persistent & rw στην εκκίνηση του grub.
Θα δούμε πως όταν συνδεθούμε , θα έχει προσαρτηθεί ήδη το casper-rw και ότι αλλαγές κάνουμε θα αποθηκεύονται εκεί χωρίς να χαθούν.
Μπορούμε να δημιουργήσουμε κάποιον χρήστη για να είμαστε πιο σίγουροι , μιας και στην Live εκδοχή(με χρήστη - user τον ubuntu) πιθανών οι αλλαγές που θα κάνουμε να χαθούν με μια επανεκκίνηση και ας έχουμε δημιουργήσει χώρο persistent.
Οπότε συνοψίζοντας τα βήματα έχουν ως εξής :
- (1) Δημιουργία χώρου , όσο εμείς θέλουμε , με το εργαλείο gpated . Μετατρέπουμε τον χώρο αυτό σε ext4 και του δίνουμε το όνομα (Label) casper-rw
- (2)Προσθέτουμε στο αρχείο εκκίνησης του grub τις παραμέτρους persistent rw . Δηλαδή το grub.cfg , στον συγκεκριμένο οδηγό , να γίνει έτσι menuentry "Presice Live" {
set isofile="/boot/ISO/precise-desktop-i386.iso"
loopback loop (hd0,msdos1)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject persistent rw
initrd (loop)/casper/initrd.lz
} - (3) Μόλις μπούμε στο Live θα δούμε πως η κατάτμηση που έχουμε φτιάξει (partition - casper-rw) είναι ήδη προσαρτημένη . Δημιουργούμε έναν χρήστη με δικαιώματα admin και κωδικό (αν θέλουμε) και κάνουμε ένα logout-login για να συνδεθούμε με αυτόν τον χρήστη.
Την ιδέα σχετικά με το persistent έδωσε ο Sotos21
Spoiler: show
και την παραπάνω λύση ,σχετικά με το persistent , έδωσε ο Σιμος (simosx):
Spoiler: show
Ειδική εισαγωγή στον Grub2 για εκκίνηση mini.iso Ubuntu 12.04 :
Με τον παρακάτω τρόπο μπορούμε να δούμε πως εκκινεί και πως γίνεται η εγκατάσταση του Ubuntu 12.04 , από ένα mini.iso
Η διαφορά του mini.iso , από μια πλήρη .iso image , είναι πως έχει έναν βασικό text installer και ότι πακέτα θέλεις να εγκαταστήσεις , τα κατεβάζει εκείνη τη στιγμή από το Internet. Μπορείς έτσι να χτίσεις την δική σου 12.04 , με τα πακέτα που εσύ θέλεις να έχει.
Lionux έγραψε:Δεν ξερω το κατα ποσο θα φανει χρησιμο , αλλα σκεφτηκα να δωσω την εγγραφη που πρεπει να εχει ο grub ετσι ωστε να εκκινησουμε το mini.iso του ubuntu 12.04 . Πιθανον να ενδιαφερει οσους τους αρεσει να χτιζουν το συστημα τους !!!
- Κώδικας: Επιλογή όλων
menuentry "ubuntu-minimal" {
set prefix=(hd0,1)/boot/grub
insmod linux
insmod loopback
insmod iso9660
loopback loop (hd0,1)/boot/iso/mini.iso
set root=(loop)
linux /linux iso-scan/filename=/boot/iso/mini.iso noprompt noeject toram
initrd /initrd.gz
}
Η εργασία υπάγεται στην άδεια Creative Commons Αναφορά-Μη εμπορική χρήση-Παρόμοια διανομή 3.0 Ελλάδα