LFCS: Hvernig á að stilla og leysa Grand Unified Bootloader (GRUB) - Part 13


Vegna nýlegra breytinga á markmiðum LFCS vottunarprófsins sem taka gildi frá 2. febrúar 2016, bætum við einnig nauðsynlegum efnisatriðum við LFCE seríuna.

Í þessari grein munum við kynna þér GRUB og útskýra hvers vegna ræsihleðslutæki er nauðsynlegt og hvernig það bætir fjölhæfni við kerfið.

Linux ræsingarferlið frá því að þú ýtir á aflhnappinn á tölvunni þinni þar til þú færð fullvirkt kerfi fylgir þessari röð á háu stigi:

  1. 1. Ferli sem kallast POST (Power-On Self Test) framkvæmir heildarathugun á vélbúnaðarhlutum tölvunnar þinnar.
  2. 2. Þegar POST er lokið færir það stjórnina til ræsiforritsins, sem aftur hleður Linux kjarnanum í minni (ásamt initramfs) og keyrir hann. Mest notaði ræsiforritið í Linux er GRand Unified Boot loader, eða GRUB í stuttu máli.
  3. 3. Kjarninn athugar og opnar vélbúnaðinn og keyrir síðan upphafsferlið (aðallega þekkt undir almenna nafninu \init) sem aftur lýkur ræsingu kerfisins með því að ræsa þjónustu.

Í hluta 7 af þessari röð (\þjónustustjórnunarkerfi og verkfæri sem notuð eru af nútíma Linux dreifingum. Þú gætir viljað skoða þá grein áður en þú heldur áfram.

Við kynnum GRUB Boot Loader

Tvær helstu GRUB útgáfur (v1 stundum kallaðar GRUB Legacy og v2) má finna í nútíma kerfum, þó að flestar dreifingar noti v2 sjálfgefið í nýjustu útgáfum sínum. Aðeins Red Hat Enterprise Linux 6 og afleiður þess nota enn v1 í dag.

Þannig munum við einblína fyrst og fremst á eiginleika v2 í þessari handbók.

Óháð GRUB útgáfunni gerir ræsihleðslutæki notandanum kleift að:

  1. 1). breyta því hvernig kerfið hegðar sér með því að tilgreina mismunandi kjarna til að nota,
  2. 2). velja á milli annarra stýrikerfa til að ræsa, og
  3. 3). bæta við eða breyta stillingarstöfum til að breyta ræsivalkostum, meðal annars.

Í dag er GRUB viðhaldið af GNU verkefninu og er vel skjalfest á vefsíðu þeirra. Þú ert hvattur til að nota GNU opinber skjöl á meðan þú ferð í gegnum þessa handbók.

Þegar kerfið ræsist færðu eftirfarandi GRUB skjá á aðalborðinu. Upphaflega ertu beðinn um að velja á milli annarra kjarna (sjálfgefið mun kerfið ræsa með nýjasta kjarnanum) og hefur leyfi til að slá inn GRUB skipanalínu (með c) eða breyta ræsivalkostunum (með því að með því að ýta á e takkann).

Ein af ástæðunum fyrir því að þú myndir íhuga að ræsa með eldri kjarna er vélbúnaðartæki sem virkaði almennilega og hefur byrjað að „virka“ eftir uppfærslu (sjá þennan tengil á AskUbuntu umræðunum til að fá dæmi).

GRUB v2 uppsetningin er lesin við ræsingu frá /boot/grub/grub.cfg eða /boot/grub2/grub.cfg, en /boot/grub/ grub.conf eða /boot/grub/menu.lst eru notuð í v1. Þessum skrám á EKKI að breyta með höndunum, heldur er þeim breytt út frá innihaldi /etc/default/grub og skrárnar sem finnast í /etc/grub.d.

Í CentOS 7 er hér stillingarskráin sem er búin til þegar kerfið er fyrst sett upp:

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="vconsole.keymap=la-latin1 rd.lvm.lv=centos_centos7-2/swap crashkernel=auto  vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos_centos7-2/root rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

Til viðbótar við netskjölin geturðu líka fundið GNU GRUB handbókina með upplýsingum sem hér segir:

# info grub

Ef þú hefur sérstakan áhuga á þeim valmöguleikum sem eru í boði fyrir /etc/default/grub, geturðu kallað á stillingarhlutann beint:

# info -f grub -n 'Simple configuration'

Með því að nota skipunina hér að ofan muntu komast að því að GRUB_TIMEOUT stillir tímann frá því augnabliki þegar upphafsskjárinn birtist og þar til sjálfvirk ræsing kerfisins hefst nema notandinn trufli það. Þegar þessi breyta er stillt á -1, verður ræsing ekki ræst fyrr en notandinn hefur valið.

Þegar mörg stýrikerfi eða kjarna eru sett upp í sömu vélinni, krefst GRUB_DEFAULT heiltölugildi sem gefur til kynna hvaða stýrikerfi eða kjarnafærslu á GRUB upphafsskjánum ætti að velja til að ræsa sjálfgefið. Lista yfir færslur er ekki aðeins hægt að skoða á skvettaskjánum sem sýndur er hér að ofan, heldur einnig með því að nota eftirfarandi skipun:

# awk -F\' '$1=="menuentry " {print $2}' /boot/grub2/grub.cfg
# awk -F\' '$1=="menuentry " {print $2}' /boot/grub/grub.cfg

Í dæminu sem sýnt er á myndinni hér að neðan, ef við viljum ræsa með kjarnaútgáfu 3.10.0-123.el7.x86_64 (4. færsla), þurfum við að stilla GRUB_DEFAULT á 3< /kóði> (færslur eru númeraðar innbyrðis sem byrja á núlli) sem hér segir:

GRUB_DEFAULT=3

Ein loka GRUB stillingarbreyta sem er sérstaklega áhugaverð er GRUB_CMDLINE_LINUX, sem er notuð til að senda valkosti til kjarnans. Valmöguleikarnir sem hægt er að fara í gegnum GRUB til kjarnans eru vel skjalfestir í man 7 bootparam.

Núverandi valkostir í CentOS 7 þjóninum mínum eru:

GRUB_CMDLINE_LINUX="vconsole.keymap=la-latin1 rd.lvm.lv=centos_centos7-2/swap crashkernel=auto  vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos_centos7-2/root rhgb quiet"

Af hverju myndirðu vilja breyta sjálfgefnum kjarnabreytum eða senda aukavalkosti? Í einföldu máli geta komið tímar þar sem þú þarft að segja kjarnanum ákveðnar vélbúnaðarfæribreytur sem hann gæti ekki ákvarðað sjálfur, eða að hnekkja þeim gildum sem hann myndi uppgötva.

Þetta gerðist fyrir mig ekki alls fyrir löngu þegar ég prófaði Vector Linux, afleiðu Slackware, á 10 ára fartölvunni minni. Eftir uppsetningu fann það ekki réttar stillingar fyrir skjákortið mitt svo ég þurfti að breyta kjarnavalkostunum sem fóru í gegnum GRUB til að láta það virka.

Annað dæmi er þegar þú þarft að koma kerfinu í einn notendaham til að framkvæma viðhaldsverkefni. Þú getur gert þetta með því að bæta orðinu single við GRUB_CMDLINE_LINUX og endurræsa:

GRUB_CMDLINE_LINUX="vconsole.keymap=la-latin1 rd.lvm.lv=centos_centos7-2/swap crashkernel=auto  vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos_centos7-2/root rhgb quiet single"

Eftir að þú hefur breytt /etc/defalt/grub þarftu að keyra update-grub (Ubuntu) eða grub2-mkconfig -o /boot/grub2/grub. cfg (CentOS og openSUSE) á eftir til að uppfæra grub.cfg (annars munu breytingar glatast við ræsingu).

Þessi skipun mun vinna úr ræsistillingarskránum sem nefnd voru áðan til að uppfæra grub.cfg. Þessi aðferð tryggir að breytingar séu varanlegar, en valkostir sem fara í gegnum GRUB við ræsingu munu aðeins endast meðan á núverandi lotu stendur.

Laga Linux GRUB vandamál

Ef þú setur upp annað stýrikerfi eða ef GRUB stillingarskráin þín verður skemmd vegna mannlegra mistaka, þá eru leiðir til að koma kerfinu á fætur og geta ræst aftur.

Á upphafsskjánum, ýttu á c til að fá GRUB skipanalínu (mundu að þú getur líka ýtt á e til að breyta sjálfgefnum ræsivalkostum) og notaðu hjálp til að koma þeim tiltæku skipanir í GRUB hvetjunni:

Við munum einbeita okkur að ls, sem mun skrá uppsett tæki og skráarkerfi, og við munum skoða hvað það finnur. Á myndinni hér að neðan getum við séð að það eru 4 harðir diskar (hd0 til hd3).

Aðeins hd0 virðist hafa verið skipt í skipting (eins og sést af msdos1 og msdos2, þar sem 1 og 2 eru skiptingarnúmerin og msdos er skiptingarkerfið).

Við skulum nú skoða fyrstu skiptinguna á hd0 (msdos1) til að sjá hvort við getum fundið GRUB þar. Þessi aðferð gerir okkur kleift að ræsa Linux og þar nota önnur hágæða verkfæri til að gera við stillingarskrána eða setja GRUB upp aftur að öllu leyti ef þess er þörf:

# ls (hd0,msdos1)/

Eins og við sjáum á auðkennda svæðinu fundum við grub2 möppuna í þessari skipting:

Þegar við erum viss um að GRUB sé búsett í (hd0,msdos1), skulum við segja GRUB hvar á að finna stillingarskrána og gefa henni síðan fyrirmæli um að reyna að ræsa valmyndina sína:

set prefix=(hd0,msdos1)/grub2
set root=(hd0,msdos1)
insmod normal
normal

Veldu síðan færslu í GRUB valmyndinni og ýttu á Enter til að ræsa hana. Þegar kerfið hefur ræst geturðu gefið út grub2-install /dev/sdX skipunina (breyttu sdX með tækinu sem þú vilt setja upp GRUB á). Uppfærsluupplýsingarnar verða síðan uppfærðar og allar tengdar skrár endurheimtar.

# grub2-install /dev/sdX

Aðrar flóknari aðstæður eru skráðar, ásamt lagfæringum þeirra, í Ubuntu GRUB2 bilanaleitarhandbókinni. Hugtökin sem þar eru útskýrð eiga einnig við um aðrar dreifingar.

Samantekt

Í þessari grein höfum við kynnt þér GRUB, gefið til kynna hvar þú getur fundið skjöl bæði á netinu og utan nets, og útskýrt hvernig á að nálgast atburðarás þar sem kerfi hefur hætt að ræsa almennilega vegna vandamáls sem tengist ræsihleðslutæki.

Sem betur fer er GRUB eitt af verkfærunum sem er best skjalfest og þú getur auðveldlega fundið hjálp annað hvort í uppsettum skjölum eða á netinu með því að nota úrræðin sem við höfum deilt í þessari grein.

Hefur þú spurningar eða athugasemdir? Ekki hika við að láta okkur vita með því að nota athugasemdareyðublaðið hér að neðan. Okkur hlakkar til að heyra frá þér!