13.10'dan 14.04'e yükseltme Grub'u kırdı


11

Bir UEFI sisteminde çift önyükleme Ubuntu + Windows 8 var. Ben 13.10 Ubuntu 14.04 yükseltme kadar her şey ok.

Şimdi pc önyükleme yaparken ne olsun aşağıdaki gibi bir grub kurtarma ekranı:

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> 

Canlı bir cd'den (13.10 veya 14.10) önyükleme onarımını kullanmak bir hata oluştuğunu bildirir ve bu raporu oluşturur: http://paste2.org/Y8mDwa0M

(Önyükleme onarımı, Ubuntu 13.10'dan paketleri yükleyeceğini söylüyor)

ama hiçbir şey değişmez.

Önyükleme sırasında f12 tuşuna basarsam, hdd, usb, dvd okuyucu arasından seçim yapabileceğim bir bios ekranına (Boot Menu) gidiyorum ve HDD'yi tıklarsam üç seçenek elde ederim:

Önyüklemek için bir cihaz seçin:

Windows Boot Manager 
ubuntu
Ubuntu

Windows seçeneği beni grub kurtarmaya geri götürüyor.

Diğer iki seçenekle Ubuntu'yu başlatabildiğim bir grub menüsüne gidiyorum ama pencere seçeneği çalışmıyor

Artık ne yapacağımı bilmiyorum

Güncelleme :

Cevaplar için teşekkürler, aslında hepsini denedim (USB çubuklarda Ubuntu'nun farklı sürümlerinden 5 kereden fazla yeniden kurdum ve önyükleme onarımını çok kez kullandım, ancak hiçbir şey işe yaramadı)

Sonunda Ubuntu'yu (ancak pencereleri değil) başlatabildiğim ve pencereleri tek başına başlatabileceğim gruba girmeme izin veren rEFInd ( http://www.rodsbooks.com/refind/getting.html ) kullanıyorum. REFInd menüsünü kullanarak.

Ama elbette bu ideal bir çözüm değil

Güncelleme 2:

Sadece bir diskim var:

resim açıklamasını buraya girin

Güncelleme 3:

grub yüklemeye veya grub-install çalıştırmaya çalıştığımda görünen hata bu:

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

(italyanca tercüme edilmiştir)



Ben bu komutları denedim ama chroot takıldı. Bir hata alıyorum: "chroot:` / bin / bash 'komutu çalıştırılamadı: Exec format error

14.04'e giderken aynı hatayı aldım , bu bana yardımcı oluyor: wiki.ubuntuusers.de/GRUB_2/Reparatur , neredeyse freeseek'in cevabı ile aynı

1
@Larry Aşağıdaki Gönderiye Bakın, Yöntem 3 # 1 sizin sorununuz, 64 bitlik bir sistemi onarmak için 32 bitlik bir kök kullanamazsınız.
eyoung100

Yanıtlar:


7

Bunu 14.04'te kırık bir grubla test etmedim, ancak şu talimatları kullanarak asla sorun yaşamadım:
https://wiki.ubuntu.com/Grub2#Recover

Her şeyden önce, sisteminizi canlı bir cd veya usb'den başlatmalısınız. Sonra

" YÖNTEM 3 - KROK

Bu yükleme yöntemi, bozuk sistemin dosyalarına erişmek için chroot komutunu kullanır. Chroot komutu verildikten sonra, LiveCD bozuk sistemin / kendisine ait olduğunu düşünür. Chroot ortamında çalıştırılan komutlar, LiveCD'nin kırık sistem dosya sistemlerini etkilemez.

1) LiveCD Masaüstüne önyükleme yapın (Ubuntu 9.10 veya üstü). Canlı CD'nin, düzelttiğiniz sistemle aynı olması gerektiğini lütfen unutmayın - 32 bit veya 64 bit (eğer değilse, bu başarısız olur).

2) Bir terminal açın (Uygulamalar> Aksesuarlar> Terminal).

3) Normal sistem bölümünüzü belirleyin - (anahtar küçük harf "L")

sudo fdisk -l

Emin değilseniz koş

df -Th  

Doğru disk boyutunu ve ext3 veya ext4 biçimini arayın.

4) Normal sistem bölümünüzü monte edin:

Doğru bölümü değiştirin: sda1, sdb5, vb.

sudo mount /dev/sdXX /mnt  

Örnek: sudo mount / dev / sda1 / mnt

5) Yalnızca ayrı bir önyükleme bölümünüz varsa: sdYY / boot bölüm atamasıdır (örneğin sdb3)

sudo dağı / dev / sdYY / mnt / önyükleme 
6) Kritik sanal dosya sistemlerini bağlayın:
sudo dağı - bağlama / dev / mnt / dev
sudo dağı - bağlama / dev / pts / mnt / dev / pts
sudo dağı - bağlama / proc / mnt / proc
sudo dağı - bağlama / sys / mnt / sys 
7) Normal sistem cihazınıza Chroot:

sudo chroot / mnt 

8) /boot/grub/grub.cfg yoksa veya doğru değilse, kullanarak bir tane oluşturun.

update-grub 

9) GRUB 2'yi yeniden yükleyin:

Doğru cihazı değiştirin - sda, sdb, vb. Bir bölüm numarası belirtmeyin.

grub-install / dev / sdX 

10) Kurulumu doğrulayın (doğru cihazı kullanın, örneğin sda. Bir bölüm belirtmeyin):

sudo grub-install --recheck / dev / sdX 

11) Çıkış krokisi: Klavyede CTRL-D

12) Sanal dosya sistemlerini çıkarın:

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

13) Ayrı bir / önyükleme bölümü kurduysanız:

sudo umount / mnt / önyükleme 

14) LiveCD'nin / usr dizinini çıkarın:

sudo umount / mnt / usr 

15) Son cihazın bağlantısını kesin:

sudo umount / mnt 

16) Yeniden başlatın.

sudo yeniden başlatma 
"

Ayrıca grub'u onarmanın diğer yolları: Grub'u nasıl onarabilirim? (Windows'u yükledikten sonra Ubuntu nasıl geri alınır?)


1
Adım 3,4 ve 9 benim için işi yaptı. Teşekkürler
ezdazuzena

1
boot-onarım perişan başarısız oldu - ama bu benim için kusursuz çalıştı
Jon Skarpeteig

2

Aynı hata "grub_term_highlight_color 'bulunamadı" sembolü vardı, Grub kurtarma sıkışmış. Önyükleme onarım çalıştı (önerilen seçenek), ancak işe yaramadı!

Çözüm: Önyüklenebilir boot-repair.iso ( http://sourceforge.net/projects/boot-repair-cd/ ) indirildi ve önyüklenebilir bir usb disk yaptı. Ondan önyükleme yaptı ve internete bağlandı ve "Önerilen Onarım" ı başlattı, sonra benim için çalışan birkaç adımda (silindi / kaldırıldı ve yeni bir sürümü yeniden yükledi) talimatları takip etti! Sanırım senin durumda grub kaldırılmalı ve daha sonra sdb1 yerine sda8 üzerine yeniden yüklenmelidir.


Bu benim için çalışıyor: önyükleme onarım cd görüntü indirdim - Ubuntu kurulum x64 olarak x64 kullandım. Sonra unetbootin ile ISO kuruldu . Düzenli onarım ve viyola gerçekleştirildi!
Meta

Önyükleme onarımıyla önyüklenebilir disk (64 bit 14.04 Masaüstü sürümü) 13.10'dan 14.04'e yükselttikten sonra benim için de çalıştı. Benim için burada talimatları (2. seçenek) takip ve araçta "Önerilen onarım" tıkladı ve sonra grub aniden tekrar çalıştı!
Krøllebølle

2

Aynı problemi yaşadım. Benim tahminim, iki sabit diskim olduğundan, sistemin eski bir GRUB sürümünün kurulu olduğu yanlış sürücüden başlamaya çalıştığıdır. Benim çözümüm Ubuntu'yu bir USB bellek ile başlatmaktı (hangi versiyonun önemli olmadığı). Başladıktan sonra, bu komutlar bunu yapar, root olarak çalıştırır:

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, sisteminizin kurulu olduğu sürücü olmalıdır. Son komutu çalıştırdığınızda, sdX sürücüsünü seçmelisiniz, ancak birkaç kez çalıştırdığınızı tahmin ediyorum, her sürücüye grubun yeni sürümünü yükleyecek ve size bir parça zihin verecektir.



1
@Akmur unuttun mu - muhtemelen bağla ya da yanlış sürücüyü tak? --bind, usb sürücüsünde dosya sistemini alır ve / dex / sdX1 / dev yerine usedevice / dev ile değiştirir
eyoung100

@Akmur muhtemelen yanlış bölüm oluşturdunuz. SdX1'den bahsettiğimde, bunun zaten dev, proc, sys dizinlerini içermesi gereken önyükleme bölümünüze başvurması gerekir. Bunlar orada değilse, büyük olasılıkla yanlış bölümü monte ediyorsunuz. Doğru bölümü kurduğunuzu düşünüyorsanız, belki de devam edin ve mkdir ile eksik dizinleri oluşturun.
freeseek

1

Aynı hatayı 13.10'dan 14.04'e yükseltme yaptım. Bu talimatlar benim için biraz ürkütücü görünüyordu.

Sonunda Super Grub Disk ile önyüklenebilir bir USB sürücü oluşturdum. http://www.supergrubdisk.org/

Ondan başladım. Önyükleme sırasında yüklü işletim sistemlerini algılamasını söyledi. Benim Ubuntu 14.04 yüklemesini buldu, bu yüzden önyükleme yapmasını söyledim. Hiçbir sorun önyükleme.

Sistemimde zaten Boot Repair vardı. https://sourceforge.net/p/boot-repair

Koştu ve varsayılan değişiklikleri kabul etti.

Kapat. USB sürücüsünü yuvadan çıkardı, gücü bastırdı ve nefesle bekledi.

Sistem normal şekilde başlatıldı! Sorun çözüldü.


OP, Önyükleme Onarımı'nın çalışmadığını, bu yüzden muhtemelen bir cevap olmadığını belirtti.
mikewhatever

1

Tahminimce EFI bölümünüzde eski EFI dosyaları var. Davanızın ele alındığından şüphelendiğim EFI durumuna özgü bir başlatma alanı hatası var . Tüm diğer öneriler sonra benim için çalıştı. Düzeltme, EFI dosyalarını manuel olarak güncellemektir . Aşağıda bir gözden geçirme. EFI bölümünüzü yerine değiştirmeniz gerektiğini unutmayın /dev/sda1.

  1. Canlı CD'ye önyükleme
  2. Xterm'i aç
  3. EFI bölümünüzü belirlemek için ayrıştırmayı kullanın: sudo parted -l(sonraki adımda / dev / sda1 yerine)
  4. EFI bölümünüzü monte edin: sudo mount /dev/sda1 /mnt
  5. Önyükleme EFI dosyasını güncelleyin: sudo cp /mnt/EFI/ubuntu/grubx64.efi /mnt/EFI/Boot/bootx64.efi

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.