zoukankan      html  css  js  c++  java
  • 系统无法启动

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

  • 相关阅读:
    css3实现渐变进度条
    从实际项目出发,浅淡什么是设计空间
    消失的Controller
    深入理解Go系列一之指针变量
    48个国际音标简述
    【PyTorch】按照 steps 训练和保存模型
    用C/python手写redis客户端,兼容redis集群 (-MOVED和-ASK),快速搭建redis集群
    jsoncpp安装与使用 cmake安装 升级g++ gcc支持c++11
    【Android】解决Android Studio初次配置可能会出现的Unkown Host问题
    【数据结构】时间复杂度和空间复杂度计算
  • 原文地址:https://www.cnblogs.com/yxf-/p/11441737.html
Copyright © 2011-2022 走看看