我为交叉发布道歉,因为这也存在于 Unix 和 Linux Stack Exchange 上。我需要为此找到答案。
我们的虚拟机在 VMWare 上运行。我不确定版本,但我想说它是 ESX 6(或 vSphere 6)。我支持和管理的客人都是CentOS 7
今天,我浏览并扩展了物理和逻辑卷以使用最近添加的磁盘空间。物理分区之前已经使用 fdisk 进行了扩展,我只是没有完成调整 LVM 大小的步骤。分配和调整大小都很顺利,没有任何问题。然后我重新启动了 VM 以确保进行了更改并且没有发生错误。
这就是我的问题所在。重新启动后,我无法再通过 ssh 进入虚拟机。我可以通过 vSphere 客户端访问虚拟机。VM 的状态看起来不错。它处于运行状态,我可以看到正在使用的所有 IP 地址(我们运行了几个 docker 容器,因此显示了许多 IP 地址),有 CPU 和内存使用情况。但是,似乎没有任何服务启动,例如 ssh、docker(因为我们在容器中部署了多个 Web 应用程序,我无法访问这些 Web 应用程序。
重新启动后,我尝试 ssh 进入虚拟机,但连接超时。因此,我从 vSphere 客户端打开了一个远程控制台,并尝试使用两个不同的管理员用户登录。两者都不起作用,我在 30 秒后返回登录提示。我重新启动了虚拟机,尝试了不同的选项,例如使用救援内核、进入 grub 并尝试各种设置,例如 root、linux 内核等。每次虚拟机启动并加载到登录提示时,就是这样。
我会假设,如果出现错误,我会看到并被带到紧急/崩溃外壳,但没有这样的事情。从所有外观来看,VM 似乎已正确启动。
在我们的 vCenter 上,我只有最低限度的权限。所以我的问题是:
- 有没有办法绕过登录,仅从控制台,能够查看引导记录?我认为不会,因为这将是一个巨大的安全风险。
- 无论如何,是否有任何东西从客人报告给主人?同样,我假设有,但我无权查看输出。
- 由于无法登录,有什么方法可以从客人那里获取引导记录?我假设没有
- 我已经安装了一个 ISO,但我无法更改设置以强制执行 BIOS 设置,所以有没有办法使用 grub 命令行来伪造虚拟机,使其没有安装操作系统?我想这样做是为了修复安装、引导记录等。