อธิบายรายละเอียดเกี่ยวกับกระบวนการบูตของระบบ Linux


14

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

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

โปรดพิจารณาสถานการณ์ที่เป็นไปได้ทั้งหมดเช่นการบูตจากดิสก์, การบูตจาก usb, การบูตจากเครือข่ายบนไคลเอนต์ที่ไม่มีดิสก์ซึ่ง rootfs (/) อยู่บนเครือข่าย


3
ตัดสินจากนี้ (รวมทั้งการอ้างอิง)และนี้คุณเสนอค่อนข้างเป็นโครงการขนาดใหญ่ ...
sr_

4
สิ่งนี้รู้สึกเหมือนเป็นคำถามการบ้าน / วิทยานิพนธ์ให้คนอื่นหรือไม่?
Shadur

1
ไม่ควรถูกตั้งค่าสถานะเป็นชุมชนวิกิหรือไม่
ผู้ใช้ที่ไม่รู้จัก

4
ฉันคิดว่ามันกว้างเกินไปสำหรับคำถามใน SE มีความแตกต่างอย่างมากระหว่างการแจกแจงและการกำหนดค่า
Gilles 'หยุดความชั่วร้าย'

1
คุณช่วยโพสต์เอกสารที่คุณเตรียมไว้ได้ไหม
Abhishek

คำตอบ:


7

คุณต้องการลำดับการบูตของ Linux หรือเพียงแค่ PC ลำดับการบูต ... เนื่องจากไม่มีความแตกต่างระหว่างการบูต Linux จาก usb / cdrom / hdd ... Linux มักจะบูตจาก MBR โดยที่ bootloader คือ ...

กระบวนการบูท Linux:

  1. เมื่อพลังงานเพิ่มขึ้น BIOS จะได้รับการควบคุม
  2. ไบออสใช้การทดสอบตัวเองมักจะรวมถึงการทดสอบหน่วยความจำแบบคร่าวๆ
  3. จากนั้น BIOS จะโหลดเซกเตอร์แรกของดิสก์ที่จะใช้สำหรับการบูตและโอนการควบคุมให้กับมัน
  4. รหัส MBR แตกต่างกันไป รุ่นหนึ่งจะเชื่อมโยงกับรหัสในเซกเตอร์แรกของพาร์ติชันสำหรับเริ่มระบบ (Windows) และอีกรุ่นจะโหลด bootloader การบูท Windows ทำจากรหัสและข้อมูลในพาร์ติชันสำหรับบู๊ต
  5. bootloader เลือกตำแหน่งเคอร์เนลและเวอร์ชัน
  6. bootloader จัดเตรียมเคอร์เนลและอิมเมจเริ่มต้นในหน่วยความจำโอนการควบคุมไปยังเคอร์เนล
  7. กำลังโหลดโมดูลเคอร์เนล
  8. ค้นหาฮาร์ดแวร์และโหลดโมดูลเคอร์เนลเพิ่มเติมเพื่อสนับสนุน
  9. กำลังมองหาดิสก์
  10. R / O mount of / partition เพื่อให้สามารถตรวจสอบและซ่อมแซมได้
  11. กระบวนการเริ่มต้นวางไข่
  12. / etc / inittab อ่านและดำเนินการ
  13. การติดตั้ง FSes ทั้งหมดจาก / etc / fstab
  14. runlevels กำลังทำงานอยู่ (ตาม runlevel เริ่มต้นใน / etc / inittab) หรือวิธีการเริ่มต้นอื่นเช่น systemd หรือพุ่งพรวด
  15. rc.local
  16. พรอมต์การเข้าสู่ระบบ

ขอบคุณ @ เซบาสเตียนนั่นเป็นรายการที่ดี ฉันกำลังมองหาขั้นตอนโดยละเอียดสำหรับตัวอย่างที่ 1: โหลดข้อมูล mbr อะไรก่อนหน้านั้นคำแนะนำในการโพสต์และไบออสจะมีการไหลอย่างไร 2. ทำไมเมาท์ r / o ของ / partition จากนั้นอ่าน / เขียน mount / partition .. กระบวนการ 0 ในกระบวนการทั้งหมดนี้คืออะไร .. แต่ขอบคุณสำหรับคำตอบ
Nikhil Mulley

@Nikhil เกี่ยวกับกระบวนการ 0 ... ไม่มีกระบวนการดังกล่าวหลังจากโหลดเคอร์เนลคุณมีกระบวนการ 1 ซึ่งเป็นกระบวนการเริ่มต้น เกี่ยวกับจุดที่เหลือ: 1. ตรวจสอบibm.com/developerworks/library/l-linuxboot/index.html 2. เพราะก่อนอื่นต้องทำการตรวจสอบไฟล์จากนั้นคุณสามารถเริ่มเขียนได้ ... เพราะเหตุผลด้านความปลอดภัย ..
Sebastian Szary

ไม่มี MBR สำหรับ floppies หรือ cdroms กระบวนการบูตสำหรับ cdroms เกี่ยวข้องกับไฟล์แค็ตตาล็อกที่อธิบายอิมเมจหลายเซกเตอร์หรือมากกว่านั้นที่ไบออสสามารถเลือกที่จะโหลดและดำเนินการได้
psusi

ถ้าโมดูลเคอร์เนลอยู่ในext3ระบบไฟล์และext3โมดูลเคอร์เนลยังไม่โหลด? มีอะไรเพิ่มเติมถ้าเคอร์เนลอยู่ในระบบไฟล์ที่ bootloader ไม่รู้จัก วิธีดังต่อไปนี้ถูกโหลดตามลำดับการโหลดการkernelโหลดไดเรกทอรีการbootloaderติดตั้งไฟล์/bootการอ่าน/etc/fstabฯลฯ
yegle

3

ลองติดตั้งและการใช้bootchart


1
ขอบคุณสำหรับตัวชี้ที่จริง ๆ แล้วฉันกำลังมองหาการนำเสนอเอกสารการไหลของสิ่งที่เกิดขึ้นระหว่างการบู๊ตและการตัดสินใจแบบไหนที่เกี่ยวข้อง
Nikhil Mulley

1
ขอบคุณ @Alexander ผมติดตั้งไว้บนหมวกของฉันและมันให้รายละเอียดมาก PNG
Abhishek
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.