Μέσω του rescue mode του grub, μπορείς να κάνεις boot στο λειτουργικό, αν μπορείς να θέσεις κάποιες παραμέτρους σωστά. Γράφω εδώ "αν μπορείς να θέσεις" γιατί υπάρχει περίπτωση να έχει καταστραφεί ο grub και να μην μπορείς να κάνεις ούτε αυτό.
Αν υποθέσουμε ότι η διανομή που μας ενδιαφέρει βρίσκεται στο /dev/sda2 και τα αρχεία του grub φυσικά και βρίσκονται και αυτά εκεί,
στο grub rescue mode δίνουμε τα παρακάτω.
- Κώδικας: Επιλογή όλων
set prefix=(hd0,2)/boot/grub
set root=(hd0,2)
linux /vmlinuz root=/dev/sda2 ro
initrd /initrd.img
boot
Φυσικά και θα πρέπει να μην πάρουμε κάποιο μήνυμα λάθους κατά την εκτέλεση των εντολών. Αν όλα πάνε καλά, η τελευταία εντολή (boot) θα προσπαθήσει να εκκινήσει το λειτουργικό σύστημα.
Κάτι άλλο σημαντικό εδώ , που μπορεί να σε βοηθήσει, είναι ότι στο rescue mode του grub ισχύει το
tab completion.
Αν καταφέρεις και κάνεις boot στο λειτουργικό έστω και μια φορά, θα δοκιμάσεις να κάνεις μια επανεγκατάσταση του grub στο MBR του δίσκου, καθώς και μια ανανέωση του αρχείο grub.cfg.
Για επανεγκατάσταση
- Κώδικας: Επιλογή όλων
sudo grub-install --force --recheck /dev/sda
Για ανανέωση (σε Ubuntu ισχύει η παρακάτω εντολή)
- Κώδικας: Επιλογή όλων
sudo update-grub
Δεν θα πρέπει να πάρεις μηνύματα λάθους.
asvos έγραψε:Λίγο που το κοίταξα με τρόμαξε.
Σίγουρα θα χρειαστώ αρκετή βοήθεια.
To grub rescue mode, κατά τη δική μου γνώμη, είναι πιο δύσκολο από το chroot. Γιατί στο πρώτο δεν έχεις κάτι, παρά μια κονσόλα με συγκεκριμένες εντολές με τις οποίες μπορείς να δουλέψεις. Το chroot όμως, μπορείς να το κάνεις από ένα Live media μιας διανομής, όπου στις περισσότερες των περιπτώσεων έχεις διαθέσιμο ένα πλήρες γραφικό περιβάλλον (και με browser..κλπ, σε περίπτωση που θες να ψάξεις για κάτι).
Στο chroot αρκεί να προσαρτήσεις τα σωστά διαμερίσματα με τις σωστές παραμέτρους και μετά θα βρίσκεσαι σε μια κονσόλα, μέσα στο λειτουργικό που θέλεις, ως root χρήστης. Να προσέξεις μόνο, το live και το λειτουργικό στο οποίο θέλεις να κάνεις chroot να έχουν την ίδια αρχιτεκτονική.
Ανοίγεις ένα τερματικό και πάλι υποθέτουμε ότι το λειτουργικό που μας ενδιαφέρει είναι στο /dev/sda2 , πρώτα το κάνεις προσάρτηση
- Κώδικας: Επιλογή όλων
sudo -i
mount /dev/sda2 /mnt
μετά προσαρτείς τα κατάλληλα paths.
- Κώδικας: Επιλογή όλων
mount -o bind /proc /mnt/proc
mount -o bind /dev /mnt/dev
mount -o bind /dev/pts /mnt/dev/pts
mount -o bind /sys /mnt/sys
Αντιγράφεις το αρχείο resolv.conf το οποίο θα βοηθήσει στο να έχεις active internet στο chroot περιβάλλον (σωστούς DNS).
- Κώδικας: Επιλογή όλων
cp /etc/resolv.conf /mnt/etc/resolv.conf
και τέλος, δίνεις την chroot εντολή
- Κώδικας: Επιλογή όλων
chroot /mnt /bin/bash
Από εκεί και πέρα, και αφού βρίσκεται μέσα στο λειτουργικό που μας ενδιαφέρει, δίνεις πάλι τις παραπάνω εντολές για επανεγκατάσταση του grub, καθώς και ανανέωση του grub.cfg.
Αν τυχών χρειαστεί, μπορείς να κάνεις δοκιμάσεις και ένα update-upgrade ή και άλλες εντολές του apt για να δεις αν διορθώσουν κάτι
- Κώδικας: Επιλογή όλων
apt-get update
apt-get upgrade
apt-get install -f
Όταν τελειώσεις το maintenance, δίνεις την εντολή
- Κώδικας: Επιλογή όλων
exit
για να βγεις από το chroot.
Εδώ άλλοι λένε ότι είναι καλό να αποπροσαρτήσεις τα σημεία που έχεις κάνει προσάρτηση για να μην τυχών και μείνουν σε corrupted κατάσταση, οπότε δίνεις τις αντίστοιχες εντολές umount
- Κώδικας: Επιλογή όλων
umount {proc/,sys/,dev/pts,dev/}
cd .. && umount /mnt
και έπειτα κάνεις μια επανεκκίνηση.