今天早上,我正在帮助一位管理员同事解决 CentOS 5.8 虚拟机上发生的崩溃问题。当天早些时候,托管各种虚拟机的底层 SAN 遇到了问题,并最终导致了一些文件系统问题。重新启动服务器后,我们看到这样的提示:
Checking filesystems
/ contains a file system with errors, check forced.
/:
Inodes that were part of a corrupted orphan linked list found.
/: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
(i.e., without -a or -p options)
[FAILED]
*** An error occurred during the file system check.
*** Dropping you to a shell; the system will reboot
*** when you leave the shell.
Give root password for maintenance
(or type Control-D to continue):
最初,我们都不知道 root 密码,因此我们尝试了 CTRL-D(这会重新启动系统)。
我以为我可以通过启动到单用户模式(添加single
内核选项)来重置 root 密码,但它遇到了相同的提示。
最终,其他管理员记住了适当的密码,并且可以继续执行维护提示来运行 fsck。
这让我开始思考 - 如果我们不记得密码怎么办?在这种情况下,我们如何绕过登录提示和/或重置 root 密码?有没有办法启动到单用户模式并绕过 fsck 检查?