Linux系统启动流程
一、概述
BIOS → MBR → BOOT LOADER(例如GRUB) → 加载内核kernel → init初始化
1.打开计算机电源时,计算机会自动从主板的BIOS(Basic Input Output System,基本输入输出系统)
BIOS是硬件和软件之间最基本的接口,可以设置计算机从哪个介质(本地硬盘、u盘、光盘、网络等)中读取操作系统
2.接下来,计算机将从你所选择的存储设备(比如光盘)中读取起始的512 bytes,也就是读取MBR(主引导记录,硬盘上第0磁道第一个扇区被称为MBR, Master Boot Record)
MBR会告诉电脑从该设备(该设备也许存储了多个操作系统)的某一个分区(partition)来装载引导加载程序(boot loader)。
512B : 446B 引导信息,64B 分区信息,2B 标志位
3.Boot loader储存有操作系统(OS)的相关信息,比如操作系统名称,操作系统内核 (kernel)所在位置等。常用的boot loader有GRUB(Grand Unified Bootloader,多重操作系统启动管理器)和LILO。
4.随后,根据grub设定的内核映像所在的路径,系统读取内核(kernel)映像
实际上,我们可以在硬盘多个分区安装boot loader,每个boot loader对应不同的操作系统,在读取MBR的时候选择我们想要启动的 boot loader。这就是多操作系统的原理。
二、系统安全
GRUB文件加密
vim /etc/grub.conf
grub-md5-crypt:设置一串密文密码
然后将得到的密文密码插入到grub.conf文件中
GRUB加密破解
1.首先要修改这个虚拟机的启动方式,我们需要从光盘启动。而虚拟机默认是硬盘为第一启动方式。(
从其他存储设备(u盘)等加载操作系统,此时硬盘相当于日常中普通u盘的地位,可以对硬盘进行修改
)
在虚拟机刚启动的时候(那个大大的“vmware”的界面)马上按“F2”进入bios。
2.选择到boot那一栏。选中“CD-ROM Drive”一项,按“+”把“CD-ROM Drive”这一项提升到最上面。这样系统就默认光盘启动为第一启动方式了。
3.把linux的第一张安装盘镜像绑定光驱后,保存,重启。系统会直接进入linux的安装界面。在提示符下输入“linux rescue”回车,系统将启动linux救援模式。
4.途中会有几个选项,按照提示选择就好。有个提示要选“Continue”,有些同学易习惯当成安装时的“Skip”选项,这里问的是你是否想要进入安全模式,选yes即可。最后会看到一个说明,大概是说这个救援系统把原来的系统文件(硬盘上的那个)挂载到了“/mnt/sysimage”文件夹下。(我们可以cd /mnt/sysimage,然后vi /etc/grub.conf).
5.启动好后,我们就可以寻找grub.conf文件了。这里要注意下文件夹的结构:我们现在在救援系统的根目录下。而我们要找的是原系统的“/etc /grub.conf”,因此完整的路径是:“/mnt/sysimage/etc/grub.conf”。用vi编辑此文件,我们便可以看到,并且修改 该文件,将加密的密钥给删除,保存退出。密码破解成功。
6. 重启,再次设置BIOS,从硬盘启动。
BIOS加密
(1)开机按F2进入BIOS,切换到下图界面,按Enter设置Supervisor Passeord密码并保存并退出
(2)再次开机启动进入BIOS时则会提示输入BIOS密码
BIOS加密破解
BIOS是存放在主板上面的一块圆形电池上面,将电池取出放电,然后再将电池装上,里面的程序就会全部初始化复位,之前的密码设置都清空
三、初始化选项操作
cat /etc/inittab:查看init命令文件信息
0:关机
1、单用户,root模式
2、命令行的多用户模式,可以使用网络
3、命令行的多用户模式,不可以使用网络
4、未使用的级别(一般用于测试使用)
5、图形用户界面
6、重启模式
进入单用户模式
1、在开机读秒界面按任意键进入
2、按 e键进入编辑模式
3、上下键切换到内核选项,然后按e编辑
4、先按空格,再按1,再按回车,再按b启动
5、进入系统后就是只有一个root用户的当用户模式下的命令行界面,且登录不需要密码
四、操作系统相关linux命令
cat /etc/redhat-release:查看操作系统版本
uname -r:查看操作系统内核版本
uname -a:操作系统详细信息
参考文献:
GRUB加密【百度经验】https://jingyan.baidu.com/article/851fbc37f901743e1f15ab3c.html