该错误表明有vhd/vhdx或wim/esd镜像被作为虚拟磁盘挂载占用,需用diskpart执行list vdisk查看、select vdisk file="路径"后detach vdisk分离,或用powershell运行get-vhd | ?{$_.attached} | dismount-vhd批量卸载,再rescan并clean验证解锁。

当你在Windows PE环境中尝试用DiskPart或磁盘管理工具初始化某块硬盘时,系统弹出“由于虚拟磁盘已被附加无法初始化”的错误提示,说明该磁盘当前被PE环境或其他进程以虚拟磁盘(VHD/VHDX)方式挂载占用,导致底层物理设备处于锁定状态,无法执行初始化、清理或分区操作。
确认并列出所有已附加的虚拟磁盘
按 Win+R 打开运行框,输入 diskpart 回车进入命令行工具。
输入 list vdisk 并回车。如果返回结果中显示至少一行类似 vdisk file=C:\sources\boot.wim 或 vdisk file=D:\win10.wim 的条目,就说明有WIM/ESD镜像正被当作虚拟磁盘加载——这正是阻塞初始化的根源。
分离指定虚拟磁盘
执行 select vdisk file="完整路径",注意路径必须带英文双引号,且区分大小写。例如:select vdisk file="D:\win10.esd"。
选中后立即执行 detach vdisk。成功时会返回 虚拟磁盘已成功分离 提示。
【关键前提】 分离前务必确认该虚拟磁盘未被任何正在运行的安装工具(如WinNTSetup、DISM++)调用,否则强行分离可能导致工具崩溃或镜像释放失败。
批量清除全部已附加虚拟磁盘
方法一:逐个分离(推荐用于不确定具体挂载路径时)
重复执行 list vdisk → select vdisk file="X" → detach vdisk,直到 list vdisk 返回空列表。
方法二:重启PE并禁用自动挂载
关机→拔掉含WIM/ESD文件的U盘或移动硬盘→重新从PE启动盘进系统。PE默认不会自动挂载镜像,除非你手动双击或通过工具触发。这步能彻底规避残留挂载问题。
方法三:用PowerShell强制卸载(仅限PE已集成PowerShell模块)
打开PowerShell,运行:Get-VHD | Where-Object {$_.Attached -eq $true} | Dismount-VHD。该命令无需指定路径,直接解除所有已挂载VHD/VHDX。
验证物理磁盘是否已解锁
回到diskpart,依次执行:
① rescan(刷新磁盘状态)
② list disk(观察目标磁盘状态栏是否不再显示“联机”或“只读”字样)
③ 对目标磁盘执行 select disk X → clean,若无报错即表示分离成功。
如果仍报“虚拟磁盘已被附加”,说明还有隐藏挂载——此时请检查PE桌面是否开着WinNTSetup并已加载了镜像,关闭该程序后再试。











