ในระบบบูตคู่ BIOS จะเลือก bootloader ตัวไหนให้ทำงานได้อย่างไร


24

ฉันมีบูทคู่ของ Windows และ Ubuntu เมื่อฉันเปิดเครื่อง BIOS ทำ POST และหลังจากนั้น bootloader ก็จะเริ่มทำงาน

ฉันต้องการเข้าใจว่า BIOS เลือก bootloader ตัวไหนให้ทำงาน ฉันต้องการทราบกระบวนการที่เกิดขึ้นระหว่าง BIOS และ bootloader ในคอมพิวเตอร์บูตคู่


คำตอบ:


40

BIOS เฟิร์มแวร์ไม่ได้เลือก bootloader มันโหลดรหัสจากภาค 0 ของไดรฟ์และดำเนินการได้ มันจะดำเนินการ หวังว่ามันจะเป็น bootloader (หรือบางอย่างที่โหลด bootloader) แต่ก็ไม่จำเป็นต้องเป็น ในพีซียุคแรก ๆ คุณมีเกมบนฟลอปปี้ดิสก์ที่สามารถบู๊ตและรันโดยไม่ต้องใช้ระบบปฏิบัติการ - ตอนนี้เรียกว่า "บูท"

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

ระบบ UEFI จำนวนมากกำลังบู๊ตใน "โหมด Legacy" ซึ่งที่ UEFI โหลด "Compatibility Service Module" - สิ่งที่ทำให้ดูเหมือนกับ BIOS - และใช้งานได้จริงเช่น BIOS

GRUB เป็น bootloader โอเพนซอร์ซทั่วไปที่สามารถบูท Linux หรือ "chainload" (ให้การควบคุม) bootloader ของ Windows (โดยทั่วไปคือ winload.exe ในโฟลเดอร์ Boot ของพาร์ติชัน Windows) ด้วงเป็นสิ่งที่ทำให้คุณมีความสามารถในการตัดสินใจ GRUB สามารถอ่านไฟล์การกำหนดค่าและเลือกตัวเลือกเริ่มต้นจากมัน

อ่านนี้ถ้าคุณต้องการรายละเอียดมากมายเต็มไปด้วยเลือด


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

ขอบคุณ LawrenceC คำอธิบายของคุณทำให้ฉันเข้าใจชัดเจนมากขึ้นขอบคุณอีกครั้ง
Prashant Singh เมื่อ

13

แผนภาพนี้แสดงวิธีการควบคุมการส่งผ่านเฟิร์มแวร์ (BIOS หรือ UEFI) ไปยัง bootloader และจาก bootloader ไปยังระบบปฏิบัติการใน Ubuntu

ป้อนคำอธิบายรูปภาพที่นี่
          BIOS เทียบกับ UEFI

หากติดตั้งระบบปฏิบัติการในโหมดที่แตกต่างกัน (BIOS และ UEFI) ระบบจะไม่สามารถใช้งานการบูทคู่กับ Windows และ Ubuntu ได้


การแปลง Ubuntu เป็นโหมด UEFI

  1. เริ่ม Boot-Repair และเลือกตัวเลือกขั้นสูง -> แท็บ สถานที่ด้วง
  2. หากคุณไม่เห็นตัวเลือกการแยกพาร์ติชัน / boot / efiหมายความว่าพีซีของคุณไม่มีพาร์ติชัน UEFI
  3. หากคุณเห็นตัวเลือกพาร์ติชันแยกต่างหาก / boot / efiให้ทำเครื่องหมายในช่องทำเครื่องหมายทางด้านซ้ายแล้วคลิกปุ่มใช้ที่มุมล่างขวา

    การแปลง Ubuntu เป็นโหมด UEFI

  4. ตั้งค่า BIOS ของคุณเพื่อบู๊ตฮาร์ดไดรฟ์ในโหมด UEFI วิธีการปรับการตั้งค่านี้ขึ้นอยู่กับรุ่นเฉพาะของคอมพิวเตอร์ แต่โดยทั่วไปการตั้งค่านี้จะอยู่ในการตั้งค่าลำดับความสำคัญการบูตภายใต้แท็บBootของยูทิลิตี้การตั้งค่า BIOS / UEFI


7

ในโหมดดั้งเดิม (BIOS สำหรับบูตและไม่ใช่ UEFI) BIOS จะควบคุมลำดับของไดรฟ์ กาลครั้งหนึ่งสิ่งนี้เคยถูกควบคุมโดยสายเคเบิล; แต่การเปลี่ยนการตั้งค่า BIOS เปิดกล่องและเปลี่ยนสายเคเบิล

BIOS โหลด (ในหน่วยความจำ) เซกเตอร์แรก (512 ไบต์ของดิสก์ที่เรียกว่า MBR หรือมาสเตอร์บูตเรกคอร์ด) ของดิสก์แรก (หรือลำดับของไดรฟ์ที่ควบคุมโดย BIOS) แล้วส่งผ่าน (CPU) ควบคุมไปยัง 'bootloader' ไบออสจึงเสร็จงานและรหัสในภาคแรกที่ทำงาน


SORRY ครับ แต่ฉันสับสนเล็กน้อยเพราะ BIOS ให้การควบคุมบูตโหลดเดอร์และหน้าต่างและลินุกซ์มีบูตโหลดเดอร์ที่แตกต่างกันซึ่งบูตโหลดเดอร์จะให้การควบคุม. กระบวนการไบออสผ่านการเลือกบูตโหลด
Prashant Singh

2
ระบบของคุณสามารถมีบูตโหลดเดอร์ตัวเดียวต่อดิสก์ (และมีเพียงอันเดียวที่แอ็คทีฟ) โดยทั่วไปหากคุณมีระบบปฏิบัติการสองระบบในระบบของคุณระบบที่สองที่ติดตั้งจะเป็นเจ้าของบูตเดอร์เนื่องจากมันเขียนโค้ดของตัวเองลงใน MBR นี่คือเหตุผลที่ GNU / Linux (Ubuntu) ใช้ GRUB มันเป็นระบบที่มีหลายขั้นตอน (ขั้นตอนที่ 1 คือ MBR, ขั้นตอนที่ 1.5 และ 2 ถูกพบใน / boot) ที่วางเมนูเพื่อถามว่าระบบปฏิบัติการใดที่คุณต้องการโหลด / เรียกใช้ (คนที่ด้วงรู้เรื่องอยู่ดี เพิ่มไปยังมัน) หากคุณมีดิสก์ไดรฟ์สองตัว คุณสามารถมีบูตโหลดเดอร์ในแต่ละไดรฟ์ แต่ไบออสจะตรวจสอบว่าจะรันอะไร
guiverc

ดังนั้นถ้าฉันมีระบบปฏิบัติการ 2 ระบบในคอมพิวเตอร์ของฉันดังนั้นมันจำเป็นที่ GRUB จะวางเมนูเพื่อถามว่าระบบปฏิบัติการใดที่ฉันต้องการโหลดทำไมบูตโหลดเดอร์ของหน้าต่างไม่ใส่เมนูนั้นเพราะฉันมีทั้งสองระบบปฏิบัติการในคอมพิวเตอร์ของฉัน
Prashant Singh

windows มีบูตโหลดเดอร์ด้วย (สูงสุด vista อยู่ดี); แต่มันไม่ฉลาดเท่าด้วง รุ่น windoze ไม่ค้นหาผลิตภัณฑ์ที่ไม่ใช่ msft (และไม่สามารถอ่าน ext / reiserfs / xfs / zfs / btrfs / ... ) ดังนั้นคุณต้องเพิ่ม * ระวังด้วยตัวเอง; และอัปเดตครั้งต่อไป ..... รุ่น windoze ไม่คุ้มที่จะใช้เพราะด้วงนั้นดีกว่ามาก ถ้า windoze อยู่ในไดรฟ์หนึ่ง Ubuntu บนอีกตัวหนึ่งคุณสามารถเปลี่ยนการบู๊ตด้วยไบออส แต่ด้วงนั้นเร็วกว่า / ง่ายกว่า (ถ้ามีความสุขกับคำตอบของฉัน; ยอมรับมันจะปิดคำถาม)
guiverc

3
@Prashant Singh: สาเหตุพื้นฐานที่สุดที่ว่าทำไม bootloader ของ Windows ไม่ทำสิ่งนี้ (หรือไม่กลับมาเมื่อฉันรู้เรื่อง Windows สักหน่อย) นั่นคือ MicroSoft ไม่ทำเงินโดยให้คุณใช้ระบบปฏิบัติการอื่น
jamesqf
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.