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

1.通电

2.bios初始化 

对硬件检测

初始化硬件时钟

3.磁盘引导

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

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

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

问题模拟方式

系统磁盘/dev/sda

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

恢复方式:

关闭客户机,进入bios===>boot  将光盘shift+调到启动开机顺序第一位 F10退出保存

用光盘进入系统挽救模式

chroot /mnt/sysimage grub2-install /dev/vda   ##重新安装grub2到系统硬盘上

exit

exit 4

修复完成后重新进入bios,恢复原来的开机启动顺序,F10保存退出

修复完成,可以重新启动

 

修复完成后,关机重新进入bios切换原来的启动顺序

 修复完成,可以重新启动

 4.grub2文件引导 

node1

/boot/grub2/grub.cfg

/boot/loader/entries/

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

模拟问题1:

node1:

rm -fr /boot/loader/entries/     ##删除/boot/loader/entries/ 下的子文件

未关机前修复:

node1:

kernel-install add $(uname -r) /lib/modules/4.18.0-193.el8.x86_64/vmlinuz

关机后手动引导

set root=(hd0,msdos1) ##激活boot分区(hd0第一块硬盘,msdos1第一块分区)

linux16 /vmlinuz-4.18.0-193.el8.x86_64 ro root=/dev/sda3    ##加载内核并只读挂载分区

initrd16 /initramfs-4.18.0-193.el8.x86_64.img   ##系统初始化程序

boot    ##启动

 注意:手动完成引导后下次启动还是要手动引导,需要将系统内删除的文件恢复,下次即可自动启动

grub2-mkconfig > /boot/grub2/grub.cfg   ##执行此命令完成修复

模拟问题2:

rm -fr /boot/grub2/grub.cfg      ##删除boot下的主配置文件/grub2/grub.cfg

修复:

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

 5.内核加载

加载内核作用: /boot/vmlinuz--4.18.0-193.el8.x86_64

系统初始化硬件设备

只读挂在/设备

问题出现:

rm -fr /boot/vmlinuz--4.18.0-193.el8.x86_64

未重启恢复:

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

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

进入到挽救模式

chroot /mnt/sysimage

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

exit

exit

完成后重启系统,进入BIOS更改回原来的开机顺序,系统就会正常启动

6.系统初始化镜像 

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

作用:

加载系统时钟

加载selinux

加载系统主机信息

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

加载磁盘配额

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

开启虚拟控制台

开启图形

问题出现: rm -fr /boot/initramfs-4.18.0-193.el8.x86_64.img

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

 系统重启后,手动修复进入挽救模式

完成后重启系统,进入BIOS更改回原来的开机顺序,系统就会正常启动

7.系统启动级别 

0 关机

1 单用户

2 无图形网络模式

3 无图形网络模式

4 无图形网络模式

5 有图形网络模式

6 重启

问题出现:

systemctl set-default reboot.target    ##开机启动默认级别为reboot.target(系统会无限重启)

恢复:

在开机选择界面按进入到引导文件编辑模式 按上下键让系统停止,输入“e”

 在内核加载选项最后加入启动级别5(有图形网络模式)

ctrl+x

系统就会正常启动

进入系统,系统不会自动更改默认启动级别为5 ,需要手动更改

systemctl set-default graphical.target     ##更改默认启动级别

8.超级用户密码忘记

恢复:

1.在开机选择界面按进入到引导文件编辑模式

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

3.更改ro---->rw

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

5.ctrl+x启动

6.chroot /sysroot

7.echo lee| passwd --stdin root   ##重启系统后root密码为lee

8.touch /.autorelabel           ##当/.autorelabel文件存在selinux会重新初始化

exit

exit

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

溪野~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值