UEFI Boot κάθε Ubuntu .iso απ' το τίποτα!

Προβληματισμός, προτάσεις και λύσεις για "αναβάθμιση" του Η/Υ σε εργαλείο παραγωγικότητας!
Λειτουργικά συστήματα, Backup/Recovery, χρήση του hardware I/O.
Άβαταρ μέλους
GeorgeVita
Διαχειριστής
Δημοσιεύσεις: 453
Εγγραφή: 04 Σεπ 2013, 21:51
Ονομα: Γιώργος
Επικοινωνία:

UEFI Boot κάθε Ubuntu .iso απ' το τίποτα!

Δημοσίευσηαπό GeorgeVita » 29 Σεπ 2017, 19:28

Προχώρησα ένα βήμα πιο πέρα την βασική ιδέα του θέματος "LiveISO", boot όλα τα ubuntu.iso με το grub2 δοκιμάζοντας δημιουργία "Live-USB" με απλό COPY. Συγκεκριμένα αντέγραψα τα περιεχόμενα των ευρετηρίων "boot" και "EFI" από μια διανομή Ubuntu (όπως υπάρχουν στο σχετικό αρχείο .iso) και ρύθμισα το grub menu για να εκκινήσει από το αρχείο .iso.

Η διαδικασία είναι απλή:
- Σε άδειο USB memory stick (FAT32) αντέγραψα τα directories "boot" και "EFI" από το τρέχον Ubuntu .iso
- δημιούργησα στο στικάκι ένα directory /ISO
- αντέγραψα μέσα στο /ISO το/τα αρχείο/α Ubuntu .iso (θα βρείτε πολλά στο http://cdimage.ubuntu.com/)
- μετονόμασα το .iso σε κάτι απλούστερο (λ.χ. U170464.iso) για να το πληκτρολογώ εύκολα και σωστά...
- άλλαξα τα περιεχόμενα του /boot/grub/grub.cfg σύμφωνα με τις "ιδέες" του θέματος "LiveISO"
- έκανα reboot, έλεγξα ότι ο Η/Υ μου κάνει εκκίνηση από "removable media" και έφτασα στο μενού "Which /ISO/.iso file?"
- πληκτρολόγησα το όνομα του .iso και enter, enter
... ΟΛΑ ΚΑΛΑ!

Επειδή μπορεί να μη είναι εύκολο να "ανοίξουμε" το .iso για να αντιγράψουμε τα ευρετήρια "boot" και "EFI", έφτιαξα ένα αρχείο .zip που περιέχει αυτά που υπάρχουν στο τρέχον Ubuntu Mate 17.10 iso. Με κάθε επιφύλαξη, απλό unzip στο USB drive θα έχει τα σωστά αποτελέσματα.

Συμπιεσμένο αρχείο .zip με τα περιεχόμενα των /boot και /EFI από Ubuntu Mate 17.10 (64bit): grubEFI.zip (2,3MB)

Στο ευρετήριο /boot/grub/ υπάρχει το αρχείο grub.cfg με τις επιλογές εκκίνησης του grub.
Αυτό το αρχείο πρέπει να ρυθμιστεί για να κάνει εκκίνηση από το .iso.

Τα τελικά περιεχόμενα του grub.cfg των δοκιμών μου ήταν:

Κώδικας: Επιλογή όλων

if loadfont /boot/grub/font.pf2 ; then
   set gfxmode=auto
   insmod efi_gop
   insmod efi_uga
   insmod gfxterm
   terminal_output gfxterm
fi

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray

menuentry 'Boot from /ISO/????.iso file' {
set pager=1
echo
set root=hd0,msdos1
ls /ISO/
echo
echo -n 'Which /ISO/.iso file? '
read isofile
echo
loopback loop /ISO/$isofile
echo 'Loading Linux kernel ...'
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/ISO/$isofile quiet splash --
echo 'Loading initrd.lz ...'
initrd (loop)/casper/initrd.lz
}


Μπορείτε να ξεκινήσετε τον Η/Υ σας ακόμη και χωρίς σκληρό δίσκο!

Σημειώσεις:
- το .iso της δοκιμής ήταν το Ubuntu Mate 17.04 64 bit το οποίο έχει ονομασία kernel "vmlinuz.efi" και αρχική RAM στο "initrd.lz". Αλλες εκδόσεις μπορεί να χρησιμοποιούν διαφορετικές ονομασίες, λ.χ. απλά "initrd" και πρέπει να διορθώσουμε το grub.cfg. Αυτό μπορεί να γίνει και "on the fly" πατώντας "e" στην γραμμή επιλογής του grub menu και μετά τρέχουμε με F10 ή ctrl-x.
- η παράμετρος "root" έχει ρυθμιστεί με το "set root=hd0,msdos1" που σημαίνει ότι ο δίσκος που περιέχει τα παραπάνω είναι ο πρώτος ("hd0") και λειτουργούμε το πρώτο partition ("msdos1"). Αν έχουμε περισσότερους δίσκους ίσως να πρέπει να ρυθμίσουμε κατάλληλα αυτή την παράμετρο. Από το grub menu, μπορούμε να δοκιμάσουμε και να βρούμε κάποιες πληροφορίες για τους δίσκους στο σύστημά μας. Πατώντας "c" ερχόμαστε στο command line του grub shell όπο υπάρχουν αρκετές βοηθητικές εντολές, όπως ls για λίστα αρχείων ή δίσκων, set για να δούμε ή να ρυθμίσουμε κάποια παράμετρο, cd για αλλαγή directory, κλπ.
Περισσότερα για το grub στην τυπική πηγή: https://www.gnu.org/software/grub/grub- ... ation.html

Επιστροφή σε “Ο Η/Υ ως εργαλείο παραγωγικότητας!”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 3 επισκέπτες