18.4. 创建 SecureBoot 虚拟机
您可以创建一个使用 SecureBoot 特性的 Linux 虚拟机(VM),这将确保您的虚拟机运行加密签名的操作系统。如果虚拟机的客户机操作系统已被恶意软件更改,这将非常有用。在这种场景下,SecureBoot 会阻止虚拟机启动,从而停止可能将恶意软件传播给您的主机。
先决条件
- 虚拟机是 Q35 机器类型。
- 您的主机系统使用 AMD64 或 Intel 64 架构。
edk2-OVMF
软件包已安装:dnf install edk2-ovmf
# dnf install edk2-ovmf
Copy to Clipboard Copied! 操作系统(OS)安装源可存在于本地或者网络中。可以是以下格式之一:
- 安装介质的 ISO 镜像
现有虚拟机安装的磁盘镜像
警告在 RHEL 10 中无法从主机 CD-ROM 或者 DVD-ROM 设备安装。如果您在使用 RHEL 10 中的任何虚拟机安装方法时选择了 CD-ROM 或者 DVD-ROM 作为安装源,则安装将失败。如需更多信息,请参阅红帽知识库解决方案 RHEL 7 或更高版本无法从 CD/DVD-ROM 安装客户机操作系统。
- 可选:对于快速、简单的配置安装,可以使用 Kickstart 文件。
流程
使用
virt-install
命令来创建虚拟机,如 使用命令行创建虚拟机 中所述。对于--boot
选项,请使用uefi,nvram_template=/usr/share/OVMF/OVMF_VARS.secboot.fd
值。这会使用OVMF_VARS.secboot.fd
和OVMF_CODE.secboot.fd
文件作为虚拟机非易失性 RAM(NVRAM)设置的模板,该设置启用了 SecureBoot 特性。例如:
virt-install --name rhel8sb --memory 4096 --vcpus 4 --os-variant rhel10.0 --boot uefi,nvram_template=/usr/share/OVMF/OVMF_VARS.secboot.fd --disk boot_order=2,size=10 --disk boot_order=1,device=cdrom,bus=scsi,path=/images/RHEL-{ProductNumber}.0-installation.iso
# virt-install --name rhel8sb --memory 4096 --vcpus 4 --os-variant rhel10.0 --boot uefi,nvram_template=/usr/share/OVMF/OVMF_VARS.secboot.fd --disk boot_order=2,size=10 --disk boot_order=1,device=cdrom,bus=scsi,path=/images/RHEL-{ProductNumber}.0-installation.iso
Copy to Clipboard Copied! - 根据屏幕上的说明,按照操作系统安装过程进行操作。
验证
- 安装客户机操作系统后,在图形 guest 控制台中 打开终端 或使用 SSH 连接到客户端操作系统,以访问虚拟机的命令行。
要确认是否在虚拟机上启用了 SecureBoot,请使用
mokutil --sb-state
命令:mokutil --sb-state
# mokutil --sb-state SecureBoot enabled
Copy to Clipboard Copied!