You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将Hyper-V虚拟磁盘迁移至SMB共享时最终出现文件未找到错误

Hyper-V虚拟磁盘迁移至SMB共享时「文件未找到」错误的排查方案

我来帮你捋捋这个Hyper-V磁盘迁移踩坑的问题——你遇到的「文件未找到」错误,大概率是权限、路径格式或者服务配置的锅,咱们一步步排查解决:

一、先把SMB共享的权限问题钉死

这是最常见的诱因,很多人容易忽略Hyper-V服务的账户权限:

  • 共享权限+NTFS权限双检查:别只给你个人用户开权限!Hyper-V服务是用主机的计算机账户(不是你的个人账户)运行的,一定要把SMB共享的「读取/写入」权限,以及共享所在磁盘的NTFS「完全控制」权限,都分配给Hyper-V主机的计算机账户(格式是DOMAIN\主机名$,如果是工作组环境就是主机名$)。
  • 手动验证访问:在Hyper-V主机上打开命令提示符,运行 net use \\新NAS地址\共享名 挂载共享,然后尝试创建一个空文本文件。如果这一步都失败,直接回头调权限就行。

二、确保Hyper-V对SMB存储的支持配置正确

  • 启用SMB存储功能:打开PowerShell执行 Enable-WindowsOptionalFeature -Online -FeatureName Hyper-V-SMB,如果已经启用会提示无需操作,没启用的话按提示重启主机。
  • 坚决用完整UNC路径:配置磁盘路径时,必须用\\NAS-SERVER\Hyper-V-Disks\VM1\Disk1.vhdx这种完整的UNC路径,绝对别用映射的驱动器号(比如Z:\)——Hyper-V服务不认映射盘。

三、手动迁移的正确打开方式

别直接复制文件后改配置,按这个流程来能避坑:

  1. 先彻底关闭目标虚拟机,确保磁盘完全离线。
  2. 在Hyper-V管理器里右键虚拟机→设置,找到要迁移的磁盘,点击移除(注意是移除配置,不是删除磁盘文件!)。
  3. 用robocopy命令复制磁盘,保证权限和属性完整:
    robocopy "旧磁盘的完整路径" "\\新NAS地址\共享名" *.vhdx /ZB /E /COPYALL
    
    这个命令会自动处理文件锁定问题,还能完整复制所有权限属性。
  4. 回到虚拟机设置,点击添加硬盘→现有硬盘,直接选SMB共享上的磁盘文件,确认路径是正确的UNC格式。
  5. 启动虚拟机测试。

四、检查Hyper-V服务账户的访问权限

Hyper-V的虚拟机服务默认用「NT Virtual Machine\Virtual Machine Service」账户运行,这个账户也需要对SMB共享有读写权限:

  • 把这个账户添加到SMB共享的权限列表里,分配「读取/写入」权限。
  • 顺便检查主机的「本地安全策略」,确保「从网络访问此计算机」策略里包含这个服务账户。

五、其他小众排查方向

  • SMB版本兼容:如果新NAS只支持SMB 1.0,而Hyper-V主机默认禁用了SMB 1.0,会导致访问失败。可以临时启用SMB 1.0测试(不推荐长期用,不安全),或者给NAS升级到SMB 3.0及以上版本。
  • 磁盘文件完整性:先检查旧磁盘有没有损坏,打开PowerShell运行:
    Test-VHD -Path "旧磁盘路径\Disk1.vhdx" -Full
    
    如果有错误,先修复(Repair-VHD命令)再迁移。

内容的提问来源于stack exchange,提问作者aardbol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:12:46