Linux系统引导过程

一、BIOS与UEFI

当计算机加点以后的第一件 事情就是启动BIOS/UEFI。根据保存在稳定的只读内存中的设置,BIOS/UEFI程序执行一系列的诊断以及检测并连接CPU和关键控制器。这就是所谓的“加电自检”

RHEL7支持传统的MBR分区布局和较新的GUID分区(GPT)表格式。

要使用CPT分区布局的磁盘上引导RHEL,需要系统具有UEFI固定接口,而不是传统的BIOS固件。

二、引导程序与GRUB2程序

目标:

(1)如何通过GRUB2菜单引导到不同的目标。

(2)诊断并纠正由引导程序错误引起的引导失败。

一定意义上,systemd target和RHEL6上的运行级别类似。通过在内核命令行的末尾添加字符串“systemd.unit=name.target”,可以改变这个目标

2.1 将系统引导到不同目标:

查看target:

[root@localhost system]# systemctl list-unit-files --type=target

修改状态:

systemctl set-default multi-user.target

查看默认目标:

[root@localhost system]# ll /etc/systemd/system/default.target
lrwxrwxrwx. 1 root root 40 12月  4 20:03 /etc/systemd/system/default.target -> /usr/lib/systemd/system/graphical.target
或者:

[root@localhost system]# systemctl get-default
graphical.target

练习1:

(1)将系统启动引导到多用户文本模式:

systemctl.unit=multi-user.target

(2)将系统引导到救援目标:

systemctl.unit=rescue.target

(3)将系统引导到紧急目标:

systemctl.unit=emergency.target

(4)

rd.break

(5)将系统引导到急救shell:

init=/sysroot/bin/sh

练习2:恢复root口令

https://www.cnblogs.com/anttech/p/11324332.html

2.2 修改系统引导程序

可修改系统的引导程序/boot/grub2/grub.cfg文件,以传递额外的内核参数,或者引导进入非默认的systemd目标。

方法:修改/etc/default/grub配置文件或者/etc/grub.d/目录中的脚本文件生成/boot/grub2/grub.cfg文件的新版本。

grub2-mkconfig -o /boot/grub2/grub.cfg

#注意:不要手动编辑/etc/grub2/grub.cfg文件。该文件是在安装或者更新系统时自动生成的,所以直接对该文件作出的修改将会丢失。使用grub2-mkconfig和/etc/default/grub文件夹修改grub.cfg。

/etc/default/grub文件详解:

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

第一行:等待多少秒后,GRUB2会自动引导默认操作系统。

第二行:回显内核启动条目

第三行:与grub2加载默认内核有关。“saved”告诉grub2在/boot/grub2/grubenv文件中寻找saved-entry变量,并告诉GRUB2引导一个不同的默认内核。

指定默认引导内核:

#grub2-set-default 1  #将第二个菜单项设置为默认启动内核

第四行:引导时禁用任何子菜单

第五行:文本控制台作为默认的输出终端

第六行:指定传递给内核的选项:

rd.lvm.lv给出包含root文件系统和交换分区的逻辑卷的名称

vconsole.font给出默认字体

vconsole.keymap给出键盘映射

crashkenel选项为kdump保留一些内存,当系统崩溃时,调运kdump来捕捉内核转存

rhgb quiet默认启动RedHat图形引导并隐藏引导消息。

第七行:禁止生成恢复菜单项

2.3 grub2的命令行

(1)确定grub文件位置

grab > ls
grab > ls (hd0,msdos1)/grub2/grub.cfg
grub > cat (hd0,msdos1)/grub2/grub.cfg
grub > search.file /grub2/grub.cfg

(2)查看一个在LVM卷上的文件系统

grub > insmod lvm
grub > ls
grub > cat (lvm/rhel-root)/etc/fstab

2.4 重新安装grub2


2.5 从grub2 引导急救模式

三、grub2与登录

在systemd中,可将Unix中的理念(“一切皆文件”)重新表述为“一切皆单元”。单元是systemd的基本构成模块。










原文地址:https://www.cnblogs.com/anttech/p/12702856.html