Για προχωρημένους χρήστες.
Το UEFI εν ολίγοις αντικατέστησε το BIOS στους νεότερους υπολογιστές. Έφερε κάμποσες αλλαγές και στην τοπική εκκίνηση (απαίτηση για GPT δίσκους αντί MBR, με κάποιο partition εκκίνησης σε FAT32 κλπ) και στην εκκίνηση μέσω δικτύου.
Τα εργαλεία που χρησιμοποιούμε για εκκίνηση μέσω δικτύου (dnsmasq, iPXE κλπ) δεν είναι ακόμα πλήρως έτοιμα για εκκίνηση μέσω δικτύου κάτω από UEFI.
Έτσι συνήθως προτείνουμε να το απενεργοποιήσετε και να επιστρέψετε σε κατάσταση BIOS, που πλέον την αναφέρουν ως Legacy ή CSM:
https://neosmart.net/wiki/enable-legacy-boot-mode/Τότε όμως είναι πιθανό να χρειαστούν επανεγκατάσταση τα Windows.
Αναφέρω εδώ μια άλλη δυνατότητα που υλοποίησα πρόσφατα στο LTSP.
1) Εγκαθιστούμε τοπικά κάποια 64 bit έκδοση Ubuntu, οι οποίες υποστηρίζουν UEFI. Δεν μας ενδιαφέρει και πολύ το ποια έκδοση είναι, μας ενδιαφέρει ότι θα καταφέρει με έναν απλό τρόπο να μας εγκαταστήσει τον grub boot manager κάτω από UEFI. Κυκλοφορούν κάμποσα laptops σε σχολεία που ήδη έχουν dual boot Windows 7/8 και Ubuntu 64 bit σε UEFI.
2) Στον LTSP server, βάζουμε στατική IP. Προσοχή, εάν έχουμε τους φτηνούς ρούτερ, speedtouch κλπ, για να βάλουμε στατική IP πρέπει να ρυθμίσουμε κατάλληλα το DHCP range από το web interface του router. Ενώ αν έχουμε Cisco/Mikrotik, βάζουμε την 10.x.y.10.
3) Εκκινούμε την τοπική εγκατάσταση Ubuntu και δίνουμε τις παρακάτω εντολές:
sudo -i
# Αρχική αντιγραφή των αρχείων vmlinuz και initrd.img από τον server:
cd /boot/
# 10.x.y.10 υποτίθεται ότι είναι η IP του server σας.
scp administrator@10.x.y.10:/var/lib/tftpboot/ltsp/i386/vmlinuz .
# Πατήστε "y", δώσε τον κωδικό του administrator στον server κλπ.
scp administrator@10.x.y.10:/var/lib/tftpboot/ltsp/i386/initrd.img .
# Δημιουργία του κατάλληλου μενού στον grub:
cd /etc/grub.d/
# Εάν δεν θέλουμε η προεπιλογή να είναι το LTSP, βάζουμε 40 αντί για 09:
cp 40_custom 09_ltsp
# Με την blkid βλέπουμε το partition που έχουμε εγκαταστήσει το Ubuntu:
blkid
# Στα παρακάτω, βάλτε την IP του server σας και το partition /dev/sdax του Ubuntu:
cat >>09_ltsp <<EOF
menuentry 'Boot LTSP from 10.x.y.10' {
linux /boot/vmlinuz ro init=/sbin/init-ltsp forcepae root=/dev/nbd0 nbdroot=10.x.y.10:/opt/ltsp/i386 ltsp.kernel_device=/dev/sda3
initrd /boot/initrd.img
}
EOF
update-grub
Στην επόμενη επανεκκίνηση θα μας εμφανιστεί ένα μενού "Boot LTSP from 10.x.y.10", αν το επιλέξουμε θα ξεκινήσει μέσω δικτύου.
Η εντολή "ltsp.kernel_device" που γράψαμε παραπάνω λέει στον LTSP client να ενημερώνει αυτόματα τον τοπικό kernel όταν υπάρχει νέα έκδοσή του στον LTSP server. Σ' αυτήν την περίπτωση θα γίνεται αυτόματα αντιγραφή και επανεκκίνηση, ώστε ο client στη συνέχεια να ξεκινήσει με τον νέο πυρήνα.
Άσχετο, αλλά οι παραπάνω οδηγίες μπορούν επίσης να χρησιμοποιηθούν και εκτός UEFI, για παράδειγμα εάν κάποιος client έχει κάρτα δικτύου που δεν την υποστηρίζει το iPXE, και δεν έχει ούτε επιλογή Boot from LAN στο BIOS του.