起動後yum updateのCentOS上で、その後の再起動時に、あなたはBIOSのスプラッシュ画面上のハングその破損したサーバーの形で驚きのためであってもよいです。
昨日、フォーラム と バグトラッカーで問題について書き始めました。この問題はUEFIブートローダーを備えたすべてのシステムに影響し、少なくともCentOS7.8および8.2に関連しているようです。そのため、昨日の夜、サーバーを更新して再起動するのに十分な運がなかったので、楽しい夜を過ごすことができました。
この問題は、サーバーの再起動時にBIOSスプラッシュ画面を備えたフリーズ画面の形で現れます。最初は何が起こっているのかがまったくわかりません。エラーはなく、grubコンソールはなく、フリーズされたbiosスプラッシュ画面のみです。
決定
更新後にサーバーが再起動しなかった場合、次の再起動時にブリックを取得しないようにするには、grub2パッケージとその依存関係の更新をロールバックするだけで十分です。
yum downgrade grub2\* shim\* mokutil
サーバーが再起動され、ブリックがまだ受信されている場合、ブートローダーを復元するには、Live-CDディスクまたはフラッシュドライブが必要になります。起動不可能なシステムでパッケージをロールバックするためのアクションのシーケンスは次のとおりです。
- Live-CDから起動します(ここではバージョン7を使用しました);
- ネットワークを構成します。
- ルートパーティションを/ mnt / sysimageにマウントします。
- / bootパーティションを/ mnt / sysimage / bootにマウントし、/ boot / efiパーティションを/ mnt / sysimage / boot / efiにマウントします。
- 一連のコマンドを実行します。
mount -o bind /dev/urandom /mnt/sysimage/dev/urandom echo 'nameserver 1.1.1.1' > /mnt/sysimage/etc/resolv.conf chroot /mnt/sysimage yum downgrade grub2\* shim\* mokutil
その後、ローダーが古いバージョンに更新され、サーバーが起動するはずです。
更新からパッケージを除外する
次回の更新時にブートローダーが再び壊れないように、問題のあるパッケージをexclude=grub2* shim* mokutilyum構成ファイルの例外(行)に追加する必要があります/etc/yum.conf。
CentOS 7のパッケージの問題のあるバージョンでは、UEFIブートローダーが故障します。
grub2-2.02-0.86.el7.centos.x86_64
shim-x64-15-7.el7_9.x86_64