linux无法启动原因很多,常见的原因如下几种:
1文件系统配置不当,比如/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
2非法关机,导致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硬件故障,比如主板,电源和硬盘等出现问题,从而无法启动。
直接确认(通过替换)问题硬件,然后进行更换就可以。
上面所说的都是一些问题处理方案,还需要平时就做好一些准备,数据备份等等,实在不行,将数据导出后,重新安装系统。