
# Windows系统迁移后，进行系统升级时出现错误代码0x80070057
#### 问题描述
使用主机迁移服务将Windows服务器迁移至目的端弹性云服务器ECS后，进行操作系统大版本升级（如从Windows Server 2016升级至Windows Server 2019/2022）时，升级程序报错并回滚。错误代码如下：
```
Operation failed: Process Drivers for Migration. Error: 0x80070057
```
#### 故障原因
该问题主要由Windows升级程序与预注入驱动程序的兼容性冲突引起。在Windows操作系统升级阶段，系统会枚举并校验所有已安装的驱动程序。若系统中存在通过非标准方式（如离线注入）部署的virtio驱动记录，Windows升级程序可能无法正确识别其驱动包结构或路径，导致在"迁移驱动程序"阶段触发参数错误（0x80070057），进而导致升级失败。
#### 解决方案
通过手动安装标准virtio驱动并清理注册表中冗余的驱动包记录来解决。
1. 创建ECS快照。 
   1. **关机** ：将需要升级的ECS服务器关机，方法请参考[管理ECS状态](https://support.huaweicloud.com/usermanual-ecs/ecs_03_0155.html#section1)。
   
   2. **创建快照** ：为系统盘创建快照，确保在操作异常时可快速恢复，方法请参考[创建云硬盘快照](https://support.huaweicloud.com/usermanual-evs/zh-cn_topic_0066615262.html)。
   
   
   ![](https://support.huaweicloud.com/sms_faq/public_sys-resources/note_3.0-zh-cn.png)
   清理注册表属于高危操作，请务必在清理前制作快照。
   
   
2. 更新virtio驱动。 
   1. **下载virtio驱动**
      virtio驱动的获取路径如下，您可以按需选择适合的版本下载。
      <https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/>
      
   
   2. **登录Windows弹性云服务器**
      必须通过**VNC** 方式登录Windows弹性云服务器，详细操作请参见[通过控制台VNC登录Windows ECS](https://support.huaweicloud.com/usermanual-ecs/ecs_03_0127.html)。
      ![](https://support.huaweicloud.com/sms_faq/public_sys-resources/note_3.0-zh-cn.png)
      不可使用远程桌面（Remote Desktop Protocol，RDP）登录方式，因为安装时会更新网卡驱动，远程桌面登录时网卡正在使用，从而导致安装不成功。
      
   
   3. **安装** **virtio驱动**
      以管理员身份运行安装包进行安装，具体步骤请参考[安装virtio驱动](https://support.huaweicloud.com/usermanual-ims/ims_01_0319.html#section2)。
      
   
   
   
   
3. 清理冲突注册表项。删除前请务必成功安装virtio驱动，否则可能导致后续清理完注册表，系统无法启动。 
   由于目标注册表项受系统保护（所有者为 \`SYSTEM\`），直接删除会提示"拒绝访问"。必须按照以下步骤手动接管权限后执行删除。
   1. **定位目标注册表路径**
      使用管理员权限运行cmd，并输入"regedit"，打开注册表编辑器，依次展开并定位至以下两个路径：
      - HKEY_LOCAL_MACHINE\\SYSTEM\\DriverDatabase\\DriverPackages\\vioscsi.inf_amd64_hwpv
      
      - HKEY_LOCAL_MACHINE\\SYSTEM\\DriverDatabase\\DriverPackages\\viostor.inf_amd64_hwpv
      
      
      ![](https://support.huaweicloud.com/sms_faq/public_sys-resources/note_3.0-zh-cn.png)
      请务必核对后缀是否为 _hwpv，避免误删其他标准驱动，删除错误的注册表可能导致系统无法启动。
      
   
   2. **修改权限与所有者（以vioscsi.inf_amd64_hwpv为例）**
      1. 右键单击目标项，选择 "权限"。 ![](https://support.huaweicloud.com/sms_faq/zh-cn_image_0000002583638593.png "点击放大")
         
      
      2. 在弹出的窗口中，单击右下角的"高级 "。 ![](https://support.huaweicloud.com/sms_faq/zh-cn_image_0000002552879240.png "点击放大")
         
      
      3. 在顶部"所有者"右侧单击"更改 "。 ![](https://support.huaweicloud.com/sms_faq/zh-cn_image_0000002553039172.png "点击放大")
         
      
      4. 在对象名称输入框中输入"Administrator"（或当前管理员账号），单击"检查名称"，然后单击"确定"。 ![](https://support.huaweicloud.com/sms_faq/zh-cn_image_0000002553039626.png "点击放大")
         
      
      5. 勾选"替换子容器和对象的所有者 (Replace owner on subcontainers and objects)"，单击"应用"。 ![](https://support.huaweicloud.com/sms_faq/zh-cn_image_0000002583639747.png "点击放大")
         
      
      6. 回到第一步打开的权限窗口，选择"Group or user names"或"组或用户名"中的"Everyone"，更改Everyone的权限为"Full Control"或"完全控制"。 ![](https://support.huaweicloud.com/sms_faq/zh-cn_image_0000002552880138.png "点击放大")
         
       
   
   3. **执行删除**
      完成权限修改后，右键单击并删除上述两个以 "_hwpv" 结尾的注册表项。
      ![](https://support.huaweicloud.com/sms_faq/zh-cn_image_0000002583560203.png "点击放大")
      
   
   4. 请对"viostor.inf_amd64_hwpv"注册表项重复上述步骤。
   
   5. **重试升级**
      重新运行Windows升级程序执行系统更新。
      
   
   
   
   
 
