华为开发者空间 Hyper-V下虚拟机无法启动的故障排除

Hyper-V下虚拟机无法启动的故障排除

近日我在整理Hyper-V下虚拟机环境时,有时会出现虚拟机无法启动的现象,(后来才发现这种现象其它朋友也时有发生,故把我的解决思路写下来和各位分享)如下图所示:从给出的提示,应该是访问权限问题,我查看虚拟机文件夹的NTFS的安全权限,如下所示:从上分析,该文件夹,对于System和administrators组成员均是Full Control的权限,...

近日我在整理Hyper-V下虚拟机环境时,有时会出现虚拟机无法启动的现象,(后来才发现这种现象其它朋友也时有发生,故把我的解决思路写下来和各位分享)如下图所示:

p_w_picpath 

从给出的提示,应该是访问权限问题,我查看虚拟机文件夹的NTFS的安全权限,如下所示:

p_w_picpath p_w_picpath p_w_picpath

从上分析,该文件夹,对于System和administrators组成员均是Full Control的权限,对于users组成员是读取权限,而当前登录用户是管理员组成员,权限理应够了,但又为什么提示权限不够,仔细查看上面的错误提示:"无法读取或更新虚拟机配置"。至于读权限肯定没有问题,但对于更新虚拟机配置的权限估计管理员也未必可以。于是打开虚拟机的配置,仔细查看,如下:

p_w_picpath

呵呵,没有任何收获,还是打开Service管理控制台,查看Hyper-V的服务进程,看一看到底是以什么用户权限运行的,如下:

p_w_picpath

发现全部以SYSTEM用户身份,并查看相对应的依赖服务,特别我看到了Hyper-V的网络管理服务,依赖于RPC服务,而RPC服务需要network Service这个用户账号:

p_w_picpath

马上行动,赋予那个文件夹权限如下:

p_w_picpath

重新启动虚拟机,已经成功启动。如下所示:

p_w_picpath

分析原因:在VM启动过程中要检查虚拟机配置,而配置中有相关的网络设置,而Hyper-V网络管理服务要调用相应的服务组件(如RPC等),这个过程必须要有读写的权限,而直接操作的用户便是Network Service,管理员也没有这个权限。如果你查看刚创建的虚拟机文件夹,你会发现,默认情况下已经赋予Authenticated Users组成员具有读写权限了(而Network Service用户是该组成员),当然可以启动虚拟机了。因此默认情况只要你不修改该文件夹的NTFS的安全权限,启动虚拟机应该不存在权限不够的问题。

转载于:https://blog.51cto.com/jary3000/345651

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐

  • 浏览量 3576
  • 收藏 0
  • 0

所有评论(0)

查看更多评论 
已为社区贡献7条内容