近日我在整理Hyper-V下虚拟机环境时,有时会出现虚拟机没法启动的现象,(后来才发现这种现象其它朋友也时有发生,故把个人解决思路写下来和各位分享)以下图所示:安全
从给出的提示,应该是访问权限问题,我查看虚拟机文件夹的NTFS的安全权限,以下所示:网络
从上分析,该文件夹,对于System和administrators组成员均是Full Control的权限,对于users组成员是读取权限,而当前登陆用户是管理员组成员,权限理应够了,但又为何提示权限不够,仔细查看上面的错误提示:"没法读取或更新虚拟机配置"。至于读权限确定没有问题,但对于更新虚拟机配置的权限估计管理员也未必能够。因而打开虚拟机的配置,仔细查看,以下:ide
呵呵,没有任何收获,仍是打开Service管理控制台,查看Hyper-V的服务进程,看一看究竟是以什么用户权限运行的,以下:this
发现所有以SYSTEM用户身份,并查看相对应的依赖服务,特别我看到了Hyper-V的网络管理服务,依赖于RPC服务,而RPC服务须要network Service这个用户帐号:spa
立刻行动,赋予那个文件夹权限以下:blog
从新启动虚拟机,已经成功启动。以下所示:进程
分析缘由:在VM启动过程当中要检查虚拟机配置,而配置中有相关的网络设置,而Hyper-V网络管理服务要调用相应的服务组件(如RPC等),这个过程必需要有读写的权限,而直接操做的用户即是Network Service,管理员也没有这个权限。若是你查看刚建立的虚拟机文件夹,你会发现,默认状况下已经赋予Authenticated Users组成员具备读写权限了(而Network Service用户是该组成员),固然能够启动虚拟机了。所以默认状况只要你不修改该文件夹的NTFS的安全权限,启动虚拟机应该不存在权限不够的问题。get