GRUB¶
Όταν θέλετε να έχετε Η/Υ dual boot (Ubuntu/Windows), η σωστή σειρά εγκατάστασης είναι πρώτα τα Windows και τελευταίο το Ubuntu, έτσι ώστε να εγκατασταθεί/ενημερωθεί σωστά ο GRUB, με όλα τα διαθέσιμα λειτουργικά συστήματα.
Προσοχή
Στις επόμενες ενότητες θα σας ζητηθεί να κάνετε boot με live USB stick.
Επειδή όμως μπορεί να χρειαστεί να καλέσετε συναρτήσεις UEFI (π.χ. sudo
efibootmgr
), προτείνεται να είναι στο ίδιο mode (BIOS/UEFI) με το
εγκατεστημένο Λ.Σ.
BIOS (Legacy UEFI)¶
Επιδιόρθωση GRUB¶
Αν έχετε εγκαταστήσει πρώτα Ubuntu σε BIOS mode και στη συνέχεια προσθέσετε σε διαφορετικό partition και Windows (BIOS mode), τότε το πιο πιθανό είναι τα Windows να επικαλύψουν (override) τον GRUB με τον αντίστοιχο δικό τους, με συνέπεια να κάνετε boot πάντα σε Windows.
Για να επιδιορθωθεί αυτό το πρόβλημα, αλλά και σε κάθε περίπτωση που θέλετε να επιδιορθώσετε/επανεγκαταστήσετε τον GRUB (BIOS mode), θα πρέπει να κάνετε τα εξής:
-
Εκκίνηση σε κατάσταση BIOS (live USB stick).
-
Αναγνώριση του partition number στο οποίο είναι εγκατεστημένο το Ubuntu. Από τερματικό:
lsblk --fs
Συνήθως στη στήλη
FSTYPE
υπάρχει χαρακτηρισμόςext4
. -
Από το αποτέλεσμα του προηγούμενου βήματος, έχετε αναγνωρίσει που είναι εγκατεστημένο το Ubuntu. Όποτε από τερματικό:
Στις επόμενες εντολές όπου
sdx1
καιsdx
, αντικαταστήστε με τα σωστά.sudo -i mount /dev/sdx1 /mnt for d in proc sys run dev dev/pts; do mount --bind /$d /mnt/$d; done chroot /mnt grub-install /dev/sdx update-grub for d in dev/pts dev run sys proc; do umount /mnt/$d; done umount /mnt sync reboot
UEFI¶
Αν έχετε εγκαταστήσει πρώτα Ubuntu σε UEFI mode και στη συνέχεια προσθέσετε
σε διαφορετικό partition και Windows (UEFI mode), τότε το πιο πιθανό είναι τα
Windows να αλλάξουν την προεπιλεγμένη καταχώρηση ubuntu
, με την
αντίστοιχη δική τους Windows Boot Manager
, με συνέπεια να κάνετε boot
πάντα σε Windows.
Προσοχή
Αυτό συνήθως μας δημιουργεί την εντύπωση ότι θέλει Επιδιόρθωση ο GRUB, κάτι όμως που δεν είναι απαραίτητο να γίνει. Αρκεί μόνο να αλλάξετε τον Προεπιλεγμένο boot loader.
Προεπιλεγμένος boot loader¶
Για να αλλάξετε την προεπιλεγμένη καταχώρηση σε ubuntu
, μπορείτε να το
κάνετε με δύο τρόπους:
-
Ορίζοντας στις ρυθμίσεις του UEFI, ως πρώτη καταχώρηση στο boot sequence, το
ubuntu
. Για να έχετε πρόσβαση στις σχετικές επιλογές, μπορείτε να δοκιμάστε τα πλήκτρα που περιγράφονται στο Εκκίνηση σε κατάσταση BIOS ή UEFI. -
Από το περιβάλλον του εγκατεστημένου Ubuntu ή κάνοντας Εκκίνηση σε κατάσταση UEFI (live USB stick), μπορείτε να δείτε/αλλάξετε το UEFI boot order. Σε τερματικό:
Αν χρησιμοποιήσετε το live USB stick ίσως να χρειαστεί να κάνετε εγκατάσταση το
efibootmgr
με την εντολή:sudo apt update; sudo apt install efibootmgr
.$ sudo efibootmgr BootCurrent: 0002 Timeout: 1 seconds BootOrder: 0002,0000,0004,0007,0008 Boot0000* ubuntu Boot0002* Windows Boot Manager Boot0004* Network Card Boot0007* CD/DVD Drive Boot0008* Hard Drive
Στο προηγούμενο παράδειγμα, προεπιλεγμένη καταχώρηση είναι ο
0002
, που αντιστοιχεί στονWindows Boot Manager
. Από τερματικό, αλλάξτε τη σειρά ώστε στο επόμενο boot,BootCurrent
να είναι οBoot0000* ubuntu
:sudo efibootmgr -o 0000,0002,0004,0007,0008
Επιδιόρθωση GRUB¶
Σε κάθε περίπτωση που θέλετε να επιδιορθώσετε/επανεγκαταστήσετε τον GRUB (UEFI mode), θα πρέπει να κάνετε τα εξής:
-
Εκκίνηση σε κατάσταση UEFI (live USB stick).
-
Αναγνώριση των partition numbers, Ubuntu και EFI. Από τερματικό:
lsblk --fs
- Για το Ubuntu partition number, συνήθως στη στήλη
FSTYPE
υπάρχει χαρακτηρισμόςext4
. - Για το EFI partition number, στη στήλη
FSTYPE
υπάρχει χαρακτηρισμόςvfat
. Επίσης μπορείτε να το επιβεβαιώσετε με την εντολήblkid
, από τη γραμμή που αναφέρει:PARTLABEL="EFI System Partition"
.
- Για το Ubuntu partition number, συνήθως στη στήλη
-
Από το αποτέλεσμα του προηγούμενου βήματος, έχετε αναγνωρίσει που είναι εγκατεστημένο το Ubuntu και που το EFI. Όποτε από τερματικό:
Στις επόμενες εντολές όπου
sdx2
(Ubuntu),sdx1
(EFI) καιsdx
, αντικαταστήστε με τα σωστά.sudo -i mount /dev/sdx2 /mnt mount /dev/sdx1 /mnt/boot/efi/ for d in proc sys run dev dev/pts; do mount --bind /$d /mnt/$d; done chroot /mnt grub-install /dev/sdx update-grub for d in dev/pts dev run sys proc; do umount /mnt/$d; done umount /mnt/boot/efi umount /mnt sync reboot