LFCS: “Grand Unified Bootloader” (GRUB) -ni nädip sazlamaly we nädip çözmeli - 13-nji bölüm


2016-njy ýylyň 2-nji fewralyndan güýje girýän LFCS sertifikat synag synaglarynyň maksatlarynda soňky üýtgeşmeler sebäpli, LFCE seriýasyna hem zerur temalary goşýarys.

Bu makalada sizi GRUB bilen tanyşdyrarys we ýükleýjiniň näme üçin zerurdygyny we ulgama nädip köpugurlylygy goşýandygyny düşündireris.

Linux ýükleme prosesi, kompýuteriňiziň güýç düwmesine basanyňyzdan başlap, doly işleýän ulgam alýançaňyz bu ýokary derejeli yzygiderliligi yzarlaýar:

  1. 1. POST (Power-On Self Test) diýlip atlandyrylýan amal, kompýuteriňiziň enjam böleklerinde umumy barlagy geçirýär.
  2. 2. POST gutarandan soň, dolandyryşy boot ýükleýjä geçirýär, bu bolsa öz gezeginde Linux ýadrosyny ýada salýar (initramfs bilen bilelikde) we ýerine ýetirýär. Linux-da iň köp ulanylýan ýükleýji, GRand Unified Boot loader ýa-da gysgaça GRUB.
  3. 3. Ernadro enjamy barlaýar we oňa girýär, soňra başlangyç prosesi (esasanam umumy ady\init bilen tanalýar) işledýär, bu bolsa öz gezeginde hyzmatlary başlamak bilen ulgam ýüklemesini tamamlaýar.

Bu tapgyryň 7-nji bölüminde (\ häzirki zaman Linux paýlaýjylary tarapyndan ulanylýan hyzmat dolandyryş ulgamlary we gurallary. Has giňişleýin dowam etmezden ozal şol makalany gözden geçirip bilersiňiz.

GRUB Boot Loader bilen tanyşdyrmak

Iki sany esasy GRUB wersiýasy (v1 käwagt GRUB Legacy we v2 diýilýär) häzirki zaman ulgamlarynda tapylyp bilner, ýöne paýlaýjylaryň köpüsi soňky wersiýalarynda adaty ýagdaýda v2 ulanýar. Diňe Red Hat Enterprise Linux 6 we olardan emele gelenler häzirem v1 ulanýarlar.

Şeýlelikde, bu gollanmada esasan v2 aýratynlyklaryna üns bereris.

GRUB wersiýasyna garamazdan, ýükleýji ulanyjy ulanyja:

  1. 1). Ulanyljak dürli ýadrolary görkezip, ulgamyň özüni alyp barşyny üýtgediň,
  2. 2). açmak üçin alternatiw operasiýa ulgamlaryny we
  3. saýlaň
  4. 3). Başga zatlar bilen bir hatarda, ýükleme opsiýalaryny üýtgetmek üçin konfigurasiýa setirlerini goşuň ýa-da redaktirläň.

Häzirki wagtda GRUB GNU taslamasy tarapyndan goldanylýar we web sahypasynda gowy dokumentleşdirilen. Bu gollanmadan geçip barýarkaňyz, GNU resmi resminamalaryny ulanmak maslahat berilýär.

Ulgam açylanda esasy konsolda aşakdaky GRUB ekrany görkezilýär. Ilki bilen, alternatiw ýadrolary saýlamaly (adaty ýagdaýda ulgam iň soňky ýadrosy ulanyp başlar) we GRUB buýruk setirine ( c bilen) girmäge ýa-da ýükleme opsiýalaryny redaktirlemäge rugsat berilýär. e düwmesini basmak).

Köne ýadro bilen ýüklemegi göz öňünde tutmagyňyzyň sebäpleriniň biri dogry işleýän we täzelenenden soň hereket edip başlaýan enjam enjamy (mysal üçin AskUbuntu forumlarynda şu baglanyşyga serediň).

GRUB v2 konfigurasiýasy /boot/grub/grub.cfg ýa-da /boot/grub2/grub.cfg -den okalýar, /boot/grub/v1-de grub.conf ýa-da /boot/grub/menu.lst ulanylýar. Bu faýllary el bilen redaktirlemeli däl, ýöne /etc/default/grub mazmunyna we /etc/grub.d içindäki faýllara görä üýtgedilýär.

CentOS 7-de, ulgam ilkinji gezek gurlanda döredilen konfigurasiýa faýly:

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"

Onlaýn resminamalara goşmaça, maglumatlary aşakdaky ýaly ulanyp, GNU GRUB gollanmasyny hem tapyp bilersiňiz:

# info grub

/ Etc/default/grub üçin elýeterli saýlawlar bilen aýratyn gyzyklanýan bolsaňyz, konfigurasiýa bölümine göni ýüz tutup bilersiňiz:

# info -f grub -n 'Simple configuration'

Aboveokardaky buýrugy ulanyp, GRUB_TIMEOUT başlangyç ekranyň peýda bolýan pursady bilen ulanyjynyň päsgel bermese ulgamyň awtomatiki açylmagynyň wagtyny kesgitleýär. Bu üýtgeýji -1 düzülende, ulanyjy saýlaýança başlamaz.

Bir enjamda birnäçe operasiýa ulgamy ýa-da ýadro gurlanda, GRUB_DEFAULT , GRUB başlangyç ekranyndaky haýsy OS ýa-da ýadro girişiniň saýlanmalydygyny görkezýän bitewi bahany talap edýär. Triesazgylaryň sanawyny diňe ýokarda görkezilen çyzgy ekranynda däl, eýsem aşakdaky buýrugy hem ulanyp bolýar:

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

Aşakdaky suratda görkezilen mysalda, ýadro 3.10.0-123.el7.x86_64 (4-nji giriş) wersiýasy bilen açmak islesek, GRUB_DEFAULT 3 (ýazgylar içerde noldan başlap sanlanýar) aşakdaky ýaly:

GRUB_DEFAULT=3

Aýratyn gyzyklanma döredýän GRUB konfigurasiýa üýtgeýjisiniň biri, ýadro görnüşlerini geçirmek üçin ulanylýan GRUB_CMDLINE_LINUX . GRUB-dan ýadroga geçip boljak wariantlar, 7 bootparam-da gowy görkezilen.

CentOS 7 serwerimdäki häzirki opsiýalar:

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"

Näme üçin ýadro parametrlerini üýtgetmek ýa-da goşmaça opsiýalary geçirmek isleýärsiňiz? Simpleönekeý sözler bilen aýdanyňda, ýadro özbaşdak kesgitläp bilmeýän ýa-da kesgitlän bahalaryny ýok edip bilmeýän käbir enjam parametrlerine aýtmaly wagtyňyz bolup biler.

Bu, kän wagt geçmänkä, 10 ýaşly noutbukymda Slackware-dan emele gelen Vektor Linux-y synap görenimde bolup geçdi. Gurlandan soň, wideo kartam üçin dogry sazlamalary tapmady, şonuň üçin GRUB-dan geçýän ýadro opsiýalaryny işlemeli boldum.

Beýleki bir mysal, tehniki hyzmaty ýerine ýetirmek üçin ulgamy ýeke ulanyjy re modeimine getirmeli. Muny ýeke söz GRUB_CMDLINE_LINUX goşmak we gaýtadan açmak arkaly edip bilersiňiz:

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"

/etc/defalt/grub redaktirläniňizden soň, update-grub (Ubuntu) ýa-da grub2-mkconfig -o/boot/grub2/grub işlemeli bolarsyňyz. cfg (CentOS we openSUSE) soň grub.cfg täzelemek üçin (ýogsam, ýüklenenden soň üýtgeşmeler ýitiriler).

Bu buýruk, grub.cfg täzelenmek üçin ýokarda agzalan boot konfigurasiýa faýllaryny gaýtadan işleýär. Bu usul üýtgeşmeleriň hemişelik bolmagyny üpjün edýär, şol bir wagtyň özünde GRUB-dan geçen opsiýalar diňe häzirki sessiýada dowam eder.

Linux GRUB meselelerini düzeltmek

Ikinji operasiýa ulgamyny gursaňyz ýa-da adam ýalňyşlygy sebäpli GRUB konfigurasiýa faýlyňyz zaýalanan bolsa, ulgamyňyzy aýaklaryna dikeltmegiň we täzeden açyp bilersiňiz.

Başlangyç ekranda GRUB buýruk setirini almak üçin c basyň (deslapky ýükleme opsiýalaryny redaktirlemek üçin e basyp bilersiňiz) we elýeterli zatlary getirmek üçin kömek ulanyň. GRUB soragyndaky buýruklar:

Gurlan enjamlary we faýl ulgamlaryny sanawlaşdyrjak ls-e ünsi jemläris we nämäni tapýandygyny öwreneris. Aşakdaky suratda 4 sany gaty diskiň bardygyny görüp bileris ( hd0 hd3 ).

Diňe hd0 bölünen ýaly bolup görünýär (msdos1 we msdos2 şaýatlyk edýär, bu ýerde 1 we 2 bölek sanlary we msdos bölmek shemasydyr).

Geliň, ol ýerde GRUB tapyp biljekdigimizi bilmek üçin indi hd0 (msdos1) bölümindäki birinji bölümi gözden geçireliň. Bu çemeleşme Linux-y açmaga mümkinçilik berer we konfigurasiýa faýlyny bejermek ýa-da zerur bolsa GRUB-ny düýbünden täzeden gurmak üçin beýleki ýokary derejeli gurallary ulanmaga mümkinçilik berer:

# ls (hd0,msdos1)/

Aýdylan ýerden görşümiz ýaly, bu bölümde grub2 katalogyny tapdyk:

GRUB-yň (hd0, msdos1) ýaşaýandygyna göz ýetirenimizden soň, geliň GRUB-a konfigurasiýa faýlyny nireden tapmalydygyny aýdalyň we soňra menýusyny açmaga synanyşyň:

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

Soňra GRUB menýusynda ýazgyny saýlaň we ony ulanmak üçin Enter basyň. Ulgam açylansoň, grub2-install/dev/sdX buýrugyny berip bilersiňiz (GRUB gurmak isleýän enjamyňyz bilen sdX üýtgediň). Soňra ýükleme maglumatlary täzelener we ähli degişli faýllar dikeldiler.

# grub2-install /dev/sdX

Beýleki has çylşyrymly ssenariýler, Ubuntu GRUB2 näsazlyklary düzetmek boýunça gollanmada teklip edilýän düzedişler bilen bilelikde dokumentleşdirildi. Düşündirilen düşünjeler beýleki paýlamalar üçin hem güýje girýär.

Gysgaça mazmun

Bu makalada sizi GRUB bilen tanyşdyrdyk, onlaýn we awtonom resminamalary nireden tapyp boljakdygyny görkezdik we bootloader bilen baglanyşykly mesele sebäpli ulgamyň ýüklemegi dogry bes eden ssenariýa nädip çemeleşmelidigini düşündirdik.

Bagtymyza, GRUB iň oňat resminamalaşdyrylan gurallaryň biridir we bu makalada paýlaşan çeşmelerimizi ulanyp, gurnalan resminamalarda ýa-da onlaýn ýagdaýda aňsatlyk bilen kömek tapyp bilersiňiz.

Soraglaryňyz ýa-da teswirleriňiz barmy? Aşakdaky düşündiriş formuny ulanyp bize habar bermekden çekinmäň. Sizden eşitmäge sabyrsyzlyk bilen garaşýarys!