一、root文件系统破坏,导致系统无法启动故障案例
1、造成原因
多由于异常断电、不正常关机,引起文件系统结构不一致导致的。
2、故障现象
此类事故多会在屏幕上显示:
checking root filesystem
/dev/sdb5 contains a file system with errors, check forced
/dev/sdb5: UNEXPECTED INCONSISTENCY; RUN fsckMANUALLY
(i.e., without -a or -p options) FAILED
Press enter for maintenance
(or type Control-D to continue):
give root password for maintenance
从这个错误可以看出,系统根分区文件系统出现了问题,系统在启动时无法自动修复,然后进入到了一个交互界面,提示用户进行系统修复。
此时输入Ctrl + D会重新启动;输入root密码会进入修复模式进行手动修复;
3、修复过程
1、首先找出报错的分区,使用umount卸载该分区;
2、使用fsck对该分区进行修复。
备注:关于ext4文件系统,使用fsck.ext4进行修复;
关于xfs文件系统,使用xfs_repair进行修复。
示例:由上文的提示可知/dev/sda5文件不一致;
[root@localhost/]# fsck.ext4 -y /dev/sdb5 #fsck后面接文件系统类型
二、/etc/fstab文件丢失,导致系统无法启动案例
1、造成原因
/etc/fstab文件存放了系统中文件系统的相关信息,在linux启动时,系统会读取此文件,自动挂载linux的各个分区,如果此文件配置错误,或者丢失,就会导致系统无法启动。
2、故障现象
系统启动到一半,无法进行下去
3、修复思路
利用linuxrescue修复模式登录系统,进而获取分区和挂载点信息,重构/etc/fstab文件。
4、Linux系统无法启动的通用解决方案
(1)进入单用户模式或援救模式(rescue),修复分区错误或者备份数据,然后修复或重新安装系统。
(2)如果是linux的引导程序出现问题,那么也可以通过光盘引导的方式进入linux修复模式,然后修改对应的引导程序或者重新安装引导程序。
(3)如果linux内核崩溃或者丢失,同样可以先进入linuxrescue模式下,然后加载root分区,最后重新编译内核。
5、Centos7进入援救模式
(1)首先有一个光盘镜像,并将其与系统启动项进行关联,使系统启动时使用光盘介质进行启动;
备注:第一行,安装系统;
第二行,测试介质;
第三行,解决问题。
(2)选择解决问题后,进入下一个界面,并选择第二个选项;
备注:第一行,进入简单图形界面;
第二行,进入救援模式。
(3)选择援救模式后,进入功能选择页面;
备注:第一行,读写模式
第二行,只读模式
第三行,跳过shell
第四行,退出
(4)选择1读写模式;
会将根分区挂载到/mnt/sysimage下。
按任意键进入shell。
(5)使用df 查看分区挂载情况,找出有问题的分区目录
进入/mnt/sysimage/etc/fstab对分区自动挂载信息进行修改
reboot进行重启
6、Centos6进入救援模式
1、使用镜像使系统通过镜像进行启动
第三行为援救模式;
2、选择进入的模式
选择continue进入读写模式
选择shell,点击ok进入shell。
3、在/etc/fstab文件彻底丢失的情况下,系统不会自动进行挂载分区操作,可以手动进行挂载;
使用tune2fs -l 分区名
在显示信息中找到:last mount on 这一栏可以得到该分区最后的挂载点信息
依次查看各个分区的最后挂载情况;
由其他系统拷贝一份fstab文件,根据此文件的格式进行fstab文件的重建即可。