目录
系统运行级别
运行级别
系统默认运行级别
/etc/rc.d/rc.local 文件
启动引导程序(Boot Loader)
/boot/grub 目录
Grub 的配置文件
grub 的配置文件
grub 加密
grub 菜单整体加密
系统修复模式
单用户模式
单用户模式常见的错误修复
光盘修复模式
光盘修复模式常见的错误修复
运行级别 | 含 义 |
0 | 关机 |
1 | 单用户模式,可以想象为 windows 的安全模式,主要用于系统修复 |
2 | 不完全的命令行模式,不含 NFS 服务 |
3 | 完全的命令行模式,就是标准字符界面 |
4 | 系统保留 |
5 | 图形模式 |
6 | 重启动 |
[root@localhost ~]# runlevel
N 3
#N 代表进入这个级别前,上一个是哪个级别。3 代表当前级别
[root@localhost ~]# runlevel
5 3
#代表是由 5 级别进入的 3 级别
[root@localhost ~]# init 5
#进入图形界面,当然要已经安装了图形界面才可以
[root@localhost ~]# init 0
#关机
[root@localhost ~]# init 6
#重启动
[root@localhost ~]# vim /etc/inittab
# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#系统会先调用/etc/init/rcS.conf
# Individual runlevels are started by /etc/init/rc.conf
#再调用/etc/init/rc.conf,在不同的运行级别启动不同的服务
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
#通过这个配置文件判断 Ctrl+Alt+Delete 热启动键是否可用
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#判断系统可以启动的本地终端数量,及终端的基本设置(如颜色)
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
#
# 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)
#很眼熟吧,就是刚刚的 0-6 的运行级别的说明
id:3:initdefault:
#这就是系统的默认运行级别,也就是系统开机后直接进入哪个运行级别
[root@localhost ~]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 4 月 10 21:46 /etc/rc.local -> rc.d/rc.local
#有个链接文件,两个文件修改哪一个都可以
[root@localhost ~]# vi /etc/rc.d/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
#默认会 touch 这个文件,每次系统启动时 touch 这个文件,这个文件的修改时间就是系统的启动时间了。
/etc/rc.d/init.d/httpd start
#如果写入 RPM 包安装的 apache 的启动命令,apache 服务就会开机时自动启动了。
[root@localhost ~]# cd /boot/grub/
[root@localhost grub]# ll -h
总用量 274K
-rw-r--r--. 1 root root 63 4 月 10 21:49 device.map
#grub 中硬盘的设备文件名与系统的设备文件名的对应文件
-rw-r--r--. 1 root root 14K 4 月 10 21:49 e2fs_stage1_5
#ext2/ext3 文件系统的 stage 1.5 文件
-rw-r--r--. 1 root root 13K 4 月 10 21:49 fat_stage1_5
#FAT 文件系统的 stage 1.5 文件
-rw-r--r--. 1 root root 12K 4 月 10 21:49 ffs_stage1_5
#FFS 文件系统的 stage 1.5 文件
-rw-------. 1 root root 737 4 月 10 21:49 grub.conf
#grub 的配置文件
-rw-r--r--. 1 root root 12K 4 月 10 21:49 iso9660_stage1_5
#iso9660 文件系统的 Stage 1.5 文件
-rw-r--r--. 1 root root 13K 4 月 10 21:49 jfs_stage1_5
#jfs 文件系统的 Stage 1.5 文件
lrwxrwxrwx. 1 root root 11 4 月 10 21:49 menu.lst -> ./grub.conf
#grub 的配置文件。和 grub.conf 是软链接,所以两个文件修改哪个都可以
-rw-r--r--. 1 root root 12K 4 月 10 21:49 minix_stage1_5
#minix 文件系统的 Stage 1.5 文件
-rw-r--r--. 1 root root 15K 4 月 10 21:49 reiserfs_stage1_5
#reiserfs 文件系统的 Stage 1.5 文件
-rw-r--r--. 1 root root 1.4K 11 月 15 2010 splash.xpm.gz
#系统启动时,grub 程序的背景图像
-rw-r--r--. 1 root root 512 4 月 10 21:49 stage1
#安装到引导扇区中的 stage1 的备份文件
-rw-r--r--. 1 root root 124K 4 月 10 21:49 stage2
#stage2 的备份文件
-rw-r--r--. 1 root root 12K 4 月 10 21:49 ufs2_stage1_5
#UFS 文件系统的 Stage 1.5 文件
-rw-r--r--. 1 root root 12K 4 月 10 21:49 vstafs_stage1_5
#vstafs 文件系统的 Stage 1.5 文件
-rw-r--r--. 1 root root 14K 4 月 10 21:49 xfs_stage1_5
#xfs 文件系统的 Stage 1.5 文件
[root@localhost ~]# vi /boot/grub/grub.conf
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
#以上为 grub 整体设置
title CentOS (2.6.32-279.el6.i686)
root (hd0,0)
kernel /vmlinuz-2.6.32-279.el6.i686 ro
root=UUID=b9a7a1a8-767f-4a87-8a2b-a535edb362c9 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us
rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet
#以上 4 行为一行,只是内容过多的自动换行
initrd /initramfs-2.6.32-279.el6.i686.img
[root@localhost ~]# cat /etc/fstab | grep "/ "
UUID=b9a7a1a8-767f-4a87-8a2b-a535edb362c9 / ext4 defaults 1 1
[root@localhost ~]# grub-md5-crypt
Password:
Retype password:
#输入两次密码
$1$Y84LB1$8tMY2PibScmuOCc8z8U35/
#生成加密密码字串
[root@localhost ~]# vi /boot/grub/grub.conf
default=0
timeout=5
password --md5 $1$Y84LB1$8tMY2PibScmuOCc8z8U35/
#password 选项放在整体设置处。
splashimage=(hd0,0)/grub/splash.xpm.gz
default=0
timeout=5
password --md5 $1$Y84LB1$8tMY2PibScmuOCc8z8U35/
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-279.el6.i686)
lock
#在 title 字段,加入 lock。代表锁死,如果不输入正确的 grub 密码也不能启动
[root@localhost /]# passwd root
[root@localhost /]# vi /etc/inittab
id:3:initdefault:
#把默认运行级别修改为 3 或 5。注意系统的默认运行级别只能使用 3 或 5
[root@localhost ~]# chroot 目录名
bash-4.1# chroot /mnt/sysimage
bash-4.1# chroot /mnt/sysimage
#改变主目录
sh-4.1# cd /root
#进入 root 目录。因为默认进入的是/目录,如果不进入 root,一会提取的 inittab 文件会
#报错
sh-4.1# rpm -qf /etc/inittab
initscripts-9.03.31-2.el6.centos.i686
#查询下/etc/inittab 文件属于哪个包。如果系统中文件丢失不能查询,需要通过其他 Linux
#系统查询
sh-4.1# mkdir /mnt/cdrom
#建立挂载点
sh-4.1# mount /dev/sr0 /mnt/cdrom
#挂载光盘
sh-4.1# rpm2cpio /mnt/cdrom/Packages/initscripts-9.03.31-2.el6.centos.i686.rpm
| cpio -idv ./etc/inittab
#提取 inittab 文件到当前目录
sh-4.1# cp etc/inittab /etc/inittab
#复制 inittab 文件到指定位置
【注】:参考尚硅谷沈超老师教程