Ntuziaka bụ isi maka usoro dị iche iche nke Linux Boot Process


Oge ọ bụla ị na-agbanye na PC Linux gị, ọ na-agafe usoro dị iche iche tupu emechaa gosipụta ihuenyo nbanye nke na-akpali aha njirimara ma ọ bụ paswọọdụ gị. Enwere usoro 4 dị iche iche nke nkesa Linux ọ bụla na-agafe na usoro ntugharị na-ahụkarị.

N'ime ntuziaka a, anyị ga-akọwapụta usoro dị iche iche Linux OS na-eme site na oge ọ na-arụ ọrụ ruo oge ị banyere. site n'ọtụtụ nkesa Linux ọgbara ọhụrụ.

Usoro booting na-ewe usoro 4 ndị a nke anyị ga-atụle n'ụzọ zuru ezu:

  • Nleba anya ike nke BIOS (POST)
  • Na-ebunye ihe na-ebu Boot (GRUB2)
  • Mbido kernel
  • Malite sistemu, nne na nna nke usoro niile

1. Nyochaa nguzobe nke BIOS (POST)

A na-amalitekarị usoro buut mgbe onye ọrụ pịa bọtịnụ ike - ma ọ bụrụ na emechiela PC - ma ọ bụ malitegharịa usoro site na iji GUI ma ọ bụ n'ahịrị iwu.

Mgbe sistemụ Linux na-agbake, BIOS (Sistemụ ntinye ntinye aka) na-amalite wee mee nnwale nke onwe (POST). Nke a bụ nlele iguzosi ike n'ezi ihe nke na-eme ọtụtụ nyocha nyocha.

POST na-enyocha arụmọrụ ngwaike nke akụrụngwa dịka HDD ma ọ bụ SSD, kiiboodu, RAM, ọdụ ụgbọ mmiri USB, na ngwa ngwa ọ bụla ọzọ. Ọ bụrụ na achọpụtaghị ụfọdụ ngwaike, ma ọ bụ ọ bụrụ na enweghị ọrụ na ngwaọrụ ọ bụla dị ka HDD ma ọ bụ SSD rụrụ arụ, ozi njehie na-efesa na ihuenyo na-akpali gị itinye aka.

N'ọnọdụ ụfọdụ, ụda ụda ga-apụ apụ karịsịa ma ọ bụrụ na modul RAM na-efu efu. Otú ọ dị, ọ bụrụ na ngwaike a na-atụ anya dị ugbu a ma na-arụ ọrụ dị ka a tụrụ anya ya, usoro booting na-aga n'ihu na ọkwa ọzọ.

2. The Bootloader (GRUB2)

Ozugbo POST zuru ezu na oke osimiri doro anya, BIOS na-enyocha MBR (Master Boot Record) maka ozi bootloader na nkewa diski.

MBR bụ koodu 512-byte nke dị na ngalaba mbụ nke draịvụ ike nke na-abụkarị /dev/sda ma ọ bụ /dev/hda dabere na draịvụ ike gị. ije. Mara, Otú ọ dị, na mgbe ụfọdụ MBR nwere ike dị na Live USB ma ọ bụ DVD nwụnye Linux.

Enwere ụdị bootloaders atọ na Linux: LILO, GRUB, na GRUB2. GRUB2 bootloader bụ bootloader kachasị ọhụrụ na nke mbụ na nkesa Linux ọgbara ọhụrụ ma na-agwa mkpebi anyị ịhapụ abụọ ndị ọzọ bụ nke ochie na oge.

GRUB2 na-anọchi anya GRand Unified Bootloader version 2. Ozugbo BIOS chọtara grub2 bootloader, ọ na-eme ma na-ebu ya na isi ebe nchekwa (RAM).

Grub2 menu na-enye gị ohere ịme ihe abụọ. Ọ na-enye gị ohere ịhọrọ ụdị kernel Linux nke ịchọrọ iji. Ọ bụrụ na ị na-emelite sistemụ gị ugboro abụọ, ị nwere ike ịhụ ụdị kernel dị iche iche edepụtara. Na mgbakwunye, ọ na-enye gị ike idezi ụfọdụ kernel paramita site na ịpị nchikota igodo ahụ.

Ọzọkwa, na ntọala abụọ-boot ebe ị nwere ọtụtụ nrụnye OS, menu grub na-enye gị ohere ịhọrọ OS ị ga-abanye. Faịlụ nhazi grub2 bụ faịlụ /boot/grub2/grub2.cfg. Ebumnuche GRUB bụ ịkwanye kernel Linux na isi ebe nchekwa.

3. Mmalite kernel

kernel bụ isi nke sistemụ Linux ọ bụla. Ọ na-ejikọta ngwaike PC na usoro ndị dị n'okpuru. kernel na-ejikwa usoro niile dị na sistemụ Linux gị. Ozugbo kernel Linux ahọpụtara bu bootloader, ọ ga-ewepụtarịrị onwe ya na ụdị abịakọrọ tupu ịmalite ọrụ ọ bụla. Mgbe ewepụtara onwe ya, kernel ahọpụtara na-ebuli sistemụ faịlụ mgbọrọgwụ wee malite mmemme/sbin/init nke a na-akpọkarị init.

Init bụ mmemme mbụ a ga-eme mgbe niile ma kenye ya ID usoro ma ọ bụ PID nke 1. Ọ bụ usoro init nke na-ewepụta daemons dị iche iche & na-ebuli akụkụ niile akọwapụtara na faịlụ /etc/fstab.

Kernel ahụ na-ebuli diski mbụ RAM (initrd) nke bụ sistemụ faịlụ mgbọrọgwụ na-adịru nwa oge ruo mgbe etinyere sistemụ faịlụ mgbọrọgwụ n'ezie. Mkpụrụ niile dị na ndekọ /boot yana onyonyo diski mbụ nke RAM.

4.Malite Sistemu

Kernel mechara buru Systemd, nke bụ nnọchi nke init SysV ochie. Systemd bụ nne nke usoro Linux niile ma na-ejikwa n'etiti ihe ndị ọzọ na-arị elu nke sistemụ faịlụ, na-amalite na ịkwụsị ọrụ iji kwuo naanị ole na ole.

Systemd na-eji faịlụ /etc/systemd/system/default.target iji chọpụta steeti ma ọ bụ ebumnuche nke sistemụ Linux kwesịrị ịbanye.

  • Maka ebe a na-arụ ọrụ desktọpụ (ya na GUI) uru ebumnuche ndabara bụ 5 bụ nke dabara na ọkwa ọsọ 5 maka init SystemV ochie.
  • Maka ihe nkesa, ebumnuche ndabara bụ multi-user.target nke dabara na ọsọ larịị 3 na SysV init.

Nke a bụ nbibi nke ebumnuche sistemụ:

  • poweroff.target (ọkwa 0): Gbanyụọ ma ọ bụ mechie sistemụ.
  • rescue.target (ọkwa nke 1): na-ewepụta nnọkọ shei nnapụta.
  • multi-user.target (runlevel 2,3,4): Na-ahazi sistemu ahụ ka ọ bụrụ sistemu ọtụtụ ndị ọrụ na-abụghị nke eserese (console).
  • graphical.target (runlevel 5): Tọọ sistemu a ka ọ jiri nrụọrụ ọtụtụ ndị ọrụ eserese nwere ọrụ netwọk.
  • reboot.target (runlevel 6): malitegharịa sistemụ ahụ.

Iji lelee ebumnuche dị ugbu a na sistemụ gị, mee iwu:

$ systemctl get-default

Ị nwere ike ịgbanwe site n'otu ebumnuche gaa na nke ọzọ site na ịme iwu na-esonụ na njedebe:

$ init runlevel-value

Dịka ọmụmaatụ, init 3 na-ahazi sistemụ ahụ ka ọ bụrụ steeti na-enweghị eserese.

Iwu init 6 na-eweghachi sistemu gị wee mee ka init 0 gbanyụọ sistemụ ahụ. Jide n'aka na ịkpọku sudo iwu mgbe ịchọrọ ịgbanwe gaa na ebumnuche abụọ a.

Usoro booting na-akwụsị ozugbo sistemu bu daemons niile wee tọọ ebumnuche ma ọ bụ na-agba ọsọ uru. Ọ bụ n'oge a ka a na-akpali gị maka aha njirimara na paswọọdụ gị nke ị ga-abanye na sistemụ Linux gị.