系统无法启动

时间:2024-03-05 14:42:05

一、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文件的重建即可。