Skip to content

Unified Kernel Imagesが登場した理由

This content is a draft and will not be included in production builds.

より堅牢なLinux起動プロセスを求めてによると、

UKIに関しては、デジタル署名やディスク暗号化の安全性などからLennart Poetteringなどsystemdの有力開発者が強く支持しており…

今回の提案では「現状の(カーネルが)インストールされたシステムでの initrd の生成は脆弱で、報告されたカーネルパニックの根本的な原因は単純に壊れた initrd によるものであることが多い」として…

とある。壊れたというのは色々あると思うけど、ディスクのブロックが破損した場合はUKIだろうが別れていようが関係ないので、カーネルに合わない initrd が使われてしまってパニックが起きるということだろうか。

それよりも前半部分のところに興味があって、確かにUKIを作らない場合は initrd(initramfs と表記されることもある)や ucode は署名されていない。

Terminal window
$ run0 sbctl verify
Verifying file database and EFI images in /boot...
✓ /boot/vmlinuz-linux is signed
✓ /boot/EFI/BOOT/BOOTX64.EFI is signed
✓ /boot/EFI/systemd/systemd-bootx64.efi is signed

このとき、/boot は暗号化していないことが多いから、確かに改ざんされると検知できずに読み込んでしまう。