LFCS: Kif tikkonfigura u ssolvi l-problemi tal-Grand Unified Bootloader (GRUB) - Parti 13
Minħabba l-bidliet riċenti fl-għanijiet tal-eżami taċ-ċertifikazzjoni LFCS effettivi mit-2 ta 'Frar, 2016, qed inżidu s-suġġetti meħtieġa mas-serje LFCE wkoll.
F'dan l-artikolu aħna ser nintroduċu inti GRUB u nispjega għaliex boot loader huwa meħtieġ, u kif iżid versatilità lis-sistema.
Il-proċess tal-boot tal-Linux minn meta tagħfas il-buttuna tal-qawwa tal-kompjuter tiegħek sakemm ikollok sistema kompletament funzjonali jsegwi din is-sekwenza ta 'livell għoli:
- 1. Proċess magħruf bħala POST (Power-On Self Test) iwettaq kontroll ġenerali fuq il-komponenti tal-ħardwer tal-kompjuter tiegħek.
- 2. Meta l-POST jitlesta, jgħaddi l-kontroll lill-boot loader, li mbagħad jgħabbi l-kernel tal-Linux fil-memorja (flimkien ma 'initramfs) u jesegwixxih. L-aktar boot loader użat fil-Linux huwa l-GRand Unified Boot loader, jew GRUB fil-qosor.
- 3. Il-kernel jiċċekkja u jaċċessa l-ħardwer, u mbagħad imexxi l-proċess inizjali (l-aktar magħruf bl-isem ġeneriku tiegħu \init) li mbagħad itemm il-boot tas-sistema billi jibda s-servizzi.
Fil-Parti 7 ta' din is-serje (\sistemi ta' ġestjoni tas-servizz u għodod użati minn distribuzzjonijiet moderni tal-Linux. Tista' tkun trid tirrevedi dak l-artikolu qabel ma tkompli.
L-introduzzjoni ta' GRUB Boot Loader
Żewġ verżjonijiet ewlenin tal-GRUB (v1 kultant imsejħa GRUB Legacy u v2) jistgħu jinstabu f'sistemi moderni, għalkemm il-biċċa l-kbira tad-distribuzzjonijiet jużaw v2 awtomatikament fl-aħħar verżjonijiet tagħhom. Red Hat Enterprise Linux 6 u d-derivattivi tiegħu biss għadhom jużaw v1 illum.
Għalhekk, aħna se niffukaw primarjament fuq il-karatteristiċi ta 'v2 f'din il-gwida.
Irrispettivament mill-verżjoni GRUB, boot loader jippermetti lill-utent li:
- 1). timmodifika l-mod kif is-sistema taġixxi billi tispeċifika kernels differenti biex tuża,
- 2). jagħżlu bejn sistemi operattivi alternattivi għall-boot, u
- 3). żid jew editja strofi tal-konfigurazzjoni biex tbiddel l-għażliet tal-boot, fost affarijiet oħra.
Illum, GRUB huwa miżmum mill-proġett GNU u huwa dokumentat tajjeb fil-websajt tagħhom. Inti mħeġġa tuża d-dokumentazzjoni uffiċjali tal-GNU waqt li tkun għaddejja minn din il-gwida.
Meta s-sistema tibda tiġi ppreżentat bl-iskrin GRUB li ġej fil-console prinċipali. Inizjalment, inti mħeġġa tagħżel bejn kernels alternattivi (b'mod awtomatiku, is-sistema tibbutja billi tuża l-aħħar kernel) u titħalla tidħol fil-linja tal-kmand GRUB (b'c
) jew teditja l-għażliet tal-boot (billi tagħfas it-tasti e
).
Waħda mir-raġunijiet għalfejn inti tikkunsidra li booting b'kernel anzjani hija apparat hardware li kien jaħdem sew u beda \jaġixxi wara aġġornament (irreferi għal din il-link fil-fora AskUbuntu għal eżempju).
Il-konfigurazzjoni GRUB v2 tinqara mal-boot minn /boot/grub/grub.cfg
jew /boot/grub2/grub.cfg
, filwaqt li /boot/grub/ grub.conf
jew /boot/grub/menu.lst
huma użati fil-v1. Dawn il-fajls MHUX għandhom jiġu editjati bl-idejn, iżda huma modifikati abbażi tal-kontenut ta' /etc/default/grub
u l-fajls misjuba ġewwa /etc/grub.d
.
F'CentOS 7, hawn il-fajl tal-konfigurazzjoni li jinħoloq meta s-sistema tiġi installata għall-ewwel darba:
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"
Minbarra d-dokumentazzjoni onlajn, tista’ ssib ukoll il-manwal ta’ GNU GRUB billi tuża l-informazzjoni kif ġej:
# info grub
Jekk int interessat speċifikament fl-għażliet disponibbli għal /etc/default/grub, tista 'titlob is-sezzjoni tal-konfigurazzjoni direttament:
# info -f grub -n 'Simple configuration'
Bl-użu tal-kmand hawn fuq issib li GRUB_TIMEOUT
jistabbilixxi l-ħin bejn il-mument meta l-iskrin inizjali jidher u jibda l-ibbutjar awtomatiku tas-sistema sakemm ma jiġix interrott mill-utent. Meta din il-varjabbli tkun issettjata għal -1
, il-boot mhux se jinbeda sakemm l-utent jagħmel għażla.
Meta sistemi operattivi jew kernels multipli huma installati fl-istess magna, GRUB_DEFAULT
jeħtieġ valur sħiħ li jindika liema OS jew dħul tal-kernel fl-iskrin inizjali tal-GRUB għandu jintgħażel biex jibda b'mod awtomatiku. Il-lista ta' entrati tista' tara mhux biss fl-iskrin tat-tixrid muri hawn fuq, iżda wkoll bl-użu tal-kmand li ġej:
# awk -F\' '$1=="menuentry " {print $2}' /boot/grub2/grub.cfg
# awk -F\' '$1=="menuentry " {print $2}' /boot/grub/grub.cfg
Fl-eżempju muri fl-immaġini hawn taħt, jekk irridu nibdew bil-verżjoni tal-kernel 3.10.0-123.el7.x86_64 (ir-4 dħul), irridu nissettjaw GRUB_DEFAULT
għal 3
(l-entrati huma nnumerati internament li jibdew b'żero) kif ġej:
GRUB_DEFAULT=3
Varjabbli finali tal-konfigurazzjoni GRUB li hija ta' interess speċjali hija GRUB_CMDLINE_LINUX
, li tintuża biex tgħaddi l-għażliet lill-kernel. L-għażliet li jistgħu jiġu mgħoddija minn GRUB lill-qalba huma dokumentati sew fil-man 7 bootparam.
L-għażliet attwali fis-server tiegħi CentOS 7 huma:
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"
Għaliex trid timmodifika l-parametri tal-kernel default jew tgħaddi għażliet żejda? F'termini sempliċi, jista 'jkun hemm żminijiet meta jkollok bżonn tgħid lill-qalba ċerti parametri tal-ħardwer li jista' ma jkunx kapaċi jiddetermina waħdu, jew li jegħleb il-valuri li jiskopri.
Dan ġara lili mhux twil ilu meta ppruvajt Vector Linux, derivattiv ta’ Slackware, fuq il-laptop tiegħi ta’ 10 snin. Wara l-installazzjoni ma sabx is-settings it-tajba għall-kard tal-vidjo tiegħi għalhekk kelli timmodifika l-għażliet tal-qalba mgħoddija minn GRUB sabiex nagħmilha taħdem.
Eżempju ieħor huwa meta jkollok bżonn iġġib is-sistema għall-modalità ta 'utent wieħed biex twettaq il-kompiti ta' manutenzjoni. Tista' tagħmel dan billi tehmeż il-kelma single ma' GRUB_CMDLINE_LINUX
u terġa' tibda:
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"
Wara li teditja /etc/defalt/grub
, ikollok bżonn tħaddem update-grub
(Ubuntu) jew grub2-mkconfig -o /boot/grub2/grub. cfg
(CentOS u openSUSE) wara biex taġġorna grub.cfg
(inkella, il-bidliet jintilfu mal-boot).
Dan il-kmand se jipproċessa l-fajls tal-konfigurazzjoni tal-boot imsemmija qabel biex jaġġorna grub.cfg
. Dan il-metodu jiżgura li l-bidliet huma permanenti, filwaqt li l-għażliet mgħoddija minn GRUB fil-ħin tal-ibbutjar se jdumu biss matul is-sessjoni attwali.
Iffissar tal-Linux GRUB Kwistjonijiet
Jekk tinstalla t-tieni sistema operattiva jew jekk il-fajl tal-konfigurazzjoni GRUB tiegħek jiġi korrott minħabba żball uman, hemm modi kif tista 'ttella' s-sistema tiegħek fuq saqajha u tkun tista' terġa' tibbotja.
Fl-iskrin inizjali, agħfas c
biex tikseb linja ta' kmand GRUB (ftakar li tista' wkoll tagħfas e
biex teditja l-għażliet tal-boot default), u uża l-għajnuna biex iġġib il-mezzi disponibbli. kmandi fil-pront GRUB:
Aħna se niffukaw fuq ls, li se jelenka l-apparati installati u s-sistemi tal-fajls, u se neżaminaw dak li ssib. Fl-immaġni hawn taħt nistgħu naraw li hemm 4 hard drives (hd0
permezz ta' hd3
).
Biss hd0
jidher li kien maqsum (kif jidher minn msdos1 u msdos2, fejn 1 u 2 huma n-numri tal-partizzjoni u msdos hija l-iskema tal-qsim).
Ejja issa neżaminaw l-ewwel partizzjoni fuq hd0
(msdos1) biex naraw jekk nistgħux insibu GRUB hemmhekk. Dan l-approċċ se jippermettilna nibdew il-Linux u hemm nużaw għodod oħra ta 'livell għoli biex isewwi l-fajl tal-konfigurazzjoni jew nerġa' ninstalla GRUB għal kollox jekk ikun meħtieġ:
# ls (hd0,msdos1)/
Kif nistgħu naraw fiż-żona enfasizzata, sibna d-direttorju grub2 f'din il-partizzjoni:
Ladarba nkunu ċerti li GRUB jirrisjedi fi (hd0,msdos1), ejja ngħidu lil GRUB fejn isib il-fajl tal-konfigurazzjoni tiegħu u mbagħad jagħtih struzzjonijiet biex jipprova jniedi l-menu tiegħu:
set prefix=(hd0,msdos1)/grub2 set root=(hd0,msdos1) insmod normal normal
Imbagħad fil-menu GRUB, agħżel entrata u agħfas Enter biex tibda tużaha. Ladarba s-sistema tkun ibbutjat tista' toħroġ il-kmand grub2-install /dev/sdX
(ibdel sdX
bl-apparat li trid tinstalla GRUB fuqu). L-informazzjoni tal-but imbagħad tiġi aġġornata u l-fajls kollha relatati jiġu restawrati.
# grub2-install /dev/sdX
Xenarji oħra aktar kumplessi huma dokumentati, flimkien mal-soluzzjonijiet suġġeriti tagħhom, fil-gwida għall-Issolvi l-problemi ta 'Ubuntu GRUB2. Il-kunċetti spjegati hemm huma validi għal distribuzzjonijiet oħra wkoll.
Sommarju
F'dan l-artikolu introduċejnikom fil-GRUB, indikat fejn tista' ssib dokumentazzjoni kemm online kif ukoll offline, u spjegajna kif tavviċina xenarju fejn sistema tkun waqfet tibbotja sew minħabba kwistjoni relatata mal-bootloader.
Fortunatament, GRUB hija waħda mill-għodod li hija l-aħjar dokumentata u faċilment tista 'ssib għajnuna jew fid-dokumenti installati jew onlajn billi tuża r-riżorsi li qsamna f'dan l-artikolu.
Għandek mistoqsijiet jew kummenti? Toqgħodx taħsibha biex tgħarrafna billi tuża l-formola tal-kummenti hawn taħt. Aħna ħerqana li nisimgħu mingħandek!