BIOS

共 3 篇文章。

BIOS 串口波特率设置

• Kernel

今天 Warner 改了一段注释,我于是学到了一些新的 犀利而无用的知识,在这记一笔。

当从 BIOS 引导时,假如是使用 FreeBSD 的 boot manager(写入VBR的boot0或boot0sio),该 boot manager 实现了一个菜单,因为这个菜单的原因,实现串口异步通讯的代码就塞不下了,于是 boot0sio 会调用 BIOS int 14h 去初始化串口。

然而 int 14h 提供的接口是1981年的设计(IBM 5150的BIOS是1981年4月24日发表的,当时只有 8 kB),用来表达波特率的只有3个bit,这3 bit作为波特率除数表的索引值,该表在1981年写死成了:1047, 768, 384, 192, 96, 48, 24, 12,因此最高的波特率就是115200 / 12 = 9600。

由于 9600 还是比较慢(每秒只能传1200字节),因此现时的 BIOS / EFI 往往默认将串口波特率设为115200,然而 FreeBSD 的 boot0sio 在引导时仍然会一上来就把串口波特率设为 9600,解决方法是干脆不要用 boot0sio 而是使用 BIOS 提供的 Console Redirect 功能,或是在编译时将 BOOT_COMCONSOLE_SPEED 设置为 0。

阅读全文… ( 本文约 666 字,阅读大致需要 2 分钟 )

终于,基于BIOS的终极木马诞生了

• Security

终于,是吧,直接写入BIOS的终极木马诞生了。十几年前的CIH病毒等等现在看来都是小儿科。

这种东西迟早会出现,这个我并不觉得奇怪,但是这次CORE实现的这个攻击是一个通用性很强的攻击,换言之,它能够适应多种不同品牌的 BIOS;实际上我认为这种攻击很可能也适用于网卡、RAID卡、显卡上面的可刷写ROM。例如,如果在 VBE 中写上这么一个玩意呢?现在看来 ACPICA 真是一个有前瞻性的玩意,也许 Intel 早就意识到了这种问题可能会发生?

阅读全文… ( 本文约 272 字,阅读大致需要 1 分钟 )

郁闷的装机!

• Hardware

今天去海龙装了一台新的机器(这台机器将取代现在的beastie.frontfree.net),非常(我很想用混账这个词!)的是,2层的那家Intel代理竟然拒绝解释为什么他们的865GBF为什么没有集成千兆NIC芯片!!他们的解释是Intel没有在中国大陆范围内销售过包含千兆NIC的版本,我认为这是不能接受的,因为在无数的网站上我看到的这张主板有包括千兆NIC的版本,并且是在中国大陆销售的。此外,这张主板将CPU(P4 2.8G-E)识别为P4 2.8-C。

阅读全文… ( 本文约 458 字,阅读大致需要 1 分钟 )