Centos 8からOracle Linux 8にアップグレードした後、VMはGrub Rescueで起動しません。 Hyper-V設定を確認すると、efiファームウェアが2つあることがわかりました。
どちらを選択しても、Grub Rescueメニューが表示されます。再起動する前にパスを確認しましたが、centosパスにはshimx64.efiファイルは含まれていませんでしたが、redhatは含まれていました。更新前はshimx64.efiが/boot/efi/EFI/centos/ディレクトリにあり、更新と再起動後に/boot/efi/EFI/redhat/ディレクトリにありました。
yum.confで次のパッケージを無効にして、OL8の完全なOSアップデートを実行しました。
exclude=grub2* shim-x64* kernel*
しかし、これは次善策です。
除外されたパッケージを更新した後にシステムを起動するには?
答え1
/boot/efi/EFI/centos
との内容を調べた後、redhatディレクトリが見つからないことが/boot/efi/EFI/redhat
わかりました。grub.cfg
centosディレクトリからコピーして実行した後、grub2-mkconfig
VMが正常に起動しました。
/boot/efi/EFI/centos
ディレクトリが削除され、システムの起動には影響しませんでしたが、ハイパーバイザーはまだ2つのshimx64.efiファイルを見ることができました。