Sådan gendannes eller reddes ødelagt Grub Boot Loader i CentOS 7


I denne vejledning dækker vi processen med at redde en beskadiget boot loader i CentOS 7 eller Red Hat Enterprise Linux 7 og gendanne den glemte root-adgangskode.

GRUB boot loader kan undertiden blive beskadiget, kompromitteret eller slettet i CentOS på grund af forskellige problemer, såsom hardware eller software relaterede fejl eller nogle gange kan erstattes af andre operativsystemer i tilfælde af dual-booting. En beskadiget Grub boot loader gør, at et CentOS/RHEL-system ikke kan starte og overføre kontrollen videre til Linux-kernen.

Grub boot loader etape er installeret på de første 448 bytes i begyndelsen af hver harddisk i et område, der typisk kaldes Master Boot Record (MBR).

MBR's maksimale størrelse er 512 byes lang. Hvis de første 448 byte af en eller anden grund overskrives, kan CentOS eller Red Hat Enterprise Linux ikke indlæses, medmindre du starter maskinen med et CentOS ISO-billede i redningstilstand eller bruger andre opstartsindlæsningsmetoder og geninstallerer MBR GRUB boot loader.

  1. Download CentOS 7 DVD ISO-billede

Gendan GRUB Boot Loader i CentOS 7

1. På det første trin skal du downloade den nyeste version af CentOS 7 ISO-billede og brænde det til en DVD eller oprette en USB-stick, der kan startes. Anbring det opstartsbillede, der er startbart på dit maskindrevne drev, og genstart maskinen.

Mens BIOS udfører POST-testene, skal du trykke på en speciel tast (Esc, F2, F11, F12, Del afhængigt af bundkortets instruktioner) for at komme ind i BIOS-indstillinger og ændre boot-sekvensen, så det bootbare DVD/USB-billede startes først ved opstart af maskinen, som illustreret i nedenstående billede.

2. Når det startbare medie fra CentOS 7 er blevet detekteret, vises den første skærm i din maskins skærmoutput. Fra den første menu skal du vælge indstillingen Fejlfinding og trykke på [enter] -tasten for at fortsætte.

3. På det næste skærmbillede skal du redde en CentOS-systemindstilling og trykke på [enter] -tasten for at komme videre. En ny skærm vises med beskeden 'Tryk på Enter-tasten for at starte installationsprocessen'. Her skal du bare trykke på [enter] -tasten igen for at indlæse CentOS-systemet i hukommelsen.

4. Når installationssoftwaren er indlæst i maskinens RAM, vises redningsmiljøprompten på skærmen. Skriv 1 på denne prompt for at fortsætte med systemgendannelsesprocessen, som vist i nedenstående billede.

5. Ved næste prompt vil redningsprogrammet informere dig om, at dit system er blevet monteret under /mnt/sysimage -mappen. Her, som redningsprogrammet antyder, skal du skrive chroot/mnt/sysimage for at ændre Linux-træhierarki fra ISO-billedet til den monterede rodpartition under din disk.

6. Identificer derefter din maskins harddisk ved at udstede nedenstående kommando i redningsprompten.

# ls /dev/sd*

Hvis din maskine bruger en underliggende gammel fysisk RAID-controller, vil diskene have andre navne, såsom /dev/cciss . Hvis dit CentOS-system er installeret under en virtuel maskine, kan harddiskene også få navnet /dev/vda eller /dev/xvda .

Når du har identificeret din maskinharddisk, kan du dog begynde at installere GRUB-startlæsseren ved at udstede nedenstående kommandoer.

# 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. Når GRUB2-bootloaderen er installeret med succes i dit harddisk-MBR-område, skal du skrive exit for at vende tilbage til CentOS-start ISO-billedtræet og genstarte maskinen ved at skrive init 6 i konsollen, som illustreret i nedenstående skærmbillede.

8. Efter genstart af maskinen skal du først indtaste BIOS-indstillinger og ændre startrækkefølgen (placer harddisken med den installerede MBR-startlæsser i første position i startmenuerækkefølgen).

Gem BIOS-indstillinger, og genstart maskinen igen for at anvende den nye opstartsrækkefølge. Efter genstart skal maskinen starte direkte i GRUB-menuen, som vist i nedenstående billede.

Tillykke! Du har med succes repareret din CentOS 7-system beskadigede GRUB boot loader. Vær opmærksom på, at maskinen nogle gange, efter at have gendannet GRUB boot loader, genstarter en eller to gange for at anvende den nye grub-konfiguration.

Gendan rodadgangskode i CentOS 7

9. Hvis du har glemt rodadgangskoden, og du ikke kan logge ind på CentOS 7-systemet, kan du grundlæggende nulstille (blank) adgangskoden ved at starte CentOS 7 ISO DVD-billedet i gendannelsestilstand og følge de samme trin som vist ovenfor, indtil du når trin 6. Mens du er chrootet ind i dit CentOS-installationsfilsystem, skal du udstede følgende kommando for at redigere adgangskodefilen til Linux-konti.

# vi /etc/shadow

I skygge-fil skal du identificere rodadgangskodelinjen (normalt er den første linje), gå ind i redigeringsfunktion vi ved at trykke på i -tasten og slette hele strengen mellem det første kolon “:” og det andet kolon ”:” , som illustreret i nedenstående skærmbillede.

Når du er færdig, skal du gemme filen ved at trykke på følgende taster i denne rækkefølge Esc ->: -> wq!

10. Afslut til sidst den rodede konsol og skriv init 6 for at genstarte maskinen. Efter genstart skal du logge ind på dit CentOS-system med rodkontoen, som ikke har konfigureret en adgangskode nu, og opsætte en ny adgangskode til rodbrugeren ved at udføre passwd-kommandoen som illustreret i nedenstående skærmbillede.

Det er alt! Opstart af en fysisk maskine eller en VM med et CentOS 7 DVD ISO-billede i gendannelsestilstand kan hjælpe systemadministratorer med at udføre forskellige fejlfindingsopgaver for et ødelagt system, såsom gendannelse af data eller dem, der er beskrevet i vejledningen.