29、Linux 实战 - 启动引导与修复

系统运行级别

运行级别

Linux默认有7个运行级别。

运行级别 含义
0 关机
1 单用户模式,可以想象为Windows的安全模式,主要用于系统修复。
2 不完全的命令行模式,不含NFS服务。
3 完全的命令行模式,就是标准字符界面。
4 系统保留。
5 图形模式。
6 重启动。
  • 可以用runlevel命令可以查看当前的运行级别。
[root@ddkk.com sh]# runlevel
N 3
#第一位N是代表上一个级别为空,3是代表现在所处运行级别3

  • 可以直接用init命令进入相应的运行级别。
[root@ddkk.com sh]# init 5
#进入图形界面,当然需要提前安装图形界面。

系统默认运行级别

在系统启动过程中,/etc/init/rcS.conf 配置文件调用 /etc/inittab配置文件的目的就是为了确定系统的默认运行级别,也就是系统一开机就会进入的运行级别。

/etc/rc.d/rc.local 文件

这个配置文件会在用户登录之前读取,这个文件中会写入什么命令,在每次系统启动时都会执行一次。
有什么软件需要开机启动,写入这个文件。

启动引导程序

grub简介

早期的Lilo引导程序已经被淘汰了,现在流行的grub相比起来有很多优势。

  • 支持更多的文件系统。
  • grub的主程序可以直接在文件系统中查找内核文件。
  • 在系统启动时,可以利用grub的交互界面编辑和修改启动选项。
  • 可以动态的修改grub的配置文件,这样在修改配置文件之后不需要再重新安装grub,只需要重新启动就可以生效了。

grub中分区的表示方法:

linux中 grub中
/dev/sda1 hd(0,0)
/dev/sda5 hd(0,4)
/dev/sdb1 hd(1,0)

括号中第一位代表第几块硬盘,从0开始,第二位代表第几分区。

grub配置文件

grub的配置文件:/boot/grub/menu.lst、/boot/grub/grub.conf、/etc/grub.conf

  • default=0:先启动哪个系统,如果装了多个系统,可以手动修改。
  • timeout=5:grub界面停留时间,timeout=-1时是一直等待用户输入,不会自动进入系统。
  • title:标题,开始时会显示在屏幕上。
  • root:主启动目录的位置。
  • knrnel:内核加载的选项。
  • initrd:内存文件系统镜像文件的所在位置,加载了虚拟文件系统。

grub加密

开机时进入grub界面,按e可以进入编辑模式,这样可以进行一些修复工作,一般来说这样不是很安全,所以可以为grub编辑模式设置密码。

grub-md5-crypt

将生成的加密后的密码以"password --md5 加密后密码"的格式加入配置文件timeout后一行中。
添加密码后,进入grub编辑模式需要按"p"输入密码。

  • lock
    lock可以锁住系统,让用户不仅进入编辑模式需要密码,进入系统也需要密码。但一般不建议这么做,尤其是服务器,grub界面操作需要拿到本机,服务器一般是远程管理,切勿进行lock操作。

系统修复界面

单用户模式

Linux的单用户模式有点类似于Windows的安全模式,可以执行一些系统修复任务,单用户模式是系统运行级别为1的模式,网络禁用,单用户模式可以用来修复文件系统损坏,还原配置文件、移动用户数据等。

  • 如何进入单用户模式
    grub进入单用户模式:在grub界面按e进入编辑模式,quiet后输入空格和1,回车返回。
    grub2进入单用户模式:先进入编辑模式,ro ——> rw /sysroot/bin/bash,然后CTRL+X启动系统。

光盘修复模式

  • 如何进入光盘修复模式
    首先得需要一张系统光盘,当然,已经写入安装程序的U盘也可以,插入电脑,重启系统,进入BIOS,修改启动顺序,让系统从光盘或U盘启动。

通过光盘进入的修复模式不是真正的根目录,而是通过chroot模拟的根目录,系统真正的根目录被当成外来设备放在了/mnt/sysimage/目录中,这是就需要chroot命令把我们的所在目录移动成为真正的系统根目录。

chroot /mnt/sysimage

这条命令执行以后,就会进入真正的系统根目录,系统有任何错误都可以直接修复。

  • 丢失重要文件如何修复
rpm -qf /etc/inittab
#查询文件属于哪个包,如果系统中文件丢失不能查询,可以通过其他linux系统进行查询,或者网络进行查询。

rpm2cpio进行提取。