我远程管理几台 ubuntu 服务器,偶尔需要在根分区上运行 fsck。
据我所知,无需物理访问机器即可实现此目的的最佳方法是安装另一个操作系统,并调整 grub 以在重启后引导到该操作系统。我在一些服务器上这样做过,而且确实有用过一两次。
但是,安装这两个操作系统很麻烦,因为我无法使用简单的“引导 - 使用整个磁盘”选项,并且必须手动设置分区大小并定义启动/交换/根等,这使得安装不太愉快。
所以我的问题是:有没有一种简单的方法,我只需要在同一台机器上安装第二个 ubuntu 服务器,我就可以告诉它“使用 5 GB 的硬盘,不要用问题来打扰我”?
或者,是否有更好的方法可以在没有物理访问的情况下启用根分区的 fsck?
更新:经过更多的研究,似乎更有意义的是在硬盘上安装 SystemRescueCD,而不是功能齐全的 ubuntu。只要我在防火墙后面,这也许是可以接受的。但这仍然不是一个简单的解决方案。
答案1
我认为没有什么简单的方法。
而实际上,您不知道在安装时需要这个。它是在事情真正发生故障时才出现的。
在引导式分区安装中将“整个磁盘”的一小部分(可能为 1G)留作未分区空间是一种非常简单的方法,可以让这个过程变得容易得多,而不会放弃太多空间。brainstorm.ubuntu.com 是一个建议这样做的好地方。
答案2
fsck
对于您的替代问题:您可以在下次启动时强制自动运行吗?shutdown -rF now
根据您对恢复控制台的访问,如果fsck
遇到一些实际问题,这可能会导致麻烦。
答案3
作为 grub 中的参数启动init=/bin/sh
,并且假设至少 inintrd 映像仍然正常,您应该可以 fsck 根分区。