为什么我不需要为 Ubuntu 安装任何驱动程序

为什么我不需要为 Ubuntu 安装任何驱动程序

因此,当我安装 Windows 时,我需要安装与我的笔记本电脑相关的所有驱动程序。

为什么我不能对 Ubuntu 安装执行相同的操作?

安装是否会以某种方式检测我的硬件并自行安装适当的驱动程序?

谢谢

答案1

大多数情况下,您不需要安装额外的驱动程序。几乎所有可用的驱动程序都已包含在内。

Ubuntu 附带许多现成的驱动程序。只有当您的某些硬件无法正常工作或无法检测到时,才需要安装驱动程序。您可以下载一些显卡和无线适配器的驱动程序。

找出是否需要任何驱动程序的简单方法是先从安装屏幕选择尝试 Ubuntu,看看是否需要任何驱动程序,并看看 Ubuntu 是否适用于您的硬件。

答案2

Ubuntu 是一个开源操作系统,在开源操作系统中,可以为用户提供额外的保护,防止因安装错误的驱动程序而导致的问题,并在安装错误的专有图形驱动程序后为恢复系统提供额外的帮助。我在这里指的是内置的开源图形驱动程序,如 nouveau 和 amdgpu 软件包,以及专有图形驱动程序,如来自 NVIDIA 官方网站的 NVIDIA 驱动程序和 AMDGPU-Pro 驱动程序1来自 AMD 官方网站。

Ubuntu 内置的开源驱动程序为用户提供了额外的保护层,避免因安装专有驱动程序导致的问题而不得不重新安装操作系统。某些驱动程序不需要在 Ubuntu 中安装的原因是,某些开源驱动程序已内置在默认的 Ubuntu 安装中。安装专有驱动程序有时会导致系统无法启动,如果不是因为仍然安装的开源驱动程序,系统可以在卸载导致问题的专有驱动程序后再次启动。

答案3

Linux(和一些其他开源 unix)系统对待驱动程序的方式与 Windows 操作系统非常不同。

在 Windows 系统(尤其是 Windows 10 之前的版本)中,操作系统内核提供了一个稳定的二进制软件接口,驱动程序可以在此接口上编写,并且该接口(除例外情况外)保证在给定 Windows 版本的支持周期内保持不变。这有利于由第三方编写和提供的驱动程序,它们通常会在该支持周期内适用于至少一个版本的 Windows。缺点是,该驱动程序接口很难在该生命周期内改进或修复,并且倾向于驱动程序的二进制分发(抛开所有政治因素!),这通常会限制一致的多平台支持。

Linux 内核确实有一个不断变化的驱动程序接口,该接口仅在源代码级别严格指定,并且偏向于可改进性和多平台一致性。这意味着,除非使用提供特定、稳定二进制接口的附加“转换器”驱动程序,否则驱动程序二进制文件特定于确切的内核构建。人们可以“捏造”驱动程序二进制文件,使其可能与一个平台上的几十个确切的内核版本兼容,但维护它(作为二进制产品)的努力是不经济的。这种偏见在 Linux 内核社区中也是政治上想要的,因为他们假装闭源二进制驱动程序比具有总线控制能力的外围设备上的恶意固件更糟糕,认为闭源代码既太不可信又太令人反感,不能以内核权限运行。因此,所有主要硬件的开源设备驱动程序都在内核包本身中提供,第二种选择是使用相对容易使用的方法将外部驱动程序作为源 tarball 分发,以针对已安装的内核进行编译。

一些其他 Linux 驱动程序(例如经典 X11 图形驱动程序、扫描仪驱动程序、打印机驱动程序)不作为内核的一部分来处理,而是作为某些用户空间软件的一部分来处理,这些用户空间软件以系统范围服务的形式提供功能(XOrg、Sane、Ghostscript……) - 这些也往往特定于相关用户空间软件的特定版本,并且主要与该特定版本一起分发。

相关内容