因为我们的生产服务器没有启动(非常重要的服务器 - Rhel 7.2)
我们尝试根据链接以单用户模式访问 -https://www.howtoing.com/boot-into-single-user-mode-in-centos-7/
使用 VMconsole 输入单用户模式详细信息后,Linux 停止在以下位置
从这个阶段我们可以做什么来恢复生产服务器?
答案1
尝试使用安装介质启动,然后从那里诊断/修复。备份任何重要的东西!机器或系统很可能已损坏,需要迁移或从头开始重新安装。
答案2
如果 GRUB 引导菜单包含多个内核版本,请尝试使用旧版本引导。 (至少应该始终存在当前内核和操作系统安装程序使用的内核:后者的版本号如0-rescue-<numbers>
.
如果旧内核启动成功,则问题可能是 initramfs 文件损坏/丢失。/boot
例如,如果您的文件系统在安装内核更新包时磁盘空间不足,这种情况很常见。
(每个内核版本都有自己的 initramfs 文件,因此如果问题是在最近的更新期间引起的,则较旧的内核及其 initramfs 很可能会工作。)
如果系统在旧内核下正常运行,您可以使用类似的命令
mkinitrd /boot/initramfs-3.10.0-327.el7.img 3.10.0-327.el7
为新内核重新创建 initramfs 文件。
但如果使用较旧的内核启动也失败,则问题可能是其他原因。在这种情况下,您应该从安装介质执行救援模式启动。对于 VMware,这意味着确保虚拟硬件包含虚拟 CD-ROM 驱动器,并将 RHEL 7.x 安装介质(最好是 7.2 或更高版本)的 ISO 映像“插入”到虚拟 CD 驱动器,并告知VM 从 CD 启动。
出现安装介质的 GRUB 引导菜单后,选择“故障排除”,然后选择“救援 RedHat Linux 系统”。安装程序将像正常安装一样加载并询问语言和键盘设置,但随后它将切换到救援模式。如果操作系统安装损坏不是太严重,它甚至会自动为您安装要救援的安装的磁盘。然后它会给你一个 root 命令提示符,你可以使用它来进一步排除故障并根据需要应用修复。
当处于救援启动环境中时,您的真实根文件系统将安装在/mnt/sysimage
.为了能够使用正常路径名访问它(= 无需在 /mnt/sysimage 前面加上前缀)一切),您可以使用该chroot /mnt/sysimage
命令,在进入救援命令提示符之前也会向您建议该命令。
使用该chroot /mnt/sysimage
命令后,您应该能够使用您安装的操作系统可用的任何 shell 命令。例如,如果您发现内核的 initramfs 文件丢失/boot
,您可以使用mkinitrd
命令(如上所述)重新创建它们。
答案3
我遇到了类似的问题,最新的内核总是出现恐慌,但以前的内核工作正常。幸运的是,这使我能够登录并查看发生了什么。
一名开发人员将“root”组更改为“oot”,随后 /boot 不属于 id 1000(root)。当我运行 yum install 时,它说无法将内核写入 /boot,这导致了我的发现...对影子文件进行了一些手动编辑和一些 chown -R 操作后,新内核按预期安装。
TLDR,检查系统文件的权限并确保没有人破坏 root 帐户信息。