linux无法启动原因很多,常见的原因如下几种:  

一,文件系统配置不当,比如/etc/inittab文件,/etc/fstab文件等配置错误或丢失,导致系统错误,无法启动

故障现象:

在检测mount partition时出现:starting system logger,此后系统启动停止。

解决方案:

利用linux rescue修复模式登录系统,进而获取分区和挂载点信息,重构/etc/fstab文件。

具体步骤:

将LINUX安装盘第一张放入光驱,然后设置BIOS从光驱启动,确认从光盘启动,然后在boot后输入“linux rescue” 

接着系统自己引导,这里选择模式使用的语言,这里选english,然后按“tab”键,选中“OK",回车进下一步

进入键盘选择界面,默认选择“us”

进入网络配置界面,这里选择不启用

修复模式会自动将系统的所有分区挂载到/mnt/sysp_w_picpath 目录下。选择“continue”,则修复环境进入到read-write状态下,可以对分区进行读写操作。

进入友情提示界面,由于fstab文件丢失,因此修复模式找不到任何可以挂载的分区(实际修复模式这里也读取/etc/fstab文件),然后按回车,进入下一步。

进入修复模式可以直接操作。

首先查看系统分区情况

fdisk -l

因为分区没有损坏,所以通过fdisk可以查看到分区的完整信息,然后再通过e2label查看每个分区对应的label name

e2label /dev/sda1 

/boot

e2label /dev/sda2

/usr

e2label /dev/sda3

/

e2label /dev/sda4

/var

得到所有分区的挂载点信息,接下来就构造一个fstab文件

由于fstab文件是存放在系统根目录下的,因此需要挂载原来系统的根分区。从上面分析的结果得知,根分区对应的设备名为/dev/sda3,接着在修复模式创建的临时根分区下创建一个挂载点,然后挂载原来系统的根分区:

pwd

/

mkdir temp

mount /dev/sda3 /temp

df

根分区上所有文件挂载到/temp目录下,然后直接创建我们需要的fstab文件

vi /temp/etc/fstab

LABEL=/ / ext3 defaults 1 1

LABEL=/boot /boot ext3 defaults 1 2

LABEL=/cicro /cicro ext3 defaults 1 3 

devpts /dev/pts devpts gid=5,mode=620 0 0

tmpfs /dev/shm tmpsf defaults 0 0

LABEL=/home /home ext3 defaults 1 2

LABEL=/opt /opt ext3 defaults 1 2

proc /proc proc defaults 0 0

sysfs /sys sysfs defaults 0 0

LABEL=/tmp /tmp ext3 defaults 1 2

LABEL=SWAP-sda9 swap swap defaults 0 0

配置完毕,保存,重新启动系统

reboot

二,非法关机,导致root文件系统破坏(也就是linux根分区损坏,系统无法正常启动)

linux下面普遍使用ext3文件系统,它具有日志记录功能的日志文件系统,可以简单容错和恢复。但是高负荷读写ext3文件系统下,突然掉电,有可能发生文件内部结构不一致,导致文件系统破坏。

故障现象:

checking root filesystem

/dev/sdb5 contains a file system with errors,check forced

/dev/sdb5:

Unattached inode 68338812

/dev/sdb5:UNEXPECTED INCONSISTENCY;RUN fsck MANUALLY

(i.e.,without -a or -p options)

FAILED

/contains a file system with errors check forced

an error occurred during the file system check 

****dropping you to a shell;the system will reboot

****when you leave the shell

Press enter for maintenance

(or type Control-D to continue):

give root password for maintenance

从上面错误提示可以看出,系统根分区系统出现问题,系统启动无法自动修复,然后进入交互界面,提示用户进行系统修复

解决方案:

根据上面提示,当按下CTRL+D组合键后,自动重启,当输入root密码后进入系统修复模式,然后执行fsck命令,具体操作如下

umount /dev/sdb5 在执行fsck的时候,必须先卸载要修复的分区,在执行修复。这点很重要

fsck .ext3 -y /dev/sdb5 

然后输入YES

3linux内核崩溃,从而无法启动

先进入linux rescue下,然后加载root分区,最后重新编译内核。

4系统引导程序出现问题,比如grub丢失或者损坏,从而无法启动

先进入linux rescue下,然后加载root分区,最后重新编译GRUB文件。

5硬件故障,比如主板,电源和硬盘等出现问题,从而无法启动。

直接确认(通过替换)问题硬件,然后进行更换就可以。

上面所说的都是一些问题处理方案,还需要平时就做好一些准备,数据备份等等,实在不行,将数据导出后,重新安装系统。