一、bios 初始化
【对硬件检测、初始化硬件时钟】(内存、硬盘等硬件设备没插好,会发出蜂鸣声报警)
bios是一个写入到硬件(主板)上的一个软件程序,在开机时,计算机系统主动执行的第一个程序,bios会依据使用者的设定去取得能开机的硬盘,并且到该硬盘里面去读取第一个扇区的mbr位置
二、磁盘引导
主引导记录(mbr):
所在位置0磁道1扇区,硬盘容量446byte
(放置最基本的开机管理程序,开机管理程序目的是加载核心文件)
作用:
记录 grub2 引导文件的位置
当 mbr 数据丢失系统会因为找不到启动分区而停止启动
问题出现:
dd if=/dev/zero of=/dev/vda bs=446 count=1
清空系统/dev/vda 上的 mbr 数据
重启后出现以下情况
恢复方式:
-
force off虚拟机
-
添加并启动镜像
-
用光盘进入系统挽救模式
切换启动模式为硬盘启动,此时就可以正常开启了
注:切换启动模式时要power off掉!
三、grub2 文件引导
引导文件位置:
总引导文件:/boot/grub2/grub.cfg
子引导文件:/boot/loader/entries/xxxxx.conf
grub2.cfg文件只指定了根等于系统第一块硬盘的第一个分区(/boot分区)
/boot/loader/entries/xxxxx.conf 文件里有系统下一步启动要读取到的资源
指定/boot 位置
指定系统启动时加载文件成名
模拟问题1:
删除子引导文件
重启后为此界面
修复:
1.手动引导进入系统
2.成功进入系统后在重新恢复被删除的文件(否则每次开机都需要手动引导)
kerne-install add 内核版本号 内核镜像
kernel-install add $ (uname -r) /lib/modules/$(uname -r)/vmlinuz
模拟问题2:
删除主引导文件
重启后状态与子引导文件删除时相同,同样需要手动引导,boot后
恢复
grub2-mkconfig > /boot/grub2/grub.cfg
这下重启后系统就正常进入了。
四、内核加载
文件:
/boot/vmlinuz-$(uname -r)
加载内核作用:
系统初始化硬件设备
只读挂载设备
问题出现:
rm -fr /boot/vmlinuz-$(uname -r)
【$(uname -r)意思是先执行括号里的命令
uname -r :查找内核的版本号】
重启系统后
恢复:
【挽救模式下】
两种方法:
1.拆解内核文安装包并复制内核压缩镜像到/boot
2.复制系统lib下的内核文件到/boot中即可
两次exit退出后,启动模式从硬盘启动,此时就可以正常登陆了!
五、系统初始化镜像
文件:/boot/initramfs-4.18.0-80.el8.x86_64.img
作用:
加载系统时钟
加载 selinux
加载系统主机信息
加载/etc/fstab 文件中磁盘挂载策略
加载磁盘配额
初始化系统程序开启开机启动服务
开启虚拟控制台
开启图形
问题出现:
rm -fr /boot/initramfs-xxxxx.img
不小心删除此文件
在重启时会发现有如下错误
恢复:
【挽救模式下】
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
退出后切换启动模式为从硬盘启动即可
六、系统启动级别
0 | 关机 |
---|---|
1 | 单用户 |
2 | 无图形网络模式 |
3 | 无图形网络模式 |
4 | 无图形网络模式 |
5 | 有图形网络模式 |
6 | 重启 |
问题出现:
systemctl set-default reboot.target
设置模式为重启模式
重启后会发现系统进入了无限重启的循环中,如何修改这种模式呢?
恢复:
在开机选择界面按< e >进入到引导文件编辑模式
输入e进入以下界面,在后面输入3,表示进入无图形下的网络模式。
在按 ctrl + x
登陆用户,切换模式
重启后不会在陷入无限重启状态
七、超级用户修改密码
重新启动系统,按 ‘ e ’进入到引导文件编辑模式
修改第二段后面的内容,(rd.break 表示终止系统初始化启动,进入单用户模式)在按 ‘ctrl ’ + x
回车后加载启动,此时输入刚才赋予的密码就可以登陆了!
- GET