Linux-fsck命令修复文件系统

作者:聂勇 欢迎转载,请保留作者信息并说明文章来源!

工作中,开发、调试和部署代码都是基于Linux。有时候,某些发行版本的Linux因其BUG而给我们带来一些麻烦。不过,不要紧,Linux下就是要折腾,折腾多了,用起来就更加得心应手。

最近,在Redhat5和CentOS5上碰到一个问题:文件系统损坏。下面的方法已经在出现问题的几台机器上都成功应用。

一、问题现象 | Problem description

现象一:文件系统突然无法进行修改操作(无法写入和删除),提示“只读文件系统”。
另外还有一种现象是:Redhat / CentOS在锁屏后为鼠标和按键盘没有任何反应,只能强制重启,重启后出现如图4所示的画面。
只读文件系统

现象二:关闭系统时无法移除临时文件。
关闭系统时无法移除临时文件

关闭系统时无法移除临时文件

二、修复文件系统 | Repaire filesystem

1、重启系统系统时,Linux系统提示“contains a file system with errors”,并自动扫描并尝试修复错误。
启动系统失败

2、当自动修复失败时,提示你输入root用户的密码进行手动修复或者按Ctrl+D继续。在这种情况下,按Ctrl+D是没有用的,检查一会儿系统会继续回到当前的界面。
启动系统失败

3、输入root用户的密码,按回车。系统出现“(Repair filesystem) 1 #”的提示符。现在可以执行root用户的权限,运行所有的命令。
命令行界面

4、首先用fdisl -l 查看磁盘设备。
查看磁盘设备

5、找到需要修复的设备后,执行命令fsck -y /dev/sda2
说明:/dev/sda2 是我需要修复的设备。
修复磁盘

6、总共会进行5个步骤,执行时间和设备中文件数据的大小有关系。在我的机器上,30GB的文件数据共了约20分钟进行修复。修复完成后,会出现提示“FILE SYSTEM WAS MODIFIED”。这时输入命令 “reboot” 命令重启系统。
修复完毕