Grub-efi önyükleyiciyi Fedora Linux'a nasıl yeniden yüklerim?


12

Yakın zamanda EFora önyükleme kullanarak Fedora 18'i kurdum. Diğer mevcut linux dağıtımları gibi, benim için GRUB2 kurar.

İşler ters gittiğinde GRUB'un BIOS sürümünü yeniden yükleme konusunda deneyimim var . Bir kurtarma diskini nasıl önyükleyebileceğimi, kurulu sistemde nasıl çalışacağımı grub-installve update-grub/ grubby/ çalıştıracağımı biliyorum grub-mkconfig.

İşler ters gittiğinde GRUB'un EFI sürümünü nasıl yeniden yüklerim? (İşlerin yanlış gideceğini biliyorum: Onları kırıyorum).


Neden belirsiz bir soru sordunuz ve hemen cevapladınız? Size değiştirilen bilerek: yanıtın yararlı bilgiler sağlar rağmen, soru gerçekten açıklanmasını ihtiyacı şey yeterli değildir. Neyin değiştiğini tam olarak anlamak, soruya iyi bir yanıt vermek için gerçekten gereklidir.
Rod Smith

@RodSmith daha önce EFI hakkındaki e-postalarıma cevap verdiğiniz için teşekkürler :). Ve yorumlarınızı aşağı oylara eklemek için. Başladığım soru tam anlamıyla buydu. Grub-pc'nin yeniden yüklenmesi konusunda deneyimliyim. EFI sistemini nasıl kurtaracağımı bildiğimden aynı düzeyde bir güven duymak istiyorum. Grubun yeniden yüklenmesi ile ilgili olduğunu vurgulamak için soruyu bir kez düzenledim ... Sanırım tekrar denemem ve nedenim hakkında daha açık olmalıyım.
sourcejedi

UEFI'niz varsa neden grub kullanıyorsunuz? İki önyükleyicinin zincirlenmesi ne gibi bir avantaj sağlar?
Marco

@Marco UEFI, bildiğim herhangi bir linux dağıtımı tarafından desteklenen önyükleme yükleyicisi değil! Fedora, yeni bir çekirdek yüklediğinde GRUB'u otomatik olarak günceller ve root = gibi gerekli önyükleme seçeneklerini yükler. EFI için bunu yapmaz. Ben olabilir dağıtım desteği ve kullanımı terk refind.conf içinde / çekirdek seçenekleri w refind otomatik tarama , ancak yine de önyükleyici / yöneticileri zincirleme olurdu! Ve Microsoft GPL sürücüleri imzalamak yok, bu yüzden Güvenli Önyükleme vardır zaten SHIM-> önyükleme Yükleyici-> Linux gitmek ve gerçekten UEFI-> SHIM bölümünden sonra bir önyükleme menüsü istiyorum.
sourcejedi

Yeni bir çekirdek kurduktan sonra efibootmgr, UEFI menüsündeki girişi güncellemek için tek bir çağrı yeterlidir. REFInd veya SHIM hakkında bilmiyorum. Şahsen birden fazla önyükleme yükleyicisini zincirlemiyorum. Tüm işletim sistemleri UEFI önyükleme menüsüne eklenir ve mükemmel çalışır.
Marco

Yanıtlar:


9

İlk olarak, bir EFI-boot linux sistemine ihtiyacınız olacak . Hala orijinal kurulum ortamınız (CD / DVD / USB çubuğu) varsa, bu genellikle yeterli bir kurtarma sistemi içermelidir. Hatta tek tıklamayla tamir seçeneği olabilir :).

Alternatif olarak, Ubuntu topluluğu otomatik bir önyükleme onarım görüntüsü sağlar. Fedora'yı desteklediğini iddia ediyor. Gerçekten ne yaptığını bilmek istiyorsanız, bu üçüncü taraf açıklamasını önceden okumanızı öneririz .

Ancak konsol araçlarıyla genel amaçlı bir kurtarma sistemi kullandım. EFI önyüklemesini desteklemenin yanı sıra efibootmgr, paketler listesinde olduğundan emin oldum . GRML olarak adlandırıldı ve Debian'a dayanıyordu. Fedora sistemimi kurtarırken keşfettiğim konsol araçları ve grub-efi hakkında bilgiler:

  1. EFI tarafından önyüklenen bir Fedora 18 sistemini çalıştırırken çalıştırmayıngrub2-install . Başarı iddiasında bulunacak, ancak Fedora grub-efi önyükleme sistemini bozuyor.

    • Dosya /boot/EFI/fedora/grub.efigrub-efi paketi tarafından yüklenir. Eğer varsa yok , kullanımı yeniden yükleyin istiyorum yum reinstall grub-efi. (Jenerik kurtarma sisteminden Bunu yapmak için, sonra bunu yapabilirsiniz mounting ve chrootyüklü Fedora sisteme ing). Fedora grub-efi, yapılandırma dosyasını kullanır /boot/EFI/fedora/grub.cfg(muhtemelen grubby tarafından oluşturulur). EFI üzerindeki Fedora, konumunda bir dosya oluşturmayacak /boot/grub2/grub.cfg. Çalıştırmak grub2-installgrub.efi'yi okumaya çalışan bir görüntü ile değiştirir /boot/grub2/grub.cfgve bu nedenle başarısız olur.

    • grub2-installiçin bir EFI önyükleme girdisi yükler grub.efi. Ancak, Windows 8 sertifikalı ürün yazılımınızda Güvenli Önyüklemeyi devre dışı bırakmadıysanız, bu giriş önyükleme yapamaz. Bunun shim.efiyerine önyükleme yapmanız gerekiyor (yoksay shim-fedora.efi, tam olarak ne olduğundan emin değilim). Aşağıya bakınız.

  2. Bellenim ayarlarınız sıfırlanırsa, Fedora için EFI önyükleme girişinizi kaybedebilirsiniz. (Manuel olarak veya bellenim yükseltme ile veya bellenim buggy olduğu için - ikincisi vahşi olarak bildirilmiştir). Güvenli önyüklemeli Fedora için elle bir EFI önyükleme girdisini nasıl oluşturacağınız aşağıda açıklanmıştır:

    $ sudo efibootmgr -c -L Fedora -d /dev/sda -p 100 -l \\EFI\\fedora\\shim.efi
    

    Bu örnekte, linux tarafından tanınan ilk standart diskte 100 numaralı bölüm kullanılmaktadır. Seçenekleri ayarlamanız -d /dev/sdave -p 100Fedora'nın bağlı olduğu dosya sistemini tanımlamanız gerekir /boot/efi. Bu bir EFI sistem bölümüdür. Fedora yükleyicisi, Fedora kurulumunuzun kullanması için, diğer işletim sistemleri tarafından kullanılan ESP'lerden ayrı olarak özel bir ESP oluşturmuş olacaktır . ( Bu Ubuntu ve OpenSUSE'den farklıdır ).

    efibootmgrKomutun EFI önyüklemeli bir sistemden çalıştırmanızı gerektirdiğini unutmayın .


"Efibootmgr komutunun, EFI önyüklemeli bir sistemden çalıştırmanızı gerektirdiğini unutmayın." - bu durumda EFI önyüklemeli bir sistemi nasıl "önyükleme" yaparsınız? (UEFI seçeneğini seçerken mevcut
USB'm

1
Ortam yükleme, sisteminizi önyüklemenin desteklenen yoludur. Ben de EFI firmware değişkenleri kurmadan bir EFI sistemi önyükleme yapabilmeniz gerektiğini düşünüyorum, /EFI/boot/bootx64.efi(64-bit UEFI varsayarak) oluşturma içerir . USB kurulum medyası tam olarak bu şekilde çalışır (CD'ler / DVD'ler dışında herhangi bir şey). Orada shim.efi kopyalamak yeterli olabilir, ancak bunun işe yarayıp yaramadığından emin değilim.
sourcejedi

5

UEFI Windows ile çift önyükleme yapıyorsanız başka bir olasılık daha var. kurtarma diski gerektirmez.

Windows'a önyükleme yapabilir, yönetici ayrıcalıklarına sahip bir komut satırı açabilir ve aşağıdaki komutu çalıştırabilirsiniz:

bcdedit /set {bootmgr} path \EFI\fedora\shim.efi

Bu, UEFI'deki Windows önyükleme girdisini GRUB'a önyükleme ile değiştirir. GRUB menünüzün Windows için çalışan bir giriş içerdiğini varsayarsak, şimdi çift önyükleme :-) var. Umarım bunların hepsi Güvenli Önyüklemeyi devre dışı bırakmadan çalışmalıdır.

Bir Windows güncellemesinden sonra kendim yapmak zorunda kaldım ve hile yapmış gibi görünüyor.

Kaynak ve daha fazla bilgi: http://nwrickert2.wordpress.com/2013/05/13/notes-on-uefi-windows-and-linux/ .


Alternatif olarak, askubuntu.com/a/799734/462004 adresinde açıklanan iki çözüme bakın ( EasyUEFI kullanarak veya bcdedit.exekomutunuzun yaptığı gibi Windows girişi yerine önyükleme sırasını nasıl değiştireceğiniz ).
phk

1

https://fedoraproject.org/wiki/GRUB_2?rd=Grub2#Updating_GRUB_2_configuration_on_UEFI_systems :

dnf reinstall grub2-efi grub2-efi-modules shim

(bu paketlerin zaten kurulu olduğunu ve önceki bir yapılandırmanın mevcut olduğunu varsayarsak)


Teşekkürler! "Bir önyükleme menüsü girişi oluşturun: TL; DR: Bu otomatik olarak gerçekleşmelidir" - yay.
sourcejedi

Oh evet, öyle: grub2-mkconfig -o /boot/grub2/grub.cfg(veya bir (U) EFI sisteminde böyle bir şey olurdu grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg. Çalışmadı mı?

Maalesef, wiki'nin grub paketini yeniden kurmanın GRUB'u önyüklemek için gerekli olan EFI değişkenlerini yeniden oluşturduğunu ima ediyordu (bu, örneğin "BIOS" ayarlarını herhangi bir nedenle sıfırlarsanız yeniden oluşturulması gerekebilir). Denediğimi sanmıyorum dnf reinstallve eğer doğruysa kulağa harika geliyor.
sourcejedi

0

Sadece basit tutmak için tek yapmanız gereken:

yum reinstall grub2-efi

Grub2-install'i çalıştırmayın, boş bir grub önyükleme menüsü sunarak sisteminizi kıracaktır (grub2-install size grub.cfg dosyasını yanlış konumdan yüklemeye çalışan kötü / genel bir .efi dosyası verecektir.

Ayrıca, yeni disklere geçtiyseniz veya bölüm / mizanpajınız şu şekilde değiştiyse grub-config'inizi güncellemek isteyebilirsiniz:

grub2-mkconfig -o /boot/EFI/fedora/grub.cfg

Bazı onay okumak güzel :). Grub2-mkconfig'in nasıl kullanılması gerektiğini gösteren bir düzenleme önerdim -o. Basit cevabın ne kadar yararlı olduğunu bilmiyorum - benimki kesinlikle daha kullanışlı değil, ancak bu hala Fedora sistemini bir şekilde önyükleyebileceğinizi veya kapatmadan önce bir hata yaptığınızı fark ettiğinizi varsayar . (Cevabım genel kurtarma diskleri hakkında el dalgaları var, ancak AFAIK, yüklemeye bağlı kalmanız ve gereken dosya sistemlerini taktığınızdan emin olmanız gerekir ... Debian yükleyici gibi özel bir kurtarma sistemi hakkında güzel bir şey, mount + chroot senin için).
sourcejedi
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.