在使用 Windows 系统时,遇到错误代码 0x80070091 的情况并不少见。该错误通常出现在尝试删除某个看似空文件夹时,系统却提示“目录非空”。这一问题尤其常见于运行在 VHDX 虚拟磁盘中的系统环境中。
以下是一种经过验证的解决流程,适用于这种特定场景,且成功删除了无法正常移除的文件夹。
问题背景
在一个基于 VHDX 虚拟磁盘运行的 Windows 系统中,某路径下的文件夹(示例路径:C:\...\WinSxS\Temp\InFlight\{GUID})显示为空,但无法删除。系统提示如下错误信息:
错误 0x80070091:目录非空
即使在安全模式下或使用管理员权限,也无法正常移除该目录。
处理步骤
1. 使用 WinPE 启动
通过一个含有 Windows PE 的 U 盘启动设备,进入轻量级的系统维护环境。
2. 挂载 VHDX 系统镜像
- 利用 WinPE 环境中的磁盘管理工具或命令行,将目标 VHDX 文件加载为一个新分区(如盘符
D:)。 - 该分区即为实际运行的 Windows 系统所在位置。
3. 进入目标路径
- 浏览至问题文件夹路径,如
D:\...\WinSxS\Temp\InFlight\{GUID}; - 尽管文件夹显示为空,但删除操作始终失败。
4. 创建临时文件
- 在该文件夹内创建一个新的空文件,如使用命令:
echo. > D:\...\72a17397e3b7db017acb0000fc21e00c\dummy.txt
- 此操作会触发 NTFS 文件系统更新该目录的元数据。
5. 尝试删除文件夹
- 创建文件后,立即使用
rmdir或资源管理器删除该目录,操作即可顺利完成。
技术原理简析
此类问题的根本原因在于 NTFS 元数据损坏或残留信息异常,使系统误判目录状态。
通过在目标目录中执行一次写入操作(如创建文件),可强制系统刷新该目录的结构信息,从而将其状态更新为“真正空”,进而允许删除。
结语
该方法简单有效,特别适用于运行在 VHDX 虚拟磁盘中的 Windows 系统环境。当常规删除手段失效且提示目录非空时,可尝试此方案解决问题。