linux系统下repair filesystem模式修复方法

【FAQ】linux下repair filesystem模式修复方法实践方案


第一种情况:非正常关机引起的磁盘分区问题 不能正常进入系统

Hello!
如下问题一般是如何引起和应该怎么样解决呢?
Finding module dependencies; [OK]
modprobe:modprobe:can't locate module block-major-3
fsck.ext3Possibly non-existent or swap device?
:NO such device or address while trying to open /dev/hdb1
/boot: clena, 41/26104 files. 12679/104391 blocks
[FAILED]

*** AN error occurred during the file system check
*** Dropping you to a shell; the systm will reboot
*** when you leave the shell
Give root password for maintenance
(or type Control-D to continue):
Login incorrect.
(Repair filesystem) 1 #

 

上次非正常关机引起的,用fsck /dev/hdaX后reboot进入,或只用fsck来修复,只管y回车

 

第二种情况:由于/etc/fstab文件编辑错误 而引起的不能正常进入系统

解决方法就是修改/etc/fstab文件成原来正常格式 删除错误的或者是不存在的挂载目录

操作:根据提示进入修复模式 Login incorrect.
(Repair filesystem) 1 # vim /etc/fstab
但是修复模式下(read-only system) 文件是被保护的不能修改 运行下面命令 把系统文件权限改成可读写(rw)

(Repair filesystem) 1 # mount -o remount,rw /
使根目录可写.即可以修复/etc/fstab文件,使之可写.然后就可以vi修改了
保存 wq

(Repair filesystem) 1 #reboot

搞定!!! RHLE正常界面又出来了。

repair filesystem /etc/fstab readonly

修改了/etc/fstab文件中的LABLE=/ /  根目录的挂载内容为LABLE=/dev/sda1,不能够启动了。

只能通过输入root密码进入到repair filesystem中。编辑/etc/fstab文件,只读,应该是没有能够mount的问题。

但是mount /dev/sda1 /mnt无效。

通过google得到发现了一个解决方案:

(1)mount -w -o remount /

(2)然后通过 mount /dev/sda1 /mnt。

然后可以编辑/etc/fstab,恢复到原来,可以登录了。


【总结】

尝试查看分区信息&恢复信息

尽管事先被告知fdisk看不到分区信息,还是固执的尝试了一下:-)

fdiks -l /dev/sdc

果然什么样都看不到。但是,系统启动的时候正确的列出了磁盘的相关信息(大小等),而且fdisk也能够列出磁盘大小等相关物理信息,只是没有分区信息。因此初步判断,是磁盘的分区表丢失,不一定是磁盘物理损坏。  
——————经过排查是突然断电后可能产生了磁盘坏道导致,所以使用e2fsck命令进行了磁盘修复。
 
linux下磁盘检查修复命令e2fsck
 
-a: 检查 partition,如发现问题会自动修复。
-b: 设定 superblock 位置。 
-B size: 指定 size 作为区块大小。
-c: 检查 partition 是否有坏轨。
-C file: 将检查结果储存到 file。
-d: 输出 e2fsck debug 结果。
-f: e2fsck 预设只会对错误的档案系统检查,加上 -f 是强制检查。
-F: 在检查前将硬盘的 buffer cache 清空,避免发生错误。
-l list: 记录了坏轨区块加入 list 中。
-d : 打印 e2fsck 的 debug 结果。
-f : 强制检查。
-n: 以 (read-only) 开启档案系统
-p: 关闭互动模式,如有问题自动修复,等同 -a。
-v: 显示详细报告。
-y: 启用使用者互动模式。
 
使用例子
检查 /dev/mapper/VolGroup00-LogVol02 是否有问题,如发现问题便自动修复:
 
e2fsck -a  /dev/mapper/VolGroup00-LogVol02
 
执行 e2fsck 或 fsck 前请先 umount partition,否则有机会令档案系统毁损。
 
分区忙的情况,需要将所有涉及该分区的进程杀掉,有个快速的方法是执行 fuser -k /home 。
 
如果需要对根目录 (/) 进行检查及修复,便需要进入 singal user mode 执行。
 
最后别忘了将分区mount上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值