การอัพเกรดจาก 13.10 เป็น 14.04 ทำให้ Grub เสีย


11

ฉันมีบูตคู่ Ubuntu + Windows 8 บนระบบ UEFI ทุกอย่างโอเคจนกระทั่งฉันอัพเกรดเป็น Ubuntu 14.04 จาก 13.10

ตอนนี้สิ่งที่ฉันได้รับเมื่อฉันบูตพีซีเป็นหน้าจอช่วยเหลือด้วงเช่นนี้:

Failed to open \EFI\Microsoft\Boot\grubx64.efi - 800000000000000E
Failed to load image
Failed to open \EFI\Microsoft\Boot\MokManager.efi.efi - 800000000000000E
Failed to load image
Welcome to GRUB!

error: symbol 'grub_term_highlight_color' not found.
grub rescue> 

การใช้การซ่อมแซมการบูตจากซีดีสด (ทั้ง 13.10 หรือ 14.10) รายงานว่ามีข้อผิดพลาดเกิดขึ้นและสร้างรายงานนี้: http://paste2.org/Y8mDwa0M

(ซ่อมแซมบูตบอกว่ามันจะติดตั้งแพคเกจจาก Ubuntu 13.10)

แต่ไม่มีอะไรเปลี่ยนแปลง

ถ้าฉันกด f12 ตอนบู๊ตฉันจะไปที่หน้าจอไบออส (เมนูบูต) ที่ฉันสามารถเลือกจาก hdd, usb, dvd reader และถ้าฉันคลิกบน HDD ฉันจะได้สามทางเลือก:

เลือกอุปกรณ์ที่จะบู๊ต:

Windows Boot Manager 
ubuntu
Ubuntu

ตัวเลือกของ Windows จะพาฉันกลับไปที่กู้ภัยด้วง

ด้วยสองตัวเลือกอื่นฉันได้รับเมนูด้วงที่ฉันสามารถเริ่ม Ubuntu แต่ตัวเลือกหน้าต่างไม่ทำงาน

ฉันไม่รู้จะทำยังไงดี

อัปเดต :

ขอบคุณสำหรับคำตอบฉันลองใช้ทั้งหมด (ติดตั้งด้วงมากกว่า 5 ครั้งจาก Ubuntu รุ่นต่าง ๆ บน USB sticks และใช้การบู๊ตซ่อมแซมบ่อยครั้ง แต่ไม่มีอะไรทำงาน)

ในตอนท้ายฉันใช้ rEFInd ( http://www.rodsbooks.com/refind/getting.html ) ซึ่งทำให้ฉันสามารถด้วงซึ่งฉันสามารถเริ่ม Ubuntu (แต่ไม่ใช่ windows) และเริ่ม windows ด้วยตัวเอง ใช้เมนู rEFInd

แต่แน่นอนว่าไม่ใช่วิธีแก้ปัญหาในอุดมคติ

อัปเดต 2:

ฉันมีเพียงหนึ่งดิสก์:

ป้อนคำอธิบายรูปภาพที่นี่

อัปเดต 3:

นี่เป็นข้อผิดพลาดที่ปรากฏขึ้นเมื่อฉันพยายามติดตั้งด้วงหรือเรียกใช้ด้วงติดตั้ง:

Installing for i386-pc platform. 
grub-install: Warning: This GPT partition label has no BIOS Boot Partition, the embed is not possible. 
grub-install: Warning: This embed is not possible. GRUB can only be installed in this configuration using blocklist. The blocklist however, are not reliable and it is not recommended to use ..
Installation completed, no errors reported.
Generating grub configuration file ... 
Found linux image: / boot/vmlinuz-3.13.0-24-generic 
Found initrd image: / boot/initrd.img-3.13.0-24-generic 
Found linux image: / boot/vmlinuz-3.11.0-19-generic 
Found initrd image: / boot/initrd.img-3.11.0-19-generic 
Found linux image: / boot/vmlinuz-3.11.0-7-generic 
Found initrd image: / boot/initrd.img-3.11.0-7-generic 
Found linux image: / boot/vmlinuz-3.11.0-5-generic 
Found initrd image: / boot/initrd.img-3.11.0-5-generic 
Found linux image: / boot/vmlinuz-3.11.0-4-generic 
Found initrd image: / boot/initrd.img-3.11.0-4-generic 
Found linux image: / boot/vmlinuz-3.11.0-3-generic 
Found initrd image: / boot/initrd.img-3.11.0-3-generic 
Found linux image: / boot/vmlinuz-3.11.0-2-generic 
Found initrd image: / boot/initrd.img-3.11.0-2-generic 
Found Windows Boot Manager on / dev/sda2 @ / EFI / Microsoft / Boot / Bootmgfw.efi 
Adding boot menu entry for the EFI firmware configuration 
done

(แปลจากอิตาลี)



ฉันได้ลองคำสั่งเหล่านี้แล้ว แต่ติดอยู่กับ chroot ฉันได้รับข้อผิดพลาด: "chroot: ล้มเหลวในการเรียกใช้คำสั่ง` / bin / bash ': ข้อผิดพลาดของรูปแบบ Exec

มีข้อผิดพลาดเดียวกันไปที่ 14.04 สิ่งนี้ช่วยฉันได้: wiki.ubuntuusers.de/GRUB_2/Reparaturเกือบเหมือนกับคำตอบของ freeseek

1
@ Larry ดูโพสต์ด้านล่างวิธีที่ 3 # 1 เป็นปัญหาของคุณคุณไม่สามารถใช้รูทการเปลี่ยนแปลง 32 บิตเพื่อซ่อมแซมระบบ 64 บิต
eyoung100 100

คำตอบ:


7

ฉันไม่ได้ทดสอบกับด้วงที่แตกหักใน 14.04 แต่ฉันไม่เคยมีปัญหาโดยใช้คำแนะนำเหล่านี้:
https://wiki.ubuntu.com/Grub2#Recover

ก่อนอื่นคุณต้องเริ่มระบบของคุณจาก live cd หรือ usb แล้วก็

" วิธีที่ 3 - CHROOT

วิธีการติดตั้งนี้ใช้คำสั่ง chroot เพื่อเข้าถึงไฟล์ของระบบที่เสียหาย เมื่อออกคำสั่ง chroot แล้ว LiveCD จะถือว่าระบบ / ที่เสียหายเป็นของตัวเอง คำสั่งที่รันในสภาพแวดล้อม chroot จะส่งผลกระทบต่อระบบไฟล์ที่เสียหายและไม่ใช่ของ LiveCD

1) Boot ไปที่ LiveCD Desktop (Ubuntu 9.10 ขึ้นไป) โปรดทราบว่า Live CD จะต้องเหมือนกับระบบที่คุณกำลังแก้ไข - ทั้ง 32- บิตหรือ 64- บิต (หากไม่เป็นเช่นนั้น chroot จะล้มเหลว)

2)เปิดเทอร์มินัล (แอปพลิเคชั่น> อุปกรณ์เสริม> เทอร์มินัล)

3)กำหนดพาร์ติชันระบบปกติของคุณ - (สวิตช์เป็นตัวพิมพ์เล็ก "L")

sudo fdisk -l

หากคุณไม่แน่ใจให้เรียกใช้

df -Th  

ค้นหาขนาดดิสก์ที่ถูกต้องและรูปแบบ ext3 หรือ ext4

4)เมานต์พาร์ติชันระบบปกติของคุณ:

แทนพาร์ติชันที่ถูกต้อง: sda1, sdb5 เป็นต้น

sudo mount /dev/sdXX /mnt  

ตัวอย่าง: sudo mount / dev / sda1 / mnt

5)เฉพาะในกรณีที่คุณมีพาร์ติชันสำหรับบูตแยกต่างหาก: sdYY คือการกำหนด / boot partition (ตัวอย่างเช่น sdb3)

sudo mount / dev / sdYY / mnt / boot 
6) ติด ตั้งระบบไฟล์เสมือนที่สำคัญ:
sudo mount - ผูก / dev / mnt / dev
sudo mount - ผูก / dev / pts / mnt / dev / pts
sudo mount - ผูก / proc / mnt / proc
sudo mount - ผูก / sys / mnt / sys 
7) Chroot เป็นอุปกรณ์ระบบปกติของคุณ:

sudo chroot / mnt 

8)หากไม่มี /boot/grub/grub.cfg หรือไม่ถูกต้องให้สร้างโดยใช้

ปรับปรุงด้วง 

9) ติดตั้ง GRUB 2 อีกครั้ง:

แทนที่อุปกรณ์ที่ถูกต้อง - sda, sdb ฯลฯ อย่าระบุหมายเลขพาร์ติชัน

grub-install / dev / sdX 

10)ตรวจสอบการติดตั้ง (ใช้อุปกรณ์ที่ถูกต้องเช่น sda อย่าระบุพาร์ติชั่น):

sudo grub-install --recheck / dev / sdX 

11) Exit chroot: CTRL-D บนคีย์บอร์ด

12) ถอนติดตั้งระบบไฟล์เสมือน:

sudo umount / mnt / dev / pts
sudo umount / mnt / dev
sudo umount / mnt / proc
sudo umount / mnt / sys 

13) ถ้าคุณติดตั้งพาร์ติชั่น / บูตแยก:

sudo umount / mnt / boot 

14) ถอนติดตั้งไดเรกทอรี / usr ของ LiveCD:

sudo umount / mnt / usr 

15) ถอนติดตั้งอุปกรณ์สุดท้าย:

sudo umount / mnt 

16) รีบูต

sudo รีบูต 
"

นอกจากนี้ยังมีวิธีอื่นในการซ่อมแซมด้วง: ฉันจะซ่อมด้วงได้อย่างไร (จะติดตั้ง Ubuntu ได้อย่างไรหลังจากติดตั้ง Windows)


1
ขั้นตอนที่ 3,4 และ 9 ทำงานให้ฉัน ขอบคุณ
ezdazuzena

1
การซ่อมแซมการบูตล้มเหลวอย่างน่าสังเวช แต่สิ่งนี้ใช้ได้อย่างไม่มีที่ติสำหรับฉัน
Jon Skarpeteig

2

มีข้อผิดพลาดเดียวกัน "สัญลักษณ์ 'ไม่พบ grub_term_highlight_color'" ติดอยู่ที่กู้ภัยกรับ พยายามซ่อมแซมบูต (ตัวเลือกที่แนะนำ) แต่ใช้งานไม่ได้!

วิธีแก้ปัญหา: ดาวน์โหลด boot-repair.iso ที่ดาวน์โหลดได้ ( http://sourceforge.net/projects/boot-repair-cd/ ) และสร้างดิสก์ usb ที่สามารถบู๊ตได้ บูตจากมันและเชื่อมต่อกับอินเทอร์เน็ตและเริ่ม "การซ่อมแซมที่แนะนำ" จากนั้นทำตามคำแนะนำในไม่กี่ขั้นตอน (ลบ / ถอนการติดตั้งด้วงแล้วติดตั้งรุ่นใหม่) ซึ่งเหมาะกับฉัน! ฉันเดาในกรณีของคุณด้วงควรจะถอนการติดตั้งแล้วติดตั้งใหม่บน sda8 แทน sdb1


สิ่งนี้ใช้ได้กับฉัน: ฉันได้ดาวน์โหลดอิมเมจซ่อมแซมซีดีบูต - ฉันใช้ x64 เนื่องจากการติดตั้ง Ubuntu คือ x64 จากนั้นติดตั้ง ISO ผ่านUNetbootin ทำการซ่อมและวิโอล่าเป็นประจำ!
Meta

ดิสก์ที่บูตได้ (64 บิตรุ่น 14.04 เดสก์ท็อป) ที่มีการซ่อมแซมการบูตยังทำงานได้สำหรับฉันหลังจากอัปเกรดจาก 13.10 เป็น 14.04 ในส่วนของฉันฉันทำตามคำแนะนำที่นี่ (ตัวเลือกที่ 2) และคลิก "แนะนำการซ่อมแซม" ในเครื่องมือจากนั้นด้วงก็ทำงานอีกครั้ง!
Krøllebølle

2

ฉันมีปัญหาเดียวกัน ฉันเดาว่าเนื่องจากฉันมีฮาร์ดไดรฟ์สองตัวระบบจึงพยายามเริ่มต้นจากไดรฟ์ที่ผิดที่มี GRUB รุ่นเก่าติดตั้งอยู่ ทางออกของฉันคือการเริ่ม Ubuntu ด้วยแท่ง USB (ไม่สำคัญว่ารุ่นไหน) เมื่อคุณเริ่มต้นคำสั่งเหล่านี้จะทำมันเรียกใช้เป็นราก:

mkdir /tmp/drive
sudo mount /dev/sdX1 /tmp/drive
sudo mount --bind /dev /tmp/drive/dev
sudo mount --bind /proc /tmp/drive/proc
sudo mount --bind /sys /tmp/drive/sys
sudo chroot /tmp/drive
dpkg-reconfigure grub-pc

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


ฉันจะได้รับการติดตั้ง: ติดจุด / tmp / ไดรฟ์ / dev ไม่อยู่
alemur

1
@Akmur คุณลืม - อาจเป็นไปได้หรือติดตั้งไดรฟ์ที่ไม่ถูกต้อง? - ผูกใช้ระบบแฟ้มในไดรฟ์ของ usb และแทนที่ / dex / sdX1 / dev กับ usedevice / dev
eyoung100

@Akmur คุณอาจติดตั้งพาร์ทิชันผิด เมื่อฉันพูดถึง sdX1 สิ่งนี้จำเป็นต้องอ้างถึงพาร์ติชันสำหรับเริ่มระบบของคุณซึ่งควรมีไดเรกทอรี dev, proc, sys อยู่แล้ว หากสิ่งเหล่านั้นไม่ได้อยู่ที่นั่นนั่นเป็นไปได้ว่าคุณกำลังติดตั้งพาร์ติชันผิด หากคุณเชื่อว่าคุณได้ติดตั้งพาร์ทิชันที่ถูกต้องแล้วอาจจะไปและสร้างไดเรกทอรีที่ขาดหายไปด้วย mkdir
freeseek

1

ฉันมีข้อผิดพลาดเดียวกันอัพเกรดจาก 13.10 เป็น 14.04 คำแนะนำเหล่านี้ดูน่ากลัวสำหรับฉัน

ฉันลงเอยด้วยการสร้างไดรฟ์ USB ที่สามารถบู๊ตได้พร้อมดิสก์ Super Grub ในนั้น http://www.supergrubdisk.org/

บูตจากที่ ตอนบูตบอกให้ตรวจจับ OS ที่ติดตั้ง พบ Ubuntu 14.04 ของฉันติดตั้งดังนั้นฉันจึงบอกให้บูตเครื่อง booted up ไม่มีปัญหา

ฉันได้ติดตั้ง Boot Repair ไว้ในระบบแล้ว https://sourceforge.net/p/boot-repair

เรียกใช้และยอมรับการเปลี่ยนแปลงเริ่มต้น

ปิดตัวลง. เอาไดรฟ์ USB ออกจากสล็อตกดไฟแล้วรอด้วยลมหายใจค้าง

ระบบบูตตามปกติ! แก้ไขปัญหา.


OP ระบุว่าการซ่อมแซมการบู๊ตไม่ทำงานดังนั้นอาจไม่ใช่คำตอบ
เล็ก ๆ น้อย ๆ

1

ฉันเดาว่าคุณมีไฟล์ EFI ค้างในพาร์ติชัน EFI ของคุณ มีข้อผิดพลาดของ launchpad ที่เฉพาะเจาะจงกับสถานการณ์ของ EFIซึ่งฉันสงสัยว่าจะอยู่ที่กรณีของคุณ มันใช้งานได้สำหรับฉันหลังจากที่ข้อเสนอแนะอื่น ๆ ไม่ได้ การแก้ไขคือการปรับปรุง EFI ไฟล์ด้วยตนเอง ด้านล่างเป็นทางเดิน โปรดทราบว่าคุณจะต้องทดแทนพาร์ติชัน EFI /dev/sda1ของคุณในสถานที่ของ

  1. บูตซีดีสด
  2. เปิด xterm
  3. ใช้แยกส่วนเพื่อกำหนดพาร์ติชัน EFI ของคุณ: sudo parted -l(แทน / dev / sda1 ในขั้นตอนถัดไป)
  4. เมานต์พาร์ติชัน EFI ของคุณ: sudo mount /dev/sda1 /mnt
  5. อัปเดตไฟล์ Boot EFI: sudo cp /mnt/EFI/ubuntu/grubx64.efi /mnt/EFI/Boot/bootx64.efi

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