清理幽灵设备关键代码

以前做过Ghost封装的同学肯定知道,从一台电脑做完封装,Ghost到另外一台电脑后,设备管理器里面会看到很多在封装系统那台电脑上的设备信息,这些设备虽然不会造成什么严重问题,但是系统每次启动都会尝试加载该设备,这些设备被称之为幽灵设备。我们可以通过以下批处理,显示未连接的设备列表:

将以上文本保存为批处理,运行后会自动打开设备管理器,在设备管理器中点击查看-显示隐藏的设备,这时你就可以看到很多图标呈浅灰色状态的设备了,这些设备因为以前连接过,在系统的注册表中留下了信息,但现在已经并没有连接在电脑上了。如下图:

2014-02-20_052457

去掉这些设备有很多种方法。

1、通过设备管理器手动一项一项的删除,很明显这并不是明智的选择。

2、记录一下这些设备的ID,通过微软提供的DevCon工具来卸载,当然这种方法可以复用,而如果你更换了做母盘的硬件设备呢?是不是要重新再记录一次隐藏的设备列表?另外系统中有多个设备的硬件ID是一样的,通过DevCon来卸载可能会把系统中正在工作的设备给卸载掉。就像13Q4系统中曾经出现过的问题,清理幽灵设备的批处理因为将正在使用的磁盘卷删除了导致开机就死机。

3、通过注册表删除,网上有方法,但会有兼容性问题。

以上方法都无法做到一劳永逸,而且一旦清理错误将回导致无法返回的损失,是无盘还好,如果是有盘,系统可能就崩溃无法启动了。

微软是预留给我们接口,可以遍历并判断哪些设备未连接到系统,我们可以利用这些方法轻松的卸载掉这些幽灵设备,而不需要我们手动一个一个的去记录、清理。关键代码如下:

发表评论

电子邮件地址不会被公开。 必填项已用*标注