PowerShell命令Mount-DiskImage执行时出现“Access Denied”问题的解决咨询
PowerShell命令Mount-DiskImage执行时出现“Access Denied”问题的解决咨询
我遇到了一个挺棘手的问题,想向大家求助。我的Win10 21H2电脑上存放着一个VHDX文件,路径是K:\WSL-vhdx\WSL-Ubuntu-2204.vhdx。当我以管理员身份打开PowerShell,执行命令:
Mount-DiskImage -ImagePath K:\WSL-vhdx\WSL-Ubuntu-2204.vhdx
系统会提示“Access Denied”;但如果我先打开diskmgmt.msc,手动执行“Attach VHD”(能成功挂载)之后再“Detach VHD”,回到PowerShell执行同样的命令就可以成功了。
有没有办法不用借助diskmgmt.msc的手动操作,直接让Mount-DiskImage命令顺利执行呢?
可能的解决方向
- 检查VHDX文件的权限配置
右键该VHDX文件,选择「属性」→「安全」标签,确认当前的管理员账户拥有完全控制的权限。如果权限不足,手动添加管理员账户并赋予完全控制权限后重试命令。 - 尝试只读挂载模式
先测试用只读参数挂载,看是否能绕过权限问题:
如果只读挂载成功,说明可能是文件被其他进程锁定,或者需要调整磁盘的写入权限设置。Mount-DiskImage -ImagePath K:\WSL-vhdx\WSL-Ubuntu-2204.vhdx -ReadOnly - 排查进程占用情况
打开资源监视器(Resource Monitor),切换到「CPU」标签,在「关联的句柄」搜索框输入VHDX文件名,查看是否有其他进程在占用该文件。若有,关闭相关进程后再执行挂载命令。 - 调整磁盘性能策略
快速移除策略可能会影响挂载操作,你可以尝试修改磁盘策略:- 打开
diskmgmt.msc,先挂载一次VHDX文件 - 右键对应磁盘→「属性」→「硬件」标签,选中目标磁盘后点击「属性」→「策略」
- 选择「更好的性能」,勾选「启用写入缓存」,确定后卸载磁盘,再用PowerShell尝试挂载
- 打开
- 使用DISKPART命令替代挂载
如果Mount-DiskImage命令始终有问题,可以尝试用diskpart工具来挂载:diskpart select vdisk file="K:\WSL-vhdx\WSL-Ubuntu-2204.vhdx" attach vdisk
备注:内容来源于stack exchange,提问作者Jimm Chen
相关产品推荐
相关产品推荐

