如何修复此“Set-SecureBootUEFI:不正确的身份验证数据:0xC0000022”错误?

Posted

技术标签:

【中文标题】如何修复此“Set-SecureBootUEFI:不正确的身份验证数据:0xC0000022”错误?【英文标题】:How can I fix this "Set-SecureBootUEFI : Incorrect authentication data: 0xC0000022" error? 【发布时间】:2014-09-02 09:42:28 【问题描述】:

我使用教程和 UefiSecureBootManualTests.zip 中的 PowerShell 脚本(EnableSecureBoot.ps1 和 append_LostCA_db.ps1)找到 here 来签署 .efi 文件并启用 SecureBoot 以查看系统是否启动(一切正常)。

现在我正在尝试从 system32 获取 winload 文件,使用相同的脚本对其进行签名,然后覆盖密钥并查看 SecureBoot 是否允许我仅使用我签名的 winload 启动。 这次我使用的是相同的脚本,只是我修改了 append_LostCA_db.ps1 中的 Set-SecureBootUEFI 命令,删除了 -AppendWrite 参数,以便它可以覆盖。

但现在我收到一个错误:

Set-SecureBootUEFI : Incorrect authentication data: 0xC0000022
At F:\SecureBoot\AllowNewCertificate\suprascriu_LostCA_db.ps1:13 char:5 
+     Set-SecureBootUEFI -Name db -Time 2011-05-21T13:30:00z -ContentFilePath Lost ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : PermissionDenied: (Microsoft.Secur...BootUefiCommand:SetSecureBootUefiCommand) [Set-Secu
   reBootUEFI], UnauthorizedAccessException
    + FullyQualifiedErrorId : SetFWVarFailed,Microsoft.SecureBoot.Commands.SetSecureBootUefiCommand

我该如何解决这个问题?

我正在使用带有 Win8.1 x64 的 HP 台式机

稍后编辑:如果有人可以给我一个 8.1 x64 的 unsinged winload,那真的很有帮助

【问题讨论】:

【参考方案1】:

这些签名告诉您的一件事是内容没有被修改(这意味着它仍然安全/有效/可信任)。这就是为什么我无法签署已签名文件的原因(启动时使用并由 Microsoft 签名的加载程序)。 这就是为什么我得到了 UnauthorizedAccessException.

没有解决方法。

【讨论】:

以上是关于如何修复此“Set-SecureBootUEFI:不正确的身份验证数据:0xC0000022”错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何修复此链接列表输出?

如何修复此 System.IndexOutOfRangeException:索引超出数组范围

出现此错误时如何修复gradle?

按钮无法访问。如何修复此代码?

如何获得修复此错误的 Stacktrace?

如何修复此类型错误?