“ ตรวจพบ GPT โปรดสร้างพาร์ติชัน BIOS-Boot” ในขณะที่ใช้การซ่อมแซมบูต


12

ตั้งแต่ฉันอัพเดท Windows เป็น 8.1 เมนู Grub ของฉันก็หายไป ฉันใช้ Ubuntu กับ Live USB ฉันใช้ Boot-Repair แต่มีบางอย่างผิดปกติ หากฉันคลิกที่การซ่อมแซมที่แนะนำฉันได้รับข้อผิดพลาดนี้:

ตรวจพบ GPT โปรดสร้างพาร์ติชัน BIOS-Boot (> 1MB, ระบบไฟล์ที่ไม่ฟอร์แมต, การตั้งค่าสถานะ bios_grub) สามารถดำเนินการผ่านเครื่องมือเช่น Gparted จากนั้นลองอีกครั้ง หรือคุณสามารถลองอีกครั้งหลังจากเปิดใช้งานตัวเลือก [แยก / boot / efi:]

ดังนั้นฉันจึงพยายามตั้งค่า sda9 ของฉัน (ฉันคิดว่ามันเป็นพาร์ติชันระบบ Ubuntu เนื่องจากมันเป็น ext4) ด้วยการตั้งค่าสถานะ bios_grub จากนั้นเรียกใช้ Boot-Repair อีกครั้ง มันไม่ทำงาน

ผมไม่ทราบว่าจะทำอย่างไร. My Grub ทำงานได้ดี (ใช้ UEFI) ก่อนที่ฉันจะอัพเดต Windows

ฉันลบธง bios_grub จากนั้นฉันก็ใช้fsckและไม่พบข้อผิดพลาดใด ๆ ดังนั้นฉันจึงลองอีกครั้งด้วย Boot-Repair แต่มันทำให้ฉันมีข้อผิดพลาด การบูตของฉันอยู่ในโหมด UEFI, Secure Boot นั้น "ปิด"

เมื่อฉันบูตพีซีด้วย SecureBoot OFF ฉันสามารถเข้าถึงเมนู GRUB แต่มันว่างเปล่า (เสียงเดียวคือ "การตั้งค่าระบบ")

ฉันติดตั้งดิสก์ระบบ Ubuntu ของฉัน:

sudo mount /dev/sda9 /mnt

และสิ่งอื่น ๆ :

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

ฉันเข้าสู่ระบบด้วยchroot:

sudo chroot /mnt

ฉันติดตั้งด้วงใหม่:

grub-install /dev/sda
update-grub2

แต่มันก็ยังไม่ทำงาน


สำหรับผู้อ่านในอนาคตคำตอบนี้จะแก้ไขให้ฉัน (บูตพาร์ติชันที่เกิดขึ้นจริงแล้วเรียกใช้grub-install): askubuntu.com/questions/546582/surface-pro-3-no-grub-menu/…
— CornSmith

คำตอบ:


11

อันดับแรกการbios_grubตั้งค่าสถานะในpartedหรือ GParted เป็นวิธีการระบุพาร์ติชันสำหรับบูต BIOS GRUB 2 ใช้พาร์ติชั่นนี้เพื่อเก็บบางส่วนของรหัสบูตเมื่อคอมพิวเตอร์บูทในโหมด BIOS โดยปกติจะมีขนาดประมาณ 1MiB ถึงแม้ว่ามันอาจจะเล็กกว่าในบางกรณี สิ่งสำคัญที่สุดคือถ้า Boot Repair เรียกใช้ตัวติดตั้ง GRUB อีกครั้งหลังจากที่คุณตั้งค่าbios_grubสถานะบน/พาร์ติชันLinux root ( ) ของคุณคุณอาจทิ้งถังขยะพาร์ติชันนั้น ดังนั้นก่อนที่คุณจะทำสิ่งใดฉันขอแนะนำให้คุณ:

  1. ลบbios_grubแฟล็กออกจาก/พาร์ติชันLinux root ( ) ของคุณ
  2. ทดสอบ/พาร์ติชันLinux root ( ) ของคุณด้วยfsck(หรือฟังก์ชันการทำงานที่เทียบเท่าใน GParted หรือเครื่องมือ GUI อื่น ๆ ) หากพาร์ติชันมีข้อผิดพลาดให้แก้ไขหรือกู้คืนระบบของคุณจากข้อมูลสำรอง เพียงครั้งเดียวที่คุณแน่ใจว่าคุณสามารถติดตั้งพาร์ติชันและใช้งานได้ตามปกติคุณควรดำเนินการต่อ

ประการที่สองคุณมีปัญหานี้เพราะคุณบูตดิสก์ฉุกเฉินในโหมด BIOS / CSM / แบบดั้งเดิมมากกว่าในโหมด EFI คุณต้องเรียนรู้วิธีควบคุมโหมดการบูตของคอมพิวเตอร์ โดยปกติคุณสามารถทำได้ผ่านตัวจัดการการบู๊ตที่เข้าถึงได้โดยกดปุ่ม Esc หรือปุ่มฟังก์ชั่น แต่เนิ่นๆในขั้นตอนการบู๊ต (ก่อนที่ GRUB จะปรากฏ) แต่ไม่มีมาตรฐานในการเข้าถึงตัวจัดการการบูตนี้หรือตัวเลือกที่มีให้ ดังนั้นคุณอาจต้องทดลองเพื่อหาสิ่งนี้

ข้อสามหากคุณสามารถหาวิธีการบูตซีดีสดของคุณในโหมด EFI การซ่อมแซมการบูตควรแก้ไขปัญหา อีกทางหนึ่งคุณควรจะใช้ตัวจัดการการบูตสำหรับรุ่นrEFIndของฉันเพื่อใช้ Linux ในการบูตลินุกซ์ เมื่อ Linux เปิดใช้งานแล้วคุณควรจะสามารถefibootmgrเรียกคืน GRUB เป็นบูตโหลดเดอร์เริ่มต้นได้ แต่รายละเอียดขึ้นอยู่กับวิธีการกำหนดค่าในขณะนี้ สั้น ๆ คุณต้องใช้-oตัวเลือกefibootmgrเพื่อตั้งค่ารายการ GRUB เป็นรายการแรก คำถามและคำตอบนี้ครอบคลุมประเด็นต่าง ๆ แทนที่จะเรียกคืน GRUB คุณสามารถลองติดตั้ง rEFInd ลงในฮาร์ดดิสก์ของคุณได้เช่นกัน


แก้ไข:ลองใช้ตัวจัดการการเริ่มระบบ rEFIndของฉัน:ใช้แฟลชไดรฟ์ USB หรืออิมเมจ CD-R เพื่อสร้างสื่อที่เหมาะสมและบูตจากนั้น สิ่งนี้จะให้ตัวเลือกแก่คุณสำหรับ Windows และอย่างน้อยหนึ่งตัวเลือกสำหรับ Linux หากคุณสามารถบูตทั้ง Windows และ Linux ให้ติดตั้งแพ็คเกจ Debian ของ rEFInd ใน Linux สิ่งนี้ควรเปลี่ยนคอมพิวเตอร์ให้ใช้ rEFInd เป็นค่าเริ่มต้นและคุณควรจะสามารถบู๊ตทุกอย่างได้ตามปกติ


ฉันลบธง bios_grub จากนั้นฉันใช้ fsck และไม่พบข้อผิดพลาดใด ๆ ดังนั้นฉันจึงลองอีกครั้งด้วย Boot-Repair แต่จะให้ข้อผิดพลาด "GPT ที่ตรวจพบ" เสมอ การบูตของฉันอยู่ในโหมด UEFI, Secure Boot นั้น "ปิด" ถ้าฉันใส่ Secure Boot "ใน" มันทำให้ฉันมีข้อผิดพลาดนโยบายความปลอดภัย ฉันจะแก้ไขข้อผิดพลาด GPT ได้อย่างไร
— Kurt Bourbaki

PS เมื่อฉันบูตพีซีด้วย SecureBoot OFF ฉันสามารถเข้าถึงเมนู GRUB แต่มันว่างเปล่า (เสียงเดียวคือ "การตั้งค่าระบบ")
— Kurt Bourbaki

โปรดลองใช้ rEFInd ตามที่แนะนำในการแก้ไขของฉัน
— Rod Smith

ฉันใช้ rEFInd แต่ผลลัพธ์เหมือนกัน มันแสดงให้ฉันเห็นว่าอินเตอร์เฟซที่มี 3 ตัวเลือก; เมื่อฉันเลือก Windows หรือ Ubuntu มันจะพาฉันกลับไปที่เมนูด้วงเช่นถ้าระบบกำลังรีบูต มันเหมือนกับว่าระบบไม่สามารถค้นหาไฟล์ที่เหมาะสมสำหรับการบูต (ฉันพยายามที่จะเดา) ในความเป็นจริงแม้ว่าฉันจะเลือก Ubuntu หรือ Windows จากการบูตระบบมันก็ยังพาฉันไปที่เมนูด้วง
— Kurt Bourbaki

1
Boot Repair บางครั้งจะแทนที่บูตเดอร์ Windows ด้วยสำเนา GRUB อีกชุดหนึ่งสำรองข้อมูลต้นฉบับเป็นไฟล์อื่น ในเมนู Boot Repair Advanced มีตัวเลือกในการกู้คืนการสำรองข้อมูลดังกล่าวดังนั้นคุณสามารถลองเรียกใช้แล้วใช้ rEFInd อาจเป็นไปได้ว่าต้นฉบับสูญหายไปซึ่งในกรณีนี้การกู้คืนจากข้อมูลสำรองหรือการใช้ดิสก์กู้คืน Windows อาจจำเป็น หาก rEFInd กำลังนำ GRUB ขึ้นมาเมื่อคุณเลือกvmlinuz*ตัวเลือกแสดงว่ามีบางอย่างผิดปกติกับระบบของคุณ คุณมีคอมพิวเตอร์ / เมนบอร์ดยี่ห้อใด
— ร็อดสมิ ธ

2

คุณสามารถจัดการปัญหานี้ได้ดังนี้:

  1. เริ่ม Gparted

  2. ระบุพาร์ติชันสำหรับเริ่มระบบ Mine เป็น 16.00MiB แรกในดิสก์ระบบของฉัน

  3. ลบพาร์ติชั่น (คุณจะไม่ต้องการลบพาร์ติชั่นที่ผิดและทำข้อมูลทั้งหมดหายไป! หยุดถ้าคุณไม่รู้ว่าคุณกำลังทำอะไร!)

  4. สร้างพาร์ติชันใหม่ (ห้ามฟอร์แมตไปที่ระบบไฟล์ใด ๆ ) ใช้การตั้งค่า

  5. แฟล็กพาร์ติชันใหม่เป็น bios_grub โดยใช้ตัวเลือก Manage Flags

ตอนนี้ให้ลอง boot-repair อีกครั้ง


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