Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

กระบวนการบูต Linux:สิ่งที่คุณควรรู้

กระบวนการบูต Linux:สิ่งที่คุณควรรู้

เคยสงสัยเกี่ยวกับขั้นตอนต่างๆ ของ Linux ซึ่งเป็นระบบปฏิบัติการโอเพ่นซอร์สหรือไม่? การรู้กระบวนการบู๊ตทั้งหมดสามารถช่วยคุณแก้ปัญหาได้ โดยเฉพาะถ้าคุณเป็นผู้ดูแลระบบ

จะเกิดอะไรขึ้นเบื้องหลังเมื่อคุณเปิดเครื่อง อ่านต่อเพื่อหาคำตอบ

ไบออส

Basic Input/Output System (BIOS) คือเฟิร์มแวร์ระดับต่ำที่เก็บไว้ในชิปหน่วยความจำขนาดเล็กในเมนบอร์ดของคอมพิวเตอร์ของคุณ เฟิร์มแวร์นี้ช่วยในกระบวนการเริ่มต้นและจัดการการไหลของข้อมูลระหว่างเครื่องของคุณและอุปกรณ์ที่เชื่อมต่ออื่นๆ เช่น เมาส์ เครื่องพิมพ์ และอะแดปเตอร์วิดีโอ

กระบวนการบูต Linux:สิ่งที่คุณควรรู้

ฟังก์ชันหลักของ BIOS ที่แสดงไว้ด้านบนคือการเรียกใช้ Power-On Self Test (POST) การทดสอบนี้จะตรวจสอบความสามารถในการทำงานของฮาร์ดแวร์ระบบและค้นหาบูตเซกเตอร์ซึ่งมีซอฟต์แวร์ที่จำเป็นสำหรับกระบวนการที่เหลือ หาก POST สำเร็จ ไบออสจะโหลดขั้นตอนต่อไป นั่นคือ Stage One Boot Loader ลงใน RAM ของระบบ

หาก POST ไม่สำเร็จ ไบออสจะส่งคืนรหัสที่คุณสามารถใช้ในการแก้ปัญหา

ตัวโหลดการบูตขั้นตอนที่หนึ่ง

ขั้นตอนแรกของบูตโหลดเดอร์ ซึ่งเรียกว่า Master Boot Record (MBR) หรือ Guided Partition Table (GPT) ออกแบบมาเพื่อให้โปรแกรมออนไลน์ได้

MBR เป็นซอฟต์แวร์ง่ายๆ ที่ไม่มีความเข้าใจในตัวของระบบไฟล์ ด้วยเหตุนี้ คุณจะต้องจัดเก็บบูตโหลดเดอร์ระยะที่สองระหว่าง MBR และพาร์ติชันแรกบนฮาร์ดไดรฟ์เสมอ

เมื่อ MBR ตรวจพบตัวโหลดการบูตระยะที่สอง ก็จะมอบการควบคุม

ตัวโหลดการบูตขั้นตอนที่สอง

งานของตัวโหลดการบูตระยะที่สองคือการค้นหาเคอร์เนลและโหลดลงในหน่วยความจำ

แผนกลินุกซ์ส่วนใหญ่จะใช้หนึ่งในสามตัวโหลดการบูตที่แตกต่างกัน — GRUB, GRUB2 หรือ LIL คุณน่าจะเห็น GRUB2 ดังที่แสดงด้านล่าง เนื่องจากเป็นเวอร์ชันใหม่ล่าสุด

กระบวนการบูต Linux:สิ่งที่คุณควรรู้

เมื่อตัวโหลดการบูตพบเคอร์เนลและโหลดลงใน RAM เคอร์เนลจะผ่านการควบคุม นอกจากนี้ยังส่งภาพของระบบไฟล์ของอุปกรณ์ที่เคอร์เนลใช้ค้นหาโมดูลได้

เคอร์เนล

เนื่องจากเมล็ดทั้งหมดอยู่ในรูปแบบที่บีบอัดเพื่อประหยัดพื้นที่ฮาร์ดไดรฟ์ สิ่งแรกที่จะทำเมื่อได้รับการควบคุมคือการแยกตัวเอง จากนั้นจะเมาต์เวอร์ชันอิมเมจของระบบไฟล์ที่ได้รับจากบูตโหลดเดอร์

เคอร์เนลจะตรวจจับฮาร์ดแวร์ของระบบและสลับรูปภาพไปยังไฟล์รูทบนดิสก์

เริ่มต้น (systemd)

ถัดไป เคอร์เนลจะเริ่มระบบการเริ่มต้น (init) ซึ่งเป็นกระบวนการแรกที่เรียกใช้กระบวนการทั้งหมดที่จำเป็นสำหรับกระบวนการบูต ในระบบส่วนใหญ่จะเป็นระบบ

ฟังก์ชันหลักของ Systemd คือการเปิดใช้ daemons ทั้งหมด ซึ่งเป็นกระบวนการและบริการเบื้องหลังที่จำเป็นในการรันระบบ บริการเหล่านี้จะยังคงทำงานต่อไปหลังจากการเริ่มต้นและจัดการกระบวนการที่สำคัญของระบบ เช่น การบันทึกข้อความระบบต่างๆ การติดตามอุปกรณ์ และทำให้แน่ใจว่าระบบไฟล์ซิงโครไนซ์กับหน่วยความจำระบบ

หากคุณสงสัยว่าบริการใดที่ systemd กำลังทำงานอยู่ ให้เรียกใช้ systemctl คำสั่งด้วยตัวเองจะส่งคืนรายการทั้งหมด

คุณยังใช้ systemd เพื่อเริ่มบริการอื่นๆ ขณะบู๊ตได้โดยใช้คำสั่ง systemctl และบริการที่คุณต้องการเริ่มต้นร่วมกัน ตัวอย่างเช่น หากคุณต้องการให้ระบบตรวจสอบสถานะของ NFS ให้พิมพ์ systemctl status nfs-server.service . คุณยังสามารถstart , stop , enable หรือ disable บริการที่มีการรวมกันของ systemctl และหนึ่งในคำสั่งเหล่านั้น

ระดับการรัน

ระดับการทำงานคือสถานะของ INIT และระบบของคุณจะกำหนดว่าบริการใดกำลังทำงานอยู่ เคอร์เนล Linux มาตรฐานรองรับระดับการทำงานที่แตกต่างกันเจ็ดระดับ:

  • 0: ระบบหยุด พร้อมปิดเครื่อง
  • 1 :โหมดผู้ใช้คนเดียว
  • 2: โหมดผู้ใช้หลายคน ไม่มีระบบไฟล์เครือข่าย
  • 3: โหมดผู้ใช้หลายคนโดยใช้อินเทอร์เฟซชีวิตคำสั่งแทนผู้ใช้แบบกราฟิก
  • 4: กำหนดโดยผู้ใช้
  • 5: โหมดผู้ใช้หลายโหมด โดยใช้อินเทอร์เฟซผู้ใช้แบบกราฟิกที่ระบบ Linux ส่วนใหญ่จะบู๊ตเป็นค่าเริ่มต้น
  • 6: รีบูต

กระบวนการบูต Linux:สิ่งที่คุณควรรู้

หากคุณต้องการเปลี่ยนระดับการรันด้วยเหตุผลใดก็ตาม INIT จะเป็นผู้รับผิดชอบในการเปลี่ยนแปลงโดยใช้ telinit คำสั่งที่แสดงด้านบน

การทำลายขั้นตอนการบู๊ต

รายละเอียดนี้เป็นเพียงภาพรวมของกระบวนการบูต Linux และตัดรายละเอียดปลีกย่อยบางส่วนออกไป อย่างไรก็ตาม ข้อมูลดังกล่าวควรให้ข้อมูลที่คุณต้องการเพื่อแก้ไขปัญหาที่อาจเกิดขึ้น