Linux系统引导过程及修复排错

Linux系统引导流程

在这里插入图片描述

1 通电
2 BIOS初始化

BIOS是固定在主板上的一组程序
主要是对硬件检测
初始化硬件时钟

3 磁盘引导

mbr=主引导记录=0磁道1扇区446
作用:
记录grub2引导文件的位置
当mbr数据丢失系统会因为找不到启动分区而停止启动

fdisk -l ## 查看磁挂载情况
dd if=/dev/zero of=/dev/nvme0n1 bs=446 count=1 ##清空系统dev/nvme0n1上的mbr数据

在这里插入图片描述
重启后不能正常启动 进入网络安装
要恢复正常

  • 1 挂载光盘 进入Troubleshooting
  • 在这里插入图片描述
  • 2 选择挽救系统
    在这里插入图片描述
  • 3 选择第1项
    在这里插入图片描述
  • 4
    输入chroot /mnt/sysimage 意思是将磁盘中存在的系统挂载到
    /mnt/sysimage下 此时使用的shell是cdrom里的系统在这里插入图片描述
  • 5 使用grub2-install /dev/nvme0n1 重新安装grub2到系统硬盘上
    在这里插入图片描述
    在这里插入图片描述
    修复成功
4 grub2 文件引导

GNU GRUB(GRand Unified Bootloader简称“GRUB”)是一个来自GNU项目的多操作系统启动程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。

rhel8中 grub2 引导

在这里插入图片描述
在这里插入图片描述
这个文件指定了启动选项
在这里插入图片描述rhel8使用了/grub2/grub.cfg和
/boot/loader/entries/xxxxxxxxx.conf两个文件来完成grub过程

rhel7中 grub2 引导

在rhel7中使用/boot/grub2/grub.cfg一个文件管理grub过程
在这里插入图片描述
在这里插入图片描述

grub文件修复
rhel8

在/boot/grub2/grub.cfg 中可以看到
在这里插入图片描述
在这里插入图片描述
删掉/boot/loader/*
在这里插入图片描述
reboot进入这个界面
在这里插入图片描述
在这里插入图片描述

set  root=‘hd0,msdos1’ 
linux16   /vmlinuz-4.18.0-80.el8.x86_64 ro root=/dev/mapper/rhel-root ##挂载到根分区
initrd16  /initramfs-4.18.0-80.el8.x86_64.img boot

进入系统后 尽管手动引导 但是还要修复grub文件

kerne-install add 内核版本号 内核镜像
kernel-install add $(uname -r) /lib/modules/$(uname -r)/vmlinuz

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

rhel7 引导修复

在这里插入图片描述
删除/boot/grub2/grub.cfg 进入grub界面
在这里插入图片描述
步骤和rhel8一样 系统版本号不同
依旧是暂时进入系统 需要生成引导文件

grub2-mkconifg > /boot/grub2/grub.cf

在这里插入图片描述

5 内核加载

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

内核修复
  • rhel8中
rm -fr /boot/vmlinuz-$(uname -r)

在这里插入图片描述
进入急救模式
chroot /mnt/sysimage 挂载光盘镜像 安装 kernel-core-4.18.0-80.el8.x86_64.rpm
注意是强制安装
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • rhel7
    在这里插入图片描述
    删除内核
    在这里插入图片描述
    进入急救模式
    在这里插入图片描述
    方法和rhel8一样 只不过 kernel-core-4.18.0-80.el8.x86_64.rpm 这个包在/mnt/Packages下
6 系统初始化镜像

加载系统时钟
加载selinux
加载系统主机信息
加载/etc/fstab文件中磁盘挂在策略
加载磁盘配额
初始化系统程序开启开机启动服务
开启虚拟控制台
开启图形
/boot/initramfs-4.18.0-80.el8.x86_64.img
在这里插入图片描述
在这里插入图片描述
reboot 进入急救模式
在这里插入图片描述

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

在这里插入图片描述
成功 启动
rhel7中步骤相同 只有系统版本不同

7 系统启动级别
系统启动级别
0关机
1单用户
2无图形网络模式
3无图形网络模式
4无图形网络模式
5有图形网络模式
6重启

使用systemctl set-default 加 xxxx.target 控制启动级别
在这里插入图片描述

恢复系统启动级别

在这里插入图片描述
设置为reboot.target
启动后会进入重启无限循环
按 e 进入这个界面在quiet后面加5 ctrl + x 执行
在这里插入图片描述
在这里插入图片描述
登陆成功
在这里插入图片描述
永久修复启动级别

修改root密码

开机按 e 进入引导文件编辑模式在这里插入图片描述
在内核选项删除ro后面所有 将 ro 改为 rw 最后面加上rd.break
在这里插入图片描述

ctrl+x 执行
进入单用户环境后chroot /sysroot 进入root用户环境 然后就可以更改密码了
在这里插入图片描述
如果系统selinux开启的情况下 需要执行touch /.autorelable

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值