De grub-bootloader op uw harde schijf installeren. Installeren op een USB-stick

Het meest angstaanjagende aan Linux is de gevreesde "bootloader"-zin. De belangrijkste reden hiervoor is dat de meeste nieuwe Linux-gebruikers alleen met het Windows-besturingssysteem hebben gewerkt, dat geen volledige bootloader heeft of minimale gebruikersinteractie heeft. In de Windows-wereld hebben ze nooit aan een bootloader gedacht. Voor hen was het laden van het besturingssysteem volledig transparant. Het meeste dat ze deden, was de Windows Recovery Console gebruiken om problemen op te lossen. Daarom moeten ze vertrouwd raken met een van de belangrijkste onderdelen van computersoftware: het kleine programma dat het besturingssysteem laadt.

Het doel van dit artikel is om je de basis van de GRUB bootloader te geven. Als je mijn andere Linux-artikelen hebt gelezen, dan ben je zeer bekend met Linux-partitionering en -conventies, evenals met de opdrachtregel. Het is logisch om een ​​volgende stap te zetten om deze kennis verder te verdiepen. Als u begrijpt hoe GRUB werkt en wat de opstartmenu-items betekenen, kunt u begrijpen hoe het besturingssysteem werkt, hoe u fouten kunt oplossen die optreden, hoe u het GRUB-opstartmenu kunt repareren of wijzigen om aan uw behoeften te voldoen, en hoe u meerdere besturingssystemen kunt installeren met verschillende operationele omgevingen.

Op eerder geïnstalleerde systemen vertrouwden we op het installatieprogramma om al het harde werk te doen. In feite is de ontmoedigende GRUB-configuratie heel eenvoudig en volledig omkeerbaar. Het beheersen van de GRUB bootloader is een zeer belangrijke stap in het verbeteren van je gebruikerservaring met Linux.

Maar eerst een belangrijk voorwoord. Dit artikel bevat verklarende informatie en voorbeelden om je te helpen GRUB te leren. Dit staat natuurlijk allemaal op internet. Nieuwe Linux-gebruikers zullen echter waarschijnlijk urenlang zoeken naar de informatie die ze nodig hebben (vooral als hun pc - personal computer niet opstart) een beetje gefrustreerd. Het doel van deze handleiding is om eenvoudige en snelle oplossingen te bieden voor veelvoorkomende problemen die zich voordoen bij installaties van multiboot- en Linux-besturingssystemen.

  1. Invoering
  2. GRUB-configuratie
    1. GRUB installeren
  3. Typische problemen
  4. Links

Alles is een bestand

Om de geheimen van GRUB met succes onder de knie te krijgen, moet je een van de fundamentele principes van * NIX-gebaseerde besturingssystemen begrijpen. Alles is een bestand. Zelfs harde schijven en partities worden als bestanden behandeld. Dit is geen magie. Als u zich dit herinnert, zal de riskante taak van het wijzigen van partities op de harde schijf u niet anders lijken dan het manipuleren van bestanden in de bestandsbeheerder (of opdrachtregel).

Nu we dit weten, kunnen we verder gaan met een diepgaande blik op de technische details.

Invoering

GNU GRUB is een bootloader (d.w.z. een bootloader of primaire loader) die een verscheidenheid aan gratis en propriëtaire besturingssystemen kan laden. GRUB werkt goed met Linux, DOS, Windows of BSD. GRUB staat voor GR en U nified Bootloader.

GRUB is dynamisch configureerbaar. Dit betekent dat de gebruiker tijdens het opstarten wijzigingen kan aanbrengen in de GRUB-instellingen. Wijzig bijvoorbeeld bestaande opstartitems, voeg nieuwe gebruikersitems toe, selecteer verschillende besturingssysteemkernels of wijzig het initrd. GRUB ondersteunt ook de modus Logisch blokadres. Dit betekent dat als uw computer is uitgerust met een voldoende modern BIOS, er mogelijk meer dan 8 GB (de eerste 1024 cilinders) aan hardeschijfruimte beschikbaar is. Dienovereenkomstig zal al deze ruimte automatisch beschikbaar zijn voor GRUB.

GRUB kan worden uitgevoerd of geïnstalleerd vanaf elk apparaat (floppy disk, harde schijf, cd-rom-drive, USB-schijf, netwerkdrive) en kan besturingssystemen laden van verschillende bronnen, inclusief netwerkdrives. Hij kan ook de image van het besturingssysteem uitpakken voordat deze wordt geladen.

U kunt meer informatie krijgen, veel meer dan dit artikel, uit de officiële GNU GRUB-handleiding 0.97.

Wat is LILO?

Je hebt waarschijnlijk gehoord van een andere Linux-bootloader genaamd LILO (afgeleid van de beginletters LI nux LO ader, wat staat voor Linux-bootloader). Hoewel LILO een goede keuze is voor veel Linux-gebruikers, denk ik dat GRUB om verschillende redenen de beste keuze is:

  • LILO ondersteunt slechts 16 verschillende opstartconfiguraties, terwijl GRUB onbeperkte configuraties ondersteunt.
  • LILO kan niet opstarten via LAN, maar GRUB wel.
  • LILO moet elke keer dat het configuratiebestand wordt gewijzigd overschreven worden, en GRUB heeft dit niet nodig.
  • LILO heeft geen interactieve commando-interface.

Om het bovenstaande samen te vatten, GRUB ziet eruit als een winnaar. Dus laat me je laten zien wat deze kleine kan doen.

Hoe werkt GRUB?

Wanneer de computer opstart, draagt ​​het BIOS de controle over aan het eerste opstartapparaat, dat een harde schijf, diskette, cd-rom of ander apparaat kan zijn dat door het BIOS wordt herkend. Voor de eenvoud gaan we ervan uit dat dit een harde schijf is.

De eerste sector van de harde schijf wordt de Master Boot Record (MBR) genoemd. Deze sector is slechts 512 bytes lang. Het bevat een klein stukje code (446 bytes), de hoofdbootloader genaamd, en een partitietabel (64 bytes). De partitietabel bevat een beschrijving van de primaire en secundaire partities op een harde schijf.

Standaard wordt de MBR-code op de actieve partitie bekeken en als deze wordt gevonden, wordt de opstartsector in het geheugen geladen en wordt de besturing ernaar overgedragen.

GRUB vervangt de standaard MBR-code door native code.

In dit geval bestaat het werk van GRUB uit verschillende fasen.

Fase 1: plaatsing in het MBR. Vanwege de kleine omvang van de MBR wordt alleen een link naar Stage 2 geplaatst, die alle benodigde gegevens bevat.

Fase 2: Navigeer naar het configuratiebestand, dat alle componenten en instellingen van de gebruikersinterface bevat die nodig zijn om GRUB te laten werken. Fase 2 kan overal op de schijf zijn. Als, als resultaat van Fase 2, geen configuratietabel wordt gevonden, zal GRUB het opstartproces afbreken en de gebruiker de optie bieden om handmatig een opstartconfiguratie te selecteren vanaf de opdrachtregel.

Er is ook Stage 1.5, dat wordt gebruikt als de opstartinformatie niet direct na de MBR kan worden geplaatst.

Door de Stage-structuur kan GRUB een redelijk groot volume hebben (~ 20-30K). Daarom is GRUB vrij complex en zeer configureerbaar in vergelijking met de meeste bootloaders, die compacter zijn en gemakkelijker binnen de limieten van de partitietabel passen.

GRUB-terminologie

Dit gedeelte is bedoeld om u te helpen vertrouwd te raken met GRUB zonder het aan te raken. De volgende sectie behandelt actuele bestanden en handmatige GRUB-configuratie.

GRUB heeft zijn eigen conventies, die enigszins verschillen van de algemene conventies die in Linux worden gebruikt.

Hier is een voorbeeld van een typische GRUB-start:

(hd0,1)

  • Vereiste haakjes, die alle apparaten in het GRUB-menu moeten omsluiten.
  • hd staat voor harde schijf. Een diskette wordt aangeduid als fd, een cd-rom als cd, enz.
  • Het eerste getal (geheel getal, voor gevorderde gebruikers) is een verwijzing naar het nummer van de fysieke harde schijf. De eerste schijf wordt genummerd vanaf nul. HD2 is bijvoorbeeld een link naar een derde fysieke harde schijf.
  • Tweede nummer, een link naar het partitienummer van de geselecteerde harde schijf. Sectienummering begint ook vanaf nul. In dit geval komt 1 overeen met de tweede sectie.

Hieruit volgt dat GRUB (menu) geen onderscheid maakt tussen IDE- en SCSI-schijven of primaire en logische partities. De taak om te bepalen welke harde schijf of partitie moet worden geladen, wordt bepaald door het BIOS en in Stage 1.

Zoals je kunt zien, is de legende heel eenvoudig.

Primaire partities worden aangeduid van 0 tot 3 (hd?, 0), (hd?, 1), (hd?, 2), (hd?, 3). De logische partities in de secundaire partitie zijn genummerd vanaf 4. Hun nummering is niet afhankelijk van het huidige aantal primaire partities op de harde schijf. Bijvoorbeeld (hd1,7).

Deze invoer alleen is niet voldoende om het besturingssysteem te laden.

GRUB moet ook weten welke afbeelding van het besturingssysteem moet worden geladen. Deze parameters en speciale vlaggen (sleutels) worden toegewezen aan elk opstartapparaat. Bijvoorbeeld een speciale vlag voor Windows Veilige modus.

Hier wordt een voorbeeld getoond van een GRUB-menu dat alleen Ubuntu opstart.

Hier wordt een voorbeeld van een GRUB-menu weergegeven voor een drievoudige opstartmachine (SUSE 10.2, Ubuntu 6.10 en Windows XP). Dit is een echte menu.lst op een van mijn bestaande machines.

Probeer te begrijpen wat deze gegevens betekenen. Alleen regels zonder commentaar worden geteld. Opmerkingen worden aangegeven met het speciale #-teken. Regels die beginnen met meerdere opeenvolgende grijze x (vorige regelindicator) zijn een voortzetting van de vorige regel. Met andere woorden, de tekst wordt eenvoudig ingepakt om de visuele waarneming van lange lijnen op het scherm te verbeteren, waarbij rekening wordt gehouden met de grootte van het teksteditorvenster en de schermresolutie.

Standaard 0 time-out 8

De eerste regel (standaard 0) betekent dat het eerste besturingssysteem uit de lijst wordt geladen. In ons geval is dit SUSE 10.2. De tweede regel (time-out 8) geeft aan hoeveel tijd (in seconden) de gebruiker heeft om een ​​systeem te selecteren om op te starten voordat het standaardsysteem opstart. Simpel, niet?

Gfxmenu (hd0,2) / boot / bericht

GRUB-menu's kunnen grafisch zijn. Alles wat je nodig hebt om een ​​handige aangepaste weergave met een gekleurde achtergrond en enkele extra elementen weer te geven, bevindt zich op de eerste fysieke schijf, de derde partitie (hd0,2). Dit is het primaire gedeelte, zoals je misschien hebt gemerkt.

Titel openSUSE 10.2 root (hd0,2) kernel / boot / vmlinuz -... initrd /boot/initrd.img -...

Dit is het eerste besturingssysteem in het menu.

  • titel (titel) - elementair, betekent hetzelfde als de betekenis ervan. Deze regel is bedoeld om de gebruiker te helpen het menu in meer toegankelijke terminologie te lezen.
  • root (hd0,2) vertelt GRUB waar zijn configuratiebestanden zich bevinden. In dit voorbeeld zijn ze te vinden op (hd0,2) / boot / grub.
  • kernel / boot / vmlinuz -... het laden van de kernelmodule van het huidige besturingssysteem. Mogelijk zijn er meerdere vergelijkbare afbeeldingen beschikbaar. Het feit dat er geen verwijzing naar het opstartapparaat voor / boot / vmlinuz is, betekent dat de afbeelding zich op dezelfde harde schijfpartitie bevindt als GRUB zelf. Deze omstandigheid bepaalt vaak uw keuze voor het standaardbesturingssysteem.
  • initrd /boot/initrd.img -... is een tijdelijk systeembestand dat door het systeem wordt aangemaakt ter voorbereiding op het opstarten. De voorbereiding omvat het aanpassen van een generieke kernelmodule voor een specifieke hardware voordat deze wordt geladen.

Extra sleutels worden gebruikt na het specificeren van de kernel. Ze bepalen de huidige locatie van de hoofdmap (root), de gebruikte grafische modus en de locatie van de swappartitie. Dit artikel gaat niet uitgebreid in op geavanceerde GRUB-configuraties.

Titel Ubuntu, kernel ... (/ dev / sda9) kernel (hd0,8) / boot / vmlinuz -... initrd (hd0,8) /boot/initrd.img -...

  • In dit geval is titel de weergavenaam, met enkele aanvullende technische details.
  • kernel (hd0,8) / boot / vmlinuz -... plaatsing van de 9e partitie op de eerste harde schijf (hd0,8). De root-vlag (/ dev / sda9) betekent dat de rootpartitie ook een kernelmodule bevat, dat wil zeggen dat ze zich op dezelfde harde schijfpartitie bevinden. Meestal wordt dit gedaan om redenen van praktische bruikbaarheid en eenvoud. U kunt deze locatie wijzigen tijdens de installatie van het besturingssysteem.
  • initrd (hd0,8) /boot/initrd.img -... niets nieuws hier.

Opmerkingen over kernelmodule en rootpartities: op oudere computers waarvan het BIOS geen toegang tot meer dan 1024 cylinders ondersteunt, moest je de opstartpartitie met de kernelmodule en rootpartitie op verschillende locaties installeren. Gebruikers met computers die jonger zijn dan het Y2K-probleem (Y2K-probleem) hoeven zich echter geen zorgen te maken.

Een ander ding waar u op moet letten, is de uitgebreide download van Ubuntu. Ubuntu is geladen met de OpenSUSE-bootloader. Deze eigenschap wordt Multi-boot-compliance genoemd. OpenSUSE herkent Ubuntu en kan zijn modules (inclusief speciale sleutels) correct aanroepen en partities aankoppelen. De meeste besturingssystemen zijn echter slechts gedeeltelijk compatibel met deze functie (Multi-boot Compliance).

Later zal ik je laten zien hoe je op een andere manier in Ubuntu kunt inloggen met hetzelfde resultaat.

Titel Windows rootnoverify (hd0.0) chainloader (hd0.0) +1

  • rootnoverify (hd0,0) betekent dat openSUSE het Windows-besturingssysteem niet kan detecteren omdat het de eigenschap Multi-boot Compliance niet heeft. Om deze reden wordt het besturingssysteem aangeroepen zonder enige aanvullende informatie over de kernel. GRUB gaat ervan uit dat de vereiste kernel-image zich op de gespecificeerde partitie zal bevinden en koppelt de bootloader van het besturingssysteem. Zoals u kunt zien, is Windows geïnstalleerd op de eerste partitie van de eerste harde schijf. Dit is de meest geschikte locatie voor het systeem.
  • De opdracht chainloader (hd0,0) +1 is specifiek bedoeld voor gebruik met besturingssystemen die niet direct kunnen worden geladen. Het is niet verrassend dat Windows-besturingssystemen niet rechtstreeks kunnen worden geladen. Ze worden geladen met behulp van de kettinglaadmethode. Zoals de naam al doet vermoeden, draagt ​​GRUB de controle over de opstartvolgorde over aan een andere opstartlader die zich op het apparaat bevindt dat is opgegeven in het GRUB-menu. Het kan een Windows-besturingssysteem zijn of een ander besturingssysteem, zoals Linux.

Laten we teruggaan naar Ubuntu. Weet je nog dat ik zei dat we Ubuntu op een andere manier kunnen opstarten? We kunnen inderdaad gewoon chainloaded gebruiken, net zoals we deden voor Windows.

Titel Ubuntu root (hd0.8) chainloader (hd0.8) +1

Dit zal net zo goed werken.

Met het volgende item in het menu kunt u SUSE opstarten in de failsafe-modus (een soort veilige modus). Deze paragraaf bevat niet erg waardevolle en nuttige informatie, dus we zullen deze overslaan zonder afbreuk te doen aan onze kennis.

Laat me je een paar voorbeelden geven.

Het onderstaande is een geldig voorbeeld, dat is opgenomen in Ubuntu menu.lst (uiteraard commentaar).

Titel Windows 95/98 / NT / 2000 root (hd0,0) makeactive chainloader +1 titel Linux root (hd0,1) kernel / vmlinuz root = / dev / hda3 ro

Nu kun je de GRUB-taal gemakkelijk begrijpen. We zijn begonnen met de titel. root is een specifieke partitie waarop we verwachten de Windows-kernel te vinden en aan te koppelen (rootnoverify deze taak wordt overgelaten aan de Windows-bootloader). makeactive is een commando dat de rootpartitie actief maakt op de schijf die op de vorige regel van het GRUB-rootapparaat staat aangegeven. Dit betekent dat het chainloader-commando wordt uitgevoerd zonder de doelsysteempartitie op te geven (aangezien deze partitie dezelfde is als de actieve).

Het tweede menu-item is nog eenvoudiger. We noemden het Linux, definieerden de partitie en laadden de kernel. Deze zaak is erg interessant. Omdat de kernel-image en de rootpartitie (root of /) zich op verschillende partities bevinden. Dit geval lijkt erg op het geval van oudere computers of computers met een enkele opstartpartitie.

En tot slot, absoluut gekke dingen:

U begrijpt dat alles eenvoudig is! Als je je hand vult, zullen alle twijfels verdwijnen.

Voor meer informatie moet u de GNU GRUB-handleiding 0.97 raadplegen.

GRUB-configuratie

Meestal heb je niet de wens of noodzaak om GRUB te configureren. Wanneer u besturingssystemen installeert, wordt GRUB automatisch geïnstalleerd en worden de juiste regels toegevoegd aan het configuratiebestand, vooral als de juiste installatievolgorde van het besturingssysteem is gekozen (gezaghebbende, dwz Windows-achtige besturingssystemen, eerst flexibele besturingssystemen, dwz Linux en zijn familie - na).

U moet echter weten waar en wat u moet doen als er iets misgaat.

GRUB installeren

GRUB kan op verschillende apparaten worden geïnstalleerd. De meeste mensen zullen geïnteresseerd zijn in het proces van het installeren van GRUB op een harde schijf. Het kan echter helemaal geen kwaad om de andere instellingen te bestuderen. Je kunt natuurlijk wel verder.

We hebben GRUB nog niet eerder geïnstalleerd, dus we moeten de locatie van de vereiste bestanden weten.

Als GRUB is geïnstalleerd, bevindt het menu zich in de rootpartitie:

/boot/grub/menu.lst

Maak altijd een back-up van dit bestand voordat u wijzigingen aanbrengt!

GRUB-bestanden kunnen zich ook in de afbeelding van uw besturingssysteem bevinden (meestal cd):

/ usr / lib / grub / i386-pc

Niettemin, hier is een korte versie ervan, voor degenen die niet blij zijn met het lezen van een ander artikel.

U kunt alle informatie over uw pc-omgeving (personal computer) weergeven met behulp van een terminal of een teksteditor. Om bestanden in een teksteditor te openen, moet u de teksteditor, de bestandsnaam en het pad ernaartoe op de opdrachtregel opgeven. Om systeembestanden te openen, moet u superuser-rechten hebben (su of sudo voor systeembestanden).

$ sudo vi / etc / fstab OF $ sudo gedit / etc / fstab

Of u kunt de inhoud van de bestanden eenvoudig rechtstreeks naar de terminal weergeven met behulp van het cat-commando.

$ (sudo) kat / etc / fstab

Verschillende handige commando's die handig kunnen zijn als je te maken hebt met opstarten, harde schijven en partities.

Geeft de partitietabel weer:

$ fdisk -l

Geeft een lijst met gekoppelde partities weer:

$ kat / etc / fstab

Nu weten we wat er nodig is en waar we het kunnen vinden om GRUB te installeren.

GRUB op een diskette

Om GRUB op een diskette te installeren, moeten we de bestanden (Stage 1 en Stage 2) kopiëren van de imagemap van het besturingssysteem naar de eerste en tweede sectoren van de diskette. Om dit te doen, gebruiken we een commando dat informatie sector voor sector kopieert.

Hieronder staat een lijst met opdrachten die moeten worden uitgevoerd (uit de handleiding):

$ cd / usr / lib / grub / i386-pc $ dd if = stage1 of = / dev / fd0 bs = 512 count = 1 $ dd if = stage2 of = / dev / fd0 bs = 512 seek = 1

Een kleine verduidelijking: als geeft een invoerbestand aan, of geeft een uitvoerbestand aan, / dev / fd0 verwijst naar de eerste aangekoppelde floppydrive, bs is de gegeven blokgrootte (in bytes), telling is een instructie die het aantal blokken aangeeft dat moet worden gekopieerd, en seek geeft aan hoeveel blokken worden overgeslagen voordat er wordt geschreven. Het is niet verwonderlijk dat deze reeks schrijfopdrachten is gekozen. Eerst schreven we stage1 naar de eerste sector en kopieerden we stage2 naar de tweede (sla de eerste sector over en schreven toen).

Nu je de volledige kracht van de opdrachtregel hebt begrepen, raad ik je als huiswerk aan om de kenmerken van andere opdrachten zelf uit te zoeken. Lees meer over het dd-commando op Wikipedia.

Het draait allemaal om het installeren van GRUB op een diskette. Omdat we de fasen van de afbeelding van het besturingssysteem hebben gekopieerd, hebben we alle benodigde informatie om te configureren. U kunt natuurlijk altijd handmatig wijzigingen aanbrengen. Maar daarover meer in de volgende sectie.

GRUB standaard installeren

De standaardinstallatie betekent het plaatsen van GRUB Stage 1 in de eerste sector van de harde schijf (Master Boot Record - MBR of Partition Table). Dit betekent dat je kunt opstarten zonder een tweede apparaat zoals een diskette, wat tegenwoordig zeldzaam is geworden. Dit betekent ook dat als je later een gezaghebbend besturingssysteem installeert (zoals Windows) of om de een of andere reden het master-opstartrecord herstelt (voer fdisk / MBR uit vanaf de DOS-opdrachtregel), je GRUB deïnstalleert en alle systemen onstartbaar maakt. .

Om GRUB naar MBR te installeren, moet je opstarten vanaf externe media (floppy disk, live CD Linux). Na het opstarten, zodra de GRUB-prompt (grub>) beschikbaar is, voer je de volgende opdrachten uit:

Vind je GRUB-rootapparaat:

Grub> zoeken / boot / grub / stage1

GRUB zal zoeken naar alle beschikbare Stage 1 en deze op het scherm weergeven. Als u meer dan één image van het besturingssysteem hebt (bijv. SUSE, Kubuntu, Mandriva), hebt u meerdere Stage 1 beschikbaar.

Stel dat uw computer de volgende besturingssystemen heeft geïnstalleerd op verschillende partities op uw harde schijf.

  • SUSE aan (hd0,1)
  • Kubuntu op (hd0,2)
  • Mandriva op (hd0,4)

Deze systemen hebben hun eigen GRUB, dus elk van hen kan worden gebruikt als een GRUB-apparaat (omdat ze elk hun eigen GRUB-bestanden hebben).

Als je SUSE GRUB wilt gebruiken, moet je de eerste harde schijfpartitie (hd0,1) het GRUB-rootapparaat maken:

Grub> wortel (hd0,1)

Als je de GRUB van Mandriva wilt gebruiken, moet je het volgende doen:

Grub> wortel (hd0,4)

Als je de locatie van de GRUB-rootpartitie en de benodigde bestanden kent, kun je de opdracht find doen.

Als u een rootpartitie hebt gedefinieerd, moet u de informatie naar de MBR (Master Boot Record) schrijven:

Grub> instellen (hd0)

Sluit ten slotte de GRUB-console af:

Grub> stoppen

Hier is de volledige reeks opdrachten die u moet uitvoeren:

Grub> find / boot / grub / stage1 (optioneel) grub> root (hdX, Y) grub> setup (hd0) grub> afsluiten

Je kunt GRUB op een andere fysieke schijf of partitie installeren. In dit geval moet je chainloaden, dat wil zeggen dat je de controle van GRUB naar een andere bootloader moet overdragen, die in plaats daarvan het systeem zal opstarten.

Het is alles. Eenvoudig en snel!

GRUB installeren met grub-install

Deze methode wordt als minder veilig beschouwd (volgens de handleiding), omdat het automatische schijfconversie uitvoert. Je kunt kalmeren, voor complete beginners die gedetailleerde hulp nodig hebben bij de installatie, is dit waarschijnlijk de meest geprefereerde methode.

Je hoeft maar één commando met één argument aan te roepen - specificeer de locatie waar de bootloader moet worden geïnstalleerd. Deze opdracht kan op verschillende manieren worden geschreven, die equivalent zijn:

$ grub-install / dev / hda $ grub-install / dev / hd0 $ grub-install "(hd0)" $ grub-install hd0

Nadat je GRUB hebt geïnstalleerd, zal je besturingssysteem opstarten. Nadat het besturingssysteem is opgestart, kun je opnieuw experimenteren met GRUB. Wijzig handmatig instellingen, zoals configuratiegegevens toevoegen en verwijderen, chainloaders wijzigen, partities verbergen en weergeven.

Handmatig GRUB configureren (na installatie)

Je kunt GRUB op elk moment opnieuw configureren of opnieuw installeren.

Back-up!

Ten eerste wordt het ten zeerste aanbevolen dat je een back-up maakt van je bestaande menu voordat je wijzigingen aanbrengt in het GRUB-configuratiebestand. U kunt zelfs naar een andere machine kopiëren of het menu afdrukken en in de kluis bewaren.

$ cp /boot/grub/menu.lst /boot/grub/menu.lst_backup

Om toegang te krijgen tot GRUB, voer je de volgende opdracht uit in een Linux-terminal:

$ sudo grub

Na een tijdje wordt de GRUB-prompt op het scherm weergegeven. Je kunt zien of er een prompt is door ernaar te kijken: grub>.

Je hebt ook toegang tot de GRUB-opdrachtregel tijdens het opstarten. Wanneer het GRUB-menu wordt geladen, druk je op de C-toets op je toetsenbord.

Een nieuw besturingssysteem toevoegen aan het GRUB-menu

Stel dat je een voorgeïnstalleerd Sabayon-besturingssysteem hebt (Sabayon Linux voorheen bekend als RR4 en RR64 is een Linux-kerneldistributie die een afsplitsing is van de Gentoo-distributie). Tijdens het installatieproces sla je het installeren van GRUB over. Dit betekent dat de configuratiebestanden van de eerder geïnstalleerde GRUB niet zijn gewijzigd en geen informatie over Sabayon bevatten. En Sabayon kan niet laden.

Opmerking: de secties van het GRUB-menu worden kamers genoemd (misschien is dit een kenmerk van deze instantie?).

We moeten dus Sabayon toevoegen aan het GRUB-configuratiebestand.

Als je weet waar Sabayon is geïnstalleerd, moet je de details ervan toevoegen aan menu.lst.

Titel Sabayon root (hdX, Y) kettinglader +1

Dit kan echter worden gedaan terwijl de computer opstart zonder het menu te bewerken. Wanneer de geïnstalleerde GRUB begint op te starten, druk je op de C-knop om een ​​opdrachtprompt weer te geven. En dan:

Grub> root (hdX, Y) grub> chainloader +1

Optioneel kunt u de opdracht find gebruiken om de vereiste gegevens te achterhalen.

Dit is alle magie van GRUB. Zoals je kunt zien, is het heel, heel eenvoudig. Maar voor mensen die nog nooit van GRUB hebben gehoord en alleen een lange lijst met vreemde commando's hebben gezien, kan het ontmoedigend lijken.

Nu we de basis van bootstrapping en GRUB kennen, is het tijd om wat meer informatie te krijgen en de meest voorkomende problemen aan te pakken die zich kunnen voordoen.

Typische problemen

Hoe herstel ik GRUB na het verwijderen?

Dit gebeurt vaak als u Windows na Linux installeert. Windows is van mening dat dit het enige besturingssysteem ter wereld is en probeert niet de bestaande informatie in de MBR te interpreteren. Ze overschrijft het gewoon. Voor mensen met een dual-bootsysteem en een beetje Linux-kennis is dit een ramp. Gelukkig is dit heel eenvoudig op te lossen.

De makkelijke manier

Op de moeilijke manier

  • Opstarten vanaf diskette of cd (elke Linux live-cd zou moeten werken)
  • Ga naar de GRUB-opdrachtregelmodus.
grub> find / boot / grub / stage1 (optioneel) grub> root (hdX, Y) grub> setup (hd0) grub> afsluiten

Alles is hetzelfde als voorheen!

Windows staat niet op de eerste harde schijf (Swap)

GRUB kan het Microsoft-besturingssysteem niet rechtstreeks laden. Soms werkt zelfs sequentieel opstarten niet, vooral als Windows niet op de eerste harde schijf is geïnstalleerd. Nogmaals, u moet eraan denken om eerst Windows te installeren, op de eerste harde schijf en op de eerste partitie (regel 3R - de eerste drie). Dat gezegd hebbende, zelfs als u Windows op een aparte schijf hebt geïnstalleerd, kunt u het probleem oplossen door te wisselen.

U moet een virtuele swap tussen harde schijven doen. Dus:

Grub> kaart (hd0) (hd1) grub> kaart (hd1) (hd0)

Nadat u deze twee regels hebt toegevoegd, moet u Windows (of DOS) opstarten.

Op één eerste harde schijf zijn meerdere Windows-besturingssystemen geïnstalleerd (Hide / Show)

Nogmaals, er kunnen problemen met Windows ontstaan ​​als er meerdere instances op dezelfde harde schijf staan, vooral als ze op primaire partities zijn geïnstalleerd. Voorheen gaf je, wanneer je de opdracht chainloader gebruikte, de controle aan de Windows-bootloader. Welke lader van het besturingssysteem moet nu worden bestuurd?

Het probleem is eenvoudig op te lossen door de secties te verbergen en weer te geven. Als GRUB een partitie verbergt, zal deze onzichtbaar zijn voor Windows om dubbelzinnigheid te voorkomen. Omgekeerd, als u de partitie zichtbaar maakt, zal Windows deze detecteren en ervan kunnen opstarten.

Het voorbeeld hier, ontleend aan de handleiding, demonstreert dit punt.

Stel dat we Windows hebben geïnstalleerd op de eerste en tweede partitie van de harde schijf. U wilt het eerste exemplaar van Windows opstarten. Vervolgens moet u de volgende reeks opdrachten uitvoeren die al het vereiste werk zullen doen.

Grub> unhide (hd0,0) grub> hide (hd0,1) grub> rootnoverify (hd0,0) grub> chainloader +1 grub> makeactive

U hebt de grootte van de partitie gewijzigd; GRUB werkt niet

Dit is een interessant geval. Het kan gebeuren na gebruik van harde-schijfsoftware (beheer van harde-schijfpartities, herstellen van partities van partitie-images, enz.) die de partitietabel wijzigt. Dit gebeurt meestal wanneer u dergelijke wijzigingen aanbrengt vanuit Windows. Linux zal niet op de hoogte worden gesteld van deze wijzigingen omdat Windows zich niet bewust is van iets anders dan de producten van Microsoft op deze machine. Daarom zal GRUB niet werken.

Hoogstwaarschijnlijk is het bestandssysteem beschadigd en moet het worden hersteld om dit probleem op te lossen.

Start op vanaf de live-cd en voer de volgende opdrachten uit (ervan uitgaande dat u weet waar de Linux-partities zich bevinden).

Controleer het bestandssysteem:

$ fsck.ext2 / dev / hdXY

Vervang X en Y door de letter van de harde schijf en het partitienummer dat u wilt controleren (hda2, hdb3, enz.).

Wijzig het bestandssysteemtype in ext2 / 3 bestandssysteem.

$ tune2fs -j / dev / hdXY

Koppel nu het rootbestandssysteem op / mnt / sysimage en voer grub uit:

$ mount -t ext2 / dev / hdXY / mnt / sysimage OF $ mount -t ext2 / dev / hdXY / mnt / sysimage $ cd / mnt / sysimage / sbin $ grub

Je bent weer terug in een vertrouwde omgeving.

Voor meer informatie over Linux-commando's zoals fsck.ext2, tune2fs en andere, raadpleeg de handleidingpagina's over Linux Reviews.

Tot slot, een paar lastige vragen beantwoord in Ubuntu

Verschillende PEtoUSB, er zijn meer universele zoals in dit onderwerp. Een aantal hulpprogramma's installeren in wezen de grub-bootloader, isolinux (minder vaak BCDW of lilo, zelfs minder vaak zijn eigen als Win7), en plaatsen vervolgens de aangeboden bestanden (Windows7, WindowsXP, Ubuntu, enz.) in mappen. Van hier en veeleisendheid tot afbeeldingen (zoals ze schreven in de opmerkingen bij dit onderwerp).

Ondertussen gebruikt de overgrote meerderheid van de schijven op het internet (vooral USB) isolinux en grub, wat weerhoudt ze ervan om gewoon te combineren? laat maar zitten!

ik zal het proberen met voorbeelden vertel hoe je een opstartbare, installatie en alleen een Live USB-flashstation kunt maken, en alles in één zonder de hulpprogramma's die zijn aangescherpt voor een specifieke distributiekit. En om, indien nodig, eenvoudig iets anders aan de flashdrive toe te kunnen voegen, zonder deze opnieuw te formatteren.

Afbeeldingen van antivirusprogramma's zijn niet allemaal met succes "gehaakt" aan een USB-stick, als iemand zijn ervaring kan en wil delen, zal ik blij zijn (ik heb ze zelf al lang niet gedownload, misschien is het in de nieuwste versies al veel gemakkelijker ). De afbeelding van Dr.Web bevat bijvoorbeeld zelfs instructies voor installatie op een flashstation.
Ter referentie Live beelden van antivirussoftware:
Dr.Web
BitDefender
Avast! al betaald :(
Symantec NAV
Panda
Avira

8. DOS. Het is de moeite waard om hier te delen, als we DOS nodig hebben voor serieus werk, dan is het logisch om DOS-Live-afbeeldingen te zoeken, bijvoorbeeld deze, en te laden zoals in stap 3. We gebruiken DOS om later de installatie van Windows XP te starten. Van DOS hebben we nodig:
AUTOEXEC.BAT
COMMAND.COM
CONFIG.SYS
EMM386.EXE
HIMEM.SYS
IO.SYS
SMARTDRV.EXE

Het is wenselijk, maar niet vereist:
Mouse.com
MUIS.INI
OAKCDROM.SYS

We kopiëren dit alles naar de root van de flashdrive, en in menu.lst toevoegen
titel DOS (WinXP installeren?)
wortel (hd0,0)
Maak actief
kettinglader /io.sys
Hier kunt u ofwel genieten van DOS, of van tevoren in AUTOEXEC.BAT om te registreren (het antwoordbestand is natuurlijk optioneel):
smartdrv
cd \ WinXP \ i386
winn /U:\WinXP\i386\winnt.sif

9. Windows installeren 7. Zoals hierboven al vermeld, volstaat het om de ISO uit te pakken naar de root van de flashdrive en in menu.lst toevoegen (al met hd0.0)
wortel (hd0,0)
kettinglader / bootmgr
bagageruimte

10. Nou, voor niets zal ik je nog een ander type hulpprogramma's vertellen. Sommige (niet alle!) ISO-images kunnen rechtstreeks vanuit grub worden geladen. Onder deze heb ik gevonden: Acronis True Image, Acronis Disk Director, Active Password Changer. Dit zijn speciaal voorbereide afbeeldingen (geen simpele snapshot van cd), laad ze als volgt:
titel Actieve wachtwoordwisselaar
kaart (hd0,0) /Pwdchanger.iso (hd32)
kaart --haak
kettinglader (hd32)

Verwijderen

Wat als je per ongeluk grub hebt geïnstalleerd in de MBR van de hoofdschijf en niet op de flashdrive, of als je hem van de flashdrive moet verwijderen? U kunt het hulpprogramma gebruiken: bootsect.exe zoals ik hierboven schreef.
Als je nog niet opnieuw hebt opgestart (als je opnieuw hebt opgestart, gebruik dan grub om Windows op de hierboven beschreven manier op te starten), en voer bootsect.exe
Windows XP herstellen bootsect / nt52 c: / mbr
Om Windows Vista / 7 . te herstellen bootsect / nt60 c: / mbr
bootsect bevindt zich in de map bagageruimte schijf Windows, evenals in mijn opgemaakte archief aan het einde van het artikel.
De flashdrive is eenvoudig genoeg te formatteren.

Conclusie

Ik hoop dat de voorbeelden iemand zullen helpen erachter te komen, en iemand zal geïnteresseerd zijn in deze bootloader, en de hulpprogramma's voor het maken van opstartbare flashdrives zullen een glimlach veroorzaken (ik wil niemand beledigen, ik respecteer alle ontwikkelaars, meer dan dat ik zelf met dergelijke hulpprogramma's ben begonnen). En natuurlijk raad ik je ten zeerste aan om grub zelf in meer detail te bestuderen, en GRUB4DOS, bijvoorbeeld, hier

Ubuntu gebruikt, net als veel andere Linux-distributies, GRUB2 als bootloader. Als GRUB2 kapot gaat, bijvoorbeeld als je Windows installeert nadat je Ubuntu hebt geïnstalleerd, of als je de MBR overschrijft, kun je Ubuntu niet opstarten.

GRUB2 kan eenvoudig worden gerepareerd met behulp van een Ubuntu Live-cd of USB-stick. Dit proces verschilt van het herstellen van de GRUB Legacy-bootloader op oudere Linux-distributies.

Het onderstaande proces zou moeten werken met alle versies van Ubuntu. Het is getest op de versies Ubuntu 16.04 en Ubuntu 14.04.

GUI-methode: Boot Repair ###

Opstartherstel is een GUI-toepassing die GRUB2 met slechts één klik kan repareren. Ideale oplossing voor de meeste gebruikers.

Als u de media hebt waarmee u Ubuntu hebt geïnstalleerd, plaatst u deze in uw computer, start u opnieuw op en start u op vanaf de verwisselbare media. Als u de media niet hebt, start u de Ubuntu Live-cd op en brandt u deze op schijf of maakt u een opstartbare USB-stick.

Klik tijdens het opstarten op "Try Ubuntu" om een ​​werkende desktopomgeving te laden.

Zorg ervoor dat uw internetverbinding werkt voordat u doorgaat. Mogelijk moet u een Wi-Fi-netwerk selecteren en een wachtwoord invoeren.

Open een terminal vanuit Dash en voer de volgende opdrachten uit om te downloaden en te installeren: Opstartherstel:

Sudo apt-add-repository ppa: yannubuntu / boot-repair sudo apt-get update sudo apt-get install -y boot-repair boot-repair

Opstartherstel scant automatisch het systeem na het uitvoeren van de opdracht boot-repair. Klik daarna op de knop Aanbevolen reparatie om GRUB2 te repareren.

Je kunt hier ook geavanceerde instellingen doen, maar de Ubuntu-wiki raadt dit niet aan, tenzij je precies weet waarvoor ze verantwoordelijk zijn. Met de aanbevolen optie kunt u de meeste problemen automatisch oplossen, en het kiezen van de verkeerde instellingen kan de situatie alleen maar erger maken.

Boot Repair begint te werken. Mogelijk wordt u gevraagd een terminal te openen en een paar opdrachten te kopiëren/plakken.

Volg gewoon de instructies op het scherm. Volg alle instructies Opstartherstel en klik op Doorsturen om naar het volgende scherm te gaan. Het hulpprogramma leidt u door alle noodzakelijke stappen voor herstel.

Na Opstartherstel klaar is met werken, start u uw computer opnieuw op. Ubuntu zou normaal moeten starten.

Terminal methode:

Als je niet bang bent om je handen vuil te maken, kun je het systeem via de terminal repareren. U moet opstarten vanaf een Live-cd of USB-stick, net als de hierboven beschreven methode. Zorg ervoor dat de Ubuntu-versie op de schijf overeenkomt met de versie die op uw computer is geïnstalleerd. Als u bijvoorbeeld Ubuntu 14.04 had geïnstalleerd, moet u de Ubuntu 14.04 Live-cd gebruiken.

Nadat het systeem is opgestart, opent u een terminal. Identificeer de schijfpartitie waarop Ubuntu is geïnstalleerd met behulp van een van de volgende opdrachten:

Sudo fdisk -l sudo blkid

Hieronder volgt de uitvoer van beide opdrachten. In het geval van fdisk -l kan de Ubuntu-partitie worden geïdentificeerd door het woord Linux in de kolom Systeem. In het geval van het gebruik van het blkid-commando, wordt de partitie bepaald door het gebruik van het bestandssysteem ext4.

Als uw computer meerdere Linux-partities in de indeling heeft: ext4, let op hun grootte en de volgorde waarin ze zijn vermeld.

Voer de volgende opdrachten uit om uw Ubuntu-partitie op / mnt / ubuntu te koppelen, waarbij u / dev / sdX # vervangt door de naam van het apparaat waarop uw Ubuntu-partitie hierboven is geïnstalleerd:

Sudo mkdir / mnt / ubuntu sudo mount / dev / sdX # / mnt / ubuntu

In het bovenstaande voorbeeld bevindt de Ubuntu-partitie zich op / dev / sda1. Dit is de eerste partitie op de eerste harde schijf.

Experimenteer je graag? Je hebt vast wel eens geprobeerd om een ​​actie uit te voeren met je Linux-systeem, en het is niet zo belangrijk wat de doelen waren: het bestuderen en leren van nieuwe functies, of een meer specifiek doel, in de vorm van het repareren van een bepaalde fout. In ieder geval kunnen bij het werken met Linux-distributies, waarvoor in de meeste gevallen Grub wordt gebruikt, onaangename problemen ontstaan ​​met laatstgenoemde, waardoor verdere bediening van het systeem eenvoudigweg onmogelijk is. Dit artikel laat je zien wat je moet doen als Linux niet wil opstarten. Hoe om te gaan met deze situatie en wat te doen om de Grub-bootloader te repareren. Laten we beginnen.

Wat is Grub

Grub (of GRand Unified Bootloader) is een open source bootloader voor besturingssystemen. Het wordt gedistribueerd onder de GNU GPL-licentie, volledig gratis. Je kunt veel doen met deze geweldige loader - de hoofdfunctie is niet beperkt tot het laden van slechts één besturingssysteem. U kunt veel meer besturingssystemen op uw pc hebben door ze met Grub op te starten. In de bovenstaande schermafbeelding kun je zien hoe Grub er ongeveer uitziet. Trouwens, als je wilt, heb je zeker de hulp van Grub nodig.

Grub wordt gebruikt als de standaard bootloader in de meeste Linux-distributies. Natuurlijk ontstaan ​​er soms problemen met hem. Deze problemen zijn beladen met een volledig falen van het besturingssysteem. Daarom hebben we extra tools nodig om Grub te repareren. Welke - dat kom je verder te weten.

Wat kan problemen veroorzaken?

Een van de meest voorkomende redenen is de onjuiste installatievolgorde van de twee besturingssystemen (Linux en Windows). Laten we zeggen, als u deze twee besturingssystemen op uw pc wilt installeren, moet u dit zeker weten juist vervolg:

  • Installeer eerst Windows
  • En alleen dan Linux

Doe je bijvoorbeeld het tegenovergestelde, dan loopt Grub schade op; het systeem start rechtstreeks op in Windows en de Linux-distributie blijft niet beschikbaar.

Grub kan ook om andere redenen kapot gaan. Als gevolg van pogingen om de opstartparameters handmatig te wijzigen (met een gebrek aan ervaring), moet u in dit geval ofwel handmatig het onnodige verwijderen of Grub volledig opnieuw installeren.

Grub herstellen met LiveCD / USB

Voor deze methode hebben we een flashdrive nodig met een Linux-distributie aan boord. Iedereen zal het doen, van Ubuntu, Arch of zelfs Linux Mint. Hier is alleen een terminal nodig, dus zelfs een versie zonder grafische shell is voldoende.

Een LiveCD / USB maken

Natuurlijk hebben we een medium nodig waarop we het systeem tijdelijk (of misschien niet) schrijven. Bewaar alle belangrijke bestanden die op dit medium stonden en schrijf vervolgens (dus op een andere pc, bij voorkeur Windows) de gedownloade distributie-image naar het medium. We gebruiken de Ubuntu-distributie als voorbeeld.

We gaan naar de officiële downloadpagina. Download elke gewenste versie (het is beter om de nieuwste voor de desktop te nemen) en brand deze vervolgens op USB / CD.

Met Rufus:

De nieuwste versie van de applicatie is beschikbaar op de officiële website. Onmiddellijk na het downloaden en uitvoeren / installeren, zien we een venster als dit:

Plaats de media, selecteer deze in het daarvoor bestemde menu. Vervolgens selecteren we het gewenste partitieschema en het type systeeminterface, en daarna openen we de bestandsbeheerder met deze knop:

We vinden de gedownloade afbeelding via de manager, waarna we op "Start" drukken.

Met etser:

Nogmaals, ga naar de officiële website, waar we de nieuwste versie van het hulpprogramma downloaden. Vervolgens doen we alles zoals getoond in deze gif:

Welnu, in feite kunt u doorgaan met het herstellen van Grub. We plaatsen de flashdrive in onze pc (waar de bootloader kapot is) en starten deze vervolgens opnieuw op vanaf dezelfde flashdrive. Zodra we in het live systeem komen, openen we direct de terminal, waarna we het volgende doen:

Open de partitietabel met de opdracht:

Sudo fdisk -l

Een tabel zoals deze wordt op het scherm weergegeven:

Uit deze tabel kunnen we zien dat Linux zich in ons geval op de / dev / sda1-partitie bevindt.

We zullen deze sectie aan / mnt koppelen met het volgende commando:

Sudo mount / dev / sda1 / mnt

Om nu grub naar de MBR te schrijven, moet je de volgende opdracht invoeren:

Sudo grub-install --root-directory = / mnt / dev / sda

Als u alleen de MBR van een schijf hoeft te herstellen (bijvoorbeeld na het opnieuw installeren van Windows), dan zijn deze stappen voldoende.

Als u ook het grub-menu moet bijwerken (na installaties Windows), dan moet u deze opdracht ook uitvoeren:

Sudo update-grub --output = / mnt / boot / grub / grub.cfg

Dat is alles, de restauratie is voltooid!

Chroot herstel

Naast de bovenstaande methode kun je deze gebruiken bij het herstellen van Grub met behulp van een LiveCD. We zullen hier het chroot-hulpprogramma gebruiken.

Ook hier hebben we een partitietabel nodig. We voeren het reeds bekende commando in:

Sudo fdisk -l

De uitvoer heeft weer deze tabel. Nu moeten we het van dichterbij bekijken.

/ dev / sda1 27 7683 66999082+ 83 Linux / dev / sda2 * 8450 13995 45430855 7 HPFS / NTFS / dev / sda3 11885 16574 6503497 5 Uitgebreid

Op deze manier moeten we het systeem monteren, evenals verschillende andere belangrijke secties. Voer hiervoor deze opdrachten in:

Sudo mount / dev / sda1 / mnt sudo mount --bind / dev / mnt / dev sudo mount --bind / proc / mnt / proc sudo mount --bind / sys / mnt / sys

Opmerking dat als de / boot of / var partities gescheiden zijn, je ze moet mounten in / mnt / boot en / mnt / var.

Sudo chroot / mnt

En nu, eindelijk, installeren we Grub opnieuw met behulp van de volgende opdracht:

Grub-installatie / dev / sda

Als je in dit stadium foutmeldingen krijgt, probeer dan deze commando's:

Grub-install --recheck / dev / sda

Grub-install --recheck --no-floppy / dev / sda

Als alles goed is gegaan, sluit dan de chroot af met het commando:

Sudo umount / mnt / dev sudo umount / mnt / proc sudo umount / mnt / sys sudo umount / mnt

Als je de / boot-partitie hebt aangekoppeld, voer je het volgende commando in:

Sudo umount / mnt / boot

Nu herstarten we het systeem met:

Sudo opnieuw opstarten

Je kunt het Grub-menu ook bijwerken met de opdracht:

Sudo update-grub

Grub herstellen in de reddingsmodus

Als je om wat voor reden dan ook geen toegang hebt tot de LiveCD / USB-media, en ook niet tot de computer waarmee deze media gemaakt kunnen worden, dan is deze methode iets voor jou.

Het herstel zelf gaat als volgt: eerst laden we alle modules om toegang te krijgen tot het volledige functionele deel van Grub, en beginnen dan vanaf de gewenste partitie. Je moet begrijpen dat Grub uit twee delen bestaat:

Een van deze delen (eerste) wordt opgenomen in de MBR van de schijf. Het heeft basisfunctionaliteit en niets anders (console in reddingsmodus).

Daarom moeten we bepalen in welke partitie het tweede deel van Grub zich bevindt (in de map / boot / grub), en dan alle ontbrekende modules laden. Maar daarna kunnen we de bootloader starten vanaf de gewenste partitie. Er zijn slechts vier commando's in de reddingsmodus:

Ls uitgeschakeld insmod

Voer eerst het volgende commando in:

De uitvoer ziet er ongeveer zo uit:

(hd0) (hd0, msdos3) (hd0, msdos2) (hd0, msdos1) (hd1) (hd1, msdos2) (hd1, msdos1)

In sommige gevallen detecteert Grub ten onrechte bestandssystemen op schijfpartities. In dit voorbeeld toont de lader ze als msdos. We moeten proberen te raden welke schijven we zien. In het voorbeeld zijn er twee schijven beschikbaar. Schijf met index 0 bevat drie partities en schijf met index 1 bevat twee partities. Als u de structuur van uw schijven kent, zal het niet moeilijk zijn om de juiste te bepalen.

In de Grub-bootloader zijn partities omgekeerd genummerd. Het is niet erg duidelijk welke van de secties heet, bijvoorbeeld (hd0, msdos3). Om het duidelijker te maken, kunt u de weergave (hd0,1) gebruiken. Als in de grab de schijven vanaf 0 worden geteld en de partities vanaf 1, dan kun je bepalen dat het besturingssysteem is geïnstalleerd in de eerste partitie van de eerste partitie - (hd0,1). We gebruiken het volgende commando:

Set prefix = (hd0,1) / boot / grub set root = (hd0,1)

Met behulp van deze commando's geven we het systeem de opdracht om een ​​specifieke schijf te gebruiken om alle andere bewerkingen uit te voeren (in ons geval is dit de schijf (hd0,1)). Voer deze opdracht in om te controleren of er een bootloader op een bepaalde schijf staat:

Ls / boot / grub

Als de uitvoer een lijst met bestanden en mappen bevat, hebben we alles goed gedaan. Nu kunt u alle benodigde modules laden. Voer hiervoor de opdrachten uit:

Insmod ext2 insmod normaal normaal

Na het uitvoeren van de opdrachten start Grub op in de volledig functionele modus. Alle besturingssystemen die op de computer zijn geïnstalleerd worden gevonden, waarna het standaard opstartmenu wordt getoond.

Tot Anker resultaat (en doe niet hetzelfde na het herstarten van de pc), moet je naar de terminal van je Linux-distributie gaan, waar je met rootrechten de volgende opdracht uitvoert:

Grub-installatie / dev / sdX

sdX is de schijf waarop Grub moet worden geïnstalleerd.

Als het besturingssysteem zich op partitie met btrfs-bestandssysteem, dan moeten we de volgende opdrachten uitvoeren:

Set prefix = (hd0,1) / @ / boot / grub set root = (hd0,1)

En laad de modules:

Insmod btrfs insmod normaal

Nou, begin nu met GRUB:

Grub repareren met het hulpprogramma Bootreparatie

Met dit geweldige hulpprogramma kun je de bootloader in slechts een paar klikken herstellen. Zoals je kunt zien aan de screenshot, heeft het hulpprogramma zijn eigen GUI, het gebruik ervan zal geen problemen veroorzaken.

Om opstartherstel te installeren, kunt u een van de volgende methoden gebruiken:

  • Opname en installatie van een special (en verder downloaden ervan)
  • Bootreparatie installeren vanuit de PPA-repository in de LiveCD / USB-distributie.

Als alles duidelijk is met de eerste methode: je hoeft alleen maar de afbeelding te downloaden en te branden met de juiste tools. Dan moet je in de tweede al specifieke commando's kennen die er als volgt uitzien:

Sudo add-apt-repository ppa: yannubuntu / boot-repair sudo apt-get update && sudo apt-get install -y boot-repair

Het hulpprogramma heeft twee opties om uit te kiezen:

Aanbevolen reparatie lost de meeste bekende fouten op die bij het opstarten kunnen optreden. Het zal je ook helpen de Grub-bootloader te repareren.

Maak een BootInfo-samenvatting maakt Boot-Info-Script - een script dat de meeste opstartproblemen kan diagnosticeren.

Er is ook Geavanceerde mogelijkheden... Het bevat opties voor het herstellen en configureren van de Grub2 bootloader (standaard boot, kernel boot opties, GRUB tonen of verbergen bij opstarten, GRUB verwijderen). Met dezelfde tools kunt u MBR, enz.

Je moet zeker uitchecken. Daar vindt u meer gedetailleerde informatie over alle mogelijkheden en kenmerken van het programma. Er zal ook informatie beschikbaar zijn over de release van nieuwe versies: fixes en verbeteringen van het hulpprogramma zelf, evenals vele en vele andere dingen.

conclusies

Dus hebben we verschillende opties bekeken om de Grub-bootloader te repareren. Het is de moeite waard om te zeggen dat sommige ervan misschien moeilijk of zelfs onmogelijk lijken. Dit is niet het geval, elk van de overwogen methoden is bevestigd in de vorm van honderden en duizenden Grub-bootloader-fixes in de open source-gemeenschap. Trouwens, welke van de manieren je moet kiezen, is aan jou, elk van hen is effectief genoeg om in dit materiaal te komen.

Mogelijk bent u geïnteresseerd in ander vergelijkbaar materiaal over het repareren van de Grub2-bootloader. In deze zelfstudie leert u bijvoorbeeld hoe u dit kunt oplossen. Het beschrijft in meer detail hoe u onbeleefde kunt repareren met behulp van het hulpprogramma Boot Repair. Mogelijk moet u daar kijken als u iets van dit materiaal niet begrijpt. Nou, dat was alles voor vandaag. Ik hoop dat dit artikel je heeft geholpen om de fouten op te lossen. Wat je op zijn beurt zal helpen om ze op te lossen.

Een bootloader wordt gebruikt om de kernel te initialiseren en het Linux-besturingssysteem te starten. Dit is een programma dat wordt uitgevoerd nadat het BIOS een hardwarecontrole heeft uitgevoerd, de hardware gereedmaakt voor gebruik, de gewenste kernelparameters instelt en u in staat stelt een besturingssysteem te selecteren. De belangrijkste taak van de bootloader is om de gebruiker de keuze te geven van het besturingssysteem om op te starten.

Voorheen werden verschillende bootloaders gebruikt om Linux op te starten, dit zijn isolinux, lilo, grub. Maar nu is de meest gebruikte Grub of de volledige naam GRand Unified Bootloader. Dit artikel helpt je bij het installeren van de Grub-bootloader via de terminal. We zullen ook praten over het installeren van grub op een UEFI-computer, ook handmatig.

Zoals ik al zei, is de belangrijkste taak van de bootloader om de keuze van het besturingssysteem te bieden voordat wordt opgestart. Ga er niet vanuit dat Windows geen bootloader gebruikt, het bestaat ook en werkt, net als Grub.

De bootloader kan in verschillende schijfpartitietabellen worden geïnstalleerd. Momenteel zijn de meest gebruikte GPT en MBR. De installatie van de Grub-bootloader verschilt enigszins voor elk van deze tabellen, gezien hun specifieke kenmerken. In een apart artikel lees je meer over de verschillen. Ik zal meteen zeggen dat GPT een nieuwere en functionelere partitietabel is, MBR is al verouderd, maar wordt nog steeds vaak gebruikt.

Er zijn weinig opties in MBR, Grub schrijft naar het MBR-gebied op schijf. De grootte van de MBR-sector neemt de eerste 512 bytes in beslag en dit is voldoende om de bootloader daar te installeren.

GPT biedt meer geavanceerde mogelijkheden. Ten eerste emuleert GPT voor compatibiliteit de MBR-sector, en we kunnen GRUB daar installeren, maar deze optie is zeer onbetrouwbaar en wordt niet aanbevolen. Ten tweede is het nu mogelijk om Grub op een schijfpartitie te installeren. We maken eenvoudig een partitie van 1 MB op de schijf en schrijven daar wat eerder naar de MBR is geschreven, dit maakt de installatie van de bootloader betrouwbaarder en beter beveiligd tegen storingen.

UEFI biedt een heel andere manier om de bootloader te installeren. Hier hoeft het nergens te worden geschreven, de bootloader is een reguliere EFI-applicatie die op een EFI-partitie wordt geplaatst en al daar werkt het volledig succesvol samen met andere applicaties.

De opdracht grub-install wordt in alle gevallen gebruikt om Grub te installeren. Laten we eens kijken naar de syntaxis en parameters. Syntaxis:

$ grub-installatieopties schijf

Er zijn hier veel parameters, maar we hebben er maar een paar nodig:

  • --samenpersen- comprimeer bootloader-bestanden;
  • --install-modules = modules- installeer alleen deze modules;
  • --modules- schrijf deze modules naar MBR;
  • --boot-map- gebruik een andere directory voor de Grub-bestanden;
  • --bootloader-id- de naam van de bootloader in het EFI-menu;
  • --kern-kompres- comprimeer de afbeelding die in de MBR is geladen;
  • --efi-map- gebruik de EFI-systeempartitie;
  • --kracht- ondanks fouten installeren;
  • --controleer opnieuw- verwijder de bestaande apparaatkaart, helpt als er fouten optreden;
  • --verwijderbaar- grub installeren op een USB-stick (alleen EFI);

De basis werd uit elkaar gehaald. Laten we nu verder gaan met de installatie. Verder ga ik ervan uit dat alle acties worden uitgevoerd vanaf het systeem waarvoor je de bootloader moet installeren of vanuit de chroot-omgeving van dit systeem.

Grub Bootloader installeren in MBR voor BIOS

Laten we beginnen met de meest eenvoudige en bekende. Deze instructie voor het installeren van de Grub-bootloader is geschikt voor elke distributie, aangezien de commando's bijna overal hetzelfde zijn. Het is niet nodig om hier extra pakketten te installeren of partities aan te maken. Het installeren van Grub op je harde schijf doe je met het commando:

sudo grub-install / dev / sda

sudo grub2-install / dev / sda

De grub-hulpprogramma's in verschillende distributies kunnen er al dan niet twee bevatten. Hier / dev / sda is je harde schijf. Nu genereren we een configuratiebestand om de geïnstalleerde besturingssystemen automatisch te detecteren:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Klaar. Er is dezelfde opmerking over de deuce. Als je Grub op een USB-flashstation in MBR wilt installeren, dan is er ook geen probleem, koppel gewoon de USB-flashdrive en voer de volgende opdracht uit:

sudo grub-install --root-directory = / mnt / USB / / dev / sdb

Hier is / mnt / USB de map waarin je flashdrive is geïnstalleerd, en / seb / sdb is de flashdrive zelf. Er is hier alleen een probleem, het configuratiebestand zal handmatig moeten worden gedaan.

Grub Bootloader installeren in GPT voor BIOS

Ten eerste kunnen we niets achterlaten en Grub installeren zoals beschreven in de vorige methode. Maar dan wordt het geïnstalleerd in het MBR-compatibiliteitsgebied, wat niet betrouwbaar is. Daarom is het aan te raden om grub zoals hieronder beschreven op een aparte partitie te installeren.

De partitie die we nodig hebben, kan worden gemaakt in het installatieprogramma van elke distributie, als u installeert in de grafische interface of gparted gebruikt. We hebben een partitie van 1 Megabyte nodig zonder bestandssysteem en gelabeld grub_bios:

Klaar. Als u geen toegang heeft tot de grafische interface, kunt u een dergelijke sectie maken via de terminal. Het hulpprogramma fdisk ondersteunt gpt niet, dus we zullen gfdisk gebruiken. Voer eerst het hulpprogramma uit:

sudo gdisk / dev / sda

Om een ​​nieuwe partitie aan te maken, drukt u op n en selecteert u het partitienummer:

We zijn het eens met de initiële sector, de eerste gratis zal worden gebruikt:

We selecteren de laatste sector van de partitie. Standaard wordt het maximum gebruikt. We hebben een partitie van 1 MB nodig. De grootte van één GPT-sector is 512 bytes, dus we hebben een partitie van 2048 sectoren nodig. Dus de laatste sector zal iets van 24.000 zijn.

De HEX-code is de code die het systeem vertelt om deze sectie voor Grub te gebruiken, deze moet worden geïnstalleerd ef02:

Klaar, het blijft om op w te drukken om de wijzigingen naar schijf te schrijven:

sudo grub-install / dev / sda3

Het blijft om het grub-configuratiebestand te maken:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Laten we nu verder gaan met het moeilijkste deel, hoe grub efi te installeren.

GRUB UEFI GPT installeren

Het installeren van Grub UEFI lijkt enigszins op het installeren in GPT, hier zullen we ook een aparte partitie hebben, alleen deze keer niet voor de bootloader, maar de EFI-partitie. Als u al Windows hebt geïnstalleerd, bestaat deze waarschijnlijk al. Deze partitie is meestal 100 MB groot, heeft een fat32-bestandssysteem en een ESP-vlag. Dit is hoe het eruit zal zien:

Als zo'n partitie niet bestaat, kunnen we deze maken met gparted. Maak hiervoor een sectie met de volgende parameters:

Grootte 100 Megabytes, partitienaam ESP, bestandssysteem vet32... Pas vervolgens de wijzigingen toe en stel de vlag voor de sectie in ESP:

U kunt hetzelfde doen in Gdisk, alleen moet u deze keer de HEX-code van de sectie installeren. ef00... Nadat de partitie is gemaakt, verbinden we deze met ons bestandssysteem:

sudo mkdir / boot / efi
$ sudo mount / dev / sda2 / boot / efi

sudo apt install grub-efi efibootmgr

grub-install / dev / sda

Het installeren van Grub efi op een MBR ziet er precies hetzelfde uit, alleen zijn er een paar beperkingen. De ESP mag alleen aan het begin van de schijf worden gemaakt. In EFI-modus kun je GRUB ook op een USB-stick installeren, en dat is niet erg moeilijk. Hiervoor wordt het commando gebruikt.