Linux操作系统的引导过程及引导修复

本文详细介绍了从通电到系统启动的整个流程,包括BIOS初始化、磁盘引导、MBR修复、引导文件的作用及修复方法、内核镜像在系统初始化中的作用和恢复方法,以及系统启动级别和超级用户密码的修改。并提供了故障处理和恢复的步骤。
摘要由CSDN通过智能技术生成

1.通电

通电过程出现问题可能是硬件的问题或者没电,不属于操作系统引导过程


2.bios初始化

BIOS(Basic Input Output System),基本输入输出系统

对硬件进行检测和初始化

在虚拟机中选择打开电源时进入固件,进入BIOS

真实电脑不同品牌进入BIOS方式不同,联想电脑在开机过程中按F2


3.磁盘引导

磁盘是圆形的,通过磁头读取上面的数据

当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。

扇区,是指磁盘上划分的区域。磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区,硬盘的读写以扇区为基本单位。

磁盘的每一面被分为很多条磁道,即表面上的一些同心圆,越接近中心,圆就越小。而每一个磁道又按512个字节为单位划分为等分,叫做扇区,在一些硬盘的参数列表上你可以看到描述每个磁道的扇区数的参数,它通常用一个范围标识,例如373~746,这表示,最外圈的磁道有746个扇区,而最里面的磁道有373个扇区,因此可以算出来,磁道的容量分别是从186.5KB到373KB。

MBR主引导记录=0磁道1扇区 446byte

主引导记录,也被称为主引导扇区,是计算机开机以后访问硬盘时所必须要读取的第一个扇区。

读取完之后,磁头便跳到设定好的下一个位置继续读取,跳过的距离称为引导记录。

当mbr数据丢失,系统会因为找不到启动分区而停止启动

破坏mbr:

关闭selinux

fdisk -l 查看mbr位置

dd if=/dev/zero of=/dev/nvme0n1 bs=446 count=1

重启系统

关机

选择启动时连接光盘

再进入bios选择从光盘启动

当前系统在光盘中

grub2-install /dev/nvme0n1

执行两次exit

系统重启

进入bios选择从硬盘启动

修复成功


4.引导文件的作用及修复方法

/boot/grub2/grub.cfg

#主引导文件,记录了下一步要读取的标题引导内容

/boot/loader/entries/58104c9ef1ce4d05977736d05ebf26d3-4.18.0-425.3.1.el8.x86_64.conf

#下一步读取的标题引导内容

主引导文件丢失:

rm -rf /boot/grub2/grub.cfg

重启系统时:

手动引导:

set root='hd0,msdos1'

#指定内核和系统初始化镜像所在磁盘分区

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

修复成功

引导标题文件丢失:

rm -rf /boot/loader/entries/

kernel-install add  内核版本 内核镜像

uname -r

#查看内核版本


3.内核镜像在系统初始化中的作用及恢复方法

加载内核作用:

/boot/vmlinuz-$(uname -r)

/boot/vmlinuz-4.18.0-425.3.1.el8.x86_64

系统初始化硬件设备

只读挂载/设备

 

内核文件丢失:

rm -rf vmlinuz-4.18.0-425.3.1.el8.x86_64

恢复:

复制系统中usr下的内核文件到/boot中即可

cp /usr/lib/modules/$(uname -r)/vmlinuz /boot/vmlinuz-$(uname -r)

若文件丢失后重启系统

关机进入挽救模式

执行两次exit

再次进入bios选择从硬盘启动

恢复成功


6.系统初始化镜像的作用及修复方法

/boot/initramfs-4.18.0-425.3.1.el8.x86_64.img

作用:

加载系统时钟

加载selinux

加载系统主机信息

加载/etc/fstab文件中磁盘挂载策略

加载磁盘配额

初始化系统程序开启开机启动服务

开启虚拟控制台

开启图形

此文件丢失:

rm -rf initramfs-4.18.0-425.3.1.el8.x86_64.img

恢复:

mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

万能命令,适用于许多red hat系统

恢复成功

关机从光盘启动

挽救模式

执行两次exit

切换回从硬盘启动

恢复完成


7.系统启动级别的修复

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

用systemctl set-default命令修改default.target文件实现对系统启动级别的修改

系统开机启动软件设定也是用这种方式实现

系统开启时蓝色字体的服务会通过读取之后的启动文件来启动软件

关闭vdo.service服务

实际上就是删除了对应的启动文件

开启vdo.service服务

实际上就是生成了对应的链接来指向启动文件

问题出现:

systemctl set-default reboot.target

#相当于6 重启

重启系统时会不停地重启

恢复:

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

在内核加载选项最后加入启动级别5

ctrl+x启动

systemctl set-default graphical.target

恢复完成


8.破解超级用户密码

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

2)在内核加载选项最后删除到ro选项

3)更改ro---->rw|只读变为读写

4)加入rd.break参数终止系统进入单用户模式

5)ctrl+x启动系统

6)在出现的shell中输入 chroot /sysroot切换到真实系统环境

7)echo westos | passwd --stdin root

修改超级用户密码

8)touch /.autorelabel

#当/.autorelabel文件存在seliunx会重新初始化cp kernel-core-4.18.0-80.el8.x86_86.rpm /mnt/

当我们在当用户模式更改密码时,如果selinux打开,那么此程序会组织系统识别新更改的密码,必须要重新初始化selinux才能使系统识别密码的更改

执行两次exit

更改密码完成

  • 21
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值