証明書ファイルが保存された名前付きディスクの作成

セキュアブートの更新は、OS上ではなく、UEFI Setup画面から実施します。そのため、UEFIファームウェアが直接参照できる場所に証明書ファイルを保存する必要があります。

その証明書ファイルの保存場所として、名前付きディスクを利用します。

【注意】

  • 本手順では、名前付きディスクに証明書ファイルを保存するため、新規で仮想マシンを作成していますが、既存の仮想マシンでも作成可能です。その際はディスクの取り違えにご注意ください。
  • 本手順では、「AlmaLinux 10」を例として仮想マシンの作成から説明しますが、それ以外のOSでも作成可能です。

1. 仮想マシンをパワーオフの状態で、新規作成します。

OSを「AlmaLinux 10」で仮想マシンを新規作成します。

あとでパワーオンする時に、接続した名前付きディスクを認識できるようにするため、パワーオフの状態で新規作成するように設定します。

仮想マシンを作成する手順は「仮想マシンの作成」 をご覧ください。

2. 名前付きディスクを作成します。

任意の名前で名前付きディスクを新規作成します。ディスクサイズは128 MBで作成します。

配置する証明書のファイルサイズに対して設定する容量は十分大きいですが、作業媒体としてUEFIの設定時に容量やファイルシステム構成に起因する要因を取り除いています。

名前付きディスクの作成の手順は「名前付きディスクを作成する」をご覧ください。

3. 作成した名前付きディスクを、仮想マシンに接続します。

手順2で作成したディスクを、手順1で作成した仮想マシンに接続します。

名前付きディスクを仮想マシンに接続する手順は「名前付きディスクを仮想マシンに接続する」をご覧ください。

4. 仮想マシンに「iij-p2-gen2-secureboot-objects-1.iso」のメディアを挿入します。

対象の仮想マシンの画面で、「すべてのアクション」をクリックして、リストを表示します。


リストから「メディア」を選択し、「メディアを挿入」をクリックします。

「CDを挿入」画面が表示されます。


仮想マシンに挿入するメディアを選択し、「挿入」をクリックします。

仮想マシンに挿入するメディアは以下を選択します。

  • 名前:iij-p2-gen2-secureboot-objects-1.iso
  • カタログ:標準ライブラリ

5. 仮想マシンをパワーオンします。続けて、Webコンソールを起動します。

対象の仮想マシンの「パワーオン」をクリックします。

仮想マシンが起動したら、同じ画面にある「WEB コンソールの起動」をクリックし、Webコンソールを起動します。

6. 名前付きディスクで、パーティションとファイルシステムを作成します。

ログイン後、接続した名前付きディスクで、パーティションとファイルシステムの作成を行います。
ファイルシステムはWindowsおよびLinuxで利用できるようFAT32で作成します。

【注意】

OSで認識されるディスクデバイス名は、今回作成した名前付きディスクであることを必ずご確認ください。
本手順では例として「sdb」としていますが、環境により異なる場合があります。

$ fdisk /dev/sdb
Welcome to fdisk (util-linux 2.40.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
 
Device does not contain a recognized partition table.
Created a new DOS (MBR) disklabel with disk identifier 0xfc16c192.
 
Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p):
 
Using default response p.
Partition number (1-4, default 1):
First sector (2048-262143, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-262143, default 262143):
 
Created a new partition 1 of type 'Linux' and of size 127 MiB.
 
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
$ mkfs.vfat -F 32 /dev/sdb1

7. ISOと名前付きディスクをマウントします。

以下のコマンドを実行し、名前付きディスクをマウントします。

$ mkdir -p /mnt/iso
$ mount -r /dev/cdrom /mnt/iso
 
$ mkdir -p /mnt/named_disk
$ mount /dev/sdb1 /mnt/named_disk

8. ISOから名前付きディスクへ、証明書ファイルをコピーします。

以下のコマンドを実行し、ISOから名前付きディスクへ、証明書ファイルをコピーします。

$ cp /mnt/iso/WindowsOEMDevicesPK.der /mnt/named_disk/WindowsOEMDevicesPK.der
$ cp '/mnt/iso/microsoft corporation kek 2k ca 2023.der' '/mnt/named_disk/microsoft corporation kek 2k ca 2023.der'
【参考】

ISOに保存されている証明書ファイルは、Microsoft社が以下で提供しているものです。

https://github.com/microsoft/secureboot_objects/blob/main/PreSignedObjects/

9. ISOと名前付きディスクをアンマウントします。

マウントしている ISOと、名前付きディスクをアンマウントします。

$ umount /mnt/iso
$ umount /mnt/named_disk

仮想マシンで行う仮想ディスクの作成は、以上です。

作成した仮想ディスクを仮想マシンから取り外す場合は、以下の手順を実施します。

10. 仮想マシンをパワーオフします。

Webコンソールを閉じ、作業した仮想マシンをパワーオフします。

11. 仮想マシンから名前付きディスクを分離します。

手順3で作成した名前付きディスクを、仮想マシンから分離します。

仮想マシンから名前付きディスクを分離する方法は「名前付きディスクを仮想マシンから分離する」をご覧ください。

12. 仮想マシンからISOメディアを取り出します。

対象の仮想マシンの画面で「すべてのアクション」をクリックしてリストを表示します。「メディア」を選択し「メディアの取り出し」をクリックします。

13. 仮想マシンを削除します。

本手順で作成した仮想マシンは、別の用途で再利用しない場合は削除してください。