每当我们插入一个新的拇指驱动器时,我们都会收到一个弹出窗口Installing Device Driver
,然后过一段时间就会弹出自动运行对话框。
因此,当从可启动闪存驱动器安装另一个操作系统时 - BIOS(我认为与操作系统本身相比非常简陋)如何能够快速从闪存驱动器读取数据(这也是在启动开始时)而无需安装任何设备驱动程序。
编辑:我注意到 Linux(我的情况是 Ubuntu 12.04)也不需要安装设备驱动程序,并且驱动器会自动在 Nautilus 中打开。这是如何工作的?
答案1
在过去二十年中,某些硬件方面已经变得非常标准化,因此很容易将这些驱动程序嵌入到固件中(或者在 Linux 的情况下是内核中)。如果您查看用于 USB 存储的驱动程序,无论制造商、尺寸等如何,它们几乎总是相同的。
这同样适用于(大多数)USB 键盘和其他常见输入设备,因为它们都属于危险气体周围神经类。
至于Linux自动向您显示驱动器的内容,粗略的概述如下:
- 内核注册新连接的设备。
dmesg
插入设备后执行以下操作即可看到 - 然后驱动器会自动安装,如中所示
mount -l
。通常,您会看到一行以/dev/sdc1 on /media/username/Something...
与 #1 中列出的设备节点匹配的内容开头。 - 您的桌面环境会看到您的用户名的这个新挂载点,并为该挂载点打开一个文件管理器。
答案2
整个“安装驱动程序”过程只出现在 Windows 上。实际上,它更像是“注册新设备实例”。在其他操作系统上,这个过程当然基本相同,但管理方式不同。例如,有两种方法可以处理多个类似的设备:要么为每个设备运行一个独立的驱动程序实例,要么一个实例能够处理多个设备。
必须满足一些要求:驱动程序必须位于内核(或将驱动程序加载到内核的程序)能够自动找到的位置。类似于/lib/modules
Linux。如果驱动程序不可用或未内置在内核中,则无法使用该设备。
对于像 UEFI 或 BIOS 这样的固件,驱动程序将是内置的,因为它们必须是自包含的。
正如 Jarmund 之前提到的,如今输入和存储设备的接口已基本标准化。一个驱动程序就足以使用几乎所有的 USB 存储设备。这就是 BIOS 和 UEFI 让您使用键盘和鼠标以及 USB 存储设备等的方式。