18
2014
11

无盘专用禁止无用设备(DisableDev)

在网吧无盘系统环境下,我们有很多不需要的设备是无需启用的,禁用这些设备可以大大加快无盘客户机的开机速度,比如“IDE ATA/ATAPI 控制器”等等。

以往我们禁用这些设备的手段是通过微软提供给我们的DevCon工具,记录需要禁用的设备硬件ID来禁用,这种方法虽然可以解决我们上述需求,但笔者最近在写批处理的时候发现,我无法拿到市面上所有该禁用的设备ID,只能将我看到过的记录下来通过工具来禁用,如果有比较新的硬件设备我们是不知道的。继而工具算不上通用或者说万能。

为了解决这个问题,特意研究了一下微软的硬件设备列表。发现我们需要禁用的设备都是属于一个类别的,比如“打印机端口(LPT1)”和“通信端口(COM1)”都属于“端口(LPT 和 COM)”这个硬件类别下的。

2014-08-14_141503

我们是不是可以通过判断硬件类别的方式来将一个类别下的所有硬件设备禁用呢?如果可以,像IDE ATA/ATAPI这样的设备,无需我们再一个一个的记录硬件ID,通过设备类型就直接批量将该类型的所有设备禁用了。

微软当然不会让我们失望,经过一番百度,发现setupapi系列函数可以做到这样的功能,可通过硬件设备类GUID来禁用你需要的一个类别下的所有设备。比如“端口(COM 和 LPT)”的GUID就是“GUID_DEVCLASS_PORTS”,下面是一个较常用的GUID列表,如果做Windows开发的同学可以参考这方面资料。

通过微软提供给我们的方法,我制作了如下工具,固定禁止4种设备中的所有硬件:

1、IDE ATA/ATAPI 控制器

2、端口(COM 和 LPT)

3、软盘驱动器控制器(如果在BIOS中禁用软盘那么启动速度会提高2-3秒)

4、SCSI 和 RAID 控制器

工具下载(分32位和64位版本,适用Win7):点击下载 DisableDev 工具

使用工具禁用后的效果如下图:

1

转载请注明:死性不改's Blog » 无盘专用禁止无用设备(DisableDev)


« 上一篇下一篇 »

相关文章:

评论列表: