- I-GRUB ingumphathi we-GNU boot okhetha futhi alayishe isistimu yokusebenza, esekela i-BIOS/UEFI kanye ne-Multiboot.
- I-GRUB 2 yengeza amamojula, ukusekelwa kwesistimu yefayela okuthuthukisiwe, ukusesha kwe-UUID, kanye nemenyu/ukuphela kwesithombe.
- Ukucushwa kulawulwa nge-/etc/default/grub kanye ne-40_custom, ivuselelwa kabusha nge-update-grub noma i-grub2-mkconfig.
- Ukuphepha: Vikela iphasiwedi GRUB, sebenzisa ukubethela kwe-LUKS, futhi ube nezinqubomgomo zephasiwedi eziqinile.

Uma ufake i-GNU/Linux kukhompyutha yakho noma usebenzisa izinhlelo zokusebenza eziningi, kungenzeka ukuthi uke wezwa nge-GRUB. Lolu uhlelo oluncane kodwa olunamandla olubonayo ngaphambi nje kokuba uhlelo lwakho luqale ukusebenza, olukuvumela ukuthi ukhethe ukuthi uzolayisha ini. Nakuba luvame ukunganakwa, indima yalo ibalulekile ekuqaliseni uhlelo lokusebenza kanye nokunikeza ukulawula kahle ku-kernel.
Ezweni lokuqalisa ama-PC, i-GRUB isibe yindinganiso yangempela ngenxa yamandla ayo kanye nokuguquguquka kwayo. Yazalelwa ngaphakathi kwephrojekthi ye-GNU, manje isiyimenenja yama-boot esakazeke kakhulu ku-GNU/Linux , iyahambisana nohlu olubanzi lwezakhiwo kanye nezinhlelo zamafayela, kulula ukuyisebenzisa kwabaqalayo, futhi ngesikhathi esifanayo ingummese we-Swiss Army kulabo abalungisa yonke imininingwane yenqubo yokuqalisa.
Iyini i-GNU GRUB futhi ingeyani?
I-GNU GRUB (GNU GRand Unified Bootloader) iyi-software yokuphatha amabhuthi amaningi esetshenziswa yi-firmware (BIOS noma i-UEFI) uma ikhompyutha ivuliwe ukukhetha nokulayisha uhlelo lokusebenza. Ivumela abasebenzisi ukukhetha izinto zemenyu, ukudlulisa amapharamitha ku-kernel, ukuqala kunethiwekhi, ngisho nokusebenzisana ne-console ukuxazulula izinkinga ezithile.
Isetshenziswa kakhulu ekusakazweni kwe-GNU/Linux, yize isetshenziswe nezinye izinhlelo ezifana ne-Solaris ku-x86. Kuzinhlelo ze -UEFI zanamuhla , i-firmware ilayisha ngqo i-GRUB executable etholakala ku-EFI system partition (ESP) , uma nje ibhalisiwe ku-NVRAM; ku-BIOS/MBR, i-GRUB ithatha imikhakha yokuqala yediski futhi iyaqhubeka kusukela lapho.
Ngale kwemenyu evamile, i-GRUB ihambisana ne-Multiboot Specification, okusho ukuthi ingaqalisa ama-kernel ahambisanayo kalula . Futhi uma i-kernel isikumemori, i-GRUB inika amandla okulawula futhi umsebenzi wayo usuqediwe, okuyinto engeyona into encane.

Ishidi lobuchwepheshe kanye nedatha yephrojekthi
I-GRUB iyingxenye ye-ecosystem ye-GNU futhi isatshalaliswa njengesofthiwe yamahhala ngaphansi kwelayisensi ye-GNU GPL v3 noma kamuva . Ukuthuthukiswa kwayo kungumthombo ovulekile, enesitoreji esisemthethweni, i-bug tracker, kanye newebhusayithi, kanye nomphakathi osebenzayo kakhulu.
Ibhalwe ngokuyinhloko ngo-C kanye ne-assembler, futhi isebenza kumapulatifomu amaningana: IA-32, x86-64 kanye ne-PowerPC, phakathi kwabanye. Igatsha lamanje liyi-GRUB 2 (ukuqaliswa kabusha komlando "wefa le-GRUB"). Inguqulo yakamuva ezinzile ekhishwe yi 2.12 (Disemba 20, 2023). Uma ufuna ukuhlola inguqulo yangakini, ungaqalisa: grub-install --version futhi uzobona iketango elihambisanayo.
Ingcosana yomlando nokuziphendukela kwemvelo
I-GRUB yaqala njengesinyathelo sika- Erich Stefan Boleyn ngaphakathi komongo we-GNU Hurd kanye ne-Mach microkernel. Ukuze kuxazululwe ukungalingani kwezindlela zokuqalisa, kwadalwa i-Multiboot Specification, eyasiza ama-bootloader nama-kernel "ukukhuluma ulimi olufanayo." Ngo-1999, uGordon Matzigkeit noYoshinori Okuji bahola ukwamukelwa kwayo njengephakheji esemthethweni ye-GNU Project.
Cishe ngo-2002, iqembu labacwaningi baseJapan laqala i-PUPA (Preliminary Universal Programming Architecture) ngenhloso yokubhala kabusha i-GRUB ukuze iqine futhi ibe yi-modular. Lo mzamo waholela ku -GRUB 2 , kuyilapho inguqulo yangaphambilini yaziwa ngokuthi "i-GRUB Legacy" (enguqulo yayo engu-0.97 yagcina ukubuyekezwa ngo-2005). Kusukela ngo-2007 kuqhubeke, ukusatshalaliswa okuningana kwathuthela ku-GRUB 2, kwathi ekupheleni kuka-2009, iningi elikhulu layifaka ngokuzenzakalelayo.
Ungayivula kanjani ikhompyutha yakho nge-GRUB (BIOS ne-UEFI)
Uma uvula i-PC yakho, i-firmware ihlola i-RAM, iwashi, amadivaysi, i-boot order) futhi ibheka i-bootloader. Kumasistimu ane-BIOS/MBR, ukulawula kudluliselwa ku- I-Master Boot Record (MBR), amabhayithi okuqala angama-512 ediski. I-GRUB ihlukaniswe yaba izigaba: Isiteji 1 (ikhodi encane ku-MBR), Isiteji 1.5 (emikhakheni yakamuva, ukubhuloho ukuze kuqondwe izinhlelo zamafayela), kanye neSigaba 2 (amamenyu nemisebenzi ethuthukisiwe). Ku-GRUB 2, leyo "1.5" ayisekho; manje kukhona izithombe ezithile ezifana boot.img, core.img namamojula (*.mod) ahlanganiswe ngokuya ngokufaka.
Ku-UEFI, inqubo iqondile kakhulu: i-firmware isebenzisa i-GRUB EFI binary kusuka ku-EFI partition , uma nje ifakwe kahle futhi ibhalisiwe. Kuzo zombili izimo, i-GRUB iveza imenyu noma ikhonsoli, ilayisha i-kernel ekhethiwe, bese idlulisela ukusebenza kuyo.
Ukucaciswa kwe-Multiboot nokuhambisana
I-GRUB isebenzisa i-Multiboot, ivumela ama-kernel ahambisanayo ukuthi aqalwe ngaphandle "kwamaqhinga" athile. Ngaphezu kwalokho, ezinhlelweni ezingayisekeli (njenge- Windows noma i-DOS ), inikeza ukulayisha ngochungechunge, okuqondiswe esigabeni sokuqala se-partition lapho kuhlala khona ama-bootloader ayo.
Ukuhambisana kwesistimu yayo yamafayela kubanzi: Ama-Btrfs, ext2/3/4, FAT12/16/32, exFAT, HFS/HFS+, ISO9660, Nilfs2, NTFS, ReiserFS, ZFS, ROMFS, JFS, XFS , phakathi kwabanye. Ingafunda futhi kumavolumu e-LVM kanye nama-RAID arrays, inzuzo enkulu lapho isakhiwo sesitoreji siyinkimbinkimbi.
Izici Ezifakiwe kanye Nemisebenzi
- Isixhumi esibonakalayo semenyu Itheminali esebenzisanayo elungisekayo futhi evumelana nezimo kakhulu, enokuqedela ngokuzenzakalela kwe-Tab kanye nezinqamuleli zesitayela se-Bash.
- Ukusekelwa kwe- I-LBA (Ikheli Lokuvimba Okunengqondo) ukuze unqobe imikhawulo ye-BIOS yakudala futhi ufunde ngale kwamasilinda ayi-1024.
- Amandla ibhuthi yenethiwekhi (PXE/TFTP) namatheminali akude, awusizo kuzimo zokuphatha ezimaphakathi.
- Ukucindezela okuzenzakalelayo nokubonwa kwamafomethi amaningi asebenzisekayo.
- Ukugcinwa okuqhubekayo kwezinto eziguquguqukayo nge save_env/load_env y
grub-editenv(uma inkundla isivumela). - Konke ukutholwa kwe-RAM, ukuzimela kwe-disk geometry, kanye izindlela zokusesha ngamalebula ne-UUID.
- Ukusekelwa okunemifanekiso kwamamenyu nezizinda, kanye nedizayini yemojuli egcinayo core.img amancane futhi ilayisha amamojula njengoba kudingeka.
Amagama angukhiye: amadivaysi, ama-partitions, nezindlela
I-GRUB iqamba amadiski nama-partitions ngendlela yawo. Idiski yokuqala ngokuvamile (hd0), ingxenye yokuqala (hd0,1) Ku-GRUB 2 (khumbula: ku-GRUB 2, izinombolo ziqala ku-1; ku-Legacy, ziqale ku-0). Ukuze ubhekisele kuyo yonke idiski, ukwahlukanisa kushiywe: (hd0).
Ukuze ubonise amafayela, idivayisi ihlanganiswa nendlela: (hd0,1)/ruta/al/archivo. Iphinde isekele uhlu lokuvimba (uhlu lwamabhulokhi) lapho kudingekile ukukhombisa indawo eqondile kudiski yefayela engabonakali kanjalo ohlelweni lwefayela, isibonelo (hd0,1)+1 engxenyeni yokuqala yokuhlukanisa, ewusizo nge chainloader +1.
"Isistimu yamafayela empande" ku-GRUB ayifani ne-"/" ku-Linux. Kumane kuyi- root partition lapho i-GRUB izofunda khona amafayela ayo ; uma i-kernel ye-Linux isithatha izintambo, ichaza impande yayo yangempela, futhi konke okunye ku-GRUB kuba yinto engabalulekile.
GRUB Interfaces
I-GRUB inikeza imibono emithathu eyinhloko. Okujwayelekile kakhulu yimenyu , enezingeniso ezilungiselelwe kusengaphambili; ungazulazula ngezinkinobho zomcibisholo, uqalise ngo-Enter, uhlele okufakiwe ngo-"e", noma uvule ikhonsoli ngo-"c".
Umhleli wokufaka ukuvumela ukuthi ushintshe imigqa ngokushesha (engeza ngo-"o/O", hlela ngo-"e", susa ngo-"d") futhi, uma konke kubukeka kulungile, qala ngo-"b". Kuhle kakhulu ukuhlola amapharamitha e-kernel ngaphandle kokuthinta amafayela.
I-console iyimodi enamandla kakhulu: isekela ukuqedela okuzenzakalelayo kokuqukethwe, izinqamuleli zokuhlela, kanye nayo yonke imiyalo yangaphakathi ye-GRUB yokuthola amadiski, ukulayisha i-kernel/initrd, noma ukulayisha i-chainloading. Uma ifayela lokucushwa lingekho noma lonakele, i-GRUB izokwethula lapha ukuze ukwazi ukuxazulula inkinga ngesandla.
Imilayezo yephutha evamile
Amaphutha angavela esigabeni sokuqala (kunomkhawulo kakhulu) noma lapho kulayishwa amamenyu namamojula (okuchazayo kakhulu). Ngezansi kukhona ukuhlanganiswa kwamakhodi amele i-GRUB engase iwabonise, achazwe ngendlela ecacile :
- 1: Indlela engavumelekile noma engaphelele; 2: Uhlobo lwefayela olungavumelekile (hhayi ifayela elivamile); I-3–4: Idatha/isihloko esonakele ngesikhathi sokuwohloka; 5: ithebula lokuhlukanisa elimele noma engavumelekile.
- 6: Ukungahambisani kwe-Stage1/Stage2; 7: Ukulayisha ngaphansi kuka-1 MB akusekelwa; 8: Uzame ukuqalisa ngaphandle kokulayisha i-kernel; 9: Ukuhluleka kwe-boot okungaziwa.
- 10: Izici ze-Multiboot azisekelwe; 11: Idivayisi ayaziwa; 12: Idivayisi engavumelekile; 13: Ifomethi esebenzisekayo engasekelwe.
- 14: Uhlelo lwefayela luvimbela lonke ifayela ukuthi lifundwe; 15: ifayela ayitholakalanga; 16: Isakhiwo sesistimu yefayela esingahambisani.
- 17: Ayikwazi ukukhweza ukwahlukanisa okukhethiwe; 18: Isilinda ngaphandle kwebanga elisekelwa yi-BIOS (okujwayelekile kumadrayivu amadala); 19: Qala ngaphambi kwe-kernel.
- 20: Amamojula ngaphambi kwe-multiboot kernel; 21: Idiski ekhethiwe ayikho; 22: Ukwahlukanisa okungekho; 23: Iphutha ekuhumusheni inombolo.
- 24: Ukufinyelela endaweni engaphandle kwe-partition; 25: Iphutha lokufunda idiski; 26: Izixhumanisi ezingokomfanekiso eziningi kakhulu; 27: Umyalo ongaziwa.
- 28: Into ayingeni enkumbulweni; 29: Iphutha lokubhala idiski; 30: Ukuphikisana okungavumelekile; 31: Ifayela alihambisani nomkhakha (ReiserFS, sebenzisa lutho).
- 32: Ukuqinisekisa kuyadingeka; 33: Idivayisi ye-serial ayilungiselelwe; 34: Ayikho imikhakha yamahhala yeSigaba 1.5 ngemva kwe-MBR (ukungqubuzana ne-EZ-BIOS noma ukwahlukanisa kuqala ngaphambi kwesikhathi).
Imiyalo Eyisisekelo ye-GRUB
Ku-console ungasebenzisa imiyalo esebenzayo ewusizo kakhulu. Ngokwesibonelo, boot iqala ukulayishwa kokugcina (i-kernel noma i-chainloader), futhi chainloader <archivo> ilayisha umkhakha noma ifayela kusuka kuketango; isinqamuleli esijwayelekile seWindows si chainloader +1.
displaymem ibonisa ukusetshenziswa kwememori ngokuya nge-BIOS, ewusizo uma ungaqiniseki nge-RAM etholiwe. Nge initrd <archivo> ucacisa isithombe sokuqala sediski ye-RAM esidingwa i-kernel.
Ukuze ufake ku-MBR usuka kukhonsoli ye-GRUB Legacy, oyisebenzisile install nemizila eya isigaba 1, isigaba 2 futhi, ngokuzikhethela, kufayela lokumisa. Namuhla ku-GRUB 2, kusukela ohlelweni, kuyinto evamile ukusebenzisa grub-install futhi ukhiqize kabusha imenyu nge update-grub/grub2-mkconfig.
Umyalo kernel icacisa i-kernel kanambambili kanye nemingcele yayo, isibonelo: kernel /vmlinuz root=/dev/sda5Ngokuvamile kwandulelwa root (hdX,Y) o rootnoverify ukusetha ukwahlukanisa lapho i-GRUB izofunda khona.
Amafayela okumisa neziqondiso
Ku-GRUB Legacy imenyu yayihlala /boot/grub/menu.lst o grub.conf, neziqondiso ezifana color, default, fallback, hiddenmenu, password, timeout, splashimage namabhlokhi title nama-oda wesistimu ngayinye.
Isibonelo sakudala (esichazwe ngenye indlela) singafaka isigaba se-Linux nge root (hd0,2), kernel neyakhe ipharamitha yezimpande=/..., futhi boot; nenye yeWindows nge rootnoverify (hd0,1) y chainloader +1.
Ku-GRUB 2 ifayela elakhiwe ngokuzenzakalelayo lithi /boot/grub/grub.cfg. Akunconywa ukuyihlela ngesandla; kunalokho, kuyalungiswa /etc/default/grub (amanani anjengokuthi GRUB_TIMEOUT, GRUB_DEFAULT, njll.) futhi okufakiwe ngokwezifiso kwengezwa /etc/grub.d/40_custom. Bese kubulawa update-grub o grub2-mkconfig ukukhiqiza kabusha imenyu.
Umehluko omkhulu phakathi kwefa le-GRUB ne-GRUB 2
- Ifayela lokumisa lisuke ku
menu.lst/grub.confagrub.cfg, ene-syntax nemiyalo evuselelwe kanye nokwenza okuzenzakalelayo ngokusebenzisagrub-mkconfig. - Izinombolo zokuhlukanisa iqala ngo-1 ku-GRUB 2 (ku-Legacy iqale ngo-0).
- Ukuphikelela kokuguquguquka nge
save_env/load_envkwezinye izilungiselelo. - Ukutholwa komzila ongcono futhi sesha nge-UUID/tags; amasistimu wefayela amaningi asekelwayo.
- Ukufunda okuqondile okuvela I-LVM ne-RAID.
- Ihluzo zetheminali nemenyu, nezithombe ezihlelwe kabusha: Isiteji 1.5 asisekho;
boot.img,core.imgnamamojula ashukumisayo (*.mod).
Ukuphepha nokuqina nge-GRUB
Umphathi we-boot ongavikelekile kahle uyisihlungi. Uma umuntu onokufinyelela ngokomzimba angahlela amapharamitha e-kernel noma aqalise okufakiwe okuhlukile, lokho kukhubaza ngempumelelo izindlela zakho zokuphepha . Yingakho kunconywa ukuvikela i-GRUB ngamaphasiwedi nokusebenzisa imikhuba emihle kakhulu.
Setha eyodwa iphasiwedi eqinile ukukhawulela ukuguqulwa kokungena noma ukufinyelela ikhonsoli. Ku-GRUB 2, sebenzisa amagama omsebenzisi namaphasiwedi nge grub-mkpasswd-pbkdf2 futhi ulungise imithetho ehambisanayo emibhalweni ye- /etc/grub.d/.
Iphinde ifake ukubethela kwediski kusetshenziswa i-LUKS , ukuze noma umuntu eba ikhompyutha, angakwazi ukufunda idatha. Iphinde iqinisekise ukuthi izinqubomgomo zephasiwedi zesistimu ziqinile ukunciphisa ukuhlaselwa ngamandla amakhulu.
Phatha umlando wakho welogi ngokuhlakanipha : lezo ezinikeza izinkomba kumhlaseli kufanele zincishiswe noma zihlanganiswe ndawonye nezilawuli zokufinyelela; lezo ezisiza ukuhlola imizamo enonya kufanele zihlanganiswe futhi zihlaziywe endaweni ephephile.
Ukuze uthole amanye amasistimu afakiwe futhi ukhiqize okufakiwe ngokuzenzakalela, faka os-proberIzokongela isikhathi futhi ivimbele amaphutha lapho udala kabusha imenyu.
Ukufakwa nokugcinwa
Uma ungazange ufake i-GRUB ngesikhathi sokufakwa kwe-distro yakho, ungakwenza kamuva. Ku-GRUB 2, kusuka kusistimu, sebenzisa sudo grub-install /dev/sdX (shintshanisa nediski yakho) bese-ke sudo update-grub o sudo grub2-mkconfig -o /boot/grub/grub.cfgUzobona imenyu ku-boot elandelayo.
Kusuka kukhonsoli ye-GRUB Legacy, inqubo yakudala ukukhombisa impande bese uqalisa ukufakwa: root (hd1,0) seguido de setup (hd1,0) okwehlukaniswa kokuqala kwediski yesibili, noma setup (hd1) uma ukhomba ku-MBR yaleyo diski yesibili.
Hlela ngokuqondile /boot/grub/grub.cfg Lona akuwona umqondo omuhle ku-GRUB 2, noma kungenzeka ngokobuchwepheshe. Umzila onconyiwe wukushintsha /etc/default/grub, sebenzisa /etc/grub.d/40_custom kokuqukethwe kwakho kanye nokwenza kabusha.
Imibuzo esebenzayo nezinqamuleli eziwusizo
Ungazi kanjani ukuthi iyiphi i-boot partition ku/dev/sda? Kuzinhlelo ze-BIOS/MBR: sudo fdisk -l /dev/sda (bona inkanyezi ye-"Boot"). Ku-GPT/UEFI: lsblk -o NAME,FSTYPE,PARTTYPE,PARTFLAGS,MOUNTPOINT futhi ubheke i-EFI partition (FAT32, thayipha EF00/flags esp). Futhi sudo efibootmgr -v ibonisa okufakiwe kwe-boot okurekhodiwe.
Ngiyithola kanjani i-UUID yokuhlukanisa? cunt blkid o lsblk -f. Isibonelo: sudo blkid /dev/sda2 ibuyisela yayo I-UUID kanye nenye imethadatha.
Ngiyenza kanjani i-GRUB 2 ilinde imizuzwana eyi-10 ngaphambi kokufaka okuzenzakalelayo? Kulungisa /etc/default/grub con GRUB_TIMEOUT=10 (futhi, uma kufanele, GRUB_TIMEOUT_STYLE=menu) futhi ikhiphe sudo update-grub o grub2-mkconfig.
I-GRUB Legacy iyala ukufaka engxenyeni yokuqala yediski yesibili? Vula ikhonsoli bese ugijima: root (hd1,0) bese setup (hd1,0). Uma ufuna i-MBR, bekungaba setup (hd1).
Izinyathelo zokushintsha ukucushwa kwe-GRUB 2? 1) Hlela /etc/default/grub (isb., GRUB_DEFAULT, GRUB_TIMEOUT), 2) engeza okufakiwe /etc/grub.d/40_custom uma uwadinga, 3) enza kabusha nge update-grub/grub2-mkconfig, 4) qala kabusha futhi uhlole.
Ungawabeka kuphi amamenyu wangokwezifiso ku-GRUB 2? En /etc/grub.d/40_custom (noma owakho amafayela ku /etc/grub.d/ nezimvume ezifanele). Ungalokothi uhlele ngesandla /boot/grub/grub.cfg ngaphandle kwesimo esiphuthumayo.
Bekugcinwe kuphi okufakiwe ku-GRUB Legacy? En /boot/grub/menu.lst o grub.conf, ngokokusabalalisa.
Ngingayithola kanjani ikhonsoli ye-GRUB kusuka kumenyu? Cindezela inkinobho ethi "c" ku-GRUB 2 noma ku-Legacy. Ukuze uhlele okufakiwe okuthile, cindezela u-"e". Zombili izinqamuleli ziwusizo kakhulu uma udinga ukuxilonga izinkinga ngokushesha.
Izibonelo zezinketho ezivamile
Ukukhetha okuzenzakalelayo kokuqalisa: GRUB_DEFAULT=0 i-inning yokuqala iqala; nge GRUB_DEFAULT=saved ikhumbula ukucushwa kokugcina okusetshenzisiwe. Ngemva koshintsho, yenza kabusha ukucushwa.
Isikhathi sokulinda: GRUB_TIMEOUT=4 lungisa ukubambezeleka kwemenyu; nge 0 iqala ngaphandle kokumisa isikhashana; kwezinye izimo ungakwazi ukufihla imenyu ngayo GRUB_TIMEOUT_STYLE=hidden ukuze uthole isiqalo esihlanzekile.
Ukubuyekezwa kwemenyu: ku-Debian/Ubuntu nokuphuma kokunye, sudo update-grub; kwabanye, sudo grub2-mkconfig -o /boot/grub/grub.cfg. Qiniseka ukuthi unayo os-prober ifakiwe uma ufuna ukubona amanye amasistimu ngokuzenzakalelayo.
Nakuba i-GRUB ivela nasezimweni ezingaphandle kwe-GNU/Linux, khumbula ukuthi akuyona isevisi yokusekela. Uma inkinga yakho iqondene ne-Windows, into ewusizo kakhulu okufanele uyenze ukuya ezinkundleni ezizinikele kulolo hlelo ukuze uthole usizo olugxile.
I-GRUB isuke kumenyu elula yokuqalisa yaba yindawo yangempela yangaphambi kohlelo, ekwazi ukuqala kabusha izinhlelo zokusebenza eziningi, ukuphatha amadiski ayinkimbinkimbi, nokukusiza ukuthi ubuyisele uhlelo ngemiyalo embalwa nje. Ngokucushwa okufanele kanye nokuqina okuthile (amaphasiwedi e-GRUB, ukubethela kwe-LUKS, izinqubomgomo zokhiye eziphethwe kahle namalogi), uzoba nenqubo yokuqalisa eqinile, eguquguqukayo, futhi, ngaphezu kwakho konke, elawulwayo.
