linux运维基础[启动引导与修复]——————系统运行级别、rc.local文件、grub启动引导程序

文章目录

  • 1.系统运行级别
    • 1.1 修改当前级别
    • 1.2 修改默认级别
  • 2./etc/rc.d/rc.local
  • 3.启动引导程序
    • 3.1 grub的保存位置
    • 3.2 Grub的配置文件
      • 3.2.1 grub的分区表示方法
      • 3.2.2 Grub的配置文件
    • 3.3 Grub加密

1.系统运行级别

linux中,用运行级别代表系统启动之后进入的界面

运行级别 含义
0 关机
1 单用户模式,主要用于系统修复(简单的)
2 不完全的命令行模式,不含有NFS(文件共享服务)
3 标准字符界面
4 没有使用
5 图形界面
6 重启

1.1 修改当前级别

1)查看运行级别:

[root@foundation5 ~]# runlevel
N 5
#之前没有级别 5当前在图形界面
#开机就进入图形界面

2)修改运行级别

[root@server ~]# init 3
[root@server ~]# init 5
# 必须要安装了图形界面才可以使用5界面,如果没有安装,不切换
[root@server ~]# runlevel
3 5
# 但是runlevel中会以为进入了5级别,出现5

3)尽量不使用关机重启:这种关机重启不回正确关闭服务后关机,所以最好使用shutdown关机重启。

[root@server ~]# init 0 # 关机 
[root@server ~]# init 6 # 重启

1.2 修改默认级别

修改一开机自动进入的级别:

1)保存在默认的运行级别文件中:

[root@server ~]# vim /etc/inittab

# inittab is no longer used when using systemd. 现在已经必用这个文件了
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
# Ctrl-Alt-Delete is handled by /etc/systemd/system/ctrl-alt-del.target
# systemd uses 'targets' instead of runlevels. By default, there are two main targets: # 使用systemctl的target方式设定默认启动界面
# multi-user.target: analogous to runlevel 3 # 一个代表init 3
# graphical.target: analogous to runlevel 5 # 一个代表init 5
# To set a default target, run: # 设定默认启动方式运行下面一行的命令
# ln -sf /lib/systemd/system/.target /etc/systemd/system/default.target 

2)修改为默认字符界面即3级别

可以使用:

[root@server ~]# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

还可以使用:

[root@server ~]# systemctl set-default multi-user.target 
rm '/etc/systemd/system/default.target'
ln -s '/usr/lib/systemd/system/multi-user.target' '/etc/systemd/system/default.target'
# 这条命令与文件中的要求命令相同。而且更方便

3)查看修改:

[root@server ~]# systemctl get-default 
multi-user.target # 也就是启动级别3

2./etc/rc.d/rc.local

这个文件中的命令,系统开基之后,登录之前,会最后一个读取这个文件,将里面的命令加载,如果你想要把一些命令自动执行,只需要写在这个文件中,就可以自动启动:

[root@server ~]# ll /etc/rc.d/rc.local
-rwxr-xr-x. 1 root root 2652 Jul 11  2014 /etc/rc.d/rc.local
[root@server ~]# ll /etc/rc.local 
lrwxrwxrwx. 1 root root 13 May  7  2014 /etc/rc.local -> rc.d/rc.local
[root@server ~]#

两个文件是同一个文件。

查看文件内容:

[root@server ~]# vim /etc/rc.d/rc.local

touch /var/lock/subsys/local
# 每次开机都修改这个文件的时间戳,这个时间就是开机时间,默认让系统检测到开机时间

任何开机要执行的命令,都可以写在这个文件中。

3.启动引导程序

选择进入哪个系统的程序,win10还是linux。

linux中的启动引导程序是grub,就是这个界面:

linux运维基础[启动引导与修复]——————系统运行级别、rc.local文件、grub启动引导程序_第1张图片

3.1 grub的保存位置

就在/boot下:

[root@server ~]# cd /boot
[root@server boot]# ll
total 73096
-rw-r--r--. 1 root root   122059 May  5  2014 config-3.10.0-123.el7.x86_64
drwxr-xr-x. 2 root root       37 May  7  2014 grub # grub内容
drwxr-xr-x. 6 root root      104 May  7  2014 grub2
-rw-r--r--. 1 root root 30676364 May  7  2014 initramfs-0-rescue-946cb0e817ea4adb916183df8c4fc817.img
-rw-r--r--. 1 root root 30299761 May  7  2014 initramfs-3.10.0-123.el7.x86_64.img
-rw-r--r--. 1 root root   867001 Jul 11  2014 initrd-plymouth.img
-rw-r--r--. 1 root root   228562 May  5  2014 symvers-3.10.0-123.el7.x86_64.gz # 内核,编译之后系统加载的内核
-rw-------. 1 root root  2840084 May  5  2014 System.map-3.10.0-123.el7.x86_64
-rwxr-xr-x. 1 root root  4902000 May  7  2014 vmlinuz-0-rescue-946cb0e817ea4adb916183df8c4fc817
-rwxr-xr-x. 1 root root  4902000 May  5  2014 vmlinuz-3.10.0-123.el7.x86_64

查看grub下内容:

[root@server boot]# cd grub
[root@server grub]# ll
total 4
-rw-r--r--. 1 root root 265 May  7  2014 grub.conf # 配置文件
lrwxrwxrwx. 1 root root   9 May  7  2014 menu.lst -> grub.conf # 软链接
[root@server grub]# ll /etc/grub.conf  # 也是他的软链接
lrwxrwxrwx. 1 root root 20 May  7  2014 /etc/grub.conf -> /boot/grub/grub.conf

3.2 Grub的配置文件

3.2.1 grub的分区表示方法

硬盘 分区 linux中设备文件名 grub中设备文件名
第一块磁盘 第一个主分区 /dev/sda1 hd(0,0)
第二个主分区 /dev/sda2 hd(0,1)
扩展分区 /dev/sda3 hd(0,2)
第一个逻辑分区 /dev/sda5 hd(0,4)
第二块磁盘 第一个主分区 /dev/sdb1 hd(1,0)
第二个主分区 /dev/sdb2 hd(1,1)
扩展分区 /dev/sdb3 hd(1,2)
第一个逻辑分区 /dev/sdb5 hd(1,4)

3.2.2 Grub的配置文件

打开:都是自动生成的

[root@server ~]# vim /etc/grub.conf
# 整体配置
default=0 # 默认启动第一个操作系统
timeout=0 # 等待时间0秒,直接进入;-1一直等待(必须本机操作,不能远程);5等待5秒

# 只有一个可启动的操作系统,四行一个系统
title Red Hat Enterprise Linux 7 (3.10.0-123.el7.x86_64) # 这里写什么,开机显示什么
        root (hd0) # 主启动目录的位置,/boot分区,
        kernel /boot/vmlinuz-3.10.0-123.el7.x86_64 ro root=UUID=9bf6b9f7-92ad-441b-848e-0257cbb883d1 console=hvc0 LANG=en_US.UTF-8
        # 内核文件 ro 根目录的位置 语言方式
        initrd /boot/initramfs-3.10.0-123.el7.x86_64.img # 虚拟文件系统

唯一需要该的是default就行。
在装双系统的时候,先装windows,后装linux。

  • 因为linux可以识别windows,linux后装覆盖后,windows还可以用。
  • 如果先装linux,windows不识别linux,覆盖linux后,linux无法启动。需要手工重新安装grub。

实际工作中不需要装windows。这就是个人机的问题。

3.3 Grub加密

如果grub没有加密,用户在启动界面直接使用ctrl+c就可以破解密码,所以将grub加密就可以保护root的密码不被破解。

1)grub的加密使用md5格式,128位加密:

[root@server ~]# grub-md5-crypt
passwd:
A978E8B914484136622E740CB2925F73

2)将它放在/etc/grub.conf文件中:

default=0
timeout=0
password --md5 A978E8B914484136622E740CB2925F73/ # 不输入密码可以进入,单是进入e需要输入密码

title Red Hat Enterprise Linux 7 (3.10.0-123.el7.x86_64)
        root (hd0)
        kernel /boot/vmlinuz-3.10.0-123.el7.x86_64 ro root=UUID=9bf6b9f7-92ad-441b-848e-0257cbb883d1 console=hvc0 LANG=en_US.UTF-8
        initrd /boot/initramfs-3.10.0-123.el7.x86_64.img

3)加入lock:(服务器绝对不能做)

default=0
timeout=0
password --md5 A978E8B914484136622E740CB2925F73/ # 不输入密码可以进入,单是进入e需要输入密码

title Red Hat Enterprise Linux 7 (3.10.0-123.el7.x86_64)
		lock # 不输入grub密码根本不能进入密码,所以如果设定了就必须在物理机启动。
        root (hd0)
        kernel /boot/vmlinuz-3.10.0-123.el7.x86_64 ro root=UUID=9bf6b9f7-92ad-441b-848e-0257cbb883d1 console=hvc0 LANG=en_US.UTF-8
        initrd /boot/initramfs-3.10.0-123.el7.x86_64.img

你可能感兴趣的:(linux)