ຄູ່ມືພື້ນຖານກ່ຽວກັບຂັ້ນຕອນທີ່ແຕກຕ່າງກັນຂອງ Linux Boot Process


ທຸກໆຄັ້ງທີ່ທ່ານເປີດໃຊ້ໃນ Linux PC ຂອງທ່ານ, ມັນຈະຜ່ານຫລາຍໆໄລຍະກ່ອນທີ່ຈະສະແດງ ໜ້າ ຈໍເຂົ້າສູ່ລະບົບທີ່ກະຕຸ້ນຊື່ຜູ້ໃຊ້ຫລືລະຫັດຜ່ານຂອງທ່ານ. ມີ 4 ຂັ້ນຕອນທີ່ແຕກຕ່າງກັນທີ່ທຸກໆການແຈກແຈງ Linux ແມ່ນຜ່ານຂັ້ນຕອນການບູລະນະແບບປົກກະຕິ.

ໃນຄູ່ມືນີ້, ພວກເຮົາຈະຍົກໃຫ້ເຫັນຫລາຍໆບາດກ້າວທີ່ປະຕິບັດໂດຍ Linux OS ຕັ້ງແຕ່ເວລາທີ່ມັນຖືກ ນຳ ໃຊ້ຈົນເຖິງເວລາທີ່ທ່ານເຂົ້າສູ່ລະບົບ. ໂດຍສ່ວນໃຫຍ່ຂອງການແຈກແຈງ Linux ທີ່ທັນສະ ໄໝ.

ຂະບວນການບູດໃຊ້ເວລາ 4 ຂັ້ນຕອນຕໍ່ໄປນີ້ເຊິ່ງພວກເຮົາຈະປຶກສາຫາລືກັນໃນລາຍລະອຽດທີ່ຍິ່ງໃຫຍ່ກວ່ານີ້:

  • ການກວດສອບຄວາມຖືກຕ້ອງຂອງ BIOS (POST)
  • ກຳ ລັງໂຫລດຂອງ Boot loader (GRUB2)
  • ການເລີ່ມຕົ້ນ Kernel
  • ເລີ່ມຕົ້ນລະບົບ, ພໍ່ແມ່ຂອງທຸກໆຂັ້ນຕອນ

1. ການກວດສອບຄວາມຖືກຕ້ອງຂອງ BIOS (POST)

ຂະບວນການບູດປົກກະຕິແມ່ນເລີ່ມຕົ້ນໂດຍປົກກະຕິເມື່ອຜູ້ໃຊ້ກົດປຸ່ມເປີດ - ຖ້າເຄື່ອງຄອມພິວເຕີຖືກປິດແລ້ວ - ຫຼືເປີດລະບົບ ໃໝ່ ໂດຍໃຊ້ GUI ຫຼືຢູ່ໃນເສັ້ນ ຄຳ ສັ່ງ.

ເມື່ອລະບົບ Linux ເພີ່ມ ກຳ ລັງ, BIOS (Basic Input Output System) ເຕະເຂົ້າແລະປະຕິບັດການ Power On Self Test (POST). ນີ້ແມ່ນການກວດກາຄວາມຊື່ສັດທີ່ ດຳ ເນີນການກວດກາການວິນິດໄສ.

POST ກວດສອບຄວາມສາມາດໃນການເຮັດວຽກຂອງ Hardware ຂອງສ່ວນປະກອບຕ່າງໆເຊັ່ນ HDD ຫຼື SSD, Keyboard, RAM, ພອດ USB, ແລະສ່ວນອື່ນໆຂອງ Hardware. ຖ້າອຸປະກອນຮາດແວ ຈຳ ນວນ ໜຶ່ງ ບໍ່ຖືກກວດພົບ, ຫຼືຖ້າມີຂໍ້ບົກພ່ອງໃນອຸປະກອນໃດ ໜຶ່ງ ເຊັ່ນ HDD ຫຼື SSD ທີ່ເສີຍຫາຍ, ຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດຈະຖືກເຜີຍແຜ່ໃນ ໜ້າ ຈໍເຊິ່ງເຮັດໃຫ້ທ່ານມີການແຊກແຊງ.

ໃນບາງກໍລະນີ, ສຽງຂອງສຽງຈະຖືກຫາຍໄປໂດຍສະເພາະໃນກໍລະນີຂອງໂມດູນ RAM ທີ່ຂາດຫາຍໄປ. ເຖິງຢ່າງໃດກໍ່ຕາມ, ຖ້າວ່າອຸປະກອນທີ່ຄາດວ່າຈະມີຢູ່ແລະເຮັດວຽກຕາມທີ່ຄາດໄວ້, ຂະບວນການບູດຈະກ້າວໄປສູ່ຂັ້ນຕໍ່ໄປ.

2. The Bootloader (GRUB2)

ເມື່ອ POST ສຳ ເລັດແລ້ວແລະຊາຍຝັ່ງຈະແຈ້ງແລ້ວ, BIOS ຈະກວດສອບ MBR (Master Boot Record) ສຳ ລັບຂໍ້ມູນ bootloader ແລະ disk partition.

MBR ແມ່ນລະຫັດ 512-ໄບຕ໌ເຊິ່ງຕັ້ງຢູ່ໃນຂະ ແໜງ ການ ທຳ ອິດຂອງຮາດດິດເຊິ່ງປົກກະຕິແລ້ວແມ່ນ /dev/sda ຫຼື /dev/hda ຂຶ້ນກັບຮາດດິດຂອງທ່ານ ສະຖາປັດຕະຍະ ກຳ. ເຖິງຢ່າງໃດກໍ່ຕາມໃຫ້ສັງເກດວ່າບາງຄັ້ງ MBR ສາມາດຕັ້ງຢູ່ເທິງ USB ຫຼື DVD ຕິດຕັ້ງ Linux ຂອງ Live.

Linux ມີ 3 ປະເພດຕົ້ນຕໍໃນ Linux: LILO, GRUB, ແລະ GRUB2. bootloader GRUB2 ແມ່ນ bootloader ລ້າສຸດແລະຕົ້ນຕໍໃນການແຈກຢາຍ Linux ທີ່ທັນສະ ໄໝ ແລະແຈ້ງການຕັດສິນໃຈຂອງພວກເຮົາທີ່ຈະອອກສອງຢ່າງອື່ນທີ່ກາຍເປັນເກົ່າແກ່ກັບການເວລາຜ່ານໄປ.

GRUB2 ຫຍໍ້ມາຈາກ GRand Unified Bootloader ຮຸ່ນ 2. ເມື່ອ BIOS ຄົ້ນຫາ grub2 bootloader, ມັນ ດຳ ເນີນງານແລະໂຫລດມັນໃສ່ຫນ່ວຍຄວາມ ຈຳ ຫລັກ (RAM).

ເມນູ grub2 ຊ່ວຍໃຫ້ທ່ານເຮັດສອງສາມຢ່າງ. ມັນຊ່ວຍໃຫ້ທ່ານເລືອກລຸ້ນ Linux kernel ທີ່ທ່ານຕ້ອງການໃຊ້. ຖ້າທ່ານໄດ້ຍົກລະດັບລະບົບຂອງທ່ານສອງສາມຄັ້ງ, ທ່ານອາດຈະເຫັນລຸ້ນທີ່ແຕກຕ່າງກັນທີ່ລະບຸໄວ້. ນອກຈາກນັ້ນ, ມັນຊ່ວຍໃຫ້ທ່ານມີຄວາມສາມາດແກ້ໄຂບາງຕົວ ກຳ ນົດຂອງແກ່ນໂດຍກົດປຸ່ມປະສົມປະສານຂອງຄີບອດ.

ນອກຈາກນີ້, ໃນການຕັ້ງຄ່າສອງແບບບ່ອນທີ່ທ່ານມີການຕິດຕັ້ງ OS ຫລາຍ, ເມນູ grub ຊ່ວຍໃຫ້ທ່ານເລືອກ OS ໃດທີ່ຈະໃສ່. ເອກະສານການຕັ້ງຄ່າ grub2 ແມ່ນເອກະສານ /boot/grub2/grub2.cfg. ຈຸດປະສົງຕົ້ນຕໍຂອງ GRUB ແມ່ນການໂຫຼດແກ່ນ Linux ໃສ່ຄວາມຊົງ ຈຳ ຫຼັກ.

3. Kernel Initialization

ແກ່ນແມ່ນຫຼັກຂອງລະບົບ Linux ໃດໆ. ມັນແຊກແຊງຮາດແວຂອງຄອມພີວເຕີ້ຂອງຄອມພີວເຕີ້ກັບຂະບວນການທີ່ຕິດພັນ. ແກ່ນຄວບຄຸມທຸກຂະບວນການໃນລະບົບ Linux ຂອງທ່ານ. ເມື່ອແກ່ນ Linux ທີ່ຖືກຄັດເລືອກຖືກໂຫລດມາຈາກ bootloader, ມັນຕ້ອງໄດ້ສະກັດຕົວເອງອອກຈາກຮຸ່ນຂອງມັນກ່ອນທີ່ຈະປະຕິບັດວຽກງານໃດ ໜຶ່ງ. ພາຍຫຼັງການສະກັດເອົາດ້ວຍຕົນເອງ, ແກ່ນທີ່ຖືກຄັດເລືອກຕິດຕັ້ງລະບົບແຟ້ມເອກະສານແລະເລີ່ມຕົ້ນໂຄງການ/sbin/init ໂດຍທົ່ວໄປເອີ້ນວ່າ init.

Init ແມ່ນໂປແກຼມ ທຳ ອິດທີ່ຖືກປະຕິບັດແລະຖືກມອບ ໝາຍ ໃຫ້ ID ຂະບວນການຫຼື PID ຂອງ 1. ມັນແມ່ນຂະບວນການລິເລີ່ມທີ່ເຮັດໃຫ້ມີແຜນຜັງຕ່າງໆແລະຕິດຕັ້ງທຸກສ່ວນທີ່ຖືກລະບຸໄວ້ໃນເອກະສານ/etc/fstab.

ແກ່ນຫຼັງຈາກນັ້ນຕິດຕັ້ງ disk disk (initrd) ເບື້ອງຕົ້ນເຊິ່ງເປັນລະບົບແຟ້ມຂໍ້ມູນຊົ່ວຄາວຈົນກ່ວາລະບົບໄຟລ໌ຮາກທີ່ແທ້ຈິງຖືກຕິດຕັ້ງໄວ້ ແກ່ນທັງ ໝົດ ແມ່ນຕັ້ງຢູ່ໃນລະບົບ /boot ພ້ອມດ້ວຍຮູບພາບແຜ່ນ disk ເບື້ອງຕົ້ນ.

4. ເລີ່ມຕົ້ນລະບົບ

ແກ່ນສຸດທ້າຍມີການໂຫຼດ Systemd, ເຊິ່ງເປັນການທົດແທນການລິເລີ່ມ SysV ເກົ່າ. Systemd ແມ່ນແມ່ຂອງຂະບວນການ Linux ທັງ ໝົດ ແລະຈັດການໃນບັນດາສິ່ງອື່ນໆທີ່ເພີ່ມຂື້ນຂອງລະບົບແຟ້ມເອກະສານ, ເລີ່ມຕົ້ນແລະຢຸດບໍລິການເພື່ອກ່າວເຖິງພຽງແຕ່ສອງສາມຂໍ້.

Systemd ໃຊ້ແຟ້ມ /etc/systemd/system/default.target ເພື່ອ ກຳ ນົດສະຖານະຫຼືເປົ້າ ໝາຍ ທີ່ລະບົບ Linux ຄວນໃສ່ເຂົ້າ.

  • ສຳ ລັບສະຖານທີ່ເຮັດວຽກຂອງ desktop (ທີ່ມີ GUI) ຄ່າເປົ້າ ໝາຍ ເລີ່ມຕົ້ນແມ່ນ 5 ເຊິ່ງເທົ່າກັບລະດັບ run 5 ສຳ ລັບ init SystemV ເກົ່າ.
  • ສຳ ລັບເຊີຟເວີ, ເປົ້າ ໝາຍ ເລີ່ມຕົ້ນແມ່ນ multi -user.target ເຊິ່ງກົງກັບລະດັບ 3 ໃນ SysV init.

ນີ້ແມ່ນລາຍລະອຽດຂອງເປົ້າ ໝາຍ ທີ່ເປັນລະບົບ:

  • poweroff.target (runlevel 0): ລະບົບປິດໄຟຫລືປິດລະບົບ.
  • Rescue.target (runlevel 1): ເປີດກອງປະຊຸມຫອຍກູ້ໄພ.
  • ຫຼາຍ -user.target (runlevel 2,3,4): ຕັ້ງຄ່າລະບົບໃຫ້ເປັນລະບົບຜູ້ ນຳ ໃຊ້ແບບບໍ່ມີຮູບພາບ.
  • graphical.target (runlevel 5): ຕັ້ງລະບົບໃຫ້ໃຊ້ອິນເຕີເຟດຫຼາຍຮູບແບບທີ່ມີການບໍລິການເຄືອຂ່າຍ.
  • reboot.target (runlevel 6): ເປີດລະບົບ ໃໝ່.

ເພື່ອກວດເບິ່ງເປົ້າ ໝາຍ ໃນປະຈຸບັນໃນລະບົບຂອງທ່ານ, ໃຫ້ ດຳ ເນີນການ ຄຳ ສັ່ງ:

$ systemctl get-default

ທ່ານສາມາດປ່ຽນຈາກເປົ້າ ໝາຍ ໜຶ່ງ ໄປຫາອີກເປົ້າ ໝາຍ ໜຶ່ງ ໂດຍການ ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້ຢູ່ປາຍຍອດ:

$ init runlevel-value

ຍົກຕົວຢ່າງ, init 3 ກຳ ນົດລະບົບໃຫ້ເປັນສະຖານະພາບທີ່ບໍ່ແມ່ນຮູບພາບ.

ຄຳ ສັ່ງ init 6 ເປີດລະບົບຂອງທ່ານຄືນ ໃໝ່ ແລະ init 0 ເຮັດໃຫ້ລະບົບປິດ. ໃຫ້ແນ່ໃຈວ່າຈະເອີ້ນ ຄຳ ສັ່ງ sudo ເມື່ອທ່ານຕ້ອງການປ່ຽນໄປສອງເປົ້າ ໝາຍ ນີ້.

ຂະບວນການບູດຈະສິ້ນສຸດລົງເມື່ອ systemd ໂຫຼດ daemons ທັງ ໝົດ ແລະ ກຳ ນົດເປົ້າ ໝາຍ ຫລືມູນຄ່າລະດັບແລ່ນ. ມັນຢູ່ໃນຈຸດນີ້ທ່ານໄດ້ຖືກກະຕຸ້ນໃຫ້ໃຊ້ຊື່ຜູ້ໃຊ້ແລະລະຫັດຜ່ານຂອງທ່ານທີ່ທ່ານໄດ້ຮັບການເຂົ້າສູ່ລະບົບ Linux ຂອງທ່ານ.