Εγκατέστησα τα Windows 7, τα οποία έφαγαν το αρχείο εκκίνησης του Ubuntu. Κατά την εκκίνηση του υπολογιστή, τώρα πηγαίνει κατευθείαν στα Windows, χωρίς να μου δίνει την επιλογή να εκκινήσω το Ubuntu.
Πώς μπορώ να επαναφέρω το Ubuntu;
Όταν εγκαθιστάτε τα Windows, τα Windows υποθέτουν ότι είναι το μοναδικό λειτουργικό σύστημα (OS) στο μηχάνημα, ή τουλάχιστον δεν λαμβάνουν υπόψη το Linux. Έτσι, αντικαθιστά το GRUB με τον δικό του φορτωτή εκκίνησης. Αυτό που πρέπει να κάνετε είναι να αντικαταστήσετε τον φορτωτή εκκίνησης των Windows με το GRUB. Έχω δει διάφορες οδηγίες για την αντικατάσταση του GRUB με το πείραγμα των εντολών GRUB ή κάτι τέτοιο, αλλά για μένα ο ευκολότερος τρόπος είναι απλά να κάνετε chroot
στην εγκατάστασή σας και να εκτελέσετε update-grub
. Το chroot
είναι σπουδαίο γιατί σας επιτρέπει να εργάζεστε στην πραγματική σας εγκατάσταση, αντί να προσπαθείτε να ανακατευθύνετε πράγματα εδώ και εκεί. Είναι πραγματικά καθαρό.
Εδώ είναι ο τρόπος:
Εκκινήστε από το ζωντανό CD ή το ζωντανό USB, στη λειτουργία "Try Ubuntu".
Καθορίστε τον αριθμό διαμερίσματος της κύριας κατάτμησής σας. Τα sudo fdisk -l
, sudo blkid
ή το GParted (το οποίο θα πρέπει να είναι ήδη εγκατεστημένο, από προεπιλογή, στη ζωντανή συνεδρία) μπορούν να σας βοηθήσουν εδώ. Θα υποθέσω σε αυτή την απάντηση ότι είναι το /dev/sda2
, αλλά εξασφαλίστε ότι χρησιμοποιείτε τον σωστό αριθμό διαμερίσματος για το σύστημά σας!
Αν η κύρια κατάτμησή σας είναι σε ένα LVM, η συσκευή θα βρίσκεται αντ' αυτού στο /dev/mapper/
, πιθανότατα στο /dev/mapper/{volume}--{os}-root
όπου {volume}
είναι το όνομα του LVM τόμου και {os}
είναι το λειτουργικό σύστημα. Εκτελέστε την εντολή ls /dev/mapper
για το ακριβές όνομα.
Προσαρτήστε την κατάτμησή σας:
Αντικαταστήστε το sda2 με την κατάτμηση από το βήμα 2.
Αν έχετε ξεχωριστές κατατμήσεις /boot
, /var
ή /usr
, επαναλάβετε τα βήματα 2 και 3 για να προσαρτήσετε αυτές τις κατατμήσεις στις κατατμήσεις /mnt/boot
, /mnt/var
και /mnt/usr
αντίστοιχα. Για παράδειγμα,
sudo mount /dev/sdXW /mnt/boot
sudo mount /dev/sdXY /mnt/var
sudo mount /dev/sdXZ /mnt/usr
αντικαθιστώντας τα sdXW
, sdXY
και sdXZ
με τους αντίστοιχους αριθμούς κατατμήσεων.
Δεσμεύστε το mount κάποια άλλα απαραίτητα πράγματα:
do sudo mount --bind "$i" "/mnt$i"; done
Αν το Ubuntu είναι εγκατεστημένο σε λειτουργία EFI (δείτε αυτή την απάντηση αν δεν είστε σίγουροι), χρησιμοποιήστε το sudo fdisk -l | grep -i efi
ή το GParted για να βρείτε την κατάτμηση EFI. Θα έχει την ετικέτα EFI
. Προσαρτήστε αυτή την κατάτμηση, αντικαθιστώντας το sdXY
με τον πραγματικό αριθμό κατάτμησης του συστήματός σας:
sudo mount /dev/sdXY /mnt/boot/efi
chroot
στην εγκατάσταση του Ubuntu σας:
sudo chroot /mnt
Σε αυτό το σημείο, βρίσκεστε στην εγκατάστασή σας, όχι στη ζωντανή συνεδρία, και τρέχετε ως root. Ενημερώστε το grub:
update-grub
Αν λάβετε σφάλματα ή αν το βήμα 7 δεν έλυσε το πρόβλημά σας, προχωρήστε στο βήμα 8. (Διαφορετικά, είναι προαιρετικό.)
Ανάλογα με την κατάστασή σας, ίσως χρειαστεί να επανεγκαταστήσετε το grub:
grub-install /dev/sda
update-grub # Για να βρείτε και να προσθέσετε τα παράθυρα στο μενού grub.
Αν το Ubuntu έχει εγκατασταθεί σε λειτουργία EFI και το UUID της κατάτμησης EFI έχει αλλάξει, ίσως χρειαστεί να το ενημερώσετε στο /etc/fstab
. Συγκρίνετε το:
blkid | grep -i efi
grep -i efi /etc/fstab
Εάν το τρέχον UUID της κατάτμησης EFI (από το blkid
) διαφέρει από αυτό στο /etc/fstab
, ενημερώστε το /etc/fstab
με το τρέχον UUID.
Εάν όλα λειτούργησαν χωρίς σφάλματα, τότε είστε έτοιμοι:
exit
sudo επανεκκίνηση
Σε αυτό το σημείο, θα πρέπει να μπορείτε να εκκινήσετε κανονικά.
Αν δεν μπορείτε να εκκινήσετε κανονικά και δεν κάνατε το βήμα 8 επειδή δεν υπήρχαν μηνύματα σφάλματος, δοκιμάστε ξανά με το βήμα 8.
Το Boot-Repair λειτούργησε για μένα. Είναι πολύ εύκολο στη χρήση γραφική εφαρμογή, δεν χρειάζεται να χρησιμοποιήσετε τη γραμμή εντολών, πρέπει μόνο να κάνετε κλικ σε ένα κουμπί :)
Όλες οι διαθέσιμες επιλογές επιδιόρθωσης περιγράφονται στην τεκμηρίωση του Ubuntu και υπάρχει μια ξεχωριστή σελίδα που εξηγεί πώς να ξεκινήσετε το Boot-Repair (δημιουργώντας έναν δίσκο εκκίνησης ή εγκαθιστώντας το σε έναν υπάρχοντα live δίσκο Ubuntu) και πώς να το χρησιμοποιήσετε.
Απλά εκκινήστε ένα live CD του Ubuntu, εγκαταστήστε το Boot-Repair και εκτελέστε το.
Όταν το GRUB είναι χαλασμένο, ο χρήστης γενικά δεν έχει πρόσβαση στα συστήματα, οπότε η επιδιόρθωση πρέπει να εκτελεστεί από μια live-session (live-CD ή live-USB).
Υπάρχουν πολλές πιθανές αιτίες για τη διακοπή του GRUB: Η DRM εμποδίζει τη σωστή εγκατάσταση του GRUB, σφάλμα του εγκαταστάτη, αλλαγή υλικού... Η ενημέρωση του GRUB όπως προτάθηκε αρχικά από τον Scott δεν είναι γενικά επαρκής, η επανεγκατάσταση του GRUB όπως προτάθηκε από τον Marco είναι πιο αποτελεσματική, αλλά εξακολουθούν να υπάρχουν διάφορες καταστάσεις που απαιτούν άλλες βελτιώσεις (προσθήκη επιλογών στον πυρήνα, απόκρυψη του μενού GRUB, αλλαγή των επιλογών GRUB, επιλογή της σωστής αρχιτεκτονικής του κεντρικού υπολογιστή...). Άλλες δυσκολίες για την επισκευή του GRUB είναι η χρήση του chroot και η επιλογή των σωστών διαμερισμάτων/δίσκων.
Όλα αυτά έχουν γίνει εύκολα με ένα μικρό γραφικό εργαλείο: Boot-Repair. Το θα ενσωματωθεί στο CD του Ubuntu 12.04 για ευκολότερη χρήση, αλλά για όσους το χρειάζονται τώρα, υπάρχουν ήδη κάποιες διανομές που το ενσωματώνουν: Ubuntu-Secured-Remix (CD Ubuntu που ενσωματώνει το Boot-Repair), Boot-Repair-Disk (CD που εκτελεί το Boot-Repair κατά την εκκίνηση), ...
Ελπίζω αυτό να βοηθήσει.