- 基于CentOS 6.9
- 实验环境用虚拟机vmware
1. 开机或重启后在如下提示界面敲any键
2. 进入系统选择界面
对菜单简单说明
- ↑和↓键选择系统(你要启动的),选中的高亮(泛白)
- 敲回车启动选中的系统
- 按e,表示在启动前编辑命令
- 按a,表示在启动前更改内核参数
- 按c,表示一个命令行工具
3. 按e编辑
菜单说明:
- 按b,启动
- 按o,向下新增一行(O上面新增一行,类似于VI命令模式)
- 按d,移除选中行
- 按ESC(escape),可以返回主菜单!
4. 移动到第二行,再按e
第二行即上图的kernel /vmlinuz-2.6.32 ... 那一行
按e,进入如下界面
5. 在quiet后面输入空格,1,回车
1 是什么意思?后面再说。
6. 按ESC返回上级菜单,再按b
7. 进入系统
此时发现我们无需输入密码就登录到了系统中,这时候就可以输入passwd进行root密码的修改了,而且无需输入原来的密码。 但这里的一个细节是,读取的文件有点特别(参见我之前写的一篇文章)
引申
1 是什么意思?
看这个图片
我们知道我们现在进入的是单用户模式。 1就是single user mode的意思。 有的教程在quiet后面输入的Single,S都是类似的意思
/etc/inittab
系统的模式在这个文件中有介绍 我们首先通过init 5 切换图形界面模式
**读取的文件为何是这几个呢?为何少了2个呢?**你知道吗。
看看/etc/inittab都是什么内容?
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:
这就是系统的模式,分7个级别
- 0 关机(不要默认到这里)
- 1 单用户模式 (我们用的就是这个)
- 2 多用户,不带NFS(跟3类似,不带网络)
- 3 多用户模式(文字模式)
- 4 不使用(保留?)
- 5 图形界面(X11)
- 6 重启(不要默认到这里)
最后一句是系统默认的模式
id:5:initdefault:
此处的语法很多很复杂,不过我们一般不涉及
相关命令
runlevel
显示系统当前的运行级别和之前的运行级别
[root@testing ~]# runlevel
S 5
init
级别切换,比如
init 3 #切换到文字模式
init 6 #重启,跟reboot,shutdown -r now类似
init 0 #关机,跟shutdown -h now,halt,poweroff类似
chkconfig
[root@testing ~]# chkconfig --list
NetworkManager 0:off 1:off 2:on 3:on 4:on 5:on 6:off
abrt-ccpp 0:off 1:off 2:off 3:on 4:off 5:on 6:off
abrtd 0:off 1:off 2:off 3:on 4:off 5:on 6:off
acpid 0:off 1:off 2:on 3:on 4:on 5:on 6:off
这个命令可以看到有0-1-2-3-4-5-6,嗯,就是系统的7个level,显示的是这些服务在某个级别是否默认启动,跟我们windows下的服务管理类似。
说在最后
- 有个同学说直接init 1不就行了?脑洞大开^.^ 如果你可以执行init 的话,那你干脆直接passwd修改密码算了,要输入原密码?不需要的。