พาร์ทิชัน '' EFI สำหรับบูต '' และ '' biosgrub ''


21

ทำไมฉันต้องการสิ่งเหล่านี้ ฉันได้ติดตั้ง Ubuntu ภายใต้ UEFI ที่ไม่ใช่ (มาสเตอร์บูตเรกคอร์ด) และติดตั้ง Ubuntu โดยไม่มี 'biosgrub' และทำงานได้ดีในขณะที่เวลาอื่นฉันขอให้สร้างพาร์ติชัน 'biosgrub' ฉันไม่รู้ว่าทำไมบางครั้งฉันต้องการมันและคนอื่น ๆ ก็ไม่ชอบ (ทั้งคู่อยู่ในระบบเดียวกัน)

และสิ่งเดียวกันก็เกิดขึ้นเมื่อฉันใช้ UEFI (GUID Partition Table) ข้อแตกต่างอย่างเดียวคือฉันถูกขอให้สร้าง 'พาร์ติชันสำหรับบูต EFI' แต่เหมือนกับ 'biosgrub' บางครั้งฉันถูกขอให้ทำและบางครั้งฉันก็ไม่ได้ขอให้ทำ

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


2
คุณจำเป็นต้องสอดคล้องในการบูท เฉพาะในโหมดการบู๊ต UEFI คุณจะต้องใช้พาร์ติชัน efi และเฉพาะในโหมดการบู๊ตไบออสที่มีการแบ่งพาร์ติชัน gpt คุณจะต้องใช้พาร์ติชัน bios_grub หากคุณใช้ UEFI แต่ให้ทำการบูท Boot-Repair ในโหมด BIOS และลองติดตั้งด้วงในโหมด BIOS มันจะขอให้คุณสร้างพาร์ติชัน bios_grub
oldfred

คำตอบ:


34

มีสี่เงื่อนไข (BIOS เทียบกับ EFI และ MBR เทียบกับ GPT) แต่สองเงื่อนไขมีความต้องการที่เหมือนกัน (และหนึ่งในนั้นมีน้อยมาก):

  • ในคอมพิวเตอร์ที่ใช้ BIOS แบบดั้งเดิมที่มีตารางพาร์ติชัน MBR แบบดั้งเดิมรหัสที่ใช้งานได้ของ GRUB จะแพร่กระจายไปทั่วเหมือนเด็กปาเก็ตตี้ บางส่วนอยู่ในส่วนรหัสบูตของ MBR บางส่วนอยู่ในส่วนโพสต์ MBR ที่ไม่ได้รับการจัดสรรอย่างเป็นทางการและบางส่วนอยู่ใน/bootพาร์ติชันLinux นี่เป็นความยุ่งเหยิงที่แท้จริงและใช้งานได้เพียงเพราะนักพัฒนามีเวลาหลายสิบปีในการสร้างแฮ็กที่ชาญฉลาดและทำงานได้เกือบทั้งหมด
  • สำหรับคอมพิวเตอร์ที่ใช้ BIOS แบบดั้งเดิมที่มี GUID Partition Table (GPT) ใหม่รหัส GRUB นั้นคล้ายกับในกรณีก่อนหน้านี้ อย่างไรก็ตามภาคที่ตามหลัง MBR จะไม่ถูกจัดสรร พวกมันถูกใช้โดย GPT GPT ไม่มีสถานที่ที่คล้ายคลึงกันสำหรับ GRUB เพื่อจี้ดังนั้นนักพัฒนาของ GRUB จึงตัดสินใจใช้พาร์ติชั่นการบู๊ต BIOS (ซึ่ง GParted และpartedระบุด้วยการbios_grubตั้งค่าสถานะ) เพื่อเก็บรหัสที่จะอยู่ในเซกเตอร์ MBR บนดิสก์ MBR นี่เป็นวิธีที่ปลอดภัยกว่าและสะอาดกว่าวิธี MBR เนื่องจากทำหน้าที่ปกป้องรหัส GRUB จากโปรแกรมอื่น ๆ ที่อาจลองใช้พื้นที่ที่ไม่ได้ถูกจัดสรร
  • บนคอมพิวเตอร์ที่มี EFI ที่ใหม่กว่า BIOS ตัวบูตการบูตจะไม่ถูกเก็บไว้ใน MBR ในส่วนที่ไม่ได้ถูกจัดสรรอย่างเป็นทางการหลังการ MBR หรือใน Boot Boot Partitions แทนตักบูตอาศัยอยู่เป็นไฟล์สามัญในพาร์ทิชัน FAT ที่รู้จักกันเป็นพาร์ติชัน EFI ระบบ (ESP) ( ผู้ติดตั้ง Debian และ Ubuntu อ้างถึง ESP โดยชื่อ "EFI boot partition" แต่ชื่อนี้ไม่ใช่แบบมาตรฐาน GParted และpartedระบุ ESP ว่ามี "bootตั้งค่าสถานะ "แม้ว่าคำศัพท์นั้นหมายถึงบางสิ่งที่แตกต่างอย่างสิ้นเชิงในดิสก์ MBR) ESP สามารถมีอยู่ในดิสก์ GPT หรือดิสก์ MBR แต่อดีตนั้นมีอยู่ทั่วไปมากกว่าในคอมพิวเตอร์ที่ใช้ EFI วิธี EFI นั้นปลอดภัยและ มีความยืดหยุ่นมากกว่าวิธี BIOS เนื่องจากมันไม่ได้เก็บรหัสดิบไว้ในสถานที่แปลก ๆ ตัวตักบูตจะอยู่ในไฟล์เหมือนกับโปรแกรมระดับ OS ทำให้ง่ายต่อการระบุและจัดการ (OTOH, EFI ยังเก็บข้อมูลไว้ด้วย) บน boot loader ใน NVRAM ซึ่งสร้างจุดที่สองของความล้มเหลวในกระบวนการบูทความใหม่ของ EFI ก็หมายความว่ามันไม่ผ่านการทดสอบอย่างดีซึ่งเป็นสาเหตุของปัญหาเฉพาะของ EFI)

GhostMotleyX ความคิดเห็นของคุณต่อการตอบสนองของ LiveWireBTให้ความเห็นว่าวิธีที่ดีที่สุดในการติดตั้งคือ BIOS / MBR แน่นอนว่าเป็นเรื่องส่วนตัว แต่ฉันไม่เห็นด้วยกับการประเมินนั้น วิธี BIOS / MBR นั้นปลอดภัยและน้อยที่สุดเงอะงะของสามวิธีที่ฉันเพิ่งอธิบาย แนวทาง EFI เป็นวิธีที่ปลอดภัยและยืดหยุ่นที่สุด ฉันสงสัยว่าคุณกำลังติดใจกับความจริงที่ว่าต้องใช้พาร์ติชันแยกต่างหากสำหรับวิธี GRUB / GPT และ EFI แต่นั่นไม่ใช่เรื่องใหญ่ นอกเหนือจากเมื่อตั้งค่าระบบหรือทำการบำรุงรักษาพาร์ติชันพาร์ติชันเหล่านั้นจะมองไม่เห็นคุณสวยมากและพวกเขาให้ความยืดหยุ่นมาก ซึ่งแตกต่างจาก MBR, GPT ไม่ จำกัด เพียงสี่พาร์ติชั่นหลัก, ดังนั้นคุณไม่จำเป็นต้องสะสมพาร์ติชั่นหลักของคุณอย่างเช่นเลเปรอคอนที่สะสมทองคำของเขา.


ขอบคุณทุกคนที่ตอบกลับข้อมูลที่เป็นประโยชน์จริง ๆ ; โดยเฉพาะ Rod Smith
GhostMotleyX

ดังนั้นในระบบบูต EFI คุณยังคงต้องการเพียงพาร์ติชันเล็ก ๆ หรือไม่? MBR-boot-sector และEF02เนื้อหาของพาร์ติชันgdisk- (หรือเทียบเท่า) สามารถเก็บไว้ในไฟล์ในพาร์ติชันระบบ EFI ที่จัดรูปแบบ FAT (ด้วย gdisk type EF00)?
Peter Cordes

ปีเตอร์ใช่ถูกต้องแล้ว บูตอีฟ EFI เป็นไฟล์ที่เก็บไว้ใน ESP ไม่ได้อยู่ในดิสก์หรือพาร์ทิชันบูตบูต
ร็อดสมิ ธ

เกิดอะไรขึ้นถ้าฉันต้องการที่จะสนับสนุนทั้งบูต UEFI BIOS และบูต? ถ้าอย่างนั้นฉันจะมีด้วงสองชุดหนึ่งอันEFI System PartitionและอีกอันในBIOS boot partition?
สวัสดีชาวโลก

สวัสดีชาวโลกคุณต้องมีโหมด EFI หนึ่งตัวและหนึ่งตัวบูตโหมด BIOS พวกเขาไม่จำเป็นต้องเป็นด้วงทั้งคู่ ในความเป็นจริงฉันแนะนำว่าอย่างน้อยหนึ่งในนั้นไม่ควรเป็นเพราะอาจทำให้สับสนได้ แม้ว่าการกำหนดค่าดังกล่าวค่อนข้างไม่มีจุดหมายสำหรับการบูตระบบปฏิบัติการเดียว อาจจำเป็นสำหรับสถานการณ์ดูอัลบูตบางอย่างเช่นถ้าระบบปฏิบัติการหนึ่งไม่มีบูตโหลดเดอร์โหมด EFI และอื่น ๆ จำเป็นต้องบูตในโหมด EFI ด้วยเหตุผลบางอย่าง (เช่นถ้าเป็น Windows และดิสก์ของคุณมีขนาด 2TiB ดังนั้น คุณต้องการ GPT เพื่อรองรับขนาดเต็ม)
ร็อดสมิ ธ

7

คุณต้องสร้างพาร์ติชัน biosgrubบนดิสก์พาร์ติชัน GPTเมื่อตั้งค่าการบูทระบบดั้งเดิมหรือพาร์ติชันสำหรับบูตแบบ EFI (สำหรับทั้งดิสก์พาร์ติชันแบบ GPT หรือ MBR) เมื่อตั้งค่าการบูท UEFI

  • ด้วงต้องใช้ Partition BIOS Boot (2 เอ็มไอ, ระบบแฟ้มไม่มีEF02พิมพ์รหัสใน gdisk หรือ bios_grub ธงใน GNU แยก) ในระบบ BIOS การฝังของcore.imgไฟล์เนื่องจากการขาดการโพสต์ MBR ฝังช่องว่างในดิสก์ [ ... ]

https://wiki.archlinux.org/index.php/GPT#Bootloader_Support


1
ขอบคุณฉันคิดว่าฉันเข้าใจแล้ว ถ้าฉันกำลังติดตั้งอูบุนตูที่ไม่ใช่ UEFI บนดิสก์ MBR ฉันไม่จำเป็นต้องใช้ biosgrub ถ้าฉันติดตั้ง Ubuntu ภายใต้ UEFI บนดิสก์ GPT ฉันต้องสร้างพาร์ติชัน EFI แล้วความไม่สอดคล้องที่ฉันพบคือเมื่อฉันจะติดตั้ง Ubuntu ที่ไม่ใช่ UEFI บนดิสก์ GPT และ UEFI ด้วย MBR ดังนั้นวิธีที่ดีที่สุดในทางทฤษฎีในการติดตั้ง Ubuntu ก็คือ Non-UEFI พร้อม MBR partition table หรือ UEFI พร้อม GPT partition table
GhostMotleyX

@GhostMotleyX นั่นถูกต้อง
LiveWireBT

แม้ 1MiB นั้นก็มากเกินพอ ฉันชอบที่จะวางไว้ก่อนพาร์ติชัน 1MiB ที่จัดชิด "แรก" ตามที่ฉันอธิบายในย่อหน้าสุดท้ายของen.wikipedia.org/wiki/BIOS_boot_partition#Overview (ซึ่งฉันเพิ่งแก้ไข) ผมยังไม่ได้ตัดสินใจหรือไม่ว่าฉันอยากจะใช้ gdisk ของsortคำสั่งเพื่อพาร์ทิชัน renumber ในการสั่งซื้อของภาคการเริ่มต้นหรือถ้าผมต้องการที่จะปล่อยให้มันเป็นsdc4หรือ W / E sdX1อาจจัดเรียงเป็นลางน้อยดังนั้นพาร์ทิชันด้วงของฉันจะเป็น
Peter Cordes

3

ฉันจะให้หนึ่งจุดพิเศษ / แรงจูงใจสำหรับการมีด้วง EFI และ BIOS

USB stick เพื่อบู๊ต Live SystemRescueCD.iso จาก Grub2

ทำไม? คำตอบง่ายๆ: มันจะบู๊ตบนพีซีจำนวนมากบางตัวมี UEFI บางตัวมี BIOS เก่าเพียง 32 บิตเป็นต้น

แรงจูงใจที่ซับซ้อนจริง: ใช้ฮาร์ดแวร์ขั้นสูง (UEFI) ถ้าเป็นไปได้

ตัวอย่างการใช้จริง:

  • USB stick (จัดทำขึ้นในโหมด GPT) ด้วยสี่พาร์ติชัน
  • พาร์ติชันแรก (สามารถมองเห็นได้จาก Windows 7 ขึ้นไป) บน NTFS ด้วยขนาดที่เหลือของแท่ง USB
  • พาร์ติชั่นที่สองสำหรับไฟล์ Grub2 และ SystemRescueCD.iso ที่มีอย่างน้อย 1GiB (ดีกว่าถ้า 2GiB เพื่อให้คุณสามารถพกพา SystemRescueCD.iso ได้สองเวอร์ชั่นในเวลาเดียวกันเพียงแค่ทำการทดสอบเวอร์ชันใหม่ก่อนที่จะแทนที่อันเก่า) โดยปกติฉันใช้ระบบไฟล์ Ext4 สำหรับมัน
  • พาร์ติชั่นที่สามสำหรับ EFI (สิ่งที่ windows เรียกว่า ESP) จัดรูปแบบเป็น Fat32 อย่างน้อย 512MiB (ฉันเคยเห็นพีซีบางเครื่องว่าถ้าใช้น้อยกว่าพวกเขาจะไม่แสดง USB stick เป็นสื่อที่สามารถบู๊ตได้)
  • พาร์ติชันที่สี่สำหรับ BIOS_Grub (ไม่มีรูปแบบ แต่จะถูกล้างเมื่อสร้าง)

สิ่งหนึ่งที่สำคัญ: ฉันเห็น LG USB 8GiB stric (หนึ่งตัวฉันเอง) ที่ปฏิเสธที่จะแสดงรายการในการบูตเครื่อง UEFI ทางกายภาพหากพาร์ทิชันไม่สอดคล้องกับกระบอกสูบ แต่จะเห็นได้บนพีซี UEFI อื่นและบน VirtualBOX พร้อมการบูต UEFI เปิดใช้งานโหมด ... เมื่อทำการแบ่งพาร์ติชันหากจัดตำแหน่งให้กับ MiB จะใช้พื้นที่ทั้งหมดไม่ใกล้ 1MiB พื้นที่ที่ไม่ได้แยกส่วนท้าย แต่เมื่อจัดตำแหน่งให้กับกระบอกสูบ MiB ที่ไม่สมบูรณ์ครั้งล่าสุดจะไม่ใช้ ... หากฉันทำ MiB (ในคำอื่น ๆ ที่ฉันจะจัดเรียงกระบอกด้วยตนเอง) มันใช้งานได้ แต่ในขณะที่ฉันกำลังบอกว่ามันยังคงอยู่ในแนวเดียวกันกับกระบอกสูบ (ฉันกำลังทำมันเอง

วิธีรับกู้คืน USB ที่ยอดเยี่ยม (มีสองเทคนิค):

  1. จัดพาร์ติชั่นให้กับภาชนะบรรจุ (เข้ากันได้ดีกว่าเพียงแค่จัดตำแหน่งกับ MiB)
  2. ทำ grub-install --target = i386-pc จากนั้นทำ grub-install --target = x86_64-efi บนพาร์ติชั่น grub เดียวกันดังนั้นคุณจึงใช้ grub.cfg เพียงอันเดียวสำหรับโหมดการบูตทั้งสองโหมด

มันบู๊ทได้อย่างไร:

  • a) การบูทจากไบออสเก่าจะโหลด MBR จากนั้นสเตจที่ 2 ของ Grub จะทำการแบ่ง BIOS_grub จากนั้นแบ่งเป็น core.img จากพาร์ติชัน Grub2
  • b) รูปแบบการบูตที่เข้ากันได้กับ UEFI จะโหลดไฟล์. fefi จากพาร์ติชัน ESP
  • อ่าน grub.cfg (หากมีอยู่ในพาร์ติชัน grub2)
  • จากนั้นเมนู grub2 จะปรากฏขึ้น
  • จากนั้นฉันเลือกที่จะบูตจากลูป SystemRescueCD.iso (พร้อมพารามิเตอร์ dochace) ฉันได้ตั้งค่าสองตัวเลือกไว้บน grub.cfg หนึ่งตัวสำหรับ 32 บิตหนึ่งตัวสำหรับ 64 บิต (ฉันมีสี่ตัวเลือกจริง ๆ เนื่องจากฉันตั้งค่าพารามิเตอร์ dostartx สองตัวเป็น บูตโดยตรงบน GUI)
  • หลังจากบูตฉันสามารถเอา USB ออก (ทั้ง Live Linux อยู่ใน ramdrive ด้วย docache ดังกล่าว), ไม่จำเป็นต้องพิมพ์คำสั่งใด ๆ , pendrive ไม่ถูกเมาท์ (อีกครั้งด้วยพารามิเตอร์ docache)

ด้วยไม้นี้ฉันสามารถบูตเครื่องคอมพิวเตอร์เก่า (ถ้าพวกเขาปล่อยให้บูตจาก USB) ใน 32 บิตหรือ 64 บิต (ถ้าพวกเขามีส่วนขยาย etend บน procesor) แต่การบูตในโหมด BIOS

ด้วยไม้นี้ฉันยังสามารถบูตเครื่องคอมพิวเตอร์ใหม่ (ถ้าพวกเขาปล่อยให้บูตจาก USB) ใน 32 บิตและ 64 บิต แต่การบูตในโหมด UEFI (อ่าใช่มันสามารถบูตในโหมด UEFI แล้วเพียงแค่บูต Linux Live SystemRescueCD ใน 32 บิต โหมดเช่นเดียวกับในโหมด 64 บิต)

ดังนั้นฉันจึงมีสื่อการกู้คืน usb stick ในหนึ่งเดียวความสามารถในการบูตในพีซีทุกเครื่องที่ทันสมัยหรือเก่า (ต้องการการรองรับการบูต USB เท่านั้น) ไม่ว่าจะเป็น 32 บิตหรือ 64 บิตไบออสหรือ UEFI ฯลฯ และฉันก็สามารถ เลือกสิ่งที่ฉันต้องการเรียกใช้ 32 บิตหรือ 64 บิต

ยิ่งกว่านั้นฉันได้ทดสอบบนพีซีที่ปฏิเสธที่จะติดตั้ง Windows 64Bits (ตัวประมวลผล 32 บิตเก่า) แต่สามารถเรียกใช้ 64 บิต Linux Live (เพราะความสามารถ PAE มีอยู่บนตัวประมวลผลนั้น)

หมายเหตุด้านข้าง: พาร์ติชั่นแรกเช่น NTFS สำหรับการเก็บข้อมูลที่สามารถแชร์กับ Windows 7 ขึ้นไป (XP จะไม่เห็นมันเนื่องจากไม่รองรับการแบ่งพาร์ติชัน GPT) ... มันต้องเป็นพาร์ติชั่นแรกไม่จำเป็นต้องเริ่มต้น เป็นส่วนหนึ่งของแผ่นดิสก์ได้ทุกที่ที่คุณต้องการ แต่ข้าวต้มอยู่ในรายการแรกในตารางพาร์ติชันซึ่งเกิดจากโหมด windows ที่น่าเกลียดสำหรับการติดตั้งพาร์ติชั่นที่ถอดออกได้มันมีรหัสโปรแกรมพิเศษเพื่อหลีกเลี่ยงการเข้าถึงมากกว่าพาร์ติชันแรก ไม่สามารถเมานท์คนอื่นในเวลาเดียวกัน

พิเศษสำหรับพาร์ติชัน Windows และ USB: ถ้าคุณสลับรายการพาร์ติชั่นบนตาราง partitiong กล่าวอีกนัยหนึ่งคือคุณใส่พาร์ติชั่นที่คุณต้องการใช้เป็นพาร์ติชั่นแรกในตาราง windows จะอนุญาตให้คุณเข้าถึงมันได้ และ NTFS โดยตรง, ext2 พร้อมไดรเวอร์พิเศษ, ฯลฯ ), แต่จะอนุญาตให้เข้าถึงสิ่งที่อยู่ในรายการแรกของตารางพาร์ติชั่น ... มีเครื่องมือ (เรียกว่า BootICEx86.exe) ที่สามารถทำงานบน Windows ได้ โดยไม่จำเป็นต้องถอดปลั๊กยูเอสบี

พิเศษสุด: นอกจากนี้ยังมีบาง pendrives (ฉันโชคดีมากที่ได้เป็นเจ้าของ Sony 16GiB) กว่าสามารถเปลี่ยนได้เล็กน้อยด้วยเครื่องมือพิเศษ (เหมืองด้วยเครื่องมือจาก lexar) ดังนั้นพวกเขาจึงปรากฏเป็น Windows เป็น USB HDD แทน USB stick หลังจากการเปลี่ยนแปลงนั้นหน้าต่างทั้งหมดจะช่วยให้คุณสามารถลบสร้างและจัดการพาร์ติชันบนพาร์ติชันได้นอกจากนี้ยังสามารถติดตั้งได้มากกว่าหนึ่งตัวในเวลาเดียวกันโดยแต่ละตัวจะมีตัวอักษรของตัวเอง

ผู้ใช้ลีนุกซ์ไม่ต้องกังวลกับสิ่งนั้นเนื่องจากลีนุกซ์มองว่ามันเป็นอุปกรณ์บล็อกพาร์ติชั่นและไม่ได้ใช้โค้ดพิเศษเพื่อบล็อกพาร์ติชั่นการติดตั้ง, อื่น ๆ , อย่างที่มี

โอ้ใช่ย่อหน้าสุดท้ายนี้เขียนไว้ในกรณีที่บางคนใน M $ อ่านพวกเขาดังนั้นใบหน้าของพวกเขาหล่นลงไปที่พื้นฉันพยายาม (จะไม่ได้รับมันไม่เคยฉันรู้ว่ามันเป็น objetive ที่หายไป) ให้พวกเขาลบเช่น รหัสน่าเกลียดจาก Windows และให้ผู้ใช้มีพาร์ติชันบน usb stick ในลักษณะดั้งเดิม

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