我设法按照 David Foerster 的上一篇文章中的描述安装了驱动程序,但要做到这一点,我必须禁用 UEFI 模式:
Ubuntu 14.04 上的 Ralink RT 3290 蓝牙问题
在驱动程序安装过程中,终端内会打开一个有关 UEFI 模式的蓝色窗口,要求我禁用它并设置密码,以验证使用第三方驱动程序的合法性。所以我设置了密码并重新启动。重新启动时,会打开一个有关 UEFI 的新蓝色启动窗口,我只是让它启动,没有进行任何额外更改。没有要求输入密码。
最后,当我再次进入 Ubuntu 时,蓝牙无法工作,由于在过程中提到了禁用 UEFI 模式,我决定禁用它只是为了检查一下。猜猜怎么着,蓝牙工作正常。现在,我想保持 UEFI 模式开启,一旦我启用它,蓝牙就会停止工作。
在 UEFI 模式开启的情况下,如何使新的第三方蓝牙驱动程序永久改变?
谢谢
答案1
我认为你指的是安全启动,而不是 UEFI。安全启动是一 选修的UEFI 的功能。您的固件是 UEFI(即 EFI 2.x;我经常使用“EFI”来指代 EFI 或 UEFI),而不是 BIOS,尽管许多人,甚至制造商,都将 EFI 称为“BIOS”。因此,您不能禁用 EFI,但也有部分例外:大多数 EFI 都提供兼容性支持模块 (CSM),这使它们能够启动 BIOS 模式的引导加载程序。某些 EFI 允许启用 CSM(又称“传统引导支持”或类似名称)并禁用本机 EFI 模式引导加载程序的引导,从而使 EFI 像老式 BIOS 一样工作。不过,在大多数情况下,启用“传统引导支持”会使它可能的- 但不需要-- 让计算机以 BIOS/CSM/传统模式启动。有关 CSM 造成的混乱的更多信息,请参阅我关于该主题的页面。
安全启动是另一个问题。此可选功能旨在防止启动前恶意软件启动。不幸的是,如果您想启动不知名的操作系统、使用第三方驱动程序等,它也可能非常麻烦。Ubuntu 支持安全启动,但其第三方驱动程序是此规则的例外。因此,您可能需要禁用安全启动,或者至少在 Linux 内核启动后放松其对系统的控制。Ubuntu 的最新版本提供了一项功能,使您可以使用您描述的设置来执行此操作。
我听说有些人声称他们的 EFI 允许通过同时启用 CSM 来禁用安全启动。我从未见过以这种方式设置的固件,但有些 EFI 设置实用程序可能会让人非常困惑。因此,我不确定我看到的报告是否准确(这可能解释了您以这样的方式报告它),或者报告此类配置的人是否缺少选项。我展示了几个如何在我的这个页面。
目前,听起来您正在以 EFI 模式启动——切换到 BIOS 模式启动需要重新安装 GRUB(或其他引导加载程序),但要启用安全启动。如果您想在启用安全启动的情况下启动并仍然使用第三方驱动程序,则需要使用您“拥有”的安全启动密钥对该内核模块进行签名,并且该密钥的公钥已输入到您的固件或机器所有者密钥 (MOK) 列表中。我不知道有哪个页面提供完成所有这些操作的分步说明,事实上,它非常复杂,我无法提供详细的说明。不过,这是可能的。作为起点,您可以尝试阅读我的完全控制安全启动页面,特别是有关生成密钥和签署 EFI 二进制文件的部分。您需要创建一个安全启动签名密钥,要么使用 MokManager 将其输入到 MOK 列表中,要么替换您常用的密钥并添加您自己的密钥,然后使用 Linuxsign-file
内核源代码附带的二进制文件对新内核模块进行签名。