Linux系统引导过程及修复

 

目录

一. bios 初始化

二. 磁盘引导

三. grub2文件引导

四. 内核加载

五. 系统初始化镜像

六. 系统启动级别

七. 超级用户密码忘记


通电

一. bios 初始化

对硬件检测

初始化硬件时钟

二. 磁盘引导

mbr主引导记录 

位置:0磁道1扇区446字节

作用:记录grub2引导文件的位置

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

问题模拟方式

系统磁盘 /dev/nvme0n1

dd if=/dev/zero of=/dev/nvme0n1 bs=446 count=1              ##清空系统/dev/nvme0n1上的mbr数据

 恢复方式:

用光盘进入系统挽救模式

chroot /mnt/sysimag

grub2-install  /dev/xxxxxx                                                       ##重新安装grub2到系统硬盘上

三. grub2文件引导

rhel7中:

文件位置: /boot/grub2/grub.cfg

作用: 指定/boot位置

            指定系统启动时加载文件名称

rhel8中:

/boot/grub2/grub.cfg

/boot/loader/entries/xxxxxx.conf

模拟问题

rhel7中:

rm -rf /boot/grub2/grub.cfg

rhel8中:

rm -rf /boot/loader/entries/xxxxxx.conf

修复:

rhel7:

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

rhel8:

kerne-install add 内核版本号  内核镜像

手动引导

set root='hd0,msdos1'

linux16 /vmlinuz-4.18.0-147.el8.x86_64 ro root=/dev/nvme0n1p2

initrd16 /initramfs-4.18.0-147.el8.x86_64.img

boot

通用命令:

kernel-install add $(uname -r) /lib/modules/$(uname -r)/vmlinuz

四. 内核加载

/boot/vmlinuz-$(uname -r)

作用:

系统初始化硬件设备

只读挂载/设备

问题出现:

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

修复:

重装内核

进入挽救模式

chroot /mnt/sysimage

mount /dev/cdrom /mnt

cd /mnt/BaseOS/Package

rpm -ivh kernel-xxxxxx.rpm --force

在rhel8中还需

mv /boot/vmlinuz-kernel-xxxxx /boot/vmlinuz-xxxxx

五. 系统初始化镜像

/boot/initramfs-4.18.0-147.el8.x86_64.img 
作用:

加载系统时钟

加载selinux

加载系统主机信息

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

加载磁盘配额

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

开启虚拟控制台

开启图形

问题出现:

rm -rf /boot/initramfs-4.18.0-147.el8.x86_64.img 

恢复:

在挽救模式中

chroot /mnt/sysimage

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

六. 系统启动级别

0                   关机

1                   单用户模式

2                   无图形网络模式

3                  无图形网络模式

4                  无图形网络模式

5                   有图形网络模式

6                   重启

问题出现;

systemctl set-default reboot.target

恢复:

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

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

ctrl+x

启动完成后

systemctl set-default graphical.target

七. 超级用户密码忘记

恢复:

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

在内核加载选项最后删除到ro选项,更改ro为rw

加入rd.break 参数        终止系统启动

进入单用户模式

ctrl+x 启动

chroot /sysroot

更改密码

echo  lee | passwd --stdin root

touch /.autorelabel              ##当/.autorelabel    存在,selinux会重新初始化

   

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值