leeand00 Asked: 2019-02-10 10:22:55 +0800 CST2019-02-10 10:22:55 +0800 CST 2019-02-10 10:22:55 +0800 CST 什么是核心引导? 772 我读到它是关于更换板上的固件,但他们为什么需要这样做,这是否会影响在板上安装其他操作系统的能力? firmware coreboot 1 个回答 Voted Best Answer Time4Tea 2019-02-10T17:39:49+08:002019-02-10T17:39:49+08:00 如维基百科页面所述: coreboot,以前称为 LinuxBIOS,是一个软件项目,旨在将大多数计算机中的专有固件(BIOS 或 UEFI)替换为轻量级固件,旨在仅执行加载和运行现代 32 位或 64 位系统所需的最少任务位操作系统。 从本质上讲,它是一项旨在“开放”和简化现代计算机固件级别的举措。我相信尽可能多的是免费软件;但是,它需要二进制 blob 才能在某些硬件设备上运行。Libreboot是一个完全去斑点的 Coreboot 版本,因此是 100% 的免费软件。但是,正因为如此,Libreboot 只能在限制性更强的硬件子集上运行。 为什么有人要使用 Coreboot?我能想到几个原因: 如果他们有兴趣参与 PC 固件开发,那么他们可能希望将其专有固件切换为 Coreboot,因为它是开源的。这样(通常类似于 GNU/Linux),他们可以在代码中四处寻找并尝试了解它是如何工作的。因此,从教育的角度来看,这可能是件好事。 如果有人关心免费软件,出于这个原因,他们可能更喜欢使用 Coreboot 或 Libreboot。如果您的固件中有二进制 blob,您不知道它们包含什么 - 理论上它们可能包含可能损害您的隐私/安全的代码。自由软件基金会仅认可使用 Libreboot 固件运行的系统。 我能想到的另一件事是,如果有人正在开发新设备,那么将 Coreboot 移植到它可能会比从头开始编写自己的固件或必须为专有固件付费更简单。Coreboot 非常精简、快速和高效,因为它只包含启动和运行系统所需的最少代码。值得注意的是,Coreboot 本身并不提供任何 BIOS 或 UEFI 服务——它只是初始化硬件,然后将控制权交给其他东西。因此,如果操作系统需要任何这些服务,则必须由有效负载(如下所述)提供。 它会影响安装其他操作系统的能力吗? 首先,主板上通常不安装主操作系统(除非您谈论的是嵌入式系统)。通常,它安装在外部存储设备(即硬盘)上。因此,只要 Coreboot 可以设置足够的基本环境以能够访问存储设备并调用主操作系统,我认为理论上没有任何理由让它无法启动任何操作系统。有几个有效载荷可用于帮助促进这一点。有效负载基本上是内置在固件中的引导加载程序,而不是存储在外部存储中。例如,GRUB 可以作为有效负载内置到 Coreboot 中,它当然能够引导 Linux 和 Windows。我不确定是否有可以启动 MacOS 的有效负载选项,但如果有的话我不会感到惊讶。
如维基百科页面所述:
从本质上讲,它是一项旨在“开放”和简化现代计算机固件级别的举措。我相信尽可能多的是免费软件;但是,它需要二进制 blob 才能在某些硬件设备上运行。Libreboot是一个完全去斑点的 Coreboot 版本,因此是 100% 的免费软件。但是,正因为如此,Libreboot 只能在限制性更强的硬件子集上运行。
为什么有人要使用 Coreboot?我能想到几个原因:
如果他们有兴趣参与 PC 固件开发,那么他们可能希望将其专有固件切换为 Coreboot,因为它是开源的。这样(通常类似于 GNU/Linux),他们可以在代码中四处寻找并尝试了解它是如何工作的。因此,从教育的角度来看,这可能是件好事。
如果有人关心免费软件,出于这个原因,他们可能更喜欢使用 Coreboot 或 Libreboot。如果您的固件中有二进制 blob,您不知道它们包含什么 - 理论上它们可能包含可能损害您的隐私/安全的代码。自由软件基金会仅认可使用 Libreboot 固件运行的系统。
我能想到的另一件事是,如果有人正在开发新设备,那么将 Coreboot 移植到它可能会比从头开始编写自己的固件或必须为专有固件付费更简单。Coreboot 非常精简、快速和高效,因为它只包含启动和运行系统所需的最少代码。值得注意的是,Coreboot 本身并不提供任何 BIOS 或 UEFI 服务——它只是初始化硬件,然后将控制权交给其他东西。因此,如果操作系统需要任何这些服务,则必须由有效负载(如下所述)提供。
它会影响安装其他操作系统的能力吗?
首先,主板上通常不安装主操作系统(除非您谈论的是嵌入式系统)。通常,它安装在外部存储设备(即硬盘)上。因此,只要 Coreboot 可以设置足够的基本环境以能够访问存储设备并调用主操作系统,我认为理论上没有任何理由让它无法启动任何操作系统。有几个有效载荷可用于帮助促进这一点。有效负载基本上是内置在固件中的引导加载程序,而不是存储在外部存储中。例如,GRUB 可以作为有效负载内置到 Coreboot 中,它当然能够引导 Linux 和 Windows。我不确定是否有可以启动 MacOS 的有效负载选项,但如果有的话我不会感到惊讶。