遇到“意外不一致;手动运行 fsck”时自动强制 fsck -fy。

遇到“意外不一致;手动运行 fsck”时自动强制 fsck -fy。

我已经FSCKFIX=yes登录了/etc/default/rcS,但是,当我今天开车去现场并将监视器连接到该服务器时,我看到了这种情况:

initramfs 提示符的屏幕截图

我运行fsck.ext4 -fy /dev/sda1并重新启动,现在服务器已恢复运行。

我知道有些情况下盲目运行fsck -fy是危险的,可能会导致数据丢失。但是,就我而言,这是一台无法物理访问的服务器,所有数据都备份在云中。Ubuntu 必须尽一切可能尝试使其上线。

有什么方法可以强制 Ubuntu 始终运行fsck -fy,即使存在任何“意外不一致”问题?

答案1

首先,我要声明一下,如果你经常遇到文件系统不干净的问题,即使你干净地关闭了系统,你也会遇到严重的潜在问题,而且可能fsck 弊大于利

据我所知,只有在发现不一致时才有自动 fsck 的机制。

但是,你执行 fsck 时每次启动带有一些内核参数。

sudo nano /etc/default/grub

找到以下行:

GRUB_CMDLINE_LINUX_DEFAULT

并添加

fsck.mode=force  fsck.repair=yes

对那里现有的事物。

是的这里应该和手册FSCKFIX=yes中的操作一样。我个人认为会更安全,但如果磁盘需要一些不认为的修复,它会在启动时挂起。/etc/default/rcSfsck -fypreenfsck安全的”并希望用户互动。

跑步

sudo update-grub

更新 grp 并使用以下方法验证

grep fsck /boot/grub/grub.cfg 

或者和编辑一起看看/boot/grub/grub.cfg

如果你重新启动,文件系统应该被检查,你可以使用以下命令验证上次检查的时间(应该是你的启动时间)

sudo dumpe2fs -h /dev/your/device | grep checked
dumpe2fs 1.43.5 (04-Aug-2017)
Last checked:             Sun Feb 18 08:53:31 2018

相关内容