2024年 12月 10日
zypper update した後 verification failed 0x1a security violation で起動できない。openSUSE Leap 15.5
Windows11 との Dual Boot 艦橋で openSUSE Leap 15 をLinuxを yast software update した後、ついでに Boot order を換えて再起動したら
verification failed 0x1a security violation
となって起動できない。 Grub のブートに失敗する。
最新の BIOS でセキュアブートが有効なシステムに、古いオペレーティングシステムを ISO からインストールしようとすると、発生するケースが多くあるようです。どうも、古い SHIM ブートローダーの問題で予測されていた不具合だということです。
boot fails with with 'Verification failed: (0x1A) Security Violation'
https://www.suse.com/ja-jp/support/kb/doc/?id=000021080
UEFI shim bootloader secure boot life-cycle improvements
https://github.com/rhboot/shim/blob/main/SBAT.md
インストールの際に BIOS のセキュアブートを無効にするか、この Issue に対策済の最新 ISO ファイルからインストールすると回避できるらしい。
しかしこの場合は、Linux のセキュリティアップデートによって発生した症状なので、ちょっと違います。また、 Windows との Dual Boot 環境なので Secure Boot Disable はちょっと困る。
まず、BIOS のセキュアブートを無効にすると、Grub のスタートアップスクリーンに移動して Grub までは行けますが、OS そのものは起動できないんですね。
そこで、Secure Boot Disable の状態から、openSUSE Leap のインストール USB メモリから起動して、Grub のメニューから、more ..... --> "Boot Linux System from Harddisk" を選んでとりあえず中のシステムを起動します。
YaST > System > Boot Loader から、 Secure Boot Support, Trusted Boot Support, Update NVRAM Entry の3つの項目を Uncheck します。

この Bios Secure Boot : Disable にして、 OS 側の Secure Boot も Disable にすると一応立ち上がるようになりますが、Secure Boot DIsable のママではちょっと具合が悪い。
そもそも、インストールする時に Secure Boot Disable のままインストールすると、ブートローダーも Secure Boot Disable でインストールされてしまうので、 Bios 設定を Enable にすると、また同じくセキュリティバイオレーションが出てしまいます。
そこで、Bios の設定を Secure Boot --> Enable にして、USB メモリから起動して YaST > System > Boot Loader の、 Uncheck した項目をすべて Check になおしました。
これで、 Linux と Windows の Dual Boot 環境に戻すことができました。