我更改了 Google 计算引擎虚拟机的 MAC 地址。之后,我无法再通过 rdp 访问该虚拟机。虚拟机也无法 ping 通。我尝试通过串行端口访问,但没有成功。它只是将我带到 SAC 控制台,我无法从 SAC 恢复更改。我还尝试制作硬盘快照并使用该快照创建新虚拟机。新虚拟机也无法 ping 通。
有什么方法可以恢复机器,或者至少可以获取磁盘上的数据?
答案1
如果您的实例无法直接访问,则需要删除它而不删除启动磁盘,然后将磁盘附加到来自同一区域的另一个工作实例,以便能够访问磁盘内容或排除操作系统故障。
步骤如下:
您现在应该可以访问磁盘内容,并且可以排除操作系统故障和/或恢复所需数据。如果您已经能够修复操作系统,则可以按照以下步骤恢复工作实例:
- 卸载磁盘然后将其分离。
- 使用该磁盘创建具有与原始虚拟机相同特征(名称、网络等)的新虚拟机实例。
答案2
另一个解决方案借用上面 dezhi 的回答。如果你不记得你的 mac 地址。
- 在虚拟机详细信息中从 Google 计算引擎控制台启用串行访问
- 从虚拟机详细信息中的 Google 计算引擎控制台通过串行端口 2 访问 SAC 控制台
- 键入
cmd
以访问命令行 - 使用
ch
和ch -si
切换到 cmd 提示符。您现在可以访问虚拟机的 cli 环境。(ch-si 1 进入 cmd 模式) powershell
在cmd环境中运行- 运行
getmac
以获取当前 MAC 地址 - 安装TMAC您可以使用各种cmd工具来下载它
- 使用此处的 cmd 安装指南
- 使用以下方式导航到 TMAC 安装文件夹光盘
- 跑步ipconfig了解错误配置的适配器名称
- 跑步TMACv6.0>tmac -n 以太网 -nr -re重置您的适配器的 Mac 地址。其中 Ethernet 是您的适配器的名称。
希望这对某些人有帮助:) 参考:
答案3
我最终按照以下步骤成功恢复了 MAC 地址更改:
- 在虚拟机详细信息中从 Google 计算引擎控制台启用串行访问
- 从虚拟机详细信息中的 Google 计算引擎控制台通过串行端口 2 访问 SAC 控制台
- 键入
cmd
以访问命令行 - 使用
ch
和ch -si
切换到 cmd 提示符。您现在可以访问虚拟机的 cli 环境。 powershell
在cmd环境中运行- 运行
getmac
以获取当前 MAC 地址 - 运行
Set-NetAdapter -name $name -macaddress $mac
以恢复 MAC 地址更改。就我而言,我只更改了 MAC 地址的最后一位数字,因此恢复起来非常容易。 - 退出 powershell 和 cmd 返回 SAC 控制台,然后
restart
返回虚拟机。重启后,一切正常。
参考: