本文提供了一个解决方案,用于解决启动来宾虚拟机时出现的问题。
原始 KB 数: 2804678
现象
假设出现了下面这种情景:
你有一台配置了 Hyper-V 角色的 Windows Server 2012 计算机。 Hyper-V 服务器配置为向来宾计算机提供动态 MAC 地址。
启动来宾虚拟机时,可能会遇到以下错误消息:
应用程序在尝试更改“虚拟机名称>”<状态时遇到错误
综合以太网端口(实例 ID CCE417C5-BDD9-4216-85CA-248620EE75C6):无法打开“尝试访问无效地址”错误。
在 Windows Server 2008 或 Windows Server 2008 R2 Hyper-V 主机上,记录 源“Microsoft-Windows-Hyper-V-Worker”中的事件 ID 12565- NIC 配置。
原因
之所以出现此问题,是因为已超出虚拟机(256)的默认动态 MAC 地址数。
Hyper-V 生成如下所述的 MAC 地址(将 MAC 地址映射到 aa-bb-cc-dd-ee-ff):
- 前三个八进制(aa-bb-cc)是Microsoft的 IEEE 组织唯一标识符,即 00:15:5D(在所有 Hyper-V 主机上很常见)。
- 接下来的两个八进制数(dd-ee)派生自服务器的 IP 地址的最后两个八进制。
- 最后一个八进制值(ff)是从范围0x0 0xFF自动生成的。
由于最后一个八位字节是一个 8 位值,因此默认限制为 256 个可能的 MAC 地址。
解决方法
应用以下解决方案之一:
关闭虚拟机,分配不属于 Hyper-V 动态 MAC 地址范围的静态 MAC 地址,然后重启虚拟机。
使用以下方法之一,通过修改默认动态 MAC 地址范围的第五个和/或第六个八位字节来增加 MAC 地址的范围:
如果主机是 Windows Server 2008,可以通过以下注册表值修改动态 MAC 地址范围:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Virtualization\MinimumMacAddress
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Virtualization\MaximumMacAddress
注意
了解十六进制编号系统有助于修改八进制数。 每个八进制数的范围为 00 - FF。
详细信息
有关此主题的其他阅读,请参阅以下博客文章: