今天测试 Debian 磁盘加密时,遇到虚拟磁盘磁盘被锁定的问题。
在虚拟机关机的情况下,在宿主机尝试挂载磁盘,因为 Windows 并不能识别 Debian 上安装的磁盘格式,所以挂载失败。但这个时候 Windows 系统并没有释放该虚拟磁盘的锁,所以此时尝试启动虚拟机时,会提示磁盘已被锁定,无法启动。用 Power Toys 提供的右键菜单查找锁定该文件的进程,显示没有进程在使用。
这个时候需要用 Powershell 查看 Windows 磁盘列表:
get-physicaldisk
一般此时可看到如下输出:
可以发现有一个 Msft Virtual 的磁盘,这就说明 Windows 已经锁定该磁盘了。需要手动输入 Powershell 命令解锁:
Dismount-DiskImage -ImagePath D:\vServers\vDisk\test.vhdx
自行替换最后的 vhdx 路径。执行后会回显相关信息。再执行 get-physicaldisk
命令看,之前有的那块磁盘已经不在了。
卸载磁盘后,虚拟可以正常启动,问题解决。