Jak odzyskać lub uratować uszkodzony moduł ładujący Grub w CentOS 7
W tym samouczku omówimy proces ratowania uszkodzonego modułu ładującego w CentOS 7 lub Red Hat Enterprise Linux 7 i odzyskania zapomnianego hasła roota.
Program ładujący GRUB może czasami zostać uszkodzony, naruszony lub usunięty w CentOS z powodu różnych problemów, takich jak awarie sprzętu lub oprogramowania, lub czasami może zostać zastąpiony przez inny system operacyjny w przypadku podwójnego rozruchu. Uszkodzony program ładujący Gruba uniemożliwia uruchomienie systemu CentOS/RHEL i przekazanie kontroli dalej do jądra Linuksa.
Pierwszy etap modułu ładującego Gruba jest instalowany na pierwszych 448 bajtach na początku każdego dysku twardego, w obszarze zwykle znanym jako Główny rekord rozruchowy (MBR ).
Przeczytaj także: Jak uratować, naprawić i odzyskać program ładujący Grub Boot w Ubuntu
Maksymalny rozmiar MBR to 512 bajów. Jeśli z jakiegoś powodu pierwsze 448 bajtów zostaną nadpisane, nie będzie można załadować systemu CentOS lub Red Hat Enterprise Linux, chyba że uruchomisz komputer za pomocą Obraz ISO CentOS w trybie ratunkowym lub przy użyciu innych metod ładowania i zainstaluj ponownie moduł ładujący MBR GRUB.
Wymagania
- Pobierz obraz ISO DVD CentOS 7
Odzyskaj moduł ładujący GRUB w CentOS 7
1. W pierwszym kroku pobierz najnowszą wersję obrazu CentOS 7 ISO i wypal ją na płycie DVD lub utwórz rozruchową pamięć USB. Umieść obraz startowy na odpowiednim dysku komputera i uruchom ponownie komputer.
Podczas gdy BIOS wykonuje testy POST, naciśnij specjalny klawisz (Esc, F2, F11, F12, Del w zależności od instrukcji płyty głównej), aby wejść do ustawień BIOS i je zmodyfikować sekwencję rozruchową, tak aby rozruchowy obraz DVD/USB był uruchamiany jako pierwszy podczas uruchamiania komputera, jak pokazano na poniższej ilustracji.
2. Po wykryciu nośnika startowego CentOS 7, na wyjściu monitora komputera pojawi się pierwszy ekran. Z pierwszego menu wybierz opcję Rozwiązywanie problemów i naciśnij klawisz [enter], aby kontynuować.
3. Na następnym ekranie wybierz opcję Uratuj system CentOS i naciśnij klawisz [enter], aby przejść dalej. Pojawi się nowy ekran z komunikatem „Naciśnij klawisz Enter, aby rozpocząć proces instalacji”. Tutaj wystarczy ponownie nacisnąć klawisz [enter], aby załadować system CentOS do pamięci.
4. Po załadowaniu oprogramowania instalacyjnego do pamięci RAM komputera, na ekranie pojawi się monit dotyczący środowiska ratunkowego. W tym monicie wpisz 1
, aby kontynuować proces odzyskiwania systemu, jak pokazano na poniższym obrazku.
5. W następnym komunikacie program ratunkowy poinformuje Cię, że Twój system został zamontowany w katalogu /mnt/sysimage
. Tutaj, zgodnie z sugestią programu ratunkowego, wpisz chroot /mnt/sysimage, aby zmienić hierarchię drzewa Linux z obrazu ISO na zamontowaną partycję główną na dysku.
6. Następnie zidentyfikuj dysk twardy komputera, wydając poniższe polecenie w wierszu ratunkowym.
ls /dev/sd*
Jeśli Twój komputer korzysta ze starego fizycznego kontrolera RAID, dyski będą miały inne nazwy, takie jak /dev/cciss
. Ponadto, jeśli Twój system CentOS jest zainstalowany na maszynie wirtualnej, dyski twarde mogą nosić nazwy /dev/vda
lub /dev/xvda
.
Jednak po zidentyfikowaniu dysku twardego komputera możesz rozpocząć instalację modułu ładującego GRUB, wydając poniższe polecenia.
ls /sbin | grep grub2 # Identify GRUB installation command
/sbin/grub2-install /dev/sda # Install the boot loader in the boot partition of the first hard disk
7. Po pomyślnym zainstalowaniu modułu ładującego GRUB2 w obszarze MBR dysku twardego, wpisz exit, aby powrócić do drzewa obrazu ISO rozruchu CentOS i uruchom ponownie komputer, wpisując init 6 w konsoli, jak pokazano na poniższym zrzucie ekranu.
8. Po ponownym uruchomieniu komputera należy najpierw wejść w ustawienia BIOS i zmienić menu kolejności rozruchu (umieścić dysk twardy z zainstalowanym programem rozruchowym MBR na pierwszej pozycji w kolejność menu startowego).
Zapisz ustawienia BIOS-u i ponownie uruchom ponownie komputer, aby zastosować nową kolejność rozruchu. Po ponownym uruchomieniu komputer powinien uruchomić się bezpośrednio w menu GRUB, jak pokazano na poniższym obrazku.
Gratulacje! Pomyślnie naprawiłeś uszkodzony moduł ładujący GRUB w systemie CentOS 7. Należy pamiętać, że czasami po przywróceniu programu ładującego GRUB komputer uruchomi się ponownie raz lub dwa razy, aby zastosować nową konfigurację Gruba.
Odzyskaj hasło roota w CentOS 7
9. Jeśli zapomniałeś hasła roota i nie możesz zalogować się do systemu CentOS 7, możesz w zasadzie zresetować (wyczyścić) hasło, uruchamiając obraz ISO DVD CentOS 7 w trybie odzyskiwania i postępując zgodnie z instrukcjami te same kroki, jak pokazano powyżej, aż dojdziesz do kroku 6. Gdy jesteś chrootowany w systemie plików instalacyjnych CentOS, wydaj następujące polecenie, aby edytować plik haseł do kont Linux.
vi /etc/shadow
W pliku cienia zidentyfikuj linię hasła głównego (zwykle jest to pierwsza linia), wejdź do trybu edycji vi, naciskając klawisz i
i usuń cały ciąg znaków pomiędzy pierwszym dwukropkiem „: ”
i drugi dwukropek ”: ”
, jak pokazano na poniższym zrzucie ekranu.
Po zakończeniu zapisz plik, naciskając następujące klawisze w podanej kolejności Esc -> : -> wq!
10. Na koniec wyjdź z chrootowanej konsoli i wpisz init 6, aby zrestartować komputer. Po ponownym uruchomieniu zaloguj się do systemu CentOS przy użyciu konta root, które nie ma obecnie skonfigurowanego hasła, i skonfiguruj nowe hasło dla użytkownika root, wykonując polecenie passwd, jak pokazano na poniższym zrzucie ekranu.
To wszystko! Uruchamianie maszyny fizycznej lub maszyny wirtualnej z obrazem ISO DVD CentOS 7 w trybie odzyskiwania może pomóc administratorom systemu w wykonywaniu różnych zadań związanych z rozwiązywaniem problemów z uszkodzonym systemem, takich jak odzyskiwanie danych lub czynności opisane w samouczku.