Linux系统下的引导过程及修复

时间:2020-9-1 作者:admin


一、bios 初始化

【对硬件检测、初始化硬件时钟】(内存、硬盘等硬件设备没插好,会发出蜂鸣声报警)

bios是一个写入到硬件(主板)上的一个软件程序,在开机时,计算机系统主动执行的第一个程序,bios会依据使用者的设定去取得能开机的硬盘,并且到该硬盘里面去读取第一个扇区的mbr位置

Linux系统下的引导过程及修复

二、磁盘引导

主引导记录(mbr):
所在位置0磁道1扇区,硬盘容量446byte
(放置最基本的开机管理程序,开机管理程序目的是加载核心文件)

作用:

记录 grub2 引导文件的位置
当 mbr 数据丢失系统会因为找不到启动分区而停止启动
问题模拟方式
系统磁盘/dev/sda

问题出现:

dd if=/dev/zero of=/dev/vda bs=446 count=1
清空系统/dev/vda 上的 mbr 数据
重启后出现以下情况
Linux系统下的引导过程及修复

恢复方式:

  1. force off虚拟机

  2. 添加并启动镜像
    Linux系统下的引导过程及修复
    Linux系统下的引导过程及修复

  3. 用光盘进入系统挽救模式
    Linux系统下的引导过程及修复
    Linux系统下的引导过程及修复
    Linux系统下的引导过程及修复

切换启动模式为硬盘启动,此时就可以正常开启了
Linux系统下的引导过程及修复
Linux系统下的引导过程及修复

三、grub2 文件引导

引导文件位置:
/boot/grub2/grub.cfg
/boot/loader/entries/xxxxx.conf

grub2.cfg文件只指定了根等于系统第一块硬盘的第一个分区(/boot分区)
/boot/loader/entries/xxxxx.conf 文件里有系统下一步启动要读取到的资源
指定/boot 位置
指定系统启动时加载文件成名

模拟问题:

rm -fr /boot/loader/entries/xxxxxxxxx.conf
Linux系统下的引导过程及修复
重启后为此界面
Linux系统下的引导过程及修复

修复:

1.手动引导进入系统
Linux系统下的引导过程及修复
2.成功进入系统后在重新恢复被删除的文件(否则每次开机都需要手动引导)
kerne-install add 内核版本号 内核镜像
kernel-install add

(unamer)/lib/modules/(uname -r) /lib/modules/

(uname -r)/vmlinuz

Linux系统下的引导过程及修复

四、内核加载

文件:
/boot/vmlinuz-$(uname -r)

加载内核作用:
系统初始化硬件设备
只读挂载设备

问题出现:

rm -fr /boot/vmlinuz-$(uname -r)

【$(uname -r)意思是先执行括号里的命令
uname -r :查找内核的版本号】

重启系统后
Linux系统下的引导过程及修复

恢复:

拆解内核文安装包并复制内核压缩镜像到/boot

进入到挽救模式(步骤如磁盘引导所示)

Linux系统下的引导过程及修复

两次exit退出后,启动模式从硬盘启动,此时就可以正常登陆了!

五、系统初始化镜像

文件:/boot/initramfs-4.18.0-80.el8.x86_64.img
作用:

加载系统时钟
加载 selinux
加载系统主机信息
加载/etc/fstab 文件中磁盘挂在策略
加载磁盘配额
初始化系统程序开启开机启动服务
开启虚拟控制台
开启图形

问题出现:
rm -fr /boot/initramfs-xxxxx.img
不小心删除此文件
Linux系统下的引导过程及修复
在重启时会发现有如下错误
Linux系统下的引导过程及修复恢复:

关闭虚拟机,修改硬件信息(设定成从光盘启动)
Linux系统下的引导过程及修复
在打开虚拟机,启动后会出现以下界面,按照操作执行
Linux系统下的引导过程及修复
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
Linux系统下的引导过程及修复
注:在退出启动到安装界面后power off掉虚拟机!

在设定虚拟机从硬盘启动
Linux系统下的引导过程及修复
这时打开虚拟机就正常启动,不会报错啦~

六、系统启动级别

0 关机
1 单用户
2 无图形网络模式
3 无图形网络模式
4 无图形网络模式
5 有图形网络模式
6 重启

问题出现:
systemctl set-default reboot.target
设置模式为重启模式
Linux系统下的引导过程及修复
重启后会发现系统进入了无限重启的循环中,如何修改这种模式呢?

恢复:

在开机选择界面按< e >进入到引导文件编辑模式

Linux系统下的引导过程及修复输入e进入以下界面,在后面输入3,表示进入无图形下的网络模式。
在按 ctrl + x
Linux系统下的引导过程及修复
登陆用户,切换模式
Linux系统下的引导过程及修复
重启后就可打开系统,不会在陷入无限重启状态

七、超级用户修改密码

Linux系统下的引导过程及修复
force off重新启动系统,到此界面时按 ‘ e ’
Linux系统下的引导过程及修复
修改第二段后面的内容,(rd.break 表示终止系统启动,进入单用户模式)在按 ‘ctrl ’ + x
Linux系统下的引导过程及修复
Linux系统下的引导过程及修复
回车后加载启动,此时输入刚才赋予的密码就可以登陆了!

  • GET
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。