在首次安装 Ubuntu 16.04 时,我选中了“安装第三方软件”,然后在其下方,我被提示勾选另一个选项,该选项将允许操作系统包自动禁用安全启动,而其先决条件是创建一个密码,以便以某种方式允许整个过程发生。
继续安装后,我没有收到任何迹象表明已发生安全启动禁用,也没有提示我输入我创建的密码。
成功安装操作系统后,我重新启动了计算机并检查了 BIOS。在 BIOS 中,安全启动仍然处于启用状态。然而,回到 Ubuntu,我能够无缝播放 MP3 和 Flash 文件,我认为这表明第三方软件安装成功。
我还没有遇到任何问题(除了 UI 有时有点挑剔和有缺陷),但我想知道创建该密码到底是为了什么。
我创建的密码怎么了?我是否需要记住它?它与我的登录/sudo 密码不同。
Ubuntu 是否永久编辑了我的 BIOS 以为自己例外?如果是这样,我如何查看这些更改并可能撤消它们?密码会在那里出现吗?
为什么 Ubuntu 需要禁用/绕过安全启动才能安装 ubuntu-restricted-extras 软件包?我的安装没问题吗?我是否为将来的问题埋下了祸根?我是否应该尝试在手动禁用安全启动的情况下重新安装,以免首先收到该提示?
附加信息:我正在运行 UEFI 系统,并且正在双启动 Ubuntu 16.04 和 Windows 10。
另一位用户在这里询问了类似的问题。与这位用户不同,我没有收到关于“以不安全模式启动”的警告,但我还想知道 Ubuntu 是否为自己创建了例外,以及我该如何处理此类例外。与我不同,这位用户没有提到必须创建密码。
答案1
UEFI 安全启动使用启动文件中的 CA 密钥和签名组合来保护您的启动加载程序免遭篡改。例如,Microsoft 已对启动加载程序进行了签名,大多数 PC 的 UEFI 固件中已存在 CA 密钥。
这只能保护加载程序的早期核心,而不能保护之后的任何内容。例如,initrd(initramfs) 以及之后的任何内容(GRUB、内核、模块、驱动程序、用户空间中的任何内容等)均不受保护。
您安装的第三方软件可能包含引导加载程序所需的某些低级 PCI 或 RAID 代码,这就是您需要创建密码的原因,该密码将在 UEFI 固件空间中创建一个密钥。修改后,如果系统在启动时发现有异常,BIOS 将在 POST 时停止并要求输入您在安装期间输入的相同密码,以证明您是安装该软件的人。此方法可确保坐在计算机旁的用户实际输入此密码作为确认,因为在 BIOS POST 时无法加载任何软件来伪造此密码。
对于大多数用户系统而言,安全启动几乎无法保护您。它无法阻止病毒或恶意软件,也无法阻止这些病毒或恶意软件的安装。它所做的只是防止低级引导加载程序篡改,而这通常可以通过基本的防病毒或操作系统安全措施来防止。在我看来,根据大多数文档,可以安全地禁用它。