我遇到了一个奇怪的问题,似乎与 UAC 有关,但我搞不清楚。从表面上看,这似乎与这,但不完全是。
我有一个文件夹,其中包含 VirtualBox 机器的文件。该文件夹位于 C:\Users\Public\Documents\VM。启动虚拟机时,VirtualBox 抱怨说,除非我以提升的权限运行 VirtualBox,否则它无法获得对 VHD 的写访问权限。VirtualBox 对该文件夹中的其他文件(例如日志)具有写访问权限,因为在尝试启动虚拟机时正在写入这些文件。
如果我更改虚拟机文件夹的 NTFS 权限,则文件夹中的所有文件都会继承这些更改除了VHD 文件给我一个拒绝访问错误(VirtualBox 没有运行,VHD 也没有通过磁盘管理附加)。如果我进入 VM 文件夹,我可以直接在 VHD 文件上手动更改权限,如果我禁用然后重新启用继承,则会应用正确的权限 - 但下次我更改上述文件夹上的任何内容时,我会在 VHD 文件上收到相同的拒绝访问错误。
到底发生了什么事?我的直觉告诉我这是 UAC,但为什么它只影响文件夹中的这一个 VHD 文件?
编辑:我已经删除并重新复制了有问题的 VHD,问题已经解决。完全不知道为什么这样做会产生任何影响,但就是这样...
答案1
嗯嗯...有趣的情况。
我在 VirtualBox(以及 VMWare)上看到过类似的奇怪行为。
你在玩这个的时候重启过吗?我猜你没有。重启后文件可能会正常运行。
据我所知,有时 VBox(或 VMWare)设备驱动程序(在主机端)会在虚拟化硬件上保留一个悬空的锁或句柄。(在这种情况下是磁盘映像,我也看到过这种情况发生在映射到 VM 上的 USB 设备上。)
重启后该问题应该会消失。
真正奇怪的是,你可以删除该文件。通常,这个问题也会阻止你删除该文件。