linux系统的引导过程即引导修复

1.磁盘引导

mbr=主引导记录=0磁道1扇区446
作用:
记录grub2引导文件的位置

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

问题模拟方式
系统磁盘/dev/sda

dd if=/dev/zero of=/dev/sda bs=446 count=1 ##清空系统/dev/sda上的mbr数据
在这里插入图片描述

恢复方式:
用光盘进入系统挽救模式
先将虚拟机关闭,在硬件信息上添加光盘,添加光盘时选择最初的镜像
在这里插入图片描述

在这里插入图片描述

chroot /mnt/sysimage
grub2-install /dev/xxxxxx ##重新安装grub2到系统硬盘上
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.grub2文件引导

rhel8
/boot/grub2/grub.cfg
/boot/loader/entries/xxxxxxxxx.conf

指定/boot位置
指定系统启动时加载文件成名

模拟问题:
rhel8:
rm -fr /boot/loader/entries/xxxxxxxxx.conf

修复:

rhel8:
kerne-install add 内核版本号 内核镜像
kernel-install add ( u n a m e − r ) / l i b / m o d u l e s / (uname -r) /lib/modules/ (unamer)/lib/modules/(uname -r)/vmlinuz

手动引导
set root=‘hd0,msdos1’
linux16 /vmlinuz-3.10.0-957.el7.x86_64 ro root=/dev/nvme0n1p2
initrd16 /initramfs-4.18.0-80.el8.x86_64.img
boot
在这里插入图片描述

3.内核加载

加载内核作用:
/boot/vmlinuz-$(uname -r)
系统初始化硬件设备
只读挂在/设备

问题出现:
rm -fr /boot/vmlinuz-$(uname -r)

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

进入到挽救模式
chroot /mnt/sysimage

mount /dev/cdrom /media

cd /media/BaseOS/Packages
cp kernel-core- ( u n a m e − r ) . r p m / m n t / c d / m n t r p m 2 c p i o k e r n e l − c o r e − (uname -r).rpm /mnt/ cd /mnt rpm2cpio kernel-core- (unamer).rpm/mnt/cd/mntrpm2cpiokernelcore(uname -r).rpm | cpio -id

cp /mnt/lib/modules/ ( u n a m e − r ) / v m l i n u z / b o o t / v m l i n u z − (uname -r)/vmlinuz /boot/vmlinuz- (unamer)/vmlinuz/boot/vmlinuz(uname -r)

exit
exit
在这里插入图片描述在这里插入图片描述

4.系统初始化镜像

/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)

5.系统启动级别

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

问题出现:
systemctl set-default reboot.target
在这里插入图片描述

恢复:
在开机选择界面按进入到引导文件编辑模式
在内核加载选项最后加入启动级别5
ctrl+x
在这里插入图片描述

systemctl set-default graphical.target # 进入有图形界面
systemctl set-default multi-user.target # 进入无图形界面,设置后reboot重启就可以
在这里插入图片描述

6.超级用户密码忘记

恢复:
1.在开机选择界面按< e>进入到引导文件编辑模式
2.在内核加载选项最后删除到ro选项或者直接更改ro
3.更改ro---->rw
4.加入rd.break参数终止系统启动进入单用户模式
5.ctrl+x启动
6.chroot /sysroot
7.echo lee| passwd --stdin root
8.touch /.autorelabel ##当/.autorelabel文件存在selinux会重新初始化cp kernel-core-4.18.0-80.el8.x86_64.rpm /mnt/
cd /mnt
rpm2cpio kernel-core-4.18.0-80.el8.x86_64.rpm | cpio -id

cp /mnt/lib/modules/4.18.0-80.el8.x86_64/vmlinuz /boot/vmlinuz-$(uname -r)

exit
exit

在这里插入图片描述
接着按ctrl+X,进入修改密码的shell窗口,修改后退出重启即完成
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值