Thursday, April 8, 2010

Επιδιόρθωση του MBR

Όσοι έχουν dual boot windows με Linux με boot loader το grub έχουν σίγουρα αντιμετωπίσει το φαινόμενο να μην ξεκινάει ο υπολογιστής και να πετάει κάποιο σφάλμα ο grub. Σε αυτές τις περιπτώσεις, μια επανεγκατάσταση του grub μπορεί να επιλύσει το πρόβλημα που αντιμετωπίζεται. Για αυτό μάζεψα παρακάτω τις οδηγίες που επιτυγχάνουν την επιδιόρθωση του boot sector.

Windows 7

Σε περίπτωση που θέλετε να διώξετε τελείως τον grub και να ξεκινάνε τα windows 7 κατευθείαν, τότε τα βήματα έχουν ως εξής:
  1. Εκκινήστε τον υπολογιστή με το dvd εγκατάστασης των windows 7.
  2. Στην πρώτη οθόνη που θα εμφανιστεί, επιλέξτε τις ρυθμίσεις γλώσσας, ώρας και πληκτρολογίου που θέλετε και κάντε κλικ στο επόμενο.
  3. Σε αυτό το βήμα θα εμφανιστούν 3 επιλογές. Επιλέξτε "Repair Your Computer". Αυτή η επιλογή θα σας εμφανίσει το παράθυρο System Recovery.
  4. Επιλέξτε "Command Prompt" για να ανοίξει η κονσόλα επιδιόρθωσης.
  5. Εκτελέστε την εντολή "bootsect / NT60 C: \" αν είχατε τα Windows 7 εγκατεστημένα στον τοπικό δίσκο C. Εναλλακτικά, μπορείτε να εκτελέσετε "bootsect / NT60 SYS" ή "bootsect / NT60 All" για να επισκευάσει την κατάτμηση (partition) του συστήματος ή όλες τις κατατμήσεις.
Αφαιρέστε το dvd και επανεκκινήστε τον υπολογιστή σας. Τα windows 7 θα πρέπει να ξεκινήσουν κανονικά.

GRUB

Για όσους έχουν τον παλιό grub (όπως για παράδειγμα διανομές ubuntu πριν την 9.10) και θέλουν να επανεγκαταστήσουν τον grub, τα βήματα έχουν ως εξής:
  1. Εκκινήστε τον υπολογιστή από ένα Live CD, όπως το Ubuntu Live, Knoppix, Mepis, ή κάτι παρόμοιο.
  2. Ανοίξτε ένα τερματικό/ κονσόλα (Applications-->Accessories-->Terminal).
  3. Πληκτρολογήστε "sudo grub". Θα πρέπει να εμφανιστεί στην κονσόλα “grub>” που σημαίνει ότι ξεκίνησε η εφαρμογή του grub
  4. Πληκτρολογήστε "find / boot/grub/stage1". Θα εμφανιστεί μια απάντηση της μορφής “(hdx,y)” όπου τo x και το y είναι νούμερα. Για παράδειγμα θα μπορούσε να είναι "(hd1, 2)". Υπάρχει το ενδεχόμενο η μεταβλητή y να μην υπάρχει και η απάντηση να είναι για παράδειγμα “(hd0)”.
  5. Πληκτρολογήστε "root STEP_4_OUTPUT" όπου STEP_4_OUTPUT είναι η απάντηση που λάβαμε από την εντολή του βήματος 4 (πχ (hd0,3) ή (hd1) κτλ). Προσοχή: στο STEP_4_OUTPUT θα πρέπει να βάλετε τις παρενθέσεις. Δηλαδή η εντολή του βήματος 5 θα πρέπει να είναι για παράδειγμα “root (hd0,3)” αν το αποτέλεσμα τις εντολής 4 ήταν “(hd0,3)”.
  6. Στο 6ο βήμα υπάρχουν 2 περιπτώσεις:
    1. Η πρώτη εγκαθιστά το grub στο MBR του πρώτου δίσκου από όπου είθισται να ξεκινάει ο υπολογιστής αμέσως μετά τις εντολές του BIOS. Από προσωπική εμπειρία, οι εγκαταστάσεις των διανομών linux εγκαθιστούν εκεί τον grub εκτός και αν ο χρήστης διαλέξει κάτι διαφορετικό. Για να εγκαταστήσετε τον grub εκεί, πληκτρολογήστε την εντολή “setup (hd0)”.
    2. Η δεύτερη εγκαθιστά το grub στην κατάτμηση που είναι εγκατεστημένο το linux. Για να το πετύχετε αυτό, πληκτρολογήστε "setup STEP_4_OUTPUT ".
  7. Πληκτρολογήστε "quit".
Ο grub έχει επανεγκατασταθεί!

Grub 2

Για όσους έχουν τον νεότερο grub 2 (όπως για παράδειγμα διανομές ubuntu από την 9.10 και μετά) και θέλουν να επανεγκαταστήσουν τον grub 2, τα βήματα έχουν ως εξής:
  1. Εκκινήστε τον υπολογιστή από ένα Live CD που να έχει εγκατεστημένο το grub 2.
  2. Ανοίξτε ένα τερματικό/ κονσόλα.
  3. Πληκτρολογήστε “sudo fdisk -l” για να δείτε μια λίστα με τις διαθέσιμες κατατμήσεις των δίσκων σας. Σε αυτό το σημείο θα πρέπει να εντοπίσετε την κατάτμηση στην οποία είναι εγκατεστημένο το linux σας (πχ /dev/sdb5)
  4. Φορτώστε την κατάτμηση που εντοπίσατε στο προηγούμενο βήμα στον φάκελο mnt εκτελώντας την εντολή “sudo mount STEP_3_LOCATED_PARTITION /mnt” όπου STEP_3_LOCATED_PARTITION είναι το partition που έχει το root του εγκατεστημένου linux (δηλαδή τους φακέλους etc,bin, usr κτλ), όπως αυτό εντοπίστηκε στο βήμα 3. Για τους πιο προχωρημένους που έχουν σε ξέχωρο partition το boot, θα πρέπει να το κάνουν mount και αυτό στον φάκελο /mnt/boot.
  5. Εγκαθιστούμε τον grub2 εκτελώντας την εντολή “sudo grub-install --root-directory=/mnt/ /dev/sdΧ” όπου sdX είναι ο δίσκος από όπου ξεκινάει το boot αμέσως μετά το bios (συνήθως είναι sda αλλά θα μπορούσε να είναι και hda για όσους έχουν IDE δίσκους). Για παράδειγμα, η πιο συνήθης εντολή είναι η “sudo grub-install --root-directory=/mnt/ /dev/sda”.
Ο grub2 έχει επανεγκατασταθεί! Για να ενημερώσετε την λίστα του grub2 μπορείτε να εκτελέσετε την εντολή “sudo update-grub”.

No comments: