![如何释放另一个进程使用的锁定 Hyper-V VHD?](https://linux22.com/image/629995/%E5%A6%82%E4%BD%95%E9%87%8A%E6%94%BE%E5%8F%A6%E4%B8%80%E4%B8%AA%E8%BF%9B%E7%A8%8B%E4%BD%BF%E7%94%A8%E7%9A%84%E9%94%81%E5%AE%9A%20Hyper-V%20VHD%EF%BC%9F.png)
当我启动虚拟机时出现此错误
Microsoft 模拟 IDE 控制器错误(实例 ID 83F863B-8DCA-9EDA-2CA8B33039B4):无法开机,错误为“该进程无法访问该文件,因为该文件正在被另一个进程使用。”。
它出什么问题了?
答案1
Windows 还可能锁定 VHD 文件。我双击 VHD 时就遇到了这种情况,这会导致最新版本的 Windows 像打开文件夹一样打开它。但是,系统似乎会锁定该文件,从而阻止 Hyper-V 使用它来启动虚拟机。重新启动解决了该问题。
答案2
虽然上面提供的一些简单答案可能对某些用户有用,但它们都没有解决我的问题。我的问题是,我的虚拟机的 Hyper-V .vhdx 文件被锁定,但既没有出现在文件资源管理器中作为可弹出磁盘,也没有出现在管理工具磁盘管理组件中。请注意,我的 VM 是在启用 Hyper-V 的 Windows 10 中的 WSL2 下运行的 Debian Linux 衍生产品。
那么它一开始是怎么被锁定的呢?我按照网上一篇文章的说明操作,文章说我只需双击 .vhdx 文件就可以轻松查看文件。在虚拟机暂时关闭的情况下,我照做了,但收到一条错误消息(关于“无法读取文件”的内容)。之后,尝试使用 Hyper-V 连接到我的虚拟机时,出现错误消息“该进程无法访问该文件,因为它正在被另一个进程使用”。那么如何解锁呢?
在搜索了网络并尝试了各种方法后,我终于找到了一种可以使用 Powershell 的方法。以下是简短的步骤:
搜索 Powershell,然后以管理员身份运行。
在命令提示符下输入:
get-physicaldisk
就我而言,结果是:
Number FriendlyName SerialNumber MediaType CanPool OperationalStatus HealthStatus Usage Size
------ ------------ ------------ --------- ------- ----------------- ------------ ----- ----
1 SanDisk Ultra II 480GB 16xxxxxxxx96 SSD False OK Healthy Auto-Select 447.13 GB
0 WDC WD1001FALS-00E3A0 WD-WCATxxxxxxx9 Unspecified True OK Healthy Auto-Select 931.51 GB
2 Msft Virtual Disk SSD False OK Healthy Auto-Select 32 GB
如您所见,有一个名为“Msft Virtual Disk”的条目,它代表作为虚拟磁盘安装的 VM 文件。
- 要卸载虚拟磁盘,请在命令提示符下输入:
Dismount-DiskImage -ImagePath "C:\Users\Public\Documents\Hyper-V\Virtual hard disks\Name-Of-Your-Virtual-Machine.vhdx"
- 重新输入命令:
get-physicaldisk
验证虚拟磁盘是否已卸载。
之后,虚拟磁盘被卸载,我能够再次成功从 Hyper-V 连接并加载我的虚拟机。
我希望这些信息能对某人有所帮助!
答案3
几天前我遇到了同样的问题:
Microsoft 模拟 IDE 控制器错误(实例 ID 83F863B-8DCA-9EDA-2CA8B33039B4):无法开机,错误为“该进程无法访问该文件,因为该文件正在被另一个进程使用...”
我尝试删除 USB 驱动程序和 IDE - CD-ROM。再次重新启动权限,但问题仍未解决。
我必须创建一个新的虚拟机并连接硬盘。它解决了这个问题。
希望有所帮助。
答案4
非常简单。只需进入 vm 设置。然后在左侧窗格中,IDE 控制器 1 下方单击 DVD 驱动器,然后选择无。大功告成。