阿里云的Windows实例支持对云盘进行在线扩容(即无需重启ECS实例便可以完成扩容云盘)和从操作系统内部获取磁盘序列号。如果您的Windows实例有在线扩容(实例创建时间早于2019年03月30日)或者获取磁盘序列号(实例创建时间早于2020年05月01日)需求,请根据本文操作检查是否需要更新virtio驱动。

背景信息

  • 仅支持在Windows Server 2008及更高版本操作系统更新virtio驱动。
  • 如果ECS实例的数据盘数量较多,可能需要1~2分钟完成virtio驱动的更新。

操作步骤

步骤一:检查实例的virtio驱动版本

检查驱动版本有以下两种方式。
  • 方式一:使用PowerShell检查驱动版本
    1. 远程连接Windows实例。

      具体操作,请参见通过密码认证登录Windows实例

    2. 打开CMD命令行窗口。
    3. 输入powershell进入PowerShell交互界面。
    4. 输入以下命令检查驱动版本,根据返回信息判断ECS实例是否支持在线扩容。
      [System.Diagnostics.FileVersionInfo]::GetVersionInfo("C:\Windows\System32\drivers\viostor.sys")
      检查驱动版本
  • 方式二:手动检查驱动版本
    1. 远程连接Windows实例。

      具体操作,请参见通过密码认证登录Windows实例

    2. 进入系统目录C:\Windows\System32\drivers
    3. 右键单击viostor.sys文件,选择属性,在详细信息页签下查看文件版本号 。文件版本号
根据查询到的文件版本,在不同场景下可以进行的操作如下表所示。
适用场景 virtio版本 操作
在线扩容云盘 大于等于58011 您可以直接在线扩容云盘。具体操作,请参见在线扩容云盘(Windows系统)
小于58011
  • 无法在线扩容。
  • 无法直接查询序列号。
您需要更新驱动程序。具体操作,请参见步骤二:更新实例的virtio驱动程序
查询序列号 大于等于58017 您可以直接查看磁盘序列号。具体操作,请参见查看磁盘序列号
小于58017 无法直接查询序列号,您需要更新驱动程序。具体操作,请参见步骤二:更新实例的virtio驱动程序

步骤二:更新实例的virtio驱动程序

如果您的Windows实例能够访问公网,建议您使用本小节中的步骤快速更新virtio驱动。如果实例不能访问公网,或需要批量更新virtio驱动,请参见如何手动更新Windows实例的virtio驱动?中的步骤。

您在手动更新virtio驱动前,建议您先为Windows实例创建快照备份数据。具体操作,请参见创建一个云盘快照

  1. 远程连接待更新驱动的Windows实例。
    具体操作,请参见连接方式介绍
  2. 在Windows实例中,下载用于更新virtio驱动的脚本。
    下载地址:InstallVirtIo.ps1
  3. 执行InstallVirtIo.ps1脚本更新virtio驱动。
    例如,您将脚本InstallVirtIo.ps1下载到了C:\test目录下。
    1. 打开C:\test文件夹。
      您需要打开InstallVirtIo.ps1实际的下载目录。
    2. 选中InstallVirtIo.ps1文件,单击鼠标右键,然后单击使用 PowerShell 运行
      执行脚本
      您也可以在文件夹的空白区域,按下Shift键的同时,单击鼠标右键,然后单击在此处打开 Powershell 窗口(S)。在Windows PowerShell中手动执行InstallVirtIo.ps1脚本。
      说明
      • 如果您当前Windows实例的登录用户为普通用户,需要以管理员权限执行脚本。如果是系统用户,则可以直接执行脚本。
      • 如果您在手动执行脚本时,系统提示您禁止执行脚本,则需要您先修改PowerShell的脚本执行策略。具体操作,请参见常见问题
  4. 脚本执行完成后,重启Windows实例。
    具体操作,请参见重启实例。重启实例后,virtio驱动更新才会生效。

后续步骤