![在安装驱动程序之前操作系统如何运行?](https://linux22.com/image/1438894/%E5%9C%A8%E5%AE%89%E8%A3%85%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E4%B9%8B%E5%89%8D%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%A6%82%E4%BD%95%E8%BF%90%E8%A1%8C%EF%BC%9F.png)
我正在研究 BSD、Linux 和 Windows 的硬件兼容性。有一条评论反复出现,那就是“在安装任何 BSD 变体之前请检查硬件”。这对于 Linux 来说也是一个(较小的)问题,但对于 Windows 来说似乎根本不是问题,因为 Windows 可以在任何硬件上顺利运行。
我理解硬件供应商主要为 Windows 编写设备驱动程序,因为 Windows 占据了操作系统的绝大部分市场份额。这很好,但我可以运行全新安装的 Windows,而无需安装任何设备驱动器,操作系统仍将运行(一旦运行,我就会安装驱动程序)。因此,我的问题是:
- 操作系统(这里指 Windows)如何在没有安装任何设备驱动程序的情况下启动并运行?
- 为什么Linux和BSD不能做同样的事情?
答案1
Linux 和 BSD 从一开始就具有对大量硬件的内核支持。最大的区别在于,如果硬件制造商制造的主板使用了 Linux/BSD 开发人员无法立即使用的新芯片组,那么支持将受到限制。一般来说,Windows 开发人员将作为标准 Windows 认证计划的一部分获得新硬件。但 Linux 开发人员的情况并非如此。
但这一切通常意味着,如果您使用的是尖端硬件,则对某些功能的支持不会立即出现在 Linux 安装中。假以时日,新硬件会得到 Linux/BSD 世界的支持和采用。
唯一的警告:根据我的经验,Linux/BSD 对硬件的支持是基于服务器需求的。这意味着图形驱动程序落后,但核心系统的其余部分是稳定的。这是因为 Linux/BSD 更容易被服务器世界所采用,而不是桌面世界。非标准鼠标功能也是如此。通常,您只需将任何鼠标插入 Linux/BSD 设置,它就可以作为基本鼠标使用。但如果它是多按钮的或具有非标准功能,那么除非明确为它们编写驱动程序,否则这些功能很可能无法使用。
这些东西确实会受到严重阻碍的一个地方是制造商闭源板载 RAID 设置,例如 HP 的设置。在这种情况下,最好只是获得受支持的 RAID 卡附加组件,而不必担心板载 RAID 的“额外好处”,因为服务器通常只能处理 RAID 0 或 RAID 1。从企业服务器环境的角度来看,这些 RAID 设置并不是什么值得大书特书的事情,而附加卡是获得供应商和 Linux 社区长期支持的更好选择。
答案2
现代 Windows 版本(例如 Win 7 及更新版本)可以启动并运行(即,无需崩溃即可进入 Windows 桌面),因为 Microsoft 在安装光盘中包含了最常见硬件的驱动程序,这些驱动程序在安装 Windows 时就已安装。这些随附的驱动程序可让您进入桌面并访问互联网,这样您就可以完成工作。
对于许多现代 Linux 发行版来说也是如此(所以是的,它们能做同样的事情——让你开箱即用,进入桌面并上网)。然而,对于 Windows 和其他操作系统来说,全部硬件功能将会起作用,特别是对于新的和不常见的硬件,直到您从 CD 或 Internet 安装制造商提供的驱动程序。