
どういうわけか、BIOSからすべての起動オプションを削除しました(おそらくスーパーグラブディスクを使用していることが原因である可能性があります)。 grubを修復するためにboot-repair live-usbを使用しようとしました。推奨修正を実行して再起動した後も、BIOSに起動オプションがなく、起動するたびにBIOS設定画面に移動します。
私の設定に関する完全な情報は次のとおりです。ここ。
すべての話は、Windowsが起動しないという事実(BCD破損エラー)を発見したときに始まりました。その後、それはgrubの問題だと思ってLinuxでブートリカバリを使用し、提案された修正を実行しました。その後、Linuxにも入ることができず、grub>プロンプトだけが残ったことがわかりました。だから私は現場でsuper-grubディスクとsuper-grub2ディスクを使ってみました。その後、デフォルトではBIOS / uefiのすべての起動オプションを削除したことがわかりました。これで、新しいインストールでgrubが変更されることを望みながら、別のLinux(kubuntu)をインストールしましたが、そうではありませんでした。だから最終的にブートリカバリライブUSBを試して、推奨修正を行ったが、それでも成功しませんでした。この問題を解決する方法を知っていますか?
答え1
最後にgdiskに修正しました。どのステップが重要なステップかはわかりませんが、uefiヘッダーとパーティションテーブルをバックアップして復元した後、リブート時にLinuxがディスクリカバリを試みてからefiシステムパーティションをマウントできません。この手順で回復コマンドラインからgdiskを実行すると、efiシステムパーティションに関連する無効な「アクティブ」フラグが自動的に取得されます。ロゴのみを修正すると問題が解決します。
BIOSやUEFIの問題ではありません。また、efiシステムパーティションを消去してWindows 10を再インストールしてみました。しかし、これは役に立ちません。
答え2
唯一の問題がUEFI NVRAMブートオプションである場合(開始変数)が消え、次のようないくつかのオプションが表示されます。
UEFIモードで外部メディアから起動できる場合:
- オペレーティングシステムのルートファイルシステムをマウントし、マウントし、
/proc
ファイルシステムにchrootし、ESPパーティションをマウントして実行します(オペレーティングシステムインストールのルートファイルシステムであると仮定)。/sys
/dev
grub-install
/dev/sdX
mount /dev/sdX /mnt
mount -t proc none /mnt/proc
mount --rbind /dev /mnt/dev
mount --rbind /sys /mnt/sys
chroot /mnt /bin/bash
mount /boot/efi
grub-install /dev/sdX
grub-install
UEFIブート変数はGRUBに対して自動的に生成されますが、efivarfs
仮想ファイルシステムをマウントし、/sys/firmware/efi/efivars
UEFIモードでシステムをブートする必要があります。
- または、ルートを変更せずにESPパーティションをマウントし、それを使用して
efibootmgr
ブートオプションを手動で再作成します。 (/dev/sdX1
ESPパーティションと仮定)
mount /dev/sdX1 /boot/efi
ls /boot/efi/EFI # there should be a directory for each OS/distribution
efibootmgr -c -d /dev/sdX1 -L "Any label you want" -l \\EFI\\<distro name>\\shimx64.efi
# or ...\\grubx64.efi if Secure Boot disabled
- セキュアブートが有効になっていて、オペレーティングシステムにセキュアブートシムがインストールされている場合は、特別な
grub-install
オプションがあります。最初のオプションに示されているようにchrootを実行し、次のように実行します。
grub-install --uefi-secure-boot /dev/sdX
外部メディアがレガシーBIOSモードでのみ起動される場合:
- Chrootは上記の最初のオプションと同じですが、次の行
grub-install
を使用します。
grub-install --target=x86_64-efi --force-extra-removable /dev/sdX
レガシーモードでは、UEFIブート変数にアクセスできないというエラーメッセージが表示されることがありますが、今はそのメッセージを無視してもかまいません。
[ESP mount path]/EFI/boot/bootx64.efi
これにより、ファームウェアがUEFIフォールバック/リムーバブルメディアブートローダを見つけることが期待されるGRUBの2番目のコピーがインストールされます。その後、ファームウェアはESPパーティションを「UEFIモードで起動可能」として検出し、BIOS起動メニューを使用して起動することを選択できる必要があります。 UEFIブータブルディスクのみが存在するため(外部ブートメディアを削除した後)、ほとんどの従来のUEFIファームウェアもUEFIモードで起動する必要があります。
システムがUEFIモードで起動したら、grub-install /dev/sdX
それを再実行してLinuxオペレーティングシステム用の標準UEFI起動変数を再生成できます。