首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >BIOS密码是如何工作的?

BIOS密码是如何工作的?
EN

Unix & Linux用户
提问于 2013-11-08 18:11:47
回答 2查看 966关注 0票数 2

我已经创建了一个BIOS密码。我使用Dvorak键盘布局。当我将键盘布局切换到Qwerty并重新启动,然后在不同的布局中键入密码时,不会发生任何更改。然而,当我登录到我的操作系统时,有一个不同的键盘布局很重要。这里发生了什么事?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2013-11-08 19:14:19

许多人之所以感到困惑,是因为他们把计算机看作一个单一的实体,而实际上,一台计算机是几个系统协同工作,给人一种错觉,认为它是一个有凝聚力的物体。

多子系统

BIOS就是这些子系统之一。BIOS正是其名称所描述的。基本的输入和输出系统。它的工作是为系统提供基本功能,以便它能够检测外围设备(例如:HDD、键盘、监视器等)。BIOS提供的另一个主要功能是引导带,从指定的介质(CD、DVD、USB、HDD等)加载操作系统。

提供对这些外围设备的访问的功能提供了一个API,如果操作系统和软件愿意的话,它们可以使用这个API,但是操作系统和软件不需要使用这些API,而且由于各种原因,它们常常不用使用这些API。

主要原因是设备制造商知道得最好,而且常常会自己提供一个低级别的驱动程序,它能够以比一般的BIOS更亲密的方式来处理硬件。

你的问题就是这种情况。BIOS能够检测键盘并使用自己的软件/驱动程序来处理它,而操作系统却不能。

其实没有什么比这更重要的了。

MS-DOS API

如果您想要一个更具体的例子,那么您不需要看任何更远的中断21工具,它是由MS推广的。MS提供了自己的屏幕服务,这些服务与BIOS并排,因为微软希望拥有更丰富的特性或完全不同的API。

请参阅维基百科页面:MSDOS API

票数 2
EN

Unix & Linux用户

发布于 2013-11-08 20:01:07

现代BIOSes采用任何检测到的USB键盘,并做一些SMM欺骗,使它看起来像一个原始的IBM或PS/2键盘的BIOS和任何程序使用BIOS的键盘I/O,这将MS,Memtest86+和一些引导加载器。

这个旧的接口提供扫描代码时,PC按下和释放的钥匙。扫描代码取决于键的位置,并且不知道键盘上的qwerty/dvorak开关是什么位置。它们不与任何ASCII或Unicode点保持一致。

维基百科关于扫描码的文章可以提供一些见解。

大多数,如果不是所有的BIOSes应该理解这些扫描代码,无论是从真正的AT或PS/2键盘或PS/2模拟USB键盘。额外的密钥、交换机等将有额外的或非标准的扫描代码,而BIOS将忽略它们。

当您登录到您的操作系统时,驱动程序有机会控制。我不太清楚这个接口是如何工作的,也不清楚涉及到什么驱动程序(也许这个开关是一个非标准的扫描代码,驱动程序会从中拾取并导致密钥映射或其他东西的更改。)如果这是一个USB键盘,很可能是,qwerty/dvorak开关可能是另一个HID输入设备,或者其他什么东西。)

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/99453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档