Hyper-V VM 无法从 Cd 启动,错误:“不允许未签名图像的散列”

Tho*_*mas 145 bootable-media hyper-v windows-10

我在 Windows 10 的 Windows Hyper-V 客户端上安装了一个 Debian 实例。但是,当我尝试启动 VM 时,它无法从 cd 启动。最终,Hyper-V BIOS 使我无法启动列出启动设备及其状态的屏幕。SCSI-DVD 设备的状态显示:“不允许使用未签名映像的散列 (DB)”。

事实证明,在 Internet 上查找有关此错误的信息很困难。

Tho*_*mas 227

此错误是在 VM 上启用安全启动的结果。安全启动通过只允许加载特别授权的启动映像来防止系统在启动时被劫持。在 Hyper-V 客户端中,列表相当短。

要禁用安全启动,请关闭 VM,然后打开 VM 设置。在安全启动下,取消选中“启用安全启动”框,然后单击“确定”。这将允许 VM 启动“未经授权”的 CD 映像。

更新:
正如 Itai Bar-Haim 在评论中提到的,以及 Thee Gamefanatic 在他们的回答中所说,您还可以根据您尝试启动的操作系统映像选择不同的模板。请注意,这些模板是互斥的 - 这意味着如果您选择“Microsoft UEFI 证书颁发机构”模板,您将无法启动 Windows 操作系统映像。

Microsoft 对安全启动及其工作方式进行了深入研究,可在此博客上找到:https : //blogs.technet.microsoft.com/dubaisec/2016/03/14/diving-into-secure-boot/

  • 我选择了一个不同的模板:“Microsoft UEFI 证书颁发机构”。像魅力一样工作。 (7认同)

Mik*_*ail 67

在 VM 设置中禁用安全启动选项:

在此处输入图片说明

此功能在 Gen2 VM 上默认启用,并要求您的 ISO 映像引导加载程序由 Microsoft Authenticode 证书签名。任何带有修改过的引导加载程序的自定义映像都将无法引导。还有适用于 Linux 映像的“Microsoft UEFI 证书颁发机构”模板。


小智 7

我正在研究这个问题并发现了这个线程。我发现更改选项以利用“Microsoft UEFI 证书颁发机构”解决了我使用 Ubuntu Server 17.x 的问题。

Set-VMFirmware -VM $VM -FirstBootDevice $(Get-VMDvdDrive -VM $VM) -EnableSecureBoot On -SecureBootTemplate MicrosoftUEFICertificateAuthority
Run Code Online (Sandbox Code Playgroud)


Tob*_*s J 6

如果您要安装 Microsoft 支持的操作系统,而不是完全禁用安全启动,您可以将其设置为“Microsoft UEFI 证书颁发机构”。

这是 Microsoft 支持的 Linux 和 BSD 操作系统列表。例如,支持自 14.04 LTS 以来的所有 Ubuntu LTS 版本,以及当前的非 LTS 版本。

关闭 VM,打开设置,然后在安全下选择Microsoft UEFI 证书颁发机构模板。