一、单用户模式修复

开机时按 e 进入菜单

centos7 fstab参数失败为何会进入单用户模式 centos6进不了单用户_bash

再按 e 进入

centos7 fstab参数失败为何会进入单用户模式 centos6进不了单用户_Linux_02

进入在后面加个1|s|single (其中一个)后重启进入单用户

centos7 fstab参数失败为何会进入单用户模式 centos6进不了单用户_centos6_03

单用户模式能够解决的问题:
1、忘记root密码
2、服务起不来导致启动一直卡着,进入后关闭该服务的开机自启
3、开机运行的文件中有关机或重启命令

二、开机开不了,也进不了单用户模式,这时候就只能用救援模。

1、进入救援模式

从光盘启动,具体怎么从光盘启动可以在网上查,有很多。

centos7 fstab参数失败为何会进入单用户模式 centos6进不了单用户_centos6_04

2、恢复思路

情况1:假设有备份
思路:
1)、通过光盘进入到修复模式下
2)、切换到自己的系统中
3)、根据备份的文件进行相应的恢复
4)、退出自己的系统然后重启
情况2:没有备份
思路:
1)、通过光盘进入到修复模式下
2)、切换到自己的系统中
3)、需要重新安装内核
4)、手动编写配置文件
5)、手动编写配置文件
6)、出自己的系统然后重启

3、恢复过程

有备份的情况就多说了,只要将/boot目录的文件全删了,然后在拷贝过去就行了。现在我们重点来说一下没有备份的情况。
1. 进入Rescue模式

2.切换根目录 磁盘挂载在/mnt/sysimage/
chroot /mnt/sysimage

3.挂载光盘
mount /dev/sr0 /mnt

4.安装内核文件 vmliunz与initrd
进入到/mnt/Packages下面
rpm -ivh kernel-2.6.32-279.1.1.el6.x86_64.rpm kernel-firmware-2.6.32-279.1.1.el6.noarch.rpm –force
–force 强制安装,可能版本会不一样,但大致名字是一样的
安装完成之后boot目录下会生成几个文件,大致如下:
ls /boot/
config-2.6.32-279.1.1.el6.x86_64 System.map-2.6.32-279.1.1.el6.x86_64
initramfs-2.6.32-279.1.1.el6.x86_64.img vmlinuz-2.6.32-279.1.1.el6.x86_64
symvers-2.6.32-279.1.1.el6.x86_64.gz

5.安装grub

grub-install –root-directory=/dev/sda

会在boot目录下生成一个grub目录

centos7 fstab参数失败为何会进入单用户模式 centos6进不了单用户_bash_05

6.重新定义grub.conf文件

centos7 fstab参数失败为何会进入单用户模式 centos6进不了单用户_bash_06

7.重启

4、各种状况

如果出现问题能够一路按自己想的能解决的话是最好的,但是,总会有许许多多的意外出现。下面我来说一下我在使用的过程中遇到过的问题以及解决方法。
1、进入救援模式后使用命令chroot /mnt/sysimage失败。
–这种情况一般是根分区没有挂载
解决:
找到根分区
mount /dev/sda* /mnt/sysimage 把分区挂载好
再使用chroot /mnt/sysimage命令,进入之后将fstab文件配置好开机挂载。

2、没有fstab文件

自己写一个,格式如下:

centos7 fstab参数失败为何会进入单用户模式 centos6进不了单用户_bash_07

3、chroot后有些命令用不了
直接先退出根目录,然后从外部的/usr/bin目录下将需要的命令直接cp到/mnt//sysimage/bin下面就行了。

上面说的都是系统可能出现的情况,下面的话来说一下恶作剧的情况吧。

4、系统一直自动重启
检查/etc/rc.d/rc.local以及各种服务的文件,看里面有没有重启的命令。
centos6开机时服务器是一个一个启动的,仔细观察,看系统启动到哪一步的时候重启,就可以找到是哪个服务出问题了。

5、root不能修改的文件
了解一下以下两个命令
lsattr 查看文件属性
chattr 文件权限属性

6、root不能修改密码
Linux系统中一切皆文件,修改密码就是修改文件,可以参考一下上面的例子
密码的两个文件 /etc/passwd /etc/shadow

7、登录不上
前面已经解决了很多的问题了,还登录不上的话就需要检查文件内容了
查看/etc/passwd这个文件,看root用户的用户类型是不是/bin/bash
查看/etc/securetty这个文件,有没有tty[0-6],其实只要tty1就可以登录了,其他的可以登录上去后再照着其他机器上面的写上去。

8、很多命令用不了
这种情况一般都是环境变量的问题,用echo ¥PATH看一下环境变量。对比一下其他机器上面的,将没有的目录加上去。
临时的话可以用命令 export PATH=$PATH:/bin:/sbin
永久的话可以把这两条命令加到/etc/bashrc里面

9、登录后自动关机或注销
查看定时任务有没有相关的任务。
查看/etc/bashrc文件和 /root/.bashrc文件,看有没有TMOUT这个配置。
TMOUT=30 这个命名就是30秒后注销改账户的意思。

以上都是一个人在用的时候总结出来的教训,虽然这些动作在7以后都不太适用了,但还是希望给那些还在用6的朋友们一些帮助,顺便自己留个纪念!