web-dev-qa-db-ja.com

Fedora Linuxにgrub-efiブートローダーを再インストールするにはどうすればよいですか?

最近、EFIブートを使用してFedora 18をインストールしました。他の現在のLinuxディストリビューションと同様に、GRUB2をセットアップします。

[〜#〜] bios [〜#〜]バージョンGRUBの問題が発生した場合の再インストールの経験があります。たとえば、レスキューディスク、インストールしたシステムにchrootし、grub-installを実行し、場合によってはupdate-grub/grubby/grub-mkconfigを実行します。

[〜#〜] efi [〜#〜]バージョンGRUBがうまくいかなかった場合、どのように再インストールしますか?それら)。

12
sourcejedi

まず、EFI-bootedLinuxシステムが必要です。元のインストールメディア(CD/DVD/USBスティック)がまだある場合は、通常、適切なレスキューシステムが含まれているはずです。それはワンクリック修復オプションを持っているかもしれません:)。

または、Ubuntuコミュニティが自動 boot-repair イメージを提供します。 Fedoraをサポートすると主張しています。実際の動作を知りたい場合は、事前に このサードパーティの説明 をお読みになることをお勧めします。

しかし、私はコンソールツールを備えた汎用レスキューシステムを使用しました。 EFIブートをサポートするとともに、efibootmgrがパッケージのリストにあることを確認しました。たまたま [〜#〜] grml [〜#〜] と呼ばれ、Debianに基づいていました。これが、Fedoraシステムの救出中に発見したコンソールツールとgrub-efiに関する情報です。

  1. EFIで起動されたFedora 18システムを実行している場合、grub2-installを実行しないでください。成功すると主張しますが、Fedoraのgrub-efiブートシステムを壊します。

    • ファイル/boot/EFI/Fedora/grub.efiは、grub-efiパッケージによってインストールされます。 do再インストールする場合は、yum reinstall grub-efiを使用します。 (一般的なレスキューシステムからこれを行うには、インストールしたFedoraシステムにmountingおよびchrootingした後でこれを行うことができます)。 Fedora grub-efiは設定ファイル/boot/EFI/Fedora/grub.cfg(おそらくgrubbyによって生成された)を使用します。 EFI上のFedoraは/boot/grub2/grub.cfgでファイルを生成しません。 grub2-installを実行すると、grub.efiが/boot/grub2/grub.cfgを読み取ろうとするイメージに置き換えられるため、失敗します。

    • grub2-installは、grub.efiのEFIブートエントリをインストールします。ただし、Windows 8認定ファームウェアでセキュアブートを無効にしていない場合、このエントリは起動に失敗します。代わりにshim.efiを起動する必要があります(shim-Fedora.efiは無視してください。正確にはわかりません)。下記参照。

  2. ファームウェア設定がリセットされると、FedoraのEFIブートエントリが失われる可能性があります。 (手動で、またはファームウェアのアップグレードによって、またはファームウェアがバグがあるため-後者は実際に報告されています)。セキュアブートでFedoraのEFIブートエントリを手動で作成する方法は次のとおりです。

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

    この例では、linuxによって認識される最初の標準ディスクのパーティション番号100を使用します。オプション-d /dev/sda-p 100を調整して、Fedoraが/boot/efiにマウントするファイルシステムを特定する必要があります。これはEFIシステムパーティションです。 Fedoraインストーラーは、他のオペレーティングシステムで使用されるESPとは別に、専用ESPをFedoraインストールで使用するために作成します。(- これはUbuntuやOpenSUSEとは異なります )。

    efibootmgrコマンドでは、EFIブートシステムから実行する必要があることに注意してください。

9
sourcejedi

UEFI Windowsでデュアルブートしている場合、別の可能性があります。リカバリディスクは必要ありません。

Windowsを起動して、管理者権限でコマンドラインを開き、次のコマンドを実行できます。

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

これにより、UEFIのWindowsブートエントリがGRUBでブートするエントリに置き換えられます。 GRUB=メニューにWindows用の有効なエントリが含まれているとすると、デュアルブートが機能するようになります:-)。うまくいけば、これはすべてセキュアブートを無効にすることなく機能するはずです。

私はWindowsのアップデート後に自分でそうしなければならなかっただけで、トリックはうまくいったようです。

ソースおよび詳細情報: http://nwrickert2.wordpress.com/2013/05/13/notes-on-uefi-windows-and-linux/

5
ternaryOperator

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

dnf reinstall grub2-efi grub2-efi-modules shim

(これらのパッケージがすでにインストールされており、以前の構成が存在していると仮定)

1
user552724