Hoe GRUB Rescue te gebruiken om Linux te repareren

Hoe GRUB Rescue te gebruiken om Linux te repareren
Jordan Gloor / How-To Geek
Als je GRUB-shells een “grub>”-prompt laten zien, kun je de ls, set, linuxEn initrd commando’s om je Linux-systeem te repareren. Als je in plaats daarvan een prompt “grub rescue>” ziet, gebruik dan set, insmod, linuxEn initrd commando’s om uw pc op te starten.

Als je Linux-computer niet kan opstarten in zijn besturingssysteem, sta je waarschijnlijk te staren naar een prompt in de GRUB-shell. Volg deze stappen om uw kapotte opstartprocessen te herstellen.

Inhoudsopgave

Wanneer uw bootloader niet opstart
De GRUB-shell gebruiken
De GRUB Rescue Shell gebruiken
Andere mogelijke remedies

Wanneer uw bootloader niet opstart

Er zijn maar weinig computerproblemen die uw hart zo diep en snel doen zinken als een mislukking om op te starten. Zonder werkend besturingssysteem is uw computer niet echt een computer.

Het kan een zeer ondoorzichtig probleem zijn, waarbij geen gemakkelijke manier is om de oorzaak te achterhalen. Zonder toegang tot Linux kunt u geen van de gebruikelijke diagnostische hulpprogramma’s en processen gebruiken die u zou gebruiken om het probleem te onderzoeken. En zonder vast te stellen wat het probleem is, hoe kunt u het oplossen?

Op Linux is GRUB de software die het opstartproces regelt. Als u meerdere besturingssystemen hebt geïnstalleerd, kunt u degene kiezen waarin u wilt opstarten.

GRUB wordt bestuurd door zijn configuratie. Het vertrouwt ook op andere ondersteunende bestanden om zijn functies uit te voeren. Als een van deze ontbreekt of beschadigd raakt, zal GRUB niet werken. Wijzigingen aan de harde schijven en partities van je computer moeten worden weerspiegeld in de configuratie van GRUB. Als dit niet het geval is, hebben GRUB’s instructies geen zin en zal je opstartproces niet werken.

Hoe een ISO-bestand op een USB-station in Linux te branden

VERWANTHoe een ISO-bestand op een USB-station in Linux te branden

Even terzijde, wat we allemaal GRUB noemen, is eigenlijk GRUB 2. Dit is een geavanceerde versie van GRUB die in 2012 werd uitgebracht. Het veranderde onder andere de manier waarop het bestand “grub.cfg” werd gemaakt, en liet je opstarten vanaf verwisselbare media.

Als GRUB een besturingssysteem niet kan laden, blijf je staren naar een prompt in de GRUB-shell. Dit is een minimalistische omgeving waarin je een handvol acties kunt uitvoeren. Als u deze stappen echter correct uitvoert, kan uw computer weer tot leven komen.

Er zijn twee verschillende GRUB-shells. Afhankelijk van de oorzaak van het probleem, bevindt u zich mogelijk bij een GRUB-shell-prompt:

grub>

of bij een GRUB redden shell-prompt:

grub rescue>

De GRUB-reddingsshell is nog beperkter dan de GRUB-shell, maar hij heeft nog steeds genoeg kracht om je computer op te starten. Zodra uw computer is opgestart, bent u in een veel betere positie om de oorzaak te verhelpen.

De GRUB-shell gebruiken

De GRUB-shell is een opdrachtregelinterface waarmee je een kleine subset van Linux-opdrachten kunt gebruiken. Als u zich hier bevindt in plaats van op uw gebruikelijke inlogscherm, betekent dit dat uw opstartproces in de war is.

De GRUB shell-prompt

De commando’s waartoe u toegang heeft, zijn niet hetzelfde als de gebruikelijke Linux-versies. Bijvoorbeeld de GRUB-shell ls commando is niet de Bash ls commando. Het heeft er weinig mee gemeen. We kunnen dit zien door de --help keuze.

ls --help

De --help optie gebruiken met de GRUB shell versie van ls

Het bevat slechts vijf opties. Dat staat ver af van de tientallen opties die worden ondersteund door ls in Bash. Desalniettemin kunnen we, zelfs met ons ietwat gedempte palet aan commando’s, de situatie nog steeds rechtzetten.

Typ achter de prompt ls en druk op “Enter”.

ls

De uitvoer van de GRUB-shellversie van ls, die schijven en partities toont

Op deze computer staan ​​drie items vermeld.

  • (hd0) is de eerste harde schijf.
  • (hd0,gpt1) is de eerste partitie op de eerste harde schijf.
  • (hd0,gpt2) is de tweede partitie op de eerste harde schijf.

Het label “gpt” staat voor GUID-partitietabel. We moeten de haakjes opnemen “()” wanneer we verwijzen naar een partitie, maar we kunnen het label weglaten.

Om beurtelings naar de partities te kijken, gebruiken we ls.

ls (hd0,1)
ls (hd0,2)

De GRUB-shellversie van ls gebruiken om de Linux-partitie te identificeren

We hebben ontdekt dat de tweede partitie een Linux-bestandssysteem heeft. We zullen wat verder onderzoeken door naar de hoofdmap van die partitie te kijken.

ls (hd0,2)/

De GRUB-shellversie van ls gebruiken om een ​​bepaalde partitie te onderzoeken

Het is duidelijk dat dit de Linux-partitie is, met de opstartmap erop. Hier worden de GRUB-bestanden, Linux-opstartimages en andere opstartbestanden opgeslagen.

Op deze computer moeten we verwijzen naar de partitie (hd0,2) wanneer we onze bevelen geven. Op je computer zou je de partitie gebruiken waarop je je Linux-installatie aantreft.

We kunnen de cat opdracht om tekstbestanden te zoeken door het mappad en de bestandsnaam als volgt aan de partitienaam toe te voegen:

cat (hd0,2)/etc/issue

Kijken naar de versie van Linux met behulp van het cat-commando in de GRUB-shell

Bij multi-boot installaties is dit een handige manier om te controleren of u zich op de juiste partitie bevindt. Het is ook geweldig om in configuratiebestanden te kijken.

Hier gebruiken we de ls commando met de -l (lang) en -h (door mensen leesbare formaten) opties om de bestanden in de map “/ boot” weer te geven.

ls -lh (hd0,2)/boot

De bestanden in de map /boot weergeven met behulp van de GURB-versie van ls

Om deze computer op te starten, moeten we GRUB vertellen dat onze nieuw ontdekte Linux-partitie de opstartbestanden bevat.

set root=(hd0,2)

We moeten specificeren vanaf welke Linux-kernel moet worden opgestart. Dit doen we met de linux commando. Merk op dat we ook de hoofdmap moeten opgeven met behulp van het gebruikelijke Linux-schema voor de naamgeving van harde schijven en partities.

linux /boot/vmlinuz-6.2.0-20-generic root=/dev/sda2

Op onze voorbeeldcomputer gebruiken we (hd0) dat is de eerste harde schijf. Dit heet sda in de gebruikelijke Linux-nomenclatuur. We hebben ontdekt dat de tweede partitie de Linux-partitie is, dus we moeten dit specificeren sda2.

Uw machine kan anders zijn. Als uw Linux-partitie bijvoorbeeld wordt gerapporteerd als (hd2,1) dat betekent partitie één op de derde harde schijf, of sdc1.

We moeten ook specificeren welke RAM-gebaseerde bestandssysteemafbeelding moet worden gebruikt wanneer de computer opstart. Dit moet dezelfde numerieke component gebruiken als de Linux-kernel die we gebruiken.

initrd /boot/initrd.img-6.2.0-20-generic

De opstartparameters instellen in de GRUB-shell

Om ons systeem op te starten, typt u “boot” en drukt u op “Enter”.

Dit zou je computer moeten opstarten in Linux. Dat heeft ons weer aan het werk gezet, maar we moeten GRUB nog repareren, zodat we dit niet elke keer hoeven te doen als we onze computer opstarten.

We zullen rennen update-grub. Dit zal ons systeem scannen, besturingssystemen identificeren en een nieuwe GRUB-configuratie maken. We moeten dit uitvoeren als de rootgebruiker.

sudo update-grub

Uitvoeren van update-grub om het grub.cfg-bestand opnieuw op te bouwen

Het komt zelden voor dat je de GRUB-bootloader ook opnieuw moet installeren met behulp van grub-install.

sudo grub-install /dev/sda

Merk op dat u niet hoeft op te geven op welke partitie u wilt installeren, alleen op welk station. Bij normale installaties is dit dezelfde schijf waarop je Linux staat.

Het bewijs van de pudding komt met de volgende herstart. Uw computer zou normaal opnieuw moeten opstarten.

De GRUB Rescue Shell gebruiken

Afhankelijk van de aard van het opstartprobleem, wordt u mogelijk niet in de GRUB-shell gedropt. Je zou kunnen worden achtergelaten in de GRUB redden modus. Als dat het geval is, ziet uw prompt er als volgt uit:

grub rescue>

De commando’s die we in deze shell moeten geven, zijn verschillend. We moeten gebruiken ls om de Linux-partitie te vinden, net alsof je de GRUB-shell gebruikt. Nadat u de Linux-partitie hebt geïdentificeerd, kunt u doorgaan en deze opdrachten invoeren.

Vergeet niet de stations-ID’s en kernelversienummers te gebruiken die correct zijn voor uw computer. De insmod opdracht laadt kernelmodules.

set prefix=(hd0,2)/boot/grub
set root=(hd0,2)
insmod normal
insmod linux
linux /boot/vmlinuz-6.2.0-20-generic root=/dev/sda2
initrd /boot/initrd.img-6.2.0-20-generic

De opstartparameters instellen in de GRUB-reddingshell

U kunt dan “boot” typen en op “Enter” drukken om uw computer opnieuw op te starten. Zodra het opnieuw is opgestart en je bent ingelogd, werk je GRUB bij met de update-grub commando.

Andere mogelijke remedies

Als het probleem blijkt te bestaan ​​uit ontbrekende opstartbestanden, zoals de bestanden “vmlinuz” en “initrd.img”, kunt u uw computer opstarten vanaf een Live DVD of een opstartbare Linux USB-flashdrive en de ontbrekende bestanden naar hun plaats kopiëren.

Merk op dat de bestanden “vmlinuz” en “initrd.img”. moeten hebben dezelfde versienummers, omdat ze werken als een overeenkomend paar.

Nieuwste artikelen

spot_img

Related Stories

Leave A Reply

Vul alstublieft uw commentaar in!
Vul hier uw naam in