文档

如何检查Windows实例注册表中的磁盘驱动残留项?

更新时间:
重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

当Windows实例中存在磁盘驱动残留项时,可能会导致新挂载的云盘无法被识别或磁盘设备无法被访问。本文主要介绍该场景下如何检查注册表中的磁盘驱动残留项并提供解决方案。

问题现象

  • 在ECS控制台挂载云盘到Windows实例后,Windows实例中无法识别新挂载的云盘。

  • Windows实例中无法访问磁盘。

可能原因

Windows实例的注册表中存在磁盘驱动残留项。

解决方案

说明

以下操作步骤以Windows Server 2019为例,实际操作系统以您实际的Windows实例为准。

  1. 远程连接ECS实例。

    具体操作,请参见ECS远程连接方式概述

  2. 进入注册表编辑器。

    1. 在Windows桌面左下角,搜索框中输入注册表编辑器

    2. 在弹出的面板中,单击注册表编辑器

      进入注册表编辑器。注册表编辑器

  3. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e967-e325-11ce-bfc1-08002be10318}路径下,查看UpperFilters中是否存在残留项。

    • 单击鼠标右键修改UpperFilters,如果数值数据(V)中只有partmgr字段,则表示不存在残留项。

    • 单击鼠标右键修改UpperFilters,如果数值数据(V)中除了partmgr字段外,还存在其他字段,则表示存在残留项。例如,数值数据(V)中新增test_filter字段,则表示存在test_filter残留项,如图所示:UpperFilters中存在残留项

  4. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\SCSI路径下,查看每个磁盘的注册表项中是否存在磁盘驱动器残留项。

    • 如果磁盘注册表项中无UpperFilters,则Windows系统中不存在磁盘驱动器残留项。

    • 如果磁盘注册表项中存在UpperFilters,则Windows系统中存在磁盘驱动器残留项。

      此时,在Windows系统的磁盘驱动器中,该磁盘对应的磁盘驱动器会变为异常状态,将导致磁盘无法访问,如图所示:增加过滤器

  5. 清除磁盘驱动残留项。

    1. 进入HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e967-e325-11ce-bfc1-08002be10318}路径。

    2. 单击鼠标右键修改UpperFilters,在数值数据(V)中删除驱动残留项对应的字段,例如删除test_filter字段。

      警告

      您需要确保待删除的字段所对应的驱动已经被删除,否则会误删除该驱动残留导致存在引用的驱动无法使用。您可以在安装驱动的目录下(例如C:\Windows\System32\drivers)查看是否存在test_filter对应的驱动,如果没有,说明对应驱动已被删除。

      删除驱动残留项

    3. 单击确定

  6. 重启Windows实例。

    具体操作,请参见重启实例

    警告

    重启实例会造成您的实例停止工作,可能导致业务中断,建议您在非业务高峰期时执行该操作。