Linux (ubuntu)でSecure Bootを求められました。 ubuntuには、Linux-signed-imageとかgrub-efi-amd64-signedとかっていう パッケージがあるので、何か出来そうなんですけど、 じゃ具体的にどうやるの? というのは意外と書いてないので、苦労してます。
取り敢えず、grub-installで「--secure-boot」というオプションがあるので、
1
|
|
とすると、USBメモリには、/mnt/EFI/ubuntu/ の下にsignedなgrubx64.efiやshimx64.efiが入るんですが、 /EFI/ubuntu/... ではブート時に読み込まないので、 /EFI/BOOT/ にリネームし、 また、/EFI/BOOT/grubx64.efi(又はshimx64.efi) を/EFI/BOOT/BOOTX64.efi にリネームし、 /boot/grub/grub.cfg を、
1 2 3 4 5 6 7 8 9 |
|
とすると、grubまでは立ち上がりました。 更にブートするには、loopbackモジュールが必要になり、 それはunsignedなので、そこで引っ掛かりますが、 仕組み上、signed grubでモジュールは使えない(使えてしまうとillegalなモジュールが入り込めてしまう)ので、
- loopbackモジュールを使わない
- loopbackモジュールを含めたgrubを自力で署名する
前者はUSBメモリをHDとして直接インストールすれば良さそうですが、 8GB以上の容量が必要になります。 現状手元にそんな容量のUSBメモリがありません。 後者は、かなり面倒そうです。Micro$osftに署名してもらうにはお金かかりそうですし、 自分で署名してそのキーをMOK?を使って云々という手法は、 まだ読み込んでません...